@learncard/react 2.9.26 → 2.9.28

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 (106) hide show
  1. package/dist/cjs/{BoostGenericCard-82a9b3df.js → BoostGenericCard-310cd633.js} +2 -2
  2. package/dist/cjs/{BoostGenericCard-82a9b3df.js.map → BoostGenericCard-310cd633.js.map} +1 -1
  3. package/dist/cjs/{BoostSmallCard-2141fdd9.js → BoostSmallCard-4e200046.js} +2 -2
  4. package/dist/cjs/{BoostSmallCard-2141fdd9.js.map → BoostSmallCard-4e200046.js.map} +1 -1
  5. package/dist/cjs/{CertificateDisplayCard-0ac85a2b.js → CertificateDisplayCard-6658f859.js} +48 -19
  6. package/dist/cjs/CertificateDisplayCard-6658f859.js.map +1 -0
  7. package/dist/cjs/{MeritBadgeDisplayCard-e6d6ff8f.js → MeritBadgeDisplayCard-5e198547.js} +40 -74
  8. package/dist/cjs/MeritBadgeDisplayCard-5e198547.js.map +1 -0
  9. package/dist/cjs/{MeritBadgeSkillsCount-8c82275d.js → MeritBadgeSkillsCount-8307d493.js} +2 -2
  10. package/dist/cjs/{MeritBadgeSkillsCount-8c82275d.js.map → MeritBadgeSkillsCount-8307d493.js.map} +1 -1
  11. package/dist/cjs/{NotificationBoostCard-c4679a33.js → NotificationBoostCard-80dbf681.js} +2 -2
  12. package/dist/cjs/{NotificationBoostCard-c4679a33.js.map → NotificationBoostCard-80dbf681.js.map} +1 -1
  13. package/dist/cjs/UserProfilePicture-22944d8f.js +98 -0
  14. package/dist/cjs/UserProfilePicture-22944d8f.js.map +1 -0
  15. package/dist/cjs/{VCCard-2b76ce0d.js → VCCard-1dae1967.js} +3 -3
  16. package/dist/cjs/{VCCard-2b76ce0d.js.map → VCCard-1dae1967.js.map} +1 -1
  17. package/dist/cjs/{VCDisplayBackFace-d6ef7575.js → VCDisplayBackFace-f220ad7d.js} +3 -3
  18. package/dist/cjs/{VCDisplayBackFace-d6ef7575.js.map → VCDisplayBackFace-f220ad7d.js.map} +1 -1
  19. package/dist/cjs/{VCDisplayCard-c1ef1b32.js → VCDisplayCard-b3f9ae8d.js} +4 -4
  20. package/dist/cjs/{VCDisplayCard-c1ef1b32.js.map → VCDisplayCard-b3f9ae8d.js.map} +1 -1
  21. package/dist/cjs/{VCDisplayCard2-fb48d830.js → VCDisplayCard2-1bb03756.js} +32 -17
  22. package/dist/cjs/VCDisplayCard2-1bb03756.js.map +1 -0
  23. package/dist/cjs/{VCVerificationPill-db886a9a.js → VCVerificationPill-ae3e2fbb.js} +2 -2
  24. package/dist/cjs/{VCVerificationPill-db886a9a.js.map → VCVerificationPill-ae3e2fbb.js.map} +1 -1
  25. package/dist/cjs/{VerifierStateBadgeAndText-4c22c62f.js → VerifierStateBadgeAndText-7c29504e.js} +206 -27
  26. package/dist/cjs/VerifierStateBadgeAndText-7c29504e.js.map +1 -0
  27. package/dist/cjs/{credential.helpers-af8eb27a.js → credential.helpers-4e3cf40c.js} +2 -2
  28. package/dist/cjs/{credential.helpers-af8eb27a.js.map → credential.helpers-4e3cf40c.js.map} +1 -1
  29. package/dist/cjs/index.js +15 -15
  30. package/dist/cjs/index13.js +15 -15
  31. package/dist/cjs/index21.js +6 -6
  32. package/dist/cjs/index24.js +2 -2
  33. package/dist/cjs/index3.js +3 -3
  34. package/dist/cjs/index37.js +1 -1
  35. package/dist/cjs/index38.js +11 -11
  36. package/dist/cjs/index39.js +4 -4
  37. package/dist/cjs/index4.js +2 -2
  38. package/dist/cjs/index40.js +6 -6
  39. package/dist/cjs/index41.js +7 -7
  40. package/dist/cjs/index42.js +1 -1
  41. package/dist/cjs/index45.js +2 -2
  42. package/dist/cjs/index6.js +5 -5
  43. package/dist/cjs/{types.esm-8f32aacf.js → types.esm-674d5934.js} +75 -7
  44. package/dist/cjs/types.esm-674d5934.js.map +1 -0
  45. package/dist/esm/{BoostGenericCard-381b2a44.js → BoostGenericCard-956474fc.js} +2 -2
  46. package/dist/esm/{BoostGenericCard-381b2a44.js.map → BoostGenericCard-956474fc.js.map} +1 -1
  47. package/dist/esm/{BoostSmallCard-f2192dc1.js → BoostSmallCard-6d63f0b3.js} +2 -2
  48. package/dist/esm/{BoostSmallCard-f2192dc1.js.map → BoostSmallCard-6d63f0b3.js.map} +1 -1
  49. package/dist/esm/{CertificateDisplayCard-1b4b275b.js → CertificateDisplayCard-0642d8af.js} +48 -19
  50. package/dist/esm/CertificateDisplayCard-0642d8af.js.map +1 -0
  51. package/dist/esm/{MeritBadgeDisplayCard-580ee309.js → MeritBadgeDisplayCard-f6b064a6.js} +40 -74
  52. package/dist/esm/MeritBadgeDisplayCard-f6b064a6.js.map +1 -0
  53. package/dist/esm/{MeritBadgeSkillsCount-146a6631.js → MeritBadgeSkillsCount-e906d83f.js} +2 -2
  54. package/dist/esm/{MeritBadgeSkillsCount-146a6631.js.map → MeritBadgeSkillsCount-e906d83f.js.map} +1 -1
  55. package/dist/esm/{NotificationBoostCard-fa82a58d.js → NotificationBoostCard-fdfa0cf4.js} +2 -2
  56. package/dist/esm/{NotificationBoostCard-fa82a58d.js.map → NotificationBoostCard-fdfa0cf4.js.map} +1 -1
  57. package/dist/esm/UserProfilePicture-7e131f5d.js +92 -0
  58. package/dist/esm/UserProfilePicture-7e131f5d.js.map +1 -0
  59. package/dist/esm/{VCCard-16b74b58.js → VCCard-7b394980.js} +3 -3
  60. package/dist/esm/{VCCard-16b74b58.js.map → VCCard-7b394980.js.map} +1 -1
  61. package/dist/esm/{VCDisplayBackFace-ad4f5160.js → VCDisplayBackFace-ce80f06d.js} +3 -3
  62. package/dist/esm/{VCDisplayBackFace-ad4f5160.js.map → VCDisplayBackFace-ce80f06d.js.map} +1 -1
  63. package/dist/esm/{VCDisplayCard-3cc14e0b.js → VCDisplayCard-a40c4c7a.js} +4 -4
  64. package/dist/esm/{VCDisplayCard-3cc14e0b.js.map → VCDisplayCard-a40c4c7a.js.map} +1 -1
  65. package/dist/esm/{VCDisplayCard2-6165a0fb.js → VCDisplayCard2-3937fbc9.js} +32 -17
  66. package/dist/esm/VCDisplayCard2-3937fbc9.js.map +1 -0
  67. package/dist/esm/{VCVerificationPill-43612ba2.js → VCVerificationPill-8f82b17c.js} +2 -2
  68. package/dist/esm/{VCVerificationPill-43612ba2.js.map → VCVerificationPill-8f82b17c.js.map} +1 -1
  69. package/dist/esm/{VerifierStateBadgeAndText-c2de56ec.js → VerifierStateBadgeAndText-5152c28e.js} +206 -26
  70. package/dist/esm/VerifierStateBadgeAndText-5152c28e.js.map +1 -0
  71. package/dist/esm/{credential.helpers-6d446cd3.js → credential.helpers-bd29e893.js} +3 -3
  72. package/dist/esm/{credential.helpers-6d446cd3.js.map → credential.helpers-bd29e893.js.map} +1 -1
  73. package/dist/esm/index.js +15 -15
  74. package/dist/esm/index13.js +15 -15
  75. package/dist/esm/index21.js +6 -6
  76. package/dist/esm/index24.js +2 -2
  77. package/dist/esm/index3.js +3 -3
  78. package/dist/esm/index37.js +1 -1
  79. package/dist/esm/index38.js +11 -11
  80. package/dist/esm/index39.js +4 -4
  81. package/dist/esm/index4.js +2 -2
  82. package/dist/esm/index40.js +6 -6
  83. package/dist/esm/index41.js +7 -7
  84. package/dist/esm/index42.js +1 -1
  85. package/dist/esm/index45.js +2 -2
  86. package/dist/esm/index6.js +5 -5
  87. package/dist/esm/{types.esm-b900cd51.js → types.esm-e2b75956.js} +75 -7
  88. package/dist/esm/types.esm-e2b75956.js.map +1 -0
  89. package/dist/index.d.ts +6 -3
  90. package/dist/main.css +1 -1
  91. package/dist/main.js +1 -1
  92. package/package.json +4 -3
  93. package/dist/cjs/CertificateDisplayCard-0ac85a2b.js.map +0 -1
  94. package/dist/cjs/MeritBadgeDisplayCard-e6d6ff8f.js.map +0 -1
  95. package/dist/cjs/UserProfilePicture-d69fe4f0.js +0 -36
  96. package/dist/cjs/UserProfilePicture-d69fe4f0.js.map +0 -1
  97. package/dist/cjs/VCDisplayCard2-fb48d830.js.map +0 -1
  98. package/dist/cjs/VerifierStateBadgeAndText-4c22c62f.js.map +0 -1
  99. package/dist/cjs/types.esm-8f32aacf.js.map +0 -1
  100. package/dist/esm/CertificateDisplayCard-1b4b275b.js.map +0 -1
  101. package/dist/esm/MeritBadgeDisplayCard-580ee309.js.map +0 -1
  102. package/dist/esm/UserProfilePicture-7b950437.js +0 -30
  103. package/dist/esm/UserProfilePicture-7b950437.js.map +0 -1
  104. package/dist/esm/VCDisplayCard2-6165a0fb.js.map +0 -1
  105. package/dist/esm/VerifierStateBadgeAndText-c2de56ec.js.map +0 -1
  106. package/dist/esm/types.esm-b900cd51.js.map +0 -1
