@mj-biz-apps/common-ng 5.64.0 → 5.65.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 (51) hide show
  1. package/dist/lib/components/__tests__/uuid-casing.test.d.ts +7 -0
  2. package/dist/lib/components/__tests__/uuid-casing.test.d.ts.map +1 -0
  3. package/dist/lib/components/__tests__/uuid-casing.test.js +78 -0
  4. package/dist/lib/components/__tests__/uuid-casing.test.js.map +1 -0
  5. package/dist/lib/components/address-editor/address-editor.component.d.ts.map +1 -1
  6. package/dist/lib/components/address-editor/address-editor.component.js +9 -7
  7. package/dist/lib/components/address-editor/address-editor.component.js.map +1 -1
  8. package/dist/lib/components/contact-method-list/contact-method-list.component.d.ts +9 -2
  9. package/dist/lib/components/contact-method-list/contact-method-list.component.d.ts.map +1 -1
  10. package/dist/lib/components/contact-method-list/contact-method-list.component.js +35 -22
  11. package/dist/lib/components/contact-method-list/contact-method-list.component.js.map +1 -1
  12. package/dist/lib/components/identity-header/__tests__/activity-identity-parent.test.d.ts +8 -0
  13. package/dist/lib/components/identity-header/__tests__/activity-identity-parent.test.d.ts.map +1 -0
  14. package/dist/lib/components/identity-header/__tests__/activity-identity-parent.test.js +75 -0
  15. package/dist/lib/components/identity-header/__tests__/activity-identity-parent.test.js.map +1 -0
  16. package/dist/lib/components/identity-header/__tests__/identity-hero-claims.test.d.ts +12 -0
  17. package/dist/lib/components/identity-header/__tests__/identity-hero-claims.test.d.ts.map +1 -0
  18. package/dist/lib/components/identity-header/__tests__/identity-hero-claims.test.js +94 -0
  19. package/dist/lib/components/identity-header/__tests__/identity-hero-claims.test.js.map +1 -0
  20. package/dist/lib/components/identity-header/activity-identity.component.d.ts +9 -0
  21. package/dist/lib/components/identity-header/activity-identity.component.d.ts.map +1 -1
  22. package/dist/lib/components/identity-header/activity-identity.component.js +46 -7
  23. package/dist/lib/components/identity-header/activity-identity.component.js.map +1 -1
  24. package/dist/lib/components/identity-header/organization-identity.component.js +48 -18
  25. package/dist/lib/components/identity-header/organization-identity.component.js.map +1 -1
  26. package/dist/lib/components/identity-header/person-identity.component.js +38 -28
  27. package/dist/lib/components/identity-header/person-identity.component.js.map +1 -1
  28. package/dist/lib/components/party-field/party-field.component.js +5 -5
  29. package/dist/lib/components/party-field/party-field.component.js.map +1 -1
  30. package/dist/lib/components/relationship-graph/common-relationship-graph.component.d.ts.map +1 -1
  31. package/dist/lib/components/relationship-graph/common-relationship-graph.component.js +29 -20
  32. package/dist/lib/components/relationship-graph/common-relationship-graph.component.js.map +1 -1
  33. package/dist/lib/components/relationship-list/relationship-list.component.js +6 -6
  34. package/dist/lib/components/relationship-list/relationship-list.component.js.map +1 -1
  35. package/dist/lib/components/selling-company-field/__tests__/selling-company-field.component.test.js +110 -4
  36. package/dist/lib/components/selling-company-field/__tests__/selling-company-field.component.test.js.map +1 -1
  37. package/dist/lib/components/selling-company-field/selling-company-field.component.d.ts +34 -3
  38. package/dist/lib/components/selling-company-field/selling-company-field.component.d.ts.map +1 -1
  39. package/dist/lib/components/selling-company-field/selling-company-field.component.js +153 -6
  40. package/dist/lib/components/selling-company-field/selling-company-field.component.js.map +1 -1
  41. package/dist/lib/custom/panels/activity-content.panel.js +2 -2
  42. package/dist/lib/custom/panels/activity-hierarchy.panel.js +2 -2
  43. package/dist/lib/custom/panels/activity-hierarchy.panel.js.map +1 -1
  44. package/dist/lib/custom/panels/activity-type-hierarchy.panel.js +2 -2
  45. package/dist/lib/custom/panels/activity-type-hierarchy.panel.js.map +1 -1
  46. package/dist/lib/pages/activities-dashboard.page.d.ts +2 -0
  47. package/dist/lib/pages/activities-dashboard.page.d.ts.map +1 -1
  48. package/dist/lib/pages/activities-dashboard.page.js +10 -5
  49. package/dist/lib/pages/activities-dashboard.page.js.map +1 -1
  50. package/dist/lib/pages/common-dashboard.page.js +2 -2
  51. package/package.json +2 -2
@@ -2,7 +2,7 @@ import { Component, Input, Output, EventEmitter, inject, ChangeDetectorRef } fro
2
2
  import { CommonModule } from '@angular/common';
3
3
  import { FormsModule } from '@angular/forms';
4
4
  import { LogError, Metadata, RunView } from '@memberjunction/core';
5
- import { EscapeSQLString, UUIDsEqual } from '@memberjunction/global';
5
+ import { EscapeSQLString, NormalizeUUID, UUIDsEqual } from '@memberjunction/global';
6
6
  import { SharedGenericModule } from '@memberjunction/ng-shared-generic';
7
7
  import { ContactMethodConsentEntity } from '@mj-biz-apps/common-entities';
8
8
  import * as i0 from "@angular/core";
@@ -285,7 +285,7 @@ function ContactMethodListComponent_Conditional_6_For_3_Conditional_1_Conditiona
285
285
  i0.ɵɵadvance();
286
286
  i0.ɵɵrepeater(ctx_r0.getConsents(cm_r9));
287
287
  i0.ɵɵadvance(3);
288
- i0.ɵɵconditional(ctx_r0.ConsentHistoryFor === cm_r9.ID ? 4 : -1);
288
+ i0.ɵɵconditional(ctx_r0.IsShowingConsentHistory(cm_r9) ? 4 : -1);
289
289
  } }