@@ -11,7 +11,7 @@ var Social = require('./social.png');
11
11
  var Stem = require('./stem.png');
12
12
  var Trade = require('./trade.png');
13
13
  var PuzzlePiece = require('./PuzzlePiece-e64f4596.js');
14
- var types_esm = require('./types.esm-8f32aacf.js');
14
+ var types_esm = require('./types.esm-674d5934.js');
15
15
 
16
16
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
17
17
 
@@ -216,20 +216,6 @@ const LeftArrow = ({ className = "", size = "20" }) => {
216
216
  );
217
217
  };
218
218
 
219
- const Line = ({ className = "", width = "109" }) => {
220
- return /* @__PURE__ */ React__default["default"].createElement(
221
- "svg",
222
- {
223
- width,
224
- height: "6",
225
- viewBox: "0 0 109 6",
226
- fill: "none",
227
- xmlns: "http://www.w3.org/2000/svg"
228
- },
229
- /* @__PURE__ */ React__default["default"].createElement("rect", { y: "0.575806", width: "109", height: "5", rx: "2.5", fill: "#E2E3E9" })
230
- );
231
- };
232
-
233
219
  const LinkIcon = ({ className = "" }) => {
234
220
  return /* @__PURE__ */ React__default["default"].createElement(
235
221
  "svg",
@@ -448,9 +434,6 @@ const VideoIcon = ({ className = "", size = "25" }) => {
448
434
  );
449
435
  };
450
436
 
451
- const truncateWithEllipsis = (str, maxLength) => {
452
- return str.length > maxLength ? `${str.substring(0, maxLength)}...` : str;
453
- };
454
437
  const capitalize = (string) => {
455
438
  return string ? string[0].toUpperCase() + string.slice(1) : "";
456
439
  };
@@ -3480,6 +3463,7 @@ var require_types_cjs_development = __commonJS({
3480
3463
  CredentialActivityStatsValidator: /* @__PURE__ */ __name(() => CredentialActivityStatsValidator, "CredentialActivityStatsValidator"),
3481
3464
  CredentialActivityValidator: /* @__PURE__ */ __name(() => CredentialActivityValidator, "CredentialActivityValidator"),
3482
3465
  CredentialActivityWithDetailsValidator: /* @__PURE__ */ __name(() => CredentialActivityWithDetailsValidator, "CredentialActivityWithDetailsValidator"),
3466
+ CredentialFormatValidator: /* @__PURE__ */ __name(() => CredentialFormatValidator, "CredentialFormatValidator"),
3483
3467
  CredentialInfoValidator: /* @__PURE__ */ __name(() => CredentialInfoValidator, "CredentialInfoValidator"),
3484
3468
  CredentialNameRefValidator: /* @__PURE__ */ __name(() => CredentialNameRefValidator, "CredentialNameRefValidator"),
3485
3469
  CredentialRecordValidator: /* @__PURE__ */ __name(() => CredentialRecordValidator, "CredentialRecordValidator"),
@@ -3508,6 +3492,8 @@ var require_types_cjs_development = __commonJS({
3508
3492
  GetSkillPathResultValidator: /* @__PURE__ */ __name(() => GetSkillPathResultValidator, "GetSkillPathResultValidator"),
3509
3493
  GetTemplateRecipientsEventValidator: /* @__PURE__ */ __name(() => GetTemplateRecipientsEventValidator, "GetTemplateRecipientsEventValidator"),
3510
3494
  GuardianStatusValidator: /* @__PURE__ */ __name(() => GuardianStatusValidator, "GuardianStatusValidator"),
3495
+ HolderExportConsentRecordValidator: /* @__PURE__ */ __name(() => HolderExportConsentRecordValidator, "HolderExportConsentRecordValidator"),
3496
+ HolderExportMetadataValidator: /* @__PURE__ */ __name(() => HolderExportMetadataValidator, "HolderExportMetadataValidator"),
3511
3497
  IdentifierEntryValidator: /* @__PURE__ */ __name(() => IdentifierEntryValidator, "IdentifierEntryValidator"),
3512
3498
  IdentifierTypeValidator: /* @__PURE__ */ __name(() => IdentifierTypeValidator, "IdentifierTypeValidator"),
3513
3499
  IdentityObjectValidator: /* @__PURE__ */ __name(() => IdentityObjectValidator, "IdentityObjectValidator"),
@@ -3587,6 +3573,7 @@ var require_types_cjs_development = __commonJS({
3587
3573
  RefreshServiceValidator: /* @__PURE__ */ __name(() => RefreshServiceValidator, "RefreshServiceValidator"),
3588
3574
  RegExpValidator: /* @__PURE__ */ __name(() => RegExpValidator, "RegExpValidator"),
3589
3575
  RelatedValidator: /* @__PURE__ */ __name(() => RelatedValidator, "RelatedValidator"),
3576
+ RenderMethodValidator: /* @__PURE__ */ __name(() => RenderMethodValidator, "RenderMethodValidator"),
3590
3577
  ReplaceSkillFrameworkSkillsInputValidator: /* @__PURE__ */ __name(() => ReplaceSkillFrameworkSkillsInputValidator, "ReplaceSkillFrameworkSkillsInputValidator"),
3591
3578
  ReplaceSkillFrameworkSkillsResultValidator: /* @__PURE__ */ __name(() => ReplaceSkillFrameworkSkillsResultValidator, "ReplaceSkillFrameworkSkillsResultValidator"),
3592
3579
  RequestLearnerContextEventValidator: /* @__PURE__ */ __name(() => RequestLearnerContextEventValidator, "RequestLearnerContextEventValidator"),
@@ -3629,6 +3616,7 @@ var require_types_cjs_development = __commonJS({
3629
3616
  SummaryCredentialKeywordValidator: /* @__PURE__ */ __name(() => SummaryCredentialKeywordValidator, "SummaryCredentialKeywordValidator"),
3630
3617
  SyncFrameworkInputValidator: /* @__PURE__ */ __name(() => SyncFrameworkInputValidator, "SyncFrameworkInputValidator"),
3631
3618
  TagValidator: /* @__PURE__ */ __name(() => TagValidator, "TagValidator"),
3619
+ TemplateRenderMethodValidator: /* @__PURE__ */ __name(() => TemplateRenderMethodValidator, "TemplateRenderMethodValidator"),
3632
3620
  TermsOfUseValidator: /* @__PURE__ */ __name(() => TermsOfUseValidator, "TermsOfUseValidator"),
3633
3621
  UnsignedAchievementCredentialValidator: /* @__PURE__ */ __name(() => UnsignedAchievementCredentialValidator, "UnsignedAchievementCredentialValidator"),
3634
3622
  UnsignedClrCredentialValidator: /* @__PURE__ */ __name(() => UnsignedClrCredentialValidator, "UnsignedClrCredentialValidator"),
@@ -17166,6 +17154,19 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
17166
17154
  genre: external_exports.string().optional(),
17167
17155
  audience: external_exports.string().optional()
17168
17156
  }).catchall(external_exports.any());
17157
+ var TemplateRenderMethodValidator = external_exports.object({
17158
+ type: external_exports.literal("TemplateRenderMethod"),
17159
+ renderSuite: external_exports.string(),
17160
+ template: external_exports.string(),
17161
+ renderProperty: external_exports.array(external_exports.string()).optional(),
17162
+ outputPreference: external_exports.object({
17163
+ mediaType: external_exports.string()
17164
+ }).optional()
17165
+ });
17166
+ var RenderMethodValidator = external_exports.union([
17167
+ TemplateRenderMethodValidator,
17168
+ external_exports.record(external_exports.string(), external_exports.any())
17169
+ ]);
17169
17170
  var UnsignedVCValidator = external_exports.object({
17170
17171
  "@context": ContextValidator,
17171
17172
  id: external_exports.string().optional(),
@@ -17189,7 +17190,8 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
17189
17190
  validUntil: external_exports.string().optional(),
17190
17191
  status: CredentialStatusValidator.or(CredentialStatusValidator.array()).optional(),
17191
17192
  termsOfUse: TermsOfUseValidator.or(TermsOfUseValidator.array()).optional(),
17192
- evidence: external_exports.union([VC2EvidenceValidator, external_exports.array(VC2EvidenceValidator)]).optional()
17193
+ evidence: external_exports.union([VC2EvidenceValidator, external_exports.array(VC2EvidenceValidator)]).optional(),
17194
+ renderMethod: external_exports.union([RenderMethodValidator, external_exports.array(RenderMethodValidator)]).optional()
17193
17195
  }).catchall(external_exports.any());
17194
17196
  var ProofValidator = external_exports.object({
17195
17197
  type: external_exports.string(),
@@ -17497,17 +17499,52 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
17497
17499
  var ClrCredentialValidator = UnsignedClrCredentialValidator.extend({
17498
17500
  proof: ProofValidator.or(ProofValidator.array())
17499
17501
  });
17502
+ var CredentialFormatValidator = external_exports.enum([
17503
+ "w3c-vc-2.0",
17504
+ "w3c-vc-1.1",
17505
+ "jwt-vc-json",
17506
+ "dc+sd-jwt",
17507
+ "vc+sd-jwt",
17508
+ "mso_mdoc"
17509
+ ]);
17500
17510
  var StatusCheckEntryValidator = external_exports.object({
17511
+ /**
17512
+ * The `credentialStatus.type` as it appeared on the credential.
17513
+ * One of `BitstringStatusListEntry`, `StatusList2021Entry`,
17514
+ * `RevocationList2020Status`, or any future custom status type.
17515
+ */
17501
17516
  entryType: external_exports.string(),
17517
+ /**
17518
+ * The claimed purpose of the entry. Standard values are
17519
+ * `"revocation"` and `"suspension"`; the spec allows arbitrary
17520
+ * strings.
17521
+ */
17502
17522
  statusPurpose: external_exports.string(),
17523
+ /**
17524
+ * Whether the bit at the credential's index in the status list
17525
+ * bitstring was set.
17526
+ */
17503
17527
  isSet: external_exports.boolean(),
17528
+ /** URL of the status list credential, when known. */
17504
17529
  statusListCredential: external_exports.string().optional(),
17530
+ /** Original (string) index within the status list. */
17505
17531
  statusListIndex: external_exports.string().optional()
17506
17532
  });
17507
17533
  var VerificationCheckValidator = external_exports.object({
17508
17534
  checks: external_exports.string().array(),
17509
17535
  warnings: external_exports.string().array(),
17510
17536
  errors: external_exports.string().array(),
17537
+ /**
17538
+ * Per-entry results for the `credentialStatus` check, populated
17539
+ * by `@learncard/didkit-plugin` when the verified credential
17540
+ * carries one or more `credentialStatus` entries. Empty / absent
17541
+ * for credentials without a status entry.
17542
+ *
17543
+ * Marked `.optional()` because the underlying `ssi-ldp`
17544
+ * serializer omits the field when empty (`skip_serializing_if`),
17545
+ * so older WASM builds that pre-date the structured-status
17546
+ * change still validate against this schema.
17547
+ */
17511
17548
  status: StatusCheckEntryValidator.array().optional()
17512
17549
  });
17513
17550
  var VerificationStatusValidator = external_exports.enum(["Success", "Failed", "Error"]);
@@ -17525,7 +17562,13 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
17525
17562
  issuee: ProfileValidator.optional(),
17526
17563
  credentialSubject: CredentialSubjectValidator.optional()
17527
17564
  });
17528
- var CredentialRecordValidator = external_exports.object({ id: external_exports.string(), uri: external_exports.string() }).catchall(external_exports.any());
17565
+ var CredentialRecordValidator = external_exports.object({
17566
+ id: external_exports.string(),
17567
+ uri: external_exports.string(),
17568
+ format: CredentialFormatValidator.optional(),
17569
+ semanticType: external_exports.string().optional(),
17570
+ rawWireForm: external_exports.string().optional()
17571
+ }).catchall(external_exports.any());
17529
17572
  var PaginationOptionsValidator = external_exports.object({
17530
17573
  limit: external_exports.number(),
17531
17574
  cursor: external_exports.string().optional(),
@@ -18094,6 +18137,22 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
18094
18137
  date: external_exports.string(),
18095
18138
  uris: external_exports.string().array().optional()
18096
18139
  });
18140
+ var HolderExportConsentRecordValidator = external_exports.object({
18141
+ termsUri: external_exports.string(),
18142
+ status: ConsentFlowTermsStatusValidator,
18143
+ contract: ConsentFlowContractDetailsValidator,
18144
+ terms: ConsentFlowTermsValidator,
18145
+ transactions: ConsentFlowTransactionValidator.array()
18146
+ });
18147
+ var HolderExportMetadataValidator = external_exports.object({
18148
+ consentRecords: HolderExportConsentRecordValidator.array(),
18149
+ truncated: external_exports.boolean().optional(),
18150
+ warnings: external_exports.string().array().optional(),
18151
+ limits: external_exports.object({
18152
+ maxConsentRecords: external_exports.number(),
18153
+ maxTransactionsPerConsentRecord: external_exports.number()
18154
+ }).optional()
18155
+ });
18097
18156
  var PaginatedConsentFlowTransactionsValidator = PaginationResponseValidator.extend({
18098
18157
  records: ConsentFlowTransactionValidator.array()
18099
18158
  });
@@ -18180,10 +18239,7 @@ Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.
18180
18239
  var LCNNotificationValidator = external_exports.object({
18181
18240
  type: LCNNotificationTypeEnumValidator,
18182
18241
  to: LCNProfileValidator.partial().and(external_exports.object({ did: external_exports.string() })),
18183
- from: external_exports.union([
18184
- external_exports.string(),
18185
- LCNProfileValidator.partial().and(external_exports.object({ did: external_exports.string() }))
18186
- ]),
18242
+ from: external_exports.union([external_exports.string(), LCNProfileValidator.partial().and(external_exports.object({ did: external_exports.string() }))]),
18187
18243
  message: LCNNotificationMessageValidator.optional(),
18188
18244
  data: LCNNotificationDataValidator.optional(),
18189
18245
  sent: external_exports.iso.datetime().optional(),
@@ -19636,6 +19692,130 @@ var isAppDidWeb = /* @__PURE__ */ __name((did) => {
19636
19692
  return LCN_APP_DID_WEB_REGEX.test(did);
19637
19693
  }, "isAppDidWeb");
19638
19694
 
19695
+ const isDid = (str) => /^did:/i.test(str);
19696
+ const LC_NETWORK_USER_RE = /^did:web:network\.learncard\.com:users:(.+)$/i;
19697
+ const isLearnCardNetworkDid = (did) => LC_NETWORK_USER_RE.test(did);
19698
+ const formatDidDisplayName = (did) => {
19699
+ if (!did) return "";
19700
+ const lcMatch = did.match(LC_NETWORK_USER_RE);
19701
+ if (lcMatch) return lcMatch[1];
19702
+ const parts = did.split(":");
19703
+ if (parts[0] !== "did" || parts.length < 3) return did;
19704
+ const method = parts[1];
19705
+ if (method === "web") {
19706
+ return parts.slice(2).join(".");
19707
+ }
19708
+ const material = parts.slice(2).join(":");
19709
+ if (material.length > 12) {
19710
+ return `${material.slice(0, 4)}\u2026${material.slice(-4)}`;
19711
+ }
19712
+ return material;
19713
+ };
19714
+ const getAvatarLetterFromDid = (did) => {
19715
+ var _a, _b, _c, _d, _e, _f;
19716
+ if (!did) return "";
19717
+ const lcMatch = did.match(LC_NETWORK_USER_RE);
19718
+ if (lcMatch) return (_a = lcMatch[1][0]) != null ? _a : "";
19719
+ const parts = did.split(":");
19720
+ if (parts[0] !== "did" || parts.length < 3) return (_b = did[0]) != null ? _b : "";
19721
+ const method = parts[1];
19722
+ if (method === "web") {
19723
+ return (_d = ((_c = parts[2]) != null ? _c : "")[0]) != null ? _d : "";
19724
+ }
19725
+ return (_f = ((_e = parts[2]) != null ? _e : "")[0]) != null ? _f : "";
19726
+ };
19727
+ const hashString = (str) => {
19728
+ let hash = 0;
19729
+ for (let i = 0; i < str.length; i++) {
19730
+ hash = str.charCodeAt(i) + ((hash << 5) - hash);
19731
+ }
19732
+ return hash;
19733
+ };
19734
+ const AVATAR_PALETTE = [
19735
+ "bg-indigo-600",
19736
+ "bg-emerald-700",
19737
+ "bg-cyan-800",
19738
+ "bg-spice-600",
19739
+ "bg-indigo-700",
19740
+ "bg-emerald-600"
19741
+ ];
19742
+ const DID_AVATAR_PALETTE = [
19743
+ { avatarColor: "bg-lime-400", avatarFingerprintColor: "text-black" },
19744
+ { avatarColor: "bg-green-500", avatarFingerprintColor: "text-white" },
19745
+ { avatarColor: "bg-indigo-600", avatarFingerprintColor: "text-cyan-200" },
19746
+ { avatarColor: "bg-pink-500", avatarFingerprintColor: "text-yellow-300" },
19747
+ { avatarColor: "bg-yellow-300", avatarFingerprintColor: "text-blue-600" },
19748
+ { avatarColor: "bg-fuchsia-300", avatarFingerprintColor: "text-black" },
19749
+ { avatarColor: "bg-emerald-800", avatarFingerprintColor: "text-white" },
19750
+ { avatarColor: "bg-cyan-300", avatarFingerprintColor: "text-red-600" },
19751
+ { avatarColor: "bg-grayscale-900", avatarFingerprintColor: "text-lime-400" },
19752
+ { avatarColor: "bg-rose-600", avatarFingerprintColor: "text-white" },
19753
+ { avatarColor: "bg-blue-800", avatarFingerprintColor: "text-cyan-400" },
19754
+ { avatarColor: "bg-orange-600", avatarFingerprintColor: "text-yellow-300" },
19755
+ { avatarColor: "bg-teal-300", avatarFingerprintColor: "text-violet-600" },
19756
+ { avatarColor: "bg-grayscale-200", avatarFingerprintColor: "text-sky-500" },
19757
+ { avatarColor: "bg-emerald-700", avatarFingerprintColor: "text-yellow-300" },
19758
+ { avatarColor: "bg-fuchsia-500", avatarFingerprintColor: "text-pink-200" }
19759
+ ];
19760
+ const getDidAvatarColorPair = (did) => {
19761
+ if (!did) {
19762
+ return {
19763
+ avatarColor: "bg-emerald-700",
19764
+ avatarFingerprintColor: "text-white"
19765
+ };
19766
+ }
19767
+ return DID_AVATAR_PALETTE[Math.abs(hashString(did)) % DID_AVATAR_PALETTE.length];
19768
+ };
19769
+ const getAvatarColorFromString = (str) => {
19770
+ if (!str) return "bg-emerald-700";
19771
+ return AVATAR_PALETTE[Math.abs(hashString(str)) % AVATAR_PALETTE.length];
19772
+ };
19773
+ const resolveProfileDisplay = (profile, fallbackLabel) => {
19774
+ var _a;
19775
+ let rawName = "";
19776
+ let rawId = "";
19777
+ if (typeof profile === "string") {
19778
+ rawName = profile;
19779
+ } else if (profile && typeof profile === "object") {
19780
+ rawName = profile.name || profile.displayName || "";
19781
+ rawId = profile.id || "";
19782
+ }
19783
+ if (rawName && !isDid(rawName)) {
19784
+ return {
19785
+ displayName: rawName,
19786
+ avatarLetter: (_a = rawName[0]) != null ? _a : "",
19787
+ avatarColor: getAvatarColorFromString(rawName),
19788
+ avatarFingerprintColor: "text-white",
19789
+ isMissing: false,
19790
+ isDidValue: false,
19791
+ isLCNetwork: false
19792
+ };
19793
+ }
19794
+ const didStr = isDid(rawName) ? rawName : rawId;
19795
+ if (didStr && isDid(didStr)) {
19796
+ const lcNetwork = isLearnCardNetworkDid(didStr);
19797
+ const avatarColors = getDidAvatarColorPair(didStr);
19798
+ return {
19799
+ displayName: formatDidDisplayName(didStr),
19800
+ avatarLetter: getAvatarLetterFromDid(didStr),
19801
+ avatarColor: avatarColors.avatarColor,
19802
+ avatarFingerprintColor: avatarColors.avatarFingerprintColor,
19803
+ isMissing: false,
19804
+ isDidValue: !lcNetwork,
19805
+ isLCNetwork: lcNetwork
19806
+ };
19807
+ }
19808
+ return {
19809
+ displayName: fallbackLabel,
19810
+ avatarLetter: "",
19811
+ avatarColor: "bg-grayscale-200",
19812
+ avatarFingerprintColor: "text-white",
19813
+ isMissing: true,
19814
+ isDidValue: false,
19815
+ isLCNetwork: false
19816
+ };
19817
+ };
19818
+
19639
19819
  const VERIFIER_STATES = {
19640
19820
  selfVerified: "Self Issued",
19641
19821
  trustedVerifier: "Trusted Issuer",
@@ -19660,7 +19840,6 @@ exports.GenericDocumentIcon = GenericDocumentIcon;
19660
19840
  exports.InfoIcon = InfoIcon;
19661
19841
  exports.IssuerSeal = IssuerSeal;
19662
19842
  exports.LeftArrow = LeftArrow;
19663
- exports.Line = Line;
19664
19843
  exports.LinkIcon = LinkIcon;
19665
19844
  exports.PersonBadge = PersonBadge;
19666
19845
  exports.RedFlag = RedFlag;
@@ -19676,5 +19855,5 @@ exports.capitalize = capitalize;
19676
19855
  exports.getBaseUrl = getBaseUrl;
19677
19856
  exports.isAppDidWeb = isAppDidWeb;
19678
19857
  exports.prettyBytes = prettyBytes;
19679
- exports.truncateWithEllipsis = truncateWithEllipsis;
19680
- //# sourceMappingURL=VerifierStateBadgeAndText-4c22c62f.js.map
19858
+ exports.resolveProfileDisplay = resolveProfileDisplay;
19859
+ //# sourceMappingURL=VerifierStateBadgeAndText-7c29504e.js.map