290
290
  function ContactMethodListComponent_Conditional_6_For_3_Conditional_1_Conditional_12_Template(rf, ctx) { if (rf & 1) {
291
291
  const _r15 = i0.ɵɵgetCurrentView();
@@ -368,7 +368,7 @@ function ContactMethodListComponent_Conditional_6_For_3_Template(rf, ctx) { if (
368
368
  } if (rf & 2) {
369
369
  const cm_r9 = ctx.$implicit;
370
370
  const ctx_r0 = i0.ɵɵnextContext(2);
371
- i0.ɵɵconditional(ctx_r0.EditingId === cm_r9.ID ? 0 : 1);
371
+ i0.ɵɵconditional(ctx_r0.IsEditing(cm_r9) ? 0 : 1);
372
372
  } }
373
373
  function ContactMethodListComponent_Conditional_6_Conditional_4_For_6_Template(rf, ctx) { if (rf & 1) {
374
374
  i0.ɵɵelementStart(0, "option", 15);
@@ -647,7 +647,7 @@ export class ContactMethodListComponent {
647
647
  ConsentStatuses = ContactMethodConsentEntity.Statuses;
648
648
  /** The form key of the general (any purpose) consent, for the template. */
649
649
  GeneralKey = GENERAL_CONSENT_KEY;
650
- /** Each loaded method's consent rows (every purpose and organization), keyed by contact method ID. */
650
+ /** Each loaded method's consent rows (every purpose and organization), keyed by `NormalizeUUID(contactMethodID)`. */
651
651
  consentsByMethod = new Map();
652
652
  /**
653
653
  * The ID of the contact method currently being edited, or `null` when
@@ -685,7 +685,10 @@ export class ContactMethodListComponent {
685
685
  ConsentHistory = [];
686
686
  /** True while the history for {@link ConsentHistoryFor} is being read. */
687
687
  ConsentHistoryLoading = false;
688
- /** History already read this session, by contact method ID; dropped for a row when it is saved. */
688
+ /**
689
+ * History already read this session, by contact method ID; dropped for a row when it is saved.
690
+ * Keyed by `NormalizeUUID(contactMethodID)`.
691
+ */
689
692
  consentHistoryCache = new Map();
690
693
  /** Maps lowercase contact type names to CSS icon-color classes. */
691
694
  iconColorMap = {
@@ -805,9 +808,10 @@ export class ContactMethodListComponent {
805
808
  return;
806
809
  }
807
810
  for (const consent of result.Results) {
808
- const list = this.consentsByMethod.get(consent.ContactMethodID) ?? [];
811
+ const key = NormalizeUUID(consent.ContactMethodID);
812
+ const list = this.consentsByMethod.get(key) ?? [];
809
813
  list.push(consent);
810
- this.consentsByMethod.set(consent.ContactMethodID, list);
814
+ this.consentsByMethod.set(key, list);
811
815
  }
812
816
  }
813
817
  sortContactMethods() {
@@ -821,7 +825,7 @@ export class ContactMethodListComponent {
821
825
  }
822
826
  /** Returns the DisplayRank for a contact type, defaulting to 999 if not found. */
823
827
  getTypeRank(typeID) {
824
- const ct = this.ContactTypes.find(t => t.ID === typeID);
828
+ const ct = this.ContactTypes.find(t => UUIDsEqual(t.ID, typeID));
825
829
  return ct?.DisplayRank ?? 999;
826
830
  }
827
831
  /**
@@ -834,7 +838,7 @@ export class ContactMethodListComponent {
834
838
  * @returns The CSS class string for the icon (e.g., `'fa-solid fa-envelope'`)
835
839
  */
836
840
  getContactTypeIcon(typeID) {
837
- const ct = this.ContactTypes.find(t => t.ID === typeID);
841
+ const ct = this.ContactTypes.find(t => UUIDsEqual(t.ID, typeID));
838
842
  return ct?.IconClass || 'fa-solid fa-circle-info';
839
843
  }
840
844
  /**
@@ -847,7 +851,7 @@ export class ContactMethodListComponent {
847
851
  * @returns A CSS class string such as `'icon-email'` or `'icon-linkedin'`
848
852
  */
849
853
  getIconColorClass(typeID) {
850
- const ct = this.ContactTypes.find(t => t.ID === typeID);
854
+ const ct = this.ContactTypes.find(t => UUIDsEqual(t.ID, typeID));
851
855
  if (!ct)
852
856
  return 'icon-default';
853
857
  const key = ct.Name.toLowerCase();
@@ -876,7 +880,7 @@ export class ContactMethodListComponent {
876
880
  * @returns A placeholder string such as `'Enter email address...'`
877
881
  */
878
882
  getPlaceholder(typeID) {
879
- const ct = this.ContactTypes.find(t => t.ID === typeID);
883
+ const ct = this.ContactTypes.find(t => UUIDsEqual(t.ID, typeID));
880
884
  if (!ct)
881
885
  return 'Enter value...';
882
886
  const name = ct.Name.toLowerCase();
@@ -896,7 +900,7 @@ export class ContactMethodListComponent {
896
900
  * @returns `true` for LinkedIn, Twitter/X, and Website types; `false` otherwise
897
901
  */
898
902
  isLinkType(typeID) {
899
- const ct = this.ContactTypes.find(t => t.ID === typeID);
903
+ const ct = this.ContactTypes.find(t => UUIDsEqual(t.ID, typeID));
900
904
  if (!ct)
901
905
  return false;
902
906
  return this.linkTypeNames.has(ct.Name.toLowerCase());
@@ -908,7 +912,7 @@ export class ContactMethodListComponent {
908
912
  * @param typeID - The ContactType record ID to check
909
913
  */
910
914
  isConsentType(typeID) {
911
- const ct = this.ContactTypes.find(t => t.ID === typeID);
915
+ const ct = this.ContactTypes.find(t => UUIDsEqual(t.ID, typeID));
912
916
  return !!ct?.CommunicationBaseMessageTypeID;
913
917
  }
914
918
  /** The consent rows a method has, in purpose order, general and installation-wide rows first. */
@@ -930,7 +934,7 @@ export class ContactMethodListComponent {
930
934
  if (cm.Consents.IsLoaded || cm.Consents.Items.length > 0) {
931
935
  return cm.Consents.Items;
932
936
  }
933
- return this.consentsByMethod.get(cm.ID) ?? [];
937
+ return this.consentsByMethod.get(NormalizeUUID(cm.ID)) ?? [];
934
938
  }
935
939
  /** Returns the Sequence for a consent purpose; the general row (no purpose) sorts first. */
936
940
  getPurposeRank(purposeID) {
@@ -977,7 +981,7 @@ export class ContactMethodListComponent {
977
981
  */
978
982
  async onShowConsentHistory(cm) {
979
983
  this.ConsentHistoryFor = cm.ID;
980
- const cached = this.consentHistoryCache.get(cm.ID);
984
+ const cached = this.consentHistoryCache.get(NormalizeUUID(cm.ID));
981
985
  if (cached) {
982
986
  this.ConsentHistory = cached;
983
987
  this.cdr.detectChanges();
@@ -987,8 +991,8 @@ export class ContactMethodListComponent {
987
991
  this.ConsentHistoryLoading = true;
988
992
  this.cdr.detectChanges();
989
993
  const lines = await this.loadConsentHistory(cm);
990
- this.consentHistoryCache.set(cm.ID, lines);
991
- if (this.ConsentHistoryFor === cm.ID) {
994
+ this.consentHistoryCache.set(NormalizeUUID(cm.ID), lines);
995
+ if (this.IsShowingConsentHistory(cm)) {
992
996
  this.ConsentHistory = lines;
993
997
  }
994
998
  this.ConsentHistoryLoading = false;
@@ -1141,6 +1145,14 @@ export class ContactMethodListComponent {
1141
1145
  this.cdr.detectChanges();
1142
1146
  }
1143
1147
  }
1148
+ /** Whether this row's consent history is the one shown. IDs compare case-insensitively. */
1149
+ IsShowingConsentHistory(cm) {
1150
+ return this.ConsentHistoryFor !== null && UUIDsEqual(this.ConsentHistoryFor, cm.ID);
1151
+ }
1152
+ /** Whether this row is the one being edited. IDs compare case-insensitively. */
1153
+ IsEditing(cm) {
1154
+ return this.EditingId !== null && UUIDsEqual(this.EditingId, cm.ID);
1155
+ }
1144
1156
  /**
1145
1157
  * Opens the inline edit form for an existing contact method, populating
1146
1158
  * the form fields from the current entity data and its installation-wide consents.
@@ -1158,7 +1170,8 @@ export class ContactMethodListComponent {
1158
1170
  consents[p.ID] = row?.ConsentStatus ?? unspecified;
1159
1171
  }
1160
1172
  this.EditForm = {
1161
- TypeID: cm.ContactTypeID,
1173
+ // The select matches options with ===, so use the option's own ID spelling.
1174
+ TypeID: this.ContactTypes.find(t => UUIDsEqual(t.ID, cm.ContactTypeID))?.ID ?? cm.ContactTypeID,
1162
1175
  Value: cm.Value,
1163
1176
  Label: cm.Label || '',
1164
1177
  IsPrimary: cm.IsPrimary,
@@ -1187,7 +1200,7 @@ export class ContactMethodListComponent {
1187
1200
  this.Saving = true;
1188
1201
  this.cdr.detectChanges();
1189
1202
  try {
1190
- const cm = this.ContactMethods.find(c => c.ID === this.EditingId);
1203
+ const cm = this.ContactMethods.find(c => UUIDsEqual(c.ID, this.EditingId));
1191
1204
  if (!cm)
1192
1205
  return;
1193
1206
  // If setting primary, clear other primaries of same type
@@ -1199,7 +1212,7 @@ export class ContactMethodListComponent {
1199
1212
  cm.Label = this.EditForm.Label || null;
1200
1213
  cm.IsPrimary = this.EditForm.IsPrimary;
1201
1214
  await this.applyConsentsFromForm(cm, this.EditForm);
1202
- this.consentHistoryCache.delete(cm.ID);
1215
+ this.consentHistoryCache.delete(NormalizeUUID(cm.ID));
1203
1216
  if (this._collection) {
1204
1217
  this.ContactMethods = [...this._collection.Items];
1205
1218
  this.sortContactMethods();
@@ -1327,7 +1340,7 @@ export class ContactMethodListComponent {
1327
1340
  }
1328
1341
  /** Removes the primary flag from all contact methods of the given type. */
1329
1342
  async clearPrimariesForType(typeID) {
1330
- const sameType = this.ContactMethods.filter(c => c.ContactTypeID === typeID && c.IsPrimary);
1343
+ const sameType = this.ContactMethods.filter(c => UUIDsEqual(c.ContactTypeID, typeID) && c.IsPrimary);
1331
1344
  for (const c of sameType) {
1332
1345
  c.IsPrimary = false;
1333
1346
  if (!this._collection) {
@@ -1352,7 +1365,7 @@ export class ContactMethodListComponent {
1352
1365
  }
1353
1366
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ContactMethodListComponent, [{
1354
1367
  type: Component,
1355
- args: [{ standalone: true, imports: [CommonModule, FormsModule, SharedGenericModule], selector: 'bizapps-contact-method-list', template: "<!-- ContactMethodList - Flat List with Icons Design (Option B) -->\n\n<div class=\"section-header\">\n <span class=\"section-label\">\n <i class=\"fa-solid fa-address-card\"></i>\n Contact Methods\n @if (!Loading && ContactMethods.length > 0) {\n <span class=\"count\">({{ ContactMethods.length }})</span>\n }\n </span>\n</div>\n\n@if (Loading) {\n <div class=\"cm-flat-list\">\n <div class=\"loading-row\">\n <i class=\"fa-solid fa-spinner\"></i> Loading contacts...\n </div>\n </div>\n} @else {\n <div class=\"cm-flat-list\">\n @if (ContactMethods.length === 0 && !ShowAddForm) {\n <div class=\"empty-state\">\n <i class=\"fa-solid fa-address-card\"></i>\n No contact methods yet\n </div>\n }\n\n @for (cm of ContactMethods; track cm.ID) {\n <!-- Edit mode for this row -->\n @if (EditingId === cm.ID) {\n <div class=\"cm-flat-edit-row\">\n <div class=\"form-row\">\n <div class=\"form-field type-field\">\n <label>Type</label>\n <select [(ngModel)]=\"EditForm.TypeID\">\n @for (t of ContactTypes; track t.ID) {\n <option [value]=\"t.ID\">{{ t.Name }}</option>\n }\n </select>\n </div>\n <div class=\"form-field flex-1\">\n <label>Value</label>\n <input type=\"text\" [(ngModel)]=\"EditForm.Value\" [placeholder]=\"getPlaceholder(EditForm.TypeID)\">\n </div>\n <div class=\"form-field label-field\">\n <label>Label</label>\n <input type=\"text\" [(ngModel)]=\"EditForm.Label\" placeholder=\"e.g., Work\">\n </div>\n <div class=\"checkbox-field\">\n <input type=\"checkbox\" [id]=\"'primary-edit-' + cm.ID\" [(ngModel)]=\"EditForm.IsPrimary\">\n <label [for]=\"'primary-edit-' + cm.ID\">Primary</label>\n </div>\n <div class=\"form-actions\">\n <button class=\"btn btn-primary btn-sm\" (click)=\"onSaveEdit()\" [disabled]=\"Saving\">\n @if (Saving) {\n <i class=\"fa-solid fa-spinner fa-spin\"></i>\n }\n Save\n </button>\n <button class=\"btn btn-cancel btn-sm\" (click)=\"onCancelEdit()\">Cancel</button>\n </div>\n </div>\n @if (isConsentType(EditForm.TypeID)) {\n <div class=\"form-row consent-row\">\n <div class=\"form-field consent-field\">\n <label>General</label>\n <select [(ngModel)]=\"EditForm.Consents[GeneralKey]\">\n @for (s of ConsentStatuses; track s) {\n <option [value]=\"s\">{{ s }}</option>\n }\n </select>\n </div>\n @for (p of ConsentPurposes; track p.ID) {\n <div class=\"form-field consent-field\">\n <label>{{ p.Name }}</label>\n <select [(ngModel)]=\"EditForm.Consents[p.ID]\">\n @for (s of ConsentStatuses; track s) {\n <option [value]=\"s\">{{ s }}</option>\n }\n </select>\n </div>\n }\n </div>\n }\n </div>\n } @else {\n <!-- Display row -->\n <div class=\"cm-flat-row\" [class.primary]=\"cm.IsPrimary\">\n <div class=\"cm-flat-icon\" [ngClass]=\"getIconColorClass(cm.ContactTypeID)\">\n <i [class]=\"getContactTypeIcon(cm.ContactTypeID)\"></i>\n </div>\n <div class=\"cm-flat-content\">\n <div class=\"cm-flat-value\" (click)=\"onCopyValue(cm.Value)\">{{ cm.Value }}</div>\n <div class=\"cm-flat-meta\">{{ getContactMeta(cm) }}</div>\n </div>\n <div class=\"cm-flat-badges\">\n @if (cm.IsPrimary) {\n <span class=\"badge badge-primary\"><i class=\"fa-solid fa-star\"></i></span>\n }\n @if (isConsentType(cm.ContactTypeID)) {\n <span class=\"consent-badges\" (mouseenter)=\"onShowConsentHistory(cm)\" (mouseleave)=\"onHideConsentHistory()\">\n @for (c of getConsents(cm); track c.ID) {\n <span class=\"badge badge-consent\" [ngClass]=\"getConsentBadgeClass(c.ConsentStatus)\">\n <i [class]=\"getConsentIcon(c.ConsentStatus)\"></i>\n <span class=\"consent-purpose\">{{ getConsentBadgeText(c) }}</span>\n {{ c.ConsentStatus }}\n </span>\n } @empty {\n <span class=\"badge badge-consent consent-unknown\">\n <i class=\"fa-regular fa-circle-question\"></i>\n Not Specified\n </span>\n }\n </span>\n @if (ConsentHistoryFor === cm.ID) {\n <div class=\"consent-history\" (mouseenter)=\"onShowConsentHistory(cm)\" (mouseleave)=\"onHideConsentHistory()\">\n <div class=\"consent-history-title\">Consent history \u00B7 {{ cm.Value }}</div>\n @if (ConsentHistoryLoading) {\n <mj-loading Text=\"Loading history...\" Size=\"small\"></mj-loading>\n } @else {\n @for (h of ConsentHistory; track h.ID) {\n <div class=\"consent-history-row\">\n <span>{{ h.ConsentStatusAt | date:'mediumDate' }}</span>\n <span class=\"consent-history-purpose\">{{ h.Purpose }}@if (h.RequestingOrganization) { \u00B7 {{ h.RequestingOrganization }}}</span>\n <span>{{ h.NewConsentStatus }}</span>\n <span class=\"consent-history-source\">{{ h.ConsentSource }}@if (h.ConsentDetails) { \u00B7 {{ h.ConsentDetails }}}</span>\n </div>\n } @empty {\n <div class=\"consent-history-empty\">No consent recorded yet</div>\n }\n <div class=\"consent-history-note\">Newest first; the top row for each purpose is its current status</div>\n }\n </div>\n }\n }\n </div>\n <div class=\"cm-flat-actions\">\n @if (EditMode && !cm.IsPrimary) {\n <button class=\"btn-ghost\" title=\"Set Primary\" (click)=\"onSetPrimary(cm)\">\n <i class=\"fa-regular fa-star\"></i>\n </button>\n }\n @if (isLinkType(cm.ContactTypeID)) {\n <button class=\"btn-ghost\" title=\"Open\" (click)=\"onOpenLink(cm.Value)\">\n <i class=\"fa-solid fa-external-link\"></i>\n </button>\n } @else {\n <button class=\"btn-ghost\" title=\"Copy\" (click)=\"onCopyValue(cm.Value)\">\n <i class=\"fa-solid fa-copy\"></i>\n </button>\n }\n @if (EditMode) {\n <button class=\"btn-ghost\" title=\"Edit\" (click)=\"onEdit(cm)\">\n <i class=\"fa-solid fa-pen\"></i>\n </button>\n <button class=\"btn-ghost danger\" title=\"Remove\" (click)=\"onDelete(cm)\">\n <i class=\"fa-solid fa-trash\"></i>\n </button>\n }\n </div>\n </div>\n }\n }\n\n <!-- Add form -->\n @if (ShowAddForm) {\n <div class=\"cm-flat-add-form\">\n <div class=\"form-field type-field\">\n <label>Type</label>\n <select [(ngModel)]=\"AddForm.TypeID\">\n @for (t of ContactTypes; track t.ID) {\n <option [value]=\"t.ID\">{{ t.Name }}</option>\n }\n </select>\n </div>\n <div class=\"form-field flex-1\">\n <label>Value</label>\n <input type=\"text\" [(ngModel)]=\"AddForm.Value\" [placeholder]=\"getPlaceholder(AddForm.TypeID)\">\n </div>\n <div class=\"form-field label-field\">\n <label>Label</label>\n <input type=\"text\" [(ngModel)]=\"AddForm.Label\" placeholder=\"e.g., Direct Line\">\n </div>\n <div class=\"checkbox-field\">\n <input type=\"checkbox\" id=\"primary-add\" [(ngModel)]=\"AddForm.IsPrimary\">\n <label for=\"primary-add\">Primary</label>\n </div>\n <div class=\"form-actions\">\n <button class=\"btn btn-primary btn-sm\" (click)=\"onSaveAdd()\" [disabled]=\"Saving\">\n @if (Saving) {\n <i class=\"fa-solid fa-spinner fa-spin\"></i>\n }\n Add\n </button>\n <button class=\"btn btn-cancel btn-sm\" (click)=\"onCancelAdd()\">Cancel</button>\n </div>\n @if (isConsentType(AddForm.TypeID)) {\n <div class=\"form-row consent-row\">\n <div class=\"form-field consent-field\">\n <label>General</label>\n <select [(ngModel)]=\"AddForm.Consents[GeneralKey]\">\n @for (s of ConsentStatuses; track s) {\n <option [value]=\"s\">{{ s }}</option>\n }\n </select>\n </div>\n @for (p of ConsentPurposes; track p.ID) {\n <div class=\"form-field consent-field\">\n <label>{{ p.Name }}</label>\n <select [(ngModel)]=\"AddForm.Consents[p.ID]\">\n @for (s of ConsentStatuses; track s) {\n <option [value]=\"s\">{{ s }}</option>\n }\n </select>\n </div>\n }\n </div>\n }\n </div>\n }\n\n <!-- Add button footer -->\n @if (!ShowAddForm && EditingId === null && EditMode) {\n <div class=\"cm-flat-footer\">\n <button class=\"btn btn-outline full-width\" (click)=\"onShowAdd()\">\n <i class=\"fa-solid fa-plus\"></i>\n Add Contact\n </button>\n </div>\n }\n </div>\n}\n", styles: ["/* ============================================\n ContactMethodList - Flat List with Icons Design\n Pixel-perfect match to Option B mockup\n ============================================ */\n\n:host {\n display: block;\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, sans-serif;\n color: var(--mj-text-primary);\n}\n\n.section-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin-bottom: 16px;\n}\n\n.section-label {\n font-size: 15px;\n font-weight: 600;\n color: var(--mj-text-primary);\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.section-label i {\n color: var(--mj-brand-primary);\n}\n\n.count {\n font-size: 12px;\n color: var(--mj-text-muted);\n font-weight: 400;\n}\n\n/* Flat list container */\n.cm-flat-list {\n border: 1px solid var(--mj-border-default);\n border-radius: 8px;\n overflow: hidden;\n}\n\n/* Row */\n.cm-flat-row {\n display: flex;\n align-items: center;\n padding: 10px 16px;\n border-bottom: 1px solid var(--mj-bg-surface-sunken);\n gap: 12px;\n transition: background 0.1s;\n}\n\n.cm-flat-row:last-child {\n border-bottom: none;\n}\n\n.cm-flat-row:hover {\n background: var(--mj-bg-surface-card);\n}\n\n.cm-flat-row.primary {\n background: var(--mj-status-success-bg);\n}\n\n/* Icon */\n.cm-flat-icon {\n width: 36px;\n height: 36px;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 8px;\n font-size: 15px;\n flex-shrink: 0;\n}\n\n.cm-flat-icon.icon-email {\n background: color-mix(in srgb, var(--mj-brand-primary) 12%, var(--mj-bg-surface));\n color: var(--mj-brand-primary-hover);\n}\n\n.cm-flat-icon.icon-phone {\n background: var(--mj-status-success-bg);\n color: var(--mj-status-success-text);\n}\n\n.cm-flat-icon.icon-mobile {\n background: var(--mj-status-success-bg);\n color: var(--mj-status-success-text);\n}\n\n.cm-flat-icon.icon-linkedin {\n background: color-mix(in srgb, var(--mj-brand-primary) 12%, var(--mj-bg-surface));\n color: var(--mj-brand-primary);\n}\n\n.cm-flat-icon.icon-twitter {\n background: var(--mj-border-default);\n color: var(--mj-text-primary);\n}\n\n.cm-flat-icon.icon-web {\n background: var(--mj-status-warning-bg);\n color: var(--mj-status-warning-text);\n}\n\n.cm-flat-icon.icon-fax {\n background: var(--mj-status-info-bg);\n color: var(--mj-status-info-text);\n}\n\n.cm-flat-icon.icon-default {\n background: var(--mj-bg-surface-card);\n color: var(--mj-text-secondary);\n}\n\n/* Content */\n.cm-flat-content {\n flex: 1;\n min-width: 0;\n}\n\n.cm-flat-value {\n font-size: 14px;\n color: var(--mj-text-primary);\n cursor: pointer;\n}\n\n.cm-flat-value:hover {\n color: var(--mj-brand-primary);\n}\n\n.cm-flat-meta {\n font-size: 12px;\n color: var(--mj-text-muted);\n margin-top: 1px;\n}\n\n/* Badges */\n.cm-flat-badges {\n display: flex;\n gap: 6px;\n flex-shrink: 0;\n}\n\n.badge {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n padding: 3px 10px;\n border-radius: 12px;\n font-size: 11px;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.3px;\n}\n\n.badge-primary {\n background: var(--mj-status-success-bg);\n color: var(--mj-status-success-text);\n}\n\n/* Actions */\n.cm-flat-actions {\n display: flex;\n gap: 2px;\n flex-shrink: 0;\n opacity: 0;\n transition: opacity 0.15s;\n}\n\n.cm-flat-row:hover .cm-flat-actions {\n opacity: 1;\n}\n\n/* Ghost buttons */\n.btn-ghost {\n background: transparent;\n color: var(--mj-text-disabled);\n padding: 6px 8px;\n border: none;\n border-radius: 4px;\n cursor: pointer;\n font-size: 13px;\n transition: all 0.15s ease;\n}\n\n.btn-ghost:hover {\n color: var(--mj-text-primary);\n background: var(--mj-bg-surface-card);\n}\n\n.btn-ghost.danger:hover {\n color: var(--mj-status-error-text);\n background: var(--mj-status-error-bg);\n}\n\n/* Add form */\n.cm-flat-add-form {\n padding: 14px 16px;\n background: color-mix(in srgb, var(--mj-brand-primary) 5%, var(--mj-bg-surface));\n border-top: 2px solid var(--mj-brand-primary);\n display: flex;\n gap: 10px;\n align-items: flex-end;\n flex-wrap: wrap;\n}\n\n/* Edit inline row */\n.cm-flat-edit-row {\n padding: 14px 16px;\n background: color-mix(in srgb, var(--mj-brand-primary) 5%, var(--mj-bg-surface));\n border-bottom: 2px solid var(--mj-brand-primary);\n}\n\n.cm-flat-edit-row .form-row {\n display: flex;\n gap: 10px;\n align-items: flex-end;\n}\n\n/* Buttons */\n.btn {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 8px 16px;\n border: none;\n border-radius: 6px;\n font-size: 13px;\n font-weight: 500;\n cursor: pointer;\n transition: all 0.15s ease;\n}\n\n.btn-primary {\n background: var(--mj-brand-primary);\n color: var(--mj-brand-on-primary);\n}\n\n.btn-primary:hover {\n background: var(--mj-brand-primary-hover);\n}\n\n.btn-cancel {\n background: var(--mj-bg-surface-card);\n color: var(--mj-text-secondary);\n border: 1px solid var(--mj-border-default);\n}\n\n.btn-cancel:hover {\n background: var(--mj-border-subtle);\n}\n\n.btn-sm {\n padding: 7px 14px;\n}\n\n/* Form fields */\n.form-field {\n display: flex;\n flex-direction: column;\n}\n\n.form-field.flex-1 {\n flex: 1;\n}\n\n.form-field label {\n display: block;\n font-size: 12px;\n font-weight: 600;\n color: var(--mj-text-secondary);\n margin-bottom: 4px;\n text-transform: uppercase;\n letter-spacing: 0.3px;\n}\n\n.form-field input,\n.form-field select {\n width: 100%;\n padding: 8px 12px;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n font-size: 14px;\n font-family: inherit;\n background: var(--mj-bg-surface);\n}\n\n.form-field input:focus,\n.form-field select:focus {\n outline: none;\n border-color: var(--mj-brand-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n}\n\n.form-field.type-field {\n max-width: 160px;\n}\n\n.form-field.label-field {\n max-width: 140px;\n}\n\n.checkbox-field {\n display: flex;\n align-items: center;\n gap: 8px;\n padding-top: 20px;\n}\n\n.checkbox-field input[type=\"checkbox\"] {\n width: 16px;\n height: 16px;\n cursor: pointer;\n}\n\n.checkbox-field label {\n font-size: 13px;\n color: var(--mj-text-secondary);\n cursor: pointer;\n}\n\n.form-actions {\n padding-top: 18px;\n display: flex;\n gap: 6px;\n}\n\n/* Copy toast */\n.copy-toast {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n padding: 4px 10px;\n background: var(--mj-text-primary);\n color: var(--mj-brand-on-primary);\n border-radius: 4px;\n font-size: 11px;\n margin-left: 8px;\n animation: fadeInOut 1.5s ease-in-out;\n}\n\n@keyframes fadeInOut {\n 0% { opacity: 0; }\n 15% { opacity: 1; }\n 70% { opacity: 1; }\n 100% { opacity: 0; }\n}\n\n/* Empty state */\n.empty-state {\n text-align: center;\n padding: 32px 16px;\n color: var(--mj-text-muted);\n font-size: 14px;\n}\n\n.empty-state i {\n font-size: 24px;\n color: var(--mj-border-strong);\n margin-bottom: 8px;\n display: block;\n}\n\n/* Loading */\n.loading-row {\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 24px;\n color: var(--mj-text-muted);\n font-size: 13px;\n gap: 8px;\n}\n\n.loading-row i {\n animation: spin 1s linear infinite;\n}\n\n@keyframes spin {\n from { transform: rotate(0deg); }\n to { transform: rotate(360deg); }\n}\n\n/* Footer add button area */\n.cm-flat-footer {\n padding: 12px 16px;\n border-top: 1px solid var(--mj-border-default);\n background: var(--mj-bg-surface-card);\n}\n\n.btn-outline {\n background: transparent;\n border: 1px dashed var(--mj-border-strong);\n color: var(--mj-text-secondary);\n}\n\n.btn-outline:hover {\n border-color: var(--mj-brand-primary);\n color: var(--mj-brand-primary);\n background: color-mix(in srgb, var(--mj-brand-primary) 6%, var(--mj-bg-surface));\n}\n\n.btn-outline.full-width {\n width: 100%;\n justify-content: center;\n}\n\n/* Consent badge: one per contact method whose type maps to a channel */\n.badge-consent {\n cursor: default;\n text-transform: none;\n letter-spacing: 0;\n}\n\n.badge-consent.consent-in {\n background: var(--mj-status-success-bg);\n color: var(--mj-status-success-text);\n}\n\n.badge-consent.consent-out {\n background: var(--mj-status-error-bg);\n color: var(--mj-status-error-text);\n}\n\n.badge-consent.consent-unknown {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-secondary);\n border: 1px solid var(--mj-border-subtle);\n}\n\n/* Consent history: shown while hovering a badge, newest change first */\n.cm-flat-badges {\n position: relative;\n}\n\n.consent-history {\n position: absolute;\n top: 100%;\n right: 0;\n z-index: 20;\n min-width: 300px;\n padding: 10px 12px;\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: 8px;\n box-shadow: 0 6px 18px color-mix(in srgb, var(--mj-text-primary) 14%, transparent);\n font-size: 12px;\n color: var(--mj-text-primary);\n}\n\n.consent-history-title {\n font-weight: 600;\n margin-bottom: 6px;\n color: var(--mj-text-primary);\n}\n\n.consent-history-row {\n display: grid;\n grid-template-columns: 90px 90px 1fr;\n gap: 8px;\n padding: 3px 0;\n border-top: 1px solid var(--mj-border-subtle);\n}\n\n.consent-history-row:first-of-type {\n border-top: none;\n}\n\n.consent-history-row.current {\n font-weight: 600;\n}\n\n.consent-history-source {\n color: var(--mj-text-secondary);\n}\n\n.consent-history-empty,\n.consent-history-note {\n color: var(--mj-text-muted);\n font-size: 11px;\n margin-top: 6px;\n}\n\n/* Consent dropdown on the add and edit rows */\n.form-field.consent-field select {\n min-width: 130px;\n}\n\n/* A method's consents: one badge per purpose (and organization), hover for history */\n.consent-badges {\n display: inline-flex;\n flex-wrap: wrap;\n gap: 6px;\n justify-content: flex-end;\n}\n\n.badge-consent .consent-purpose {\n font-weight: 500;\n opacity: 0.8;\n}\n\n.badge-consent .consent-purpose::after {\n content: '\u00B7';\n margin: 0 2px 0 4px;\n}\n\n.consent-history-row {\n grid-template-columns: 90px 1fr 90px 1fr;\n}\n\n.consent-history-purpose {\n color: var(--mj-text-secondary);\n}\n\n/* One dropdown per purpose under the add and edit rows */\n.cm-flat-add-form,\n.cm-flat-edit-row .form-row {\n flex-wrap: wrap;\n}\n\n.form-row.consent-row {\n flex-basis: 100%;\n display: flex;\n flex-wrap: wrap;\n gap: 12px;\n margin-top: 8px;\n padding-top: 8px;\n border-top: 1px solid var(--mj-border-subtle);\n}\n"] }]
1368
+ args: [{ standalone: true, imports: [CommonModule, FormsModule, SharedGenericModule], selector: 'bizapps-contact-method-list', template: "<!-- ContactMethodList - Flat List with Icons Design (Option B) -->\n\n<div class=\"section-header\">\n <span class=\"section-label\">\n <i class=\"fa-solid fa-address-card\"></i>\n Contact Methods\n @if (!Loading && ContactMethods.length > 0) {\n <span class=\"count\">({{ ContactMethods.length }})</span>\n }\n </span>\n</div>\n\n@if (Loading) {\n <div class=\"cm-flat-list\">\n <div class=\"loading-row\">\n <i class=\"fa-solid fa-spinner\"></i> Loading contacts...\n </div>\n </div>\n} @else {\n <div class=\"cm-flat-list\">\n @if (ContactMethods.length === 0 && !ShowAddForm) {\n <div class=\"empty-state\">\n <i class=\"fa-solid fa-address-card\"></i>\n No contact methods yet\n </div>\n }\n\n @for (cm of ContactMethods; track cm.ID) {\n <!-- Edit mode for this row -->\n @if (IsEditing(cm)) {\n <div class=\"cm-flat-edit-row\">\n <div class=\"form-row\">\n <div class=\"form-field type-field\">\n <label>Type</label>\n <select [(ngModel)]=\"EditForm.TypeID\">\n @for (t of ContactTypes; track t.ID) {\n <option [value]=\"t.ID\">{{ t.Name }}</option>\n }\n </select>\n </div>\n <div class=\"form-field flex-1\">\n <label>Value</label>\n <input type=\"text\" [(ngModel)]=\"EditForm.Value\" [placeholder]=\"getPlaceholder(EditForm.TypeID)\">\n </div>\n <div class=\"form-field label-field\">\n <label>Label</label>\n <input type=\"text\" [(ngModel)]=\"EditForm.Label\" placeholder=\"e.g., Work\">\n </div>\n <div class=\"checkbox-field\">\n <input type=\"checkbox\" [id]=\"'primary-edit-' + cm.ID\" [(ngModel)]=\"EditForm.IsPrimary\">\n <label [for]=\"'primary-edit-' + cm.ID\">Primary</label>\n </div>\n <div class=\"form-actions\">\n <button class=\"btn btn-primary btn-sm\" (click)=\"onSaveEdit()\" [disabled]=\"Saving\">\n @if (Saving) {\n <i class=\"fa-solid fa-spinner fa-spin\"></i>\n }\n Save\n </button>\n <button class=\"btn btn-cancel btn-sm\" (click)=\"onCancelEdit()\">Cancel</button>\n </div>\n </div>\n @if (isConsentType(EditForm.TypeID)) {\n <div class=\"form-row consent-row\">\n <div class=\"form-field consent-field\">\n <label>General</label>\n <select [(ngModel)]=\"EditForm.Consents[GeneralKey]\">\n @for (s of ConsentStatuses; track s) {\n <option [value]=\"s\">{{ s }}</option>\n }\n </select>\n </div>\n @for (p of ConsentPurposes; track p.ID) {\n <div class=\"form-field consent-field\">\n <label>{{ p.Name }}</label>\n <select [(ngModel)]=\"EditForm.Consents[p.ID]\">\n @for (s of ConsentStatuses; track s) {\n <option [value]=\"s\">{{ s }}</option>\n }\n </select>\n </div>\n }\n </div>\n }\n </div>\n } @else {\n <!-- Display row -->\n <div class=\"cm-flat-row\" [class.primary]=\"cm.IsPrimary\">\n <div class=\"cm-flat-icon\" [ngClass]=\"getIconColorClass(cm.ContactTypeID)\">\n <i [class]=\"getContactTypeIcon(cm.ContactTypeID)\"></i>\n </div>\n <div class=\"cm-flat-content\">\n <div class=\"cm-flat-value\" (click)=\"onCopyValue(cm.Value)\">{{ cm.Value }}</div>\n <div class=\"cm-flat-meta\">{{ getContactMeta(cm) }}</div>\n </div>\n <div class=\"cm-flat-badges\">\n @if (cm.IsPrimary) {\n <span class=\"badge badge-primary\"><i class=\"fa-solid fa-star\"></i></span>\n }\n @if (isConsentType(cm.ContactTypeID)) {\n <span class=\"consent-badges\" (mouseenter)=\"onShowConsentHistory(cm)\" (mouseleave)=\"onHideConsentHistory()\">\n @for (c of getConsents(cm); track c.ID) {\n <span class=\"badge badge-consent\" [ngClass]=\"getConsentBadgeClass(c.ConsentStatus)\">\n <i [class]=\"getConsentIcon(c.ConsentStatus)\"></i>\n <span class=\"consent-purpose\">{{ getConsentBadgeText(c) }}</span>\n {{ c.ConsentStatus }}\n </span>\n } @empty {\n <span class=\"badge badge-consent consent-unknown\">\n <i class=\"fa-regular fa-circle-question\"></i>\n Not Specified\n </span>\n }\n </span>\n @if (IsShowingConsentHistory(cm)) {\n <div class=\"consent-history\" (mouseenter)=\"onShowConsentHistory(cm)\" (mouseleave)=\"onHideConsentHistory()\">\n <div class=\"consent-history-title\">Consent history \u00B7 {{ cm.Value }}</div>\n @if (ConsentHistoryLoading) {\n <mj-loading Text=\"Loading history...\" Size=\"small\"></mj-loading>\n } @else {\n @for (h of ConsentHistory; track h.ID) {\n <div class=\"consent-history-row\">\n <span>{{ h.ConsentStatusAt | date:'mediumDate' }}</span>\n <span class=\"consent-history-purpose\">{{ h.Purpose }}@if (h.RequestingOrganization) { \u00B7 {{ h.RequestingOrganization }}}</span>\n <span>{{ h.NewConsentStatus }}</span>\n <span class=\"consent-history-source\">{{ h.ConsentSource }}@if (h.ConsentDetails) { \u00B7 {{ h.ConsentDetails }}}</span>\n </div>\n } @empty {\n <div class=\"consent-history-empty\">No consent recorded yet</div>\n }\n <div class=\"consent-history-note\">Newest first; the top row for each purpose is its current status</div>\n }\n </div>\n }\n }\n </div>\n <div class=\"cm-flat-actions\">\n @if (EditMode && !cm.IsPrimary) {\n <button class=\"btn-ghost\" title=\"Set Primary\" (click)=\"onSetPrimary(cm)\">\n <i class=\"fa-regular fa-star\"></i>\n </button>\n }\n @if (isLinkType(cm.ContactTypeID)) {\n <button class=\"btn-ghost\" title=\"Open\" (click)=\"onOpenLink(cm.Value)\">\n <i class=\"fa-solid fa-external-link\"></i>\n </button>\n } @else {\n <button class=\"btn-ghost\" title=\"Copy\" (click)=\"onCopyValue(cm.Value)\">\n <i class=\"fa-solid fa-copy\"></i>\n </button>\n }\n @if (EditMode) {\n <button class=\"btn-ghost\" title=\"Edit\" (click)=\"onEdit(cm)\">\n <i class=\"fa-solid fa-pen\"></i>\n </button>\n <button class=\"btn-ghost danger\" title=\"Remove\" (click)=\"onDelete(cm)\">\n <i class=\"fa-solid fa-trash\"></i>\n </button>\n }\n </div>\n </div>\n }\n }\n\n <!-- Add form -->\n @if (ShowAddForm) {\n <div class=\"cm-flat-add-form\">\n <div class=\"form-field type-field\">\n <label>Type</label>\n <select [(ngModel)]=\"AddForm.TypeID\">\n @for (t of ContactTypes; track t.ID) {\n <option [value]=\"t.ID\">{{ t.Name }}</option>\n }\n </select>\n </div>\n <div class=\"form-field flex-1\">\n <label>Value</label>\n <input type=\"text\" [(ngModel)]=\"AddForm.Value\" [placeholder]=\"getPlaceholder(AddForm.TypeID)\">\n </div>\n <div class=\"form-field label-field\">\n <label>Label</label>\n <input type=\"text\" [(ngModel)]=\"AddForm.Label\" placeholder=\"e.g., Direct Line\">\n </div>\n <div class=\"checkbox-field\">\n <input type=\"checkbox\" id=\"primary-add\" [(ngModel)]=\"AddForm.IsPrimary\">\n <label for=\"primary-add\">Primary</label>\n </div>\n <div class=\"form-actions\">\n <button class=\"btn btn-primary btn-sm\" (click)=\"onSaveAdd()\" [disabled]=\"Saving\">\n @if (Saving) {\n <i class=\"fa-solid fa-spinner fa-spin\"></i>\n }\n Add\n </button>\n <button class=\"btn btn-cancel btn-sm\" (click)=\"onCancelAdd()\">Cancel</button>\n </div>\n @if (isConsentType(AddForm.TypeID)) {\n <div class=\"form-row consent-row\">\n <div class=\"form-field consent-field\">\n <label>General</label>\n <select [(ngModel)]=\"AddForm.Consents[GeneralKey]\">\n @for (s of ConsentStatuses; track s) {\n <option [value]=\"s\">{{ s }}</option>\n }\n </select>\n </div>\n @for (p of ConsentPurposes; track p.ID) {\n <div class=\"form-field consent-field\">\n <label>{{ p.Name }}</label>\n <select [(ngModel)]=\"AddForm.Consents[p.ID]\">\n @for (s of ConsentStatuses; track s) {\n <option [value]=\"s\">{{ s }}</option>\n }\n </select>\n </div>\n }\n </div>\n }\n </div>\n }\n\n <!-- Add button footer -->\n @if (!ShowAddForm && EditingId === null && EditMode) {\n <div class=\"cm-flat-footer\">\n <button class=\"btn btn-outline full-width\" (click)=\"onShowAdd()\">\n <i class=\"fa-solid fa-plus\"></i>\n Add Contact\n </button>\n </div>\n }\n </div>\n}\n", styles: ["/* ============================================\n ContactMethodList - Flat List with Icons Design\n Pixel-perfect match to Option B mockup\n ============================================ */\n\n:host {\n display: block;\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, sans-serif;\n color: var(--mj-text-primary);\n}\n\n.section-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin-bottom: 16px;\n}\n\n.section-label {\n font-size: 15px;\n font-weight: 600;\n color: var(--mj-text-primary);\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.section-label i {\n color: var(--mj-brand-primary);\n}\n\n.count {\n font-size: 12px;\n color: var(--mj-text-muted);\n font-weight: 400;\n}\n\n/* Flat list container */\n.cm-flat-list {\n border: 1px solid var(--mj-border-default);\n border-radius: 8px;\n overflow: hidden;\n}\n\n/* Row */\n.cm-flat-row {\n display: flex;\n align-items: center;\n padding: 10px 16px;\n border-bottom: 1px solid var(--mj-bg-surface-sunken);\n gap: 12px;\n transition: background 0.1s;\n}\n\n.cm-flat-row:last-child {\n border-bottom: none;\n}\n\n.cm-flat-row:hover {\n background: var(--mj-bg-surface-card);\n}\n\n.cm-flat-row.primary {\n background: var(--mj-status-success-bg);\n}\n\n/* Icon */\n.cm-flat-icon {\n width: 36px;\n height: 36px;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 8px;\n font-size: 15px;\n flex-shrink: 0;\n}\n\n.cm-flat-icon.icon-email {\n background: color-mix(in srgb, var(--mj-brand-primary) 12%, var(--mj-bg-surface));\n color: var(--mj-brand-primary-hover);\n}\n\n.cm-flat-icon.icon-phone {\n background: var(--mj-status-success-bg);\n color: var(--mj-status-success-text);\n}\n\n.cm-flat-icon.icon-mobile {\n background: var(--mj-status-success-bg);\n color: var(--mj-status-success-text);\n}\n\n.cm-flat-icon.icon-linkedin {\n background: color-mix(in srgb, var(--mj-brand-primary) 12%, var(--mj-bg-surface));\n color: var(--mj-brand-primary);\n}\n\n.cm-flat-icon.icon-twitter {\n background: var(--mj-border-default);\n color: var(--mj-text-primary);\n}\n\n.cm-flat-icon.icon-web {\n background: var(--mj-status-warning-bg);\n color: var(--mj-status-warning-text);\n}\n\n.cm-flat-icon.icon-fax {\n background: var(--mj-status-info-bg);\n color: var(--mj-status-info-text);\n}\n\n.cm-flat-icon.icon-default {\n background: var(--mj-bg-surface-card);\n color: var(--mj-text-secondary);\n}\n\n/* Content */\n.cm-flat-content {\n flex: 1;\n min-width: 0;\n}\n\n.cm-flat-value {\n font-size: 14px;\n color: var(--mj-text-primary);\n cursor: pointer;\n}\n\n.cm-flat-value:hover {\n color: var(--mj-brand-primary);\n}\n\n.cm-flat-meta {\n font-size: 12px;\n color: var(--mj-text-muted);\n margin-top: 1px;\n}\n\n/* Badges */\n.cm-flat-badges {\n display: flex;\n gap: 6px;\n flex-shrink: 0;\n}\n\n.badge {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n padding: 3px 10px;\n border-radius: 12px;\n font-size: 11px;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.3px;\n}\n\n.badge-primary {\n background: var(--mj-status-success-bg);\n color: var(--mj-status-success-text);\n}\n\n/* Actions */\n.cm-flat-actions {\n display: flex;\n gap: 2px;\n flex-shrink: 0;\n opacity: 0;\n transition: opacity 0.15s;\n}\n\n.cm-flat-row:hover .cm-flat-actions {\n opacity: 1;\n}\n\n/* Ghost buttons */\n.btn-ghost {\n background: transparent;\n color: var(--mj-text-disabled);\n padding: 6px 8px;\n border: none;\n border-radius: 4px;\n cursor: pointer;\n font-size: 13px;\n transition: all 0.15s ease;\n}\n\n.btn-ghost:hover {\n color: var(--mj-text-primary);\n background: var(--mj-bg-surface-card);\n}\n\n.btn-ghost.danger:hover {\n color: var(--mj-status-error-text);\n background: var(--mj-status-error-bg);\n}\n\n/* Add form */\n.cm-flat-add-form {\n padding: 14px 16px;\n background: color-mix(in srgb, var(--mj-brand-primary) 5%, var(--mj-bg-surface));\n border-top: 2px solid var(--mj-brand-primary);\n display: flex;\n gap: 10px;\n align-items: flex-end;\n flex-wrap: wrap;\n}\n\n/* Edit inline row */\n.cm-flat-edit-row {\n padding: 14px 16px;\n background: color-mix(in srgb, var(--mj-brand-primary) 5%, var(--mj-bg-surface));\n border-bottom: 2px solid var(--mj-brand-primary);\n}\n\n.cm-flat-edit-row .form-row {\n display: flex;\n gap: 10px;\n align-items: flex-end;\n}\n\n/* Buttons */\n.btn {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 8px 16px;\n border: none;\n border-radius: 6px;\n font-size: 13px;\n font-weight: 500;\n cursor: pointer;\n transition: all 0.15s ease;\n}\n\n.btn-primary {\n background: var(--mj-brand-primary);\n color: var(--mj-brand-on-primary);\n}\n\n.btn-primary:hover {\n background: var(--mj-brand-primary-hover);\n}\n\n.btn-cancel {\n background: var(--mj-bg-surface-card);\n color: var(--mj-text-secondary);\n border: 1px solid var(--mj-border-default);\n}\n\n.btn-cancel:hover {\n background: var(--mj-border-subtle);\n}\n\n.btn-sm {\n padding: 7px 14px;\n}\n\n/* Form fields */\n.form-field {\n display: flex;\n flex-direction: column;\n}\n\n.form-field.flex-1 {\n flex: 1;\n}\n\n.form-field label {\n display: block;\n font-size: 12px;\n font-weight: 600;\n color: var(--mj-text-secondary);\n margin-bottom: 4px;\n text-transform: uppercase;\n letter-spacing: 0.3px;\n}\n\n.form-field input,\n.form-field select {\n width: 100%;\n padding: 8px 12px;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n font-size: 14px;\n font-family: inherit;\n background: var(--mj-bg-surface);\n}\n\n.form-field input:focus,\n.form-field select:focus {\n outline: none;\n border-color: var(--mj-brand-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n}\n\n.form-field.type-field {\n max-width: 160px;\n}\n\n.form-field.label-field {\n max-width: 140px;\n}\n\n.checkbox-field {\n display: flex;\n align-items: center;\n gap: 8px;\n padding-top: 20px;\n}\n\n.checkbox-field input[type=\"checkbox\"] {\n width: 16px;\n height: 16px;\n cursor: pointer;\n}\n\n.checkbox-field label {\n font-size: 13px;\n color: var(--mj-text-secondary);\n cursor: pointer;\n}\n\n.form-actions {\n padding-top: 18px;\n display: flex;\n gap: 6px;\n}\n\n/* Copy toast */\n.copy-toast {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n padding: 4px 10px;\n background: var(--mj-text-primary);\n color: var(--mj-brand-on-primary);\n border-radius: 4px;\n font-size: 11px;\n margin-left: 8px;\n animation: fadeInOut 1.5s ease-in-out;\n}\n\n@keyframes fadeInOut {\n 0% { opacity: 0; }\n 15% { opacity: 1; }\n 70% { opacity: 1; }\n 100% { opacity: 0; }\n}\n\n/* Empty state */\n.empty-state {\n text-align: center;\n padding: 32px 16px;\n color: var(--mj-text-muted);\n font-size: 14px;\n}\n\n.empty-state i {\n font-size: 24px;\n color: var(--mj-border-strong);\n margin-bottom: 8px;\n display: block;\n}\n\n/* Loading */\n.loading-row {\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 24px;\n color: var(--mj-text-muted);\n font-size: 13px;\n gap: 8px;\n}\n\n.loading-row i {\n animation: spin 1s linear infinite;\n}\n\n@keyframes spin {\n from { transform: rotate(0deg); }\n to { transform: rotate(360deg); }\n}\n\n/* Footer add button area */\n.cm-flat-footer {\n padding: 12px 16px;\n border-top: 1px solid var(--mj-border-default);\n background: var(--mj-bg-surface-card);\n}\n\n.btn-outline {\n background: transparent;\n border: 1px dashed var(--mj-border-strong);\n color: var(--mj-text-secondary);\n}\n\n.btn-outline:hover {\n border-color: var(--mj-brand-primary);\n color: var(--mj-brand-primary);\n background: color-mix(in srgb, var(--mj-brand-primary) 6%, var(--mj-bg-surface));\n}\n\n.btn-outline.full-width {\n width: 100%;\n justify-content: center;\n}\n\n/* Consent badge: one per contact method whose type maps to a channel */\n.badge-consent {\n cursor: default;\n text-transform: none;\n letter-spacing: 0;\n}\n\n.badge-consent.consent-in {\n background: var(--mj-status-success-bg);\n color: var(--mj-status-success-text);\n}\n\n.badge-consent.consent-out {\n background: var(--mj-status-error-bg);\n color: var(--mj-status-error-text);\n}\n\n.badge-consent.consent-unknown {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-secondary);\n border: 1px solid var(--mj-border-subtle);\n}\n\n/* Consent history: shown while hovering a badge, newest change first */\n.cm-flat-badges {\n position: relative;\n}\n\n.consent-history {\n position: absolute;\n top: 100%;\n right: 0;\n z-index: 20;\n min-width: 300px;\n padding: 10px 12px;\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: 8px;\n box-shadow: 0 6px 18px color-mix(in srgb, var(--mj-text-primary) 14%, transparent);\n font-size: 12px;\n color: var(--mj-text-primary);\n}\n\n.consent-history-title {\n font-weight: 600;\n margin-bottom: 6px;\n color: var(--mj-text-primary);\n}\n\n.consent-history-row {\n display: grid;\n grid-template-columns: 90px 90px 1fr;\n gap: 8px;\n padding: 3px 0;\n border-top: 1px solid var(--mj-border-subtle);\n}\n\n.consent-history-row:first-of-type {\n border-top: none;\n}\n\n.consent-history-row.current {\n font-weight: 600;\n}\n\n.consent-history-source {\n color: var(--mj-text-secondary);\n}\n\n.consent-history-empty,\n.consent-history-note {\n color: var(--mj-text-muted);\n font-size: 11px;\n margin-top: 6px;\n}\n\n/* Consent dropdown on the add and edit rows */\n.form-field.consent-field select {\n min-width: 130px;\n}\n\n/* A method's consents: one badge per purpose (and organization), hover for history */\n.consent-badges {\n display: inline-flex;\n flex-wrap: wrap;\n gap: 6px;\n justify-content: flex-end;\n}\n\n.badge-consent .consent-purpose {\n font-weight: 500;\n opacity: 0.8;\n}\n\n.badge-consent .consent-purpose::after {\n content: '\u00B7';\n margin: 0 2px 0 4px;\n}\n\n.consent-history-row {\n grid-template-columns: 90px 1fr 90px 1fr;\n}\n\n.consent-history-purpose {\n color: var(--mj-text-secondary);\n}\n\n/* One dropdown per purpose under the add and edit rows */\n.cm-flat-add-form,\n.cm-flat-edit-row .form-row {\n flex-wrap: wrap;\n}\n\n.form-row.consent-row {\n flex-basis: 100%;\n display: flex;\n flex-wrap: wrap;\n gap: 12px;\n margin-top: 8px;\n padding-top: 8px;\n border-top: 1px solid var(--mj-border-subtle);\n}\n"] }]
1356
1369
  }], null, { EditMode: [{
1357
1370
  type: Input
1358
1371
  }], Provider: [{
@@ -1 +1 @@
1
- {"version":3,"file":"contact-method-list.component.js","sourceRoot":"","sources":["../../../../src/lib/components/contact-method-list/contact-method-list.component.ts","../../../../src/lib/components/contact-method-list/contact-method-list.component.html"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contact-method-list.component.js","sourceRoot":"","sources":["../../../../src/lib/components/contact-method-list/contact-method-list.component.ts","../../../../src/lib/components/contact-method-list/contact-method-list.component.html"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * #311 — the Activity hero's "Thread / Parent" link gated on the virtual `ParentActivity` name field,
3
+ * which V202609112330 removes on hosts whose `vwActivities` lacks the column. There it always reads
4
+ * null, so an activity with a parent showed no link. The hero now gates on `ParentActivityID` and
5
+ * reads the parent's Title itself.
6
+ */
7
+ import '@angular/compiler';
8
+ //# sourceMappingURL=activity-identity-parent.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"activity-identity-parent.test.d.ts","sourceRoot":"","sources":["../../../../../src/lib/components/identity-header/__tests__/activity-identity-parent.test.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,mBAAmB,CAAC"}
@@ -0,0 +1,75 @@
1
+ /**
2
+ * #311 — the Activity hero's "Thread / Parent" link gated on the virtual `ParentActivity` name field,
3
+ * which V202609112330 removes on hosts whose `vwActivities` lacks the column. There it always reads
4
+ * null, so an activity with a parent showed no link. The hero now gates on `ParentActivityID` and
5
+ * reads the parent's Title itself.
6
+ */
7
+ import '@angular/compiler';
8
+ import { readFileSync } from 'node:fs';
9
+ import { fileURLToPath } from 'node:url';
10
+ import { beforeEach, describe, expect, it, vi } from 'vitest';
11
+ const H = vi.hoisted(() => ({ runView: vi.fn() }));
12
+ vi.mock('@memberjunction/core', async (importOriginal) => {
13
+ const actual = await importOriginal();
14
+ class MockRunView {
15
+ RunView = H.runView;
16
+ }
17
+ return { ...actual, RunView: MockRunView, LogError: () => undefined };
18
+ });
19
+ import { UserInfoEngine } from '@memberjunction/core-entities';
20
+ import { ActivityIdentityComponent } from '../activity-identity.component';
21
+ const TEMPLATE = readFileSync(fileURLToPath(new URL('../activity-identity.component.html', import.meta.url)), 'utf8');
22
+ const PARENT_ID = 'A1B2C3D4-0000-0000-0000-000000000001';
23
+ function build(parentID) {
24
+ const component = new ActivityIdentityComponent();
25
+ component.Record = { ParentActivityID: parentID, RunViewProviderToUse: {} };
26
+ return component;
27
+ }
28
+ describe('ActivityIdentityComponent parent link (#311)', () => {
29
+ beforeEach(() => {
30
+ vi.spyOn(UserInfoEngine.Instance, 'GetSetting').mockReturnValue(undefined);
31
+ H.runView.mockReset();
32
+ H.runView.mockResolvedValue({ Success: true, Results: [{ Title: 'Kickoff call' }] });
33
+ });
34
+ it('gates the link on ParentActivityID, not on the virtual ParentActivity field', () => {
35
+ expect(TEMPLATE).toContain('@if (Record.ParentActivityID) {');
36
+ expect(TEMPLATE).not.toMatch(/Record\.ParentActivity\b(?!ID)/);
37
+ });
38
+ it("labels the link with the parent's Title", async () => {
39
+ const component = build(PARENT_ID);
40
+ component.ngOnInit();
41
+ await vi.waitFor(() => expect(component.ParentActivityLabel).toBe('Kickoff call'));
42
+ const params = H.runView.mock.calls[0][0];
43
+ expect(params.EntityName).toBe('MJ_BizApps_Common: Activities');
44
+ expect(params.ExtraFilter).toBe(`ID = '${PARENT_ID}'`);
45
+ });
46
+ it('matches the loaded parent regardless of UUID case', async () => {
47
+ const component = build(PARENT_ID);
48
+ component.ngOnInit();
49
+ await vi.waitFor(() => expect(component.ParentActivityLabel).toBe('Kickoff call'));
50
+ component.Record.ParentActivityID = PARENT_ID.toLowerCase();
51
+ expect(component.ParentActivityLabel).toBe('Kickoff call');
52
+ });
53
+ it('falls back to a generic label when the parent cannot be read, or the parent changed', async () => {
54
+ H.runView.mockResolvedValue({ Success: false, ErrorMessage: 'denied', Results: [] });
55
+ const failed = build(PARENT_ID);
56
+ failed.ngOnInit();
57
+ await vi.waitFor(() => expect(H.runView).toHaveBeenCalled());
58
+ expect(failed.ParentActivityLabel).toBe('Parent activity');
59
+ H.runView.mockResolvedValue({ Success: true, Results: [{ Title: 'Kickoff call' }] });
60
+ const moved = build(PARENT_ID);
61
+ moved.ngOnInit();
62
+ await vi.waitFor(() => expect(moved.ParentActivityLabel).toBe('Kickoff call'));
63
+ moved.Record.ParentActivityID = 'A1B2C3D4-0000-0000-0000-000000000002';
64
+ expect(moved.ParentActivityLabel).toBe('Parent activity');
65
+ });
66
+ it('queries nothing for a parent ID that is not a UUID', () => {
67
+ build("x' OR 1=1 --").ngOnInit();
68
+ expect(H.runView).not.toHaveBeenCalled();
69
+ });
70
+ it('queries nothing for an activity with no parent', () => {
71
+ build(null).ngOnInit();
72
+ expect(H.runView).not.toHaveBeenCalled();
73
+ });
74
+ });
75
+ //# sourceMappingURL=activity-identity-parent.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"activity-identity-parent.test.js","sourceRoot":"","sources":["../../../../../src/lib/components/identity-header/__tests__/activity-identity-parent.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * #343 — the Organization and Person heroes claim the generated identity sections
3
+ * (`replacesSectionKey`), and a claim hides the generated section outright: rail item and Manage
4
+ * Sections entry included. So the hero is the only place those fields can be edited. The heroes
5
+ * rendered a subset of them (Organizations lost Type, Description, Founded date, Tax ID and Status;
6
+ * People lost Middle name and Display name), and put even that subset behind the collapse toggle.
7
+ *
8
+ * Both are structural, so these tests read the structures: the registration's claim, the generated
9
+ * section's field list, and the hero template.
10
+ */
11
+ import '@angular/compiler';
12
+ //# sourceMappingURL=identity-hero-claims.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"identity-hero-claims.test.d.ts","sourceRoot":"","sources":["../../../../../src/lib/components/identity-header/__tests__/identity-hero-claims.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,mBAAmB,CAAC"}