@learncard/react 2.8.27 → 2.8.30

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 (156) hide show
  1. package/dist/cjs/{BoostGenericCard-cffe4afa.js → BoostGenericCard-1b772037.js} +2 -2
  2. package/dist/cjs/{BoostGenericCard-cffe4afa.js.map → BoostGenericCard-1b772037.js.map} +1 -1
  3. package/dist/cjs/{BoostSmallCard-07103b39.js → BoostSmallCard-f3415f10.js} +6 -7
  4. package/dist/cjs/BoostSmallCard-f3415f10.js.map +1 -0
  5. package/dist/cjs/{CertDisplayCardSkillsCount-4ade9c60.js → CertDisplayCardSkillsCount-819a2db3.js} +2 -2
  6. package/dist/cjs/{CertDisplayCardSkillsCount-4ade9c60.js.map → CertDisplayCardSkillsCount-819a2db3.js.map} +1 -1
  7. package/dist/cjs/{CertificateDisplayCard-fbd99429.js → CertificateDisplayCard-e45f6be0.js} +19 -17
  8. package/dist/cjs/CertificateDisplayCard-e45f6be0.js.map +1 -0
  9. package/dist/cjs/{MeritBadgeDisplayCard-842540e8.js → MeritBadgeDisplayCard-b029e0f8.js} +34 -5
  10. package/dist/cjs/MeritBadgeDisplayCard-b029e0f8.js.map +1 -0
  11. package/dist/cjs/{MeritBadgeSkillsCount-1d7c25b5.js → MeritBadgeSkillsCount-6a6e6b51.js} +2 -2
  12. package/dist/cjs/{MeritBadgeSkillsCount-1d7c25b5.js.map → MeritBadgeSkillsCount-6a6e6b51.js.map} +1 -1
  13. package/dist/cjs/{NotificationBoostCard-70dfa17e.js → NotificationBoostCard-cf2140c0.js} +5 -6
  14. package/dist/cjs/NotificationBoostCard-cf2140c0.js.map +1 -0
  15. package/dist/cjs/NotificationUserCard-d4dab06c.js.map +1 -1
  16. package/dist/cjs/{SchoolIDCard-39a099d2.js → SchoolIDCard-da911949.js} +3 -1184
  17. package/dist/cjs/SchoolIDCard-da911949.js.map +1 -0
  18. package/dist/cjs/UserProfilePicture-16b97343.js +30 -0
  19. package/dist/cjs/UserProfilePicture-16b97343.js.map +1 -0
  20. package/dist/cjs/{VCCard-e2a403e1.js → VCCard-7e9e09ce.js} +3 -3
  21. package/dist/cjs/{VCCard-e2a403e1.js.map → VCCard-7e9e09ce.js.map} +1 -1
  22. package/dist/cjs/{VCDisplayBackFace-21941cd3.js → VCDisplayBackFace-d4ca1b26.js} +3 -3
  23. package/dist/cjs/{VCDisplayBackFace-21941cd3.js.map → VCDisplayBackFace-d4ca1b26.js.map} +1 -1
  24. package/dist/cjs/{VCDisplayCard-914f8369.js → VCDisplayCard-84bc220a.js} +19 -30
  25. package/dist/cjs/VCDisplayCard-84bc220a.js.map +1 -0
  26. package/dist/cjs/{VCDisplayCard2-7d884c90.js → VCDisplayCard2-16559862.js} +19 -18
  27. package/dist/cjs/VCDisplayCard2-16559862.js.map +1 -0
  28. package/dist/cjs/{VCVerificationPill-f352768b.js → VCVerificationPill-7dd56180.js} +2 -2
  29. package/dist/cjs/{VCVerificationPill-f352768b.js.map → VCVerificationPill-7dd56180.js.map} +1 -1
  30. package/dist/cjs/{VerifierStateBadgeAndText-86a2e051.js → VerifierStateBadgeAndText-fadcdc9c.js} +1 -31
  31. package/dist/cjs/VerifierStateBadgeAndText-fadcdc9c.js.map +1 -0
  32. package/dist/cjs/{credential.helpers-4c170ac2.js → credential.helpers-7eb47e83.js} +2 -2
  33. package/dist/cjs/{credential.helpers-4c170ac2.js.map → credential.helpers-7eb47e83.js.map} +1 -1
  34. package/dist/cjs/index-838fa72c.js +1186 -0
  35. package/dist/cjs/index-838fa72c.js.map +1 -0
  36. package/dist/cjs/index.js +19 -17
  37. package/dist/cjs/index.js.map +1 -1
  38. package/dist/cjs/index13.js +19 -17
  39. package/dist/cjs/index13.js.map +1 -1
  40. package/dist/cjs/index21.js +5 -5
  41. package/dist/cjs/index24.js +2 -2
  42. package/dist/cjs/index3.js +4 -4
  43. package/dist/cjs/index30.js +2 -1
  44. package/dist/cjs/index30.js.map +1 -1
  45. package/dist/cjs/index37.js +2 -43
  46. package/dist/cjs/index37.js.map +1 -1
  47. package/dist/cjs/index38.js +36 -9
  48. package/dist/cjs/index38.js.map +1 -1
  49. package/dist/cjs/index39.js +9 -13
  50. package/dist/cjs/index39.js.map +1 -1
  51. package/dist/cjs/index4.js +3 -3
  52. package/dist/cjs/index40.js +15 -29
  53. package/dist/cjs/index40.js.map +1 -1
  54. package/dist/cjs/index41.js +39 -4
  55. package/dist/cjs/index41.js.map +1 -1
  56. package/dist/cjs/index42.js +3 -7
  57. package/dist/cjs/index42.js.map +1 -1
  58. package/dist/cjs/index43.js +4 -6
  59. package/dist/cjs/index43.js.map +1 -1
  60. package/dist/cjs/index44.js +6 -6
  61. package/dist/cjs/index45.js +15 -0
  62. package/dist/cjs/index45.js.map +1 -0
  63. package/dist/cjs/index6.js +6 -5
  64. package/dist/cjs/index6.js.map +1 -1
  65. package/dist/cjs/{types.esm-ee7b88de.js → types.esm-0855fba2.js} +11 -1
  66. package/dist/cjs/types.esm-0855fba2.js.map +1 -0
  67. package/dist/esm/{BoostGenericCard-ca83c9d4.js → BoostGenericCard-9c9b9d0f.js} +2 -2
  68. package/dist/esm/{BoostGenericCard-ca83c9d4.js.map → BoostGenericCard-9c9b9d0f.js.map} +1 -1
  69. package/dist/esm/{BoostSmallCard-7cb33197.js → BoostSmallCard-e0afec44.js} +6 -6
  70. package/dist/esm/BoostSmallCard-e0afec44.js.map +1 -0
  71. package/dist/esm/{CertDisplayCardSkillsCount-86207576.js → CertDisplayCardSkillsCount-404b48fd.js} +2 -2
  72. package/dist/esm/{CertDisplayCardSkillsCount-86207576.js.map → CertDisplayCardSkillsCount-404b48fd.js.map} +1 -1
  73. package/dist/esm/{CertificateDisplayCard-502cdb0e.js → CertificateDisplayCard-6e09e459.js} +19 -17
  74. package/dist/esm/CertificateDisplayCard-6e09e459.js.map +1 -0
  75. package/dist/esm/{MeritBadgeDisplayCard-bc9899b7.js → MeritBadgeDisplayCard-ad2d6f2a.js} +33 -4
  76. package/dist/esm/MeritBadgeDisplayCard-ad2d6f2a.js.map +1 -0
  77. package/dist/esm/{MeritBadgeSkillsCount-30f7b0c2.js → MeritBadgeSkillsCount-c6f76fef.js} +2 -2
  78. package/dist/esm/{MeritBadgeSkillsCount-30f7b0c2.js.map → MeritBadgeSkillsCount-c6f76fef.js.map} +1 -1
  79. package/dist/esm/{NotificationBoostCard-e614c341.js → NotificationBoostCard-42596c2c.js} +5 -5
  80. package/dist/esm/NotificationBoostCard-42596c2c.js.map +1 -0
  81. package/dist/esm/NotificationUserCard-dbcc80f9.js.map +1 -1
  82. package/dist/esm/{SchoolIDCard-752092fb.js → SchoolIDCard-aedfa350.js} +2 -1183
  83. package/dist/esm/SchoolIDCard-aedfa350.js.map +1 -0
  84. package/dist/esm/UserProfilePicture-ecc82a6c.js +24 -0
  85. package/dist/esm/UserProfilePicture-ecc82a6c.js.map +1 -0
  86. package/dist/esm/{VCCard-d7474d15.js → VCCard-c81227a8.js} +3 -3
  87. package/dist/esm/{VCCard-d7474d15.js.map → VCCard-c81227a8.js.map} +1 -1
  88. package/dist/esm/{VCDisplayBackFace-293436a0.js → VCDisplayBackFace-32a7ca50.js} +3 -3
  89. package/dist/esm/{VCDisplayBackFace-293436a0.js.map → VCDisplayBackFace-32a7ca50.js.map} +1 -1
  90. package/dist/esm/{VCDisplayCard-ce283667.js → VCDisplayCard-3e08535e.js} +19 -29
  91. package/dist/esm/VCDisplayCard-3e08535e.js.map +1 -0
  92. package/dist/esm/{VCDisplayCard2-26fb27c2.js → VCDisplayCard2-b66bf7cf.js} +19 -17
  93. package/dist/esm/VCDisplayCard2-b66bf7cf.js.map +1 -0
  94. package/dist/esm/{VCVerificationPill-4b3a7f95.js → VCVerificationPill-647127f6.js} +2 -2
  95. package/dist/esm/{VCVerificationPill-4b3a7f95.js.map → VCVerificationPill-647127f6.js.map} +1 -1
  96. package/dist/esm/{VerifierStateBadgeAndText-3883f38b.js → VerifierStateBadgeAndText-c74e1fe4.js} +2 -31
  97. package/dist/esm/VerifierStateBadgeAndText-c74e1fe4.js.map +1 -0
  98. package/dist/esm/{credential.helpers-62c6ea1b.js → credential.helpers-595c791f.js} +2 -2
  99. package/dist/esm/{credential.helpers-62c6ea1b.js.map → credential.helpers-595c791f.js.map} +1 -1
  100. package/dist/esm/index-4fa491c1.js +1184 -0
  101. package/dist/esm/index-4fa491c1.js.map +1 -0
  102. package/dist/esm/index.js +18 -17
  103. package/dist/esm/index.js.map +1 -1
  104. package/dist/esm/index13.js +18 -17
  105. package/dist/esm/index13.js.map +1 -1
  106. package/dist/esm/index21.js +5 -5
  107. package/dist/esm/index24.js +2 -2
  108. package/dist/esm/index3.js +4 -4
  109. package/dist/esm/index30.js +2 -1
  110. package/dist/esm/index30.js.map +1 -1
  111. package/dist/esm/index37.js +1 -42
  112. package/dist/esm/index37.js.map +1 -1
  113. package/dist/esm/index38.js +35 -8
  114. package/dist/esm/index38.js.map +1 -1
  115. package/dist/esm/index39.js +8 -12
  116. package/dist/esm/index39.js.map +1 -1
  117. package/dist/esm/index4.js +3 -3
  118. package/dist/esm/index40.js +14 -25
  119. package/dist/esm/index40.js.map +1 -1
  120. package/dist/esm/index41.js +31 -4
  121. package/dist/esm/index41.js.map +1 -1
  122. package/dist/esm/index42.js +3 -2
  123. package/dist/esm/index42.js.map +1 -1
  124. package/dist/esm/index43.js +3 -3
  125. package/dist/esm/index44.js +3 -5
  126. package/dist/esm/index44.js.map +1 -1
  127. package/dist/esm/index45.js +7 -0
  128. package/dist/esm/index45.js.map +1 -0
  129. package/dist/esm/index6.js +6 -5
  130. package/dist/esm/index6.js.map +1 -1
  131. package/dist/esm/{types.esm-870fa29e.js → types.esm-e58d276a.js} +11 -1
  132. package/dist/esm/types.esm-e58d276a.js.map +1 -0
  133. package/dist/index.d.ts +9 -1
  134. package/dist/main.css +1 -1
  135. package/dist/main.js +1 -1
  136. package/package.json +3 -3
  137. package/dist/cjs/BoostSmallCard-07103b39.js.map +0 -1
  138. package/dist/cjs/CertificateDisplayCard-fbd99429.js.map +0 -1
  139. package/dist/cjs/MeritBadgeDisplayCard-842540e8.js.map +0 -1
  140. package/dist/cjs/NotificationBoostCard-70dfa17e.js.map +0 -1
  141. package/dist/cjs/SchoolIDCard-39a099d2.js.map +0 -1
  142. package/dist/cjs/VCDisplayCard-914f8369.js.map +0 -1
  143. package/dist/cjs/VCDisplayCard2-7d884c90.js.map +0 -1
  144. package/dist/cjs/VerifierStateBadgeAndText-86a2e051.js.map +0 -1
  145. package/dist/cjs/default-face.jpeg +0 -0
  146. package/dist/cjs/types.esm-ee7b88de.js.map +0 -1
  147. package/dist/esm/BoostSmallCard-7cb33197.js.map +0 -1
  148. package/dist/esm/CertificateDisplayCard-502cdb0e.js.map +0 -1
  149. package/dist/esm/MeritBadgeDisplayCard-bc9899b7.js.map +0 -1
  150. package/dist/esm/NotificationBoostCard-e614c341.js.map +0 -1
  151. package/dist/esm/SchoolIDCard-752092fb.js.map +0 -1
  152. package/dist/esm/VCDisplayCard-ce283667.js.map +0 -1
  153. package/dist/esm/VCDisplayCard2-26fb27c2.js.map +0 -1
  154. package/dist/esm/VerifierStateBadgeAndText-3883f38b.js.map +0 -1
  155. package/dist/esm/default-face.jpeg +0 -0
  156. package/dist/esm/types.esm-870fa29e.js.map +0 -1
@@ -0,0 +1,24 @@
1
+ import React from 'react';
2
+
3
+ const UserProfilePicture = ({ customContainerClass, customImageClass, user, alt, children }) => {
4
+ var _a, _b, _c, _d;
5
+ const baseColor = "bg-indigo-500";
6
+ const src = (user == null ? void 0 : user.image) || (user == null ? void 0 : user.profileImage);
7
+ const letterToDisplay = ((_a = user == null ? void 0 : user.displayName) == null ? void 0 : _a.substring(0, 1)) || ((_b = user == null ? void 0 : user.profileId) == null ? void 0 : _b.substring(0, 1)) || ((_c = user == null ? void 0 : user.name) == null ? void 0 : _c.substring(0, 1)) || ((_d = user == null ? void 0 : user.email) == null ? void 0 : _d.substring(0, 1)) || "#";
8
+ if (!src) {
9
+ return /* @__PURE__ */ React.createElement("div", {
10
+ className: `rounded-full flex items-center justify-center font-bold uppercase select-none text-white text-2xl ${customContainerClass} ${baseColor}`
11
+ }, letterToDisplay, children);
12
+ }
13
+ return /* @__PURE__ */ React.createElement("div", {
14
+ className: `relative select-none ${customContainerClass}`
15
+ }, /* @__PURE__ */ React.createElement("img", {
16
+ className: `rounded-full ${customImageClass}`,
17
+ alt: alt || "user",
18
+ src,
19
+ referrerPolicy: "no-referrer"
20
+ }), children);
21
+ };
22
+
23
+ export { UserProfilePicture as U };
24
+ //# sourceMappingURL=UserProfilePicture-ecc82a6c.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UserProfilePicture-ecc82a6c.js","sources":["../../src/components/UserProfilePicture/UserProfilePicture.tsx"],"sourcesContent":["import React from 'react';\n\n// Copied / Adapted from learn-card-base\nexport const UserProfilePicture: React.FC<{\n customContainerClass?: string;\n customImageClass?: string;\n user?: any;\n alt?: string;\n children?: React.ReactNode | null;\n}> = ({ customContainerClass, customImageClass, user, alt, children }) => {\n const baseColor = 'bg-indigo-500';\n const src = user?.image || user?.profileImage;\n const letterToDisplay =\n user?.displayName?.substring(0, 1) ||\n user?.profileId?.substring(0, 1) ||\n user?.name?.substring(0, 1) ||\n user?.email?.substring(0, 1) ||\n '#';\n\n if (!src) {\n return (\n <div\n className={`rounded-full flex items-center justify-center font-bold uppercase select-none text-white text-2xl ${customContainerClass} ${baseColor}`}\n >\n {letterToDisplay}\n {children}\n </div>\n );\n }\n\n return (\n <div className={`relative select-none ${customContainerClass}`}>\n <img\n className={`rounded-full ${customImageClass}`}\n alt={alt || 'user'}\n src={src}\n referrerPolicy=\"no-referrer\"\n />\n {children}\n </div>\n );\n};\n\nexport default UserProfilePicture;\n"],"names":[],"mappings":";;AAGa,MAAA,kBAAA,GAMR,CAAC,EAAE,oBAAA,EAAsB,kBAAkB,IAAM,EAAA,GAAA,EAAK,UAAe,KAAA;AAT1E,EAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,CAAA;AAUI,EAAA,MAAM,SAAY,GAAA,eAAA,CAAA;AAClB,EAAM,MAAA,GAAA,GAAA,CAAM,IAAM,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,IAAA,CAAA,KAAA,MAAS,IAAM,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,IAAA,CAAA,YAAA,CAAA,CAAA;AACjC,EAAM,MAAA,eAAA,GAAA,CAAA,CACF,EAAM,GAAA,IAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,IAAA,CAAA,WAAA,KAAN,IAAmB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,SAAA,CAAU,GAAG,CAChC,CAAA,MAAA,CAAA,EAAA,GAAA,IAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,IAAA,CAAM,SAAN,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAiB,SAAU,CAAA,CAAA,EAAG,SAC9B,EAAM,GAAA,IAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,IAAA,CAAA,IAAA,KAAN,IAAY,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,SAAA,CAAU,CAAG,EAAA,CAAA,CAAA,CAAA,KAAA,CACzB,kCAAM,KAAN,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAa,SAAU,CAAA,CAAA,EAAG,CAC1B,CAAA,CAAA,IAAA,GAAA,CAAA;AAEJ,EAAA,IAAI,CAAC,GAAK,EAAA;AACN,IAAA,uBACK,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAA,MACG,SAAA,EAAW,qGAAqG,oBAAwB,CAAA,CAAA,EAAA,SAAA,CAAA,CAAA;AAAA,KAAA,EAEvI,iBACA,QACL,CAAA,CAAA;AAAA,GAER;AAEA,EAAA,uBACK,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAA,IAAI,WAAW,CAAwB,qBAAA,EAAA,oBAAA,CAAA,CAAA;AAAA,GAAA,kBACnC,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAA,IACG,WAAW,CAAgB,aAAA,EAAA,gBAAA,CAAA,CAAA;AAAA,IAC3B,KAAK,GAAO,IAAA,MAAA;AAAA,IACZ,GAAA;AAAA,IACA,cAAe,EAAA,aAAA;AAAA,GACnB,GACC,QACL,CAAA,CAAA;AAER;;;;"}
@@ -1,7 +1,7 @@
1
1
  import React, { useState, useEffect } from 'react';
2
2
  import { initLearnCard } from '@learncard/init';
3
- import { V as VCDisplayCard } from './VCDisplayCard-ce283667.js';
4
- import { V as VCDisplayCard2 } from './VCDisplayCard2-26fb27c2.js';
3
+ import { V as VCDisplayCard } from './VCDisplayCard-3e08535e.js';
4
+ import { V as VCDisplayCard2 } from './VCDisplayCard2-b66bf7cf.js';
5
5
 
6
6
  var __async = (__this, __arguments, generator) => {
7
7
  return new Promise((resolve, reject) => {
@@ -70,4 +70,4 @@ const VCCard = ({
70
70
  };
71
71
 
72
72
  export { VCCard as V };
73
- //# sourceMappingURL=VCCard-d7474d15.js.map
73
+ //# sourceMappingURL=VCCard-c81227a8.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"VCCard-d7474d15.js","sources":["../../src/components/VCCard/VCCard.tsx"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport { initLearnCard } from '@learncard/init';\nimport { VC, Profile, VerificationItem } from '@learncard/types';\n\nimport { VCDisplayCard } from '../VCDisplayCard';\nimport {\n VCDisplayCard2,\n CredentialIconType,\n} from '../VCDisplayCard2';\n\nimport { MediaMetadata, VideoMetadata } from '../../types';\n\nexport type VCCardProps = {\n credential: VC;\n issueeOverride?: Profile;\n className?: string;\n version?: '1' | '2';\n\n /* Only used for version 2 */\n subjectImageComponent?: React.ReactNode;\n // convertTagsToSkills?: (tags: string[]) => { [skill: string]: string[] };\n handleXClick?: () => void;\n getFileMetadata?: (url: string) => MediaMetadata;\n getVideoMetadata?: (url: string) => VideoMetadata;\n onMediaAttachmentClick?: (url: string) => void;\n bottomRightIcon?: CredentialIconType;\n};\n\nexport const VCCard: React.FC<VCCardProps> = ({\n credential,\n issueeOverride,\n className = '',\n version = '1',\n subjectImageComponent,\n // convertTagsToSkills,\n handleXClick,\n getFileMetadata,\n getVideoMetadata,\n onMediaAttachmentClick,\n bottomRightIcon,\n}) => {\n const [loading, setLoading] = useState(true);\n const [vcVerification, setVCVerification] = useState<VerificationItem[]>([]);\n\n useEffect(() => {\n const verify = async () => {\n const wallet = await initLearnCard();\n const verification = await wallet.invoke.verifyCredential(credential, {}, true);\n setVCVerification(verification);\n setLoading(false);\n };\n\n verify();\n }, [credential]);\n\n if (version === '1') {\n return (\n <VCDisplayCard\n credential={credential}\n issueeOverride={issueeOverride}\n className={className}\n loading={loading}\n verification={vcVerification}\n />\n );\n }\n return (\n <VCDisplayCard2\n credential={credential}\n issueeOverride={issueeOverride}\n verificationInProgress={loading}\n verificationItems={vcVerification}\n subjectImageComponent={subjectImageComponent}\n // convertTagsToSkills={convertTagsToSkills}\n handleXClick={handleXClick}\n getFileMetadata={getFileMetadata}\n getVideoMetadata={getVideoMetadata}\n onMediaAttachmentClick={onMediaAttachmentClick}\n bottomRightIcon={bottomRightIcon}\n />\n );\n};\n\nexport default VCCard;\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AA4BO,MAAM,SAAgC,CAAC;AAAA,EAC1C,UAAA;AAAA,EACA,cAAA;AAAA,EACA,SAAY,GAAA,EAAA;AAAA,EACZ,OAAU,GAAA,GAAA;AAAA,EACV,qBAAA;AAAA,EAEA,YAAA;AAAA,EACA,eAAA;AAAA,EACA,gBAAA;AAAA,EACA,sBAAA;AAAA,EACA,eAAA;AACJ,CAAM,KAAA;AACF,EAAA,MAAM,CAAC,OAAA,EAAS,UAAU,CAAA,GAAI,SAAS,IAAI,CAAA,CAAA;AAC3C,EAAA,MAAM,CAAC,cAAgB,EAAA,iBAAiB,CAAI,GAAA,QAAA,CAA6B,EAAE,CAAA,CAAA;AAE3E,EAAA,SAAA,CAAU,MAAM;AACZ,IAAA,MAAM,SAAS,MAAY,OAAA,CAAA,KAAA,CAAA,EAAA,IAAA,EAAA,aAAA;AACvB,MAAM,MAAA,MAAA,GAAS,MAAM,aAAc,EAAA,CAAA;AACnC,MAAM,MAAA,YAAA,GAAe,MAAM,MAAO,CAAA,MAAA,CAAO,iBAAiB,UAAY,EAAA,IAAI,IAAI,CAAA,CAAA;AAC9E,MAAA,iBAAA,CAAkB,YAAY,CAAA,CAAA;AAC9B,MAAA,UAAA,CAAW,KAAK,CAAA,CAAA;AAAA,KACpB,CAAA,CAAA;AAEA,IAAO,MAAA,EAAA,CAAA;AAAA,GACX,EAAG,CAAC,UAAU,CAAC,CAAA,CAAA;AAEf,EAAA,IAAI,YAAY,GAAK,EAAA;AACjB,IAAA,uBACK,KAAA,CAAA,aAAA,CAAA,aAAA,EAAA;AAAA,MACG,UAAA;AAAA,MACA,cAAA;AAAA,MACA,SAAA;AAAA,MACA,OAAA;AAAA,MACA,YAAc,EAAA,cAAA;AAAA,KAClB,CAAA,CAAA;AAAA,GAER;AACA,EAAA,uBACK,KAAA,CAAA,aAAA,CAAA,cAAA,EAAA;AAAA,IACG,UAAA;AAAA,IACA,cAAA;AAAA,IACA,sBAAwB,EAAA,OAAA;AAAA,IACxB,iBAAmB,EAAA,cAAA;AAAA,IACnB,qBAAA;AAAA,IAEA,YAAA;AAAA,IACA,eAAA;AAAA,IACA,gBAAA;AAAA,IACA,sBAAA;AAAA,IACA,eAAA;AAAA,GACJ,CAAA,CAAA;AAER;;;;"}
1
+ {"version":3,"file":"VCCard-c81227a8.js","sources":["../../src/components/VCCard/VCCard.tsx"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport { initLearnCard } from '@learncard/init';\nimport { VC, Profile, VerificationItem } from '@learncard/types';\n\nimport { VCDisplayCard } from '../VCDisplayCard';\nimport {\n VCDisplayCard2,\n CredentialIconType,\n} from '../VCDisplayCard2';\n\nimport { MediaMetadata, VideoMetadata } from '../../types';\n\nexport type VCCardProps = {\n credential: VC;\n issueeOverride?: Profile;\n className?: string;\n version?: '1' | '2';\n\n /* Only used for version 2 */\n subjectImageComponent?: React.ReactNode;\n // convertTagsToSkills?: (tags: string[]) => { [skill: string]: string[] };\n handleXClick?: () => void;\n getFileMetadata?: (url: string) => MediaMetadata;\n getVideoMetadata?: (url: string) => VideoMetadata;\n onMediaAttachmentClick?: (url: string) => void;\n bottomRightIcon?: CredentialIconType;\n};\n\nexport const VCCard: React.FC<VCCardProps> = ({\n credential,\n issueeOverride,\n className = '',\n version = '1',\n subjectImageComponent,\n // convertTagsToSkills,\n handleXClick,\n getFileMetadata,\n getVideoMetadata,\n onMediaAttachmentClick,\n bottomRightIcon,\n}) => {\n const [loading, setLoading] = useState(true);\n const [vcVerification, setVCVerification] = useState<VerificationItem[]>([]);\n\n useEffect(() => {\n const verify = async () => {\n const wallet = await initLearnCard();\n const verification = await wallet.invoke.verifyCredential(credential, {}, true);\n setVCVerification(verification);\n setLoading(false);\n };\n\n verify();\n }, [credential]);\n\n if (version === '1') {\n return (\n <VCDisplayCard\n credential={credential}\n issueeOverride={issueeOverride}\n className={className}\n loading={loading}\n verification={vcVerification}\n />\n );\n }\n return (\n <VCDisplayCard2\n credential={credential}\n issueeOverride={issueeOverride}\n verificationInProgress={loading}\n verificationItems={vcVerification}\n subjectImageComponent={subjectImageComponent}\n // convertTagsToSkills={convertTagsToSkills}\n handleXClick={handleXClick}\n getFileMetadata={getFileMetadata}\n getVideoMetadata={getVideoMetadata}\n onMediaAttachmentClick={onMediaAttachmentClick}\n bottomRightIcon={bottomRightIcon}\n />\n );\n};\n\nexport default VCCard;\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AA4BO,MAAM,SAAgC,CAAC;AAAA,EAC1C,UAAA;AAAA,EACA,cAAA;AAAA,EACA,SAAY,GAAA,EAAA;AAAA,EACZ,OAAU,GAAA,GAAA;AAAA,EACV,qBAAA;AAAA,EAEA,YAAA;AAAA,EACA,eAAA;AAAA,EACA,gBAAA;AAAA,EACA,sBAAA;AAAA,EACA,eAAA;AACJ,CAAM,KAAA;AACF,EAAA,MAAM,CAAC,OAAA,EAAS,UAAU,CAAA,GAAI,SAAS,IAAI,CAAA,CAAA;AAC3C,EAAA,MAAM,CAAC,cAAgB,EAAA,iBAAiB,CAAI,GAAA,QAAA,CAA6B,EAAE,CAAA,CAAA;AAE3E,EAAA,SAAA,CAAU,MAAM;AACZ,IAAA,MAAM,SAAS,MAAY,OAAA,CAAA,KAAA,CAAA,EAAA,IAAA,EAAA,aAAA;AACvB,MAAM,MAAA,MAAA,GAAS,MAAM,aAAc,EAAA,CAAA;AACnC,MAAM,MAAA,YAAA,GAAe,MAAM,MAAO,CAAA,MAAA,CAAO,iBAAiB,UAAY,EAAA,IAAI,IAAI,CAAA,CAAA;AAC9E,MAAA,iBAAA,CAAkB,YAAY,CAAA,CAAA;AAC9B,MAAA,UAAA,CAAW,KAAK,CAAA,CAAA;AAAA,KACpB,CAAA,CAAA;AAEA,IAAO,MAAA,EAAA,CAAA;AAAA,GACX,EAAG,CAAC,UAAU,CAAC,CAAA,CAAA;AAEf,EAAA,IAAI,YAAY,GAAK,EAAA;AACjB,IAAA,uBACK,KAAA,CAAA,aAAA,CAAA,aAAA,EAAA;AAAA,MACG,UAAA;AAAA,MACA,cAAA;AAAA,MACA,SAAA;AAAA,MACA,OAAA;AAAA,MACA,YAAc,EAAA,cAAA;AAAA,KAClB,CAAA,CAAA;AAAA,GAER;AACA,EAAA,uBACK,KAAA,CAAA,aAAA,CAAA,cAAA,EAAA;AAAA,IACG,UAAA;AAAA,IACA,cAAA;AAAA,IACA,sBAAwB,EAAA,OAAA;AAAA,IACxB,iBAAmB,EAAA,cAAA;AAAA,IACnB,qBAAA;AAAA,IAEA,YAAA;AAAA,IACA,eAAA;AAAA,IACA,gBAAA;AAAA,IACA,sBAAA;AAAA,IACA,eAAA;AAAA,GACJ,CAAA,CAAA;AAER;;;;"}
@@ -1,8 +1,8 @@
1
1
  import React from 'react';
2
2
  import { b as VCVerificationCheckWithText } from './VCVerificationCheck-80249524.js';
3
- import { a as VCVerificationPill } from './VCVerificationPill-4b3a7f95.js';
3
+ import { a as VCVerificationPill } from './VCVerificationPill-647127f6.js';
4
4
  import FlipArrowRight from './ArrowArcRight.svg';
5
- import { h as getNameFromProfile } from './credential.helpers-62c6ea1b.js';
5
+ import { h as getNameFromProfile } from './credential.helpers-595c791f.js';
6
6
 
7
7
  const VCDisplayBackFace = ({
8
8
  issuer,
@@ -77,4 +77,4 @@ const VCDisplayBackFace = ({
77
77
  };
78
78
 
79
79
  export { VCDisplayBackFace as V };
80
- //# sourceMappingURL=VCDisplayBackFace-293436a0.js.map
80
+ //# sourceMappingURL=VCDisplayBackFace-32a7ca50.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"VCDisplayBackFace-293436a0.js","sources":["../../src/components/VCDisplayBackFace/VCDisplayBackFace.tsx"],"sourcesContent":["import React from 'react';\nimport { VCDisplayCardProps } from '../../types';\nimport { VCVerificationCheckWithText } from '../VCVerificationCheck/VCVerificationCheck';\nimport VCVerificationPill from '../VCVerificationPill/VCVerificationPill';\nimport FlipArrowRight from '../../assets/images/ArrowArcRight.svg';\nimport { getNameFromProfile } from '../../helpers/credential.helpers';\n\nexport const VCDisplayBackFace: React.FC<VCDisplayCardProps> = ({\n issuer,\n credentialSubject,\n className = '',\n loading,\n verification = [],\n handleClick,\n overrideDetailsComponent,\n}) => {\n const descriptionText = credentialSubject?.achievement?.description;\n const criteriaText = credentialSubject?.achievement?.criteria?.narrative;\n const issuerUrl = typeof issuer === 'object' ? issuer.url : '';\n const issuerName = getNameFromProfile(issuer ?? '');\n const defaultDetails = (\n <>\n <div className=\"width-full\">\n <h6 className=\"line-clamp-1 text-grayscale-900 font-bold uppercase text-xs tracking-wider subpixel-antialiased\">\n Description\n </h6>\n <p className=\"line-clamp-3 subpixel-antialiased text-grayscale-600 text-[14px] lc-line-clamp\">\n {descriptionText}\n </p>\n </div>\n\n <div className=\"width-full mt-[10px]\">\n <h6 className=\"line-clamp-1 text-grayscale-900 font-bold uppercase text-xs tracking-wider subpixel-antialiased\">\n Criteria\n </h6>\n <p className=\"line-clamp-3 subpixel-antialiased text-grayscale-600 text-[14px] lc-line-clamp\">\n {criteriaText}\n </p>\n </div>\n\n <div className=\"width-full mt-[10px] line-clamp-1 overflow-hidden vc-issuer-name-info\">\n <h6 className=\"line-clamp-1 text-grayscale-900 font-bold uppercase text-xs tracking-wider subpixel-antialiased\">\n Issuer\n </h6>\n <p className=\"max-w-[344px] line-clamp-1 subpixel-antialiased text-grayscale-600 text-[14px] block overflow-ellipsis break-all\">\n {issuerName}\n </p>\n </div>\n\n {issuerUrl && (\n <p className=\"text-indigo-500 font-bold text-xs width-full text-center mt-8\">\n {issuerUrl}\n </p>\n )}\n </>\n );\n\n const renderDetails = overrideDetailsComponent ? overrideDetailsComponent : defaultDetails;\n\n return (\n <div\n className={`z-[9] vc-display-main-card-back flex overflow-hidden flex-col items-center justify-between relative max-w-[400px] h-[100%] max-h-[1100px] min-h-[600px] p-7 rounded-3xl shadow-3xl bg-emerald-700 vc-display-card-full-container ${className}`}\n >\n <section className=\"flex max-h-[150px] items-end bg-white rounded-bl-[50%] rounded-br-[50%] absolute top-0 w-[110%] h-[55%] min-h-[400px]\"></section>\n <section className=\"flex flex-col items-center justify-center w-full z-10 text-left credential-details-container max-w-[100%] relative\">\n <section className=\"flex flex-row items-start justify-start w-full line-clamp-2\">\n <h3\n className=\"text-2xl line-clamp-2 tracking-wide leading-snug text-left text-emerald-700\"\n data-testid=\"vc-credential-details-title tracking-wide subpixel-antialiased\"\n >\n Credential Details\n </h3>\n </section>\n\n <section className=\"flex flex-col mt-2 w-full my-2 min-h-[200px] credential-details-info\">\n {renderDetails}\n </section>\n\n <div className=\"w-full mt-2\"></div>\n\n <button\n onClick={handleClick}\n className=\"vc-flip-btn bg-white my-3 border-2 text-indigo-500 font-semibold py-2 px-4 shadow-3xl rounded-full\"\n >\n <span className=\"flex justify-center\">\n <img\n className=\"h-8 w-8 my-0 mx-4 scale-x-[-1]\"\n src={FlipArrowRight ?? ''}\n alt=\"Flip Card\"\n />\n </span>\n </button>\n\n <section className=\"flex-col items-center justify-center checklist-container justify-center w-[100%] width-full mt-[20px]\">\n <VCVerificationCheckWithText loading={loading} />\n <section>\n {verification.map(item => (\n <VCVerificationPill\n key={item.check}\n status={item.status}\n message={item.message}\n details={item.details}\n />\n ))}\n </section>\n </section>\n </section>\n </div>\n );\n};\n\nexport default VCDisplayBackFace;\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"VCDisplayBackFace-32a7ca50.js","sources":["../../src/components/VCDisplayBackFace/VCDisplayBackFace.tsx"],"sourcesContent":["import React from 'react';\nimport { VCDisplayCardProps } from '../../types';\nimport { VCVerificationCheckWithText } from '../VCVerificationCheck/VCVerificationCheck';\nimport VCVerificationPill from '../VCVerificationPill/VCVerificationPill';\nimport FlipArrowRight from '../../assets/images/ArrowArcRight.svg';\nimport { getNameFromProfile } from '../../helpers/credential.helpers';\n\nexport const VCDisplayBackFace: React.FC<VCDisplayCardProps> = ({\n issuer,\n credentialSubject,\n className = '',\n loading,\n verification = [],\n handleClick,\n overrideDetailsComponent,\n}) => {\n const descriptionText = credentialSubject?.achievement?.description;\n const criteriaText = credentialSubject?.achievement?.criteria?.narrative;\n const issuerUrl = typeof issuer === 'object' ? issuer.url : '';\n const issuerName = getNameFromProfile(issuer ?? '');\n const defaultDetails = (\n <>\n <div className=\"width-full\">\n <h6 className=\"line-clamp-1 text-grayscale-900 font-bold uppercase text-xs tracking-wider subpixel-antialiased\">\n Description\n </h6>\n <p className=\"line-clamp-3 subpixel-antialiased text-grayscale-600 text-[14px] lc-line-clamp\">\n {descriptionText}\n </p>\n </div>\n\n <div className=\"width-full mt-[10px]\">\n <h6 className=\"line-clamp-1 text-grayscale-900 font-bold uppercase text-xs tracking-wider subpixel-antialiased\">\n Criteria\n </h6>\n <p className=\"line-clamp-3 subpixel-antialiased text-grayscale-600 text-[14px] lc-line-clamp\">\n {criteriaText}\n </p>\n </div>\n\n <div className=\"width-full mt-[10px] line-clamp-1 overflow-hidden vc-issuer-name-info\">\n <h6 className=\"line-clamp-1 text-grayscale-900 font-bold uppercase text-xs tracking-wider subpixel-antialiased\">\n Issuer\n </h6>\n <p className=\"max-w-[344px] line-clamp-1 subpixel-antialiased text-grayscale-600 text-[14px] block overflow-ellipsis break-all\">\n {issuerName}\n </p>\n </div>\n\n {issuerUrl && (\n <p className=\"text-indigo-500 font-bold text-xs width-full text-center mt-8\">\n {issuerUrl}\n </p>\n )}\n </>\n );\n\n const renderDetails = overrideDetailsComponent ? overrideDetailsComponent : defaultDetails;\n\n return (\n <div\n className={`z-[9] vc-display-main-card-back flex overflow-hidden flex-col items-center justify-between relative max-w-[400px] h-[100%] max-h-[1100px] min-h-[600px] p-7 rounded-3xl shadow-3xl bg-emerald-700 vc-display-card-full-container ${className}`}\n >\n <section className=\"flex max-h-[150px] items-end bg-white rounded-bl-[50%] rounded-br-[50%] absolute top-0 w-[110%] h-[55%] min-h-[400px]\"></section>\n <section className=\"flex flex-col items-center justify-center w-full z-10 text-left credential-details-container max-w-[100%] relative\">\n <section className=\"flex flex-row items-start justify-start w-full line-clamp-2\">\n <h3\n className=\"text-2xl line-clamp-2 tracking-wide leading-snug text-left text-emerald-700\"\n data-testid=\"vc-credential-details-title tracking-wide subpixel-antialiased\"\n >\n Credential Details\n </h3>\n </section>\n\n <section className=\"flex flex-col mt-2 w-full my-2 min-h-[200px] credential-details-info\">\n {renderDetails}\n </section>\n\n <div className=\"w-full mt-2\"></div>\n\n <button\n onClick={handleClick}\n className=\"vc-flip-btn bg-white my-3 border-2 text-indigo-500 font-semibold py-2 px-4 shadow-3xl rounded-full\"\n >\n <span className=\"flex justify-center\">\n <img\n className=\"h-8 w-8 my-0 mx-4 scale-x-[-1]\"\n src={FlipArrowRight ?? ''}\n alt=\"Flip Card\"\n />\n </span>\n </button>\n\n <section className=\"flex-col items-center justify-center checklist-container justify-center w-[100%] width-full mt-[20px]\">\n <VCVerificationCheckWithText loading={loading} />\n <section>\n {verification.map(item => (\n <VCVerificationPill\n key={item.check}\n status={item.status}\n message={item.message}\n details={item.details}\n />\n ))}\n </section>\n </section>\n </section>\n </div>\n );\n};\n\nexport default VCDisplayBackFace;\n"],"names":[],"mappings":"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"}
@@ -1,10 +1,10 @@
1
1
  import React, { useState } from 'react';
2
2
  import { F as FlippyCard } from './FlippyCard-a2de5cf1.js';
3
3
  import FatArrow from './icon.green.fat-arrow.png';
4
- import DefaultFace from './default-face.jpeg';
4
+ import { U as UserProfilePicture } from './UserProfilePicture-ecc82a6c.js';
5
5
  import { b as VCVerificationCheckWithText } from './VCVerificationCheck-80249524.js';
6
- import { h as getNameFromProfile, i as getImageFromProfile, b as getInfoFromCredential } from './credential.helpers-62c6ea1b.js';
7
- import { V as VCDisplayBackFace } from './VCDisplayBackFace-293436a0.js';
6
+ import { h as getNameFromProfile, i as getImageFromProfile, b as getInfoFromCredential } from './credential.helpers-595c791f.js';
7
+ import { V as VCDisplayBackFace } from './VCDisplayBackFace-32a7ca50.js';
8
8
 
9
9
  const VCDisplayFrontFace = ({
10
10
  title,
@@ -22,41 +22,31 @@ const VCDisplayFrontFace = ({
22
22
  overrideCardTitle,
23
23
  customHeaderComponent
24
24
  }) => {
25
- var _a, _b, _c, _d, _e;
25
+ var _a, _b, _c, _d;
26
26
  const credentialAchievementImage = ((_b = (_a = credentialSubject == null ? void 0 : credentialSubject.achievement) == null ? void 0 : _a.image) == null ? void 0 : _b.id) || ((_c = credentialSubject == null ? void 0 : credentialSubject.achievement) == null ? void 0 : _c.image);
27
27
  const issuerName = getNameFromProfile(issuer != null ? issuer : "");
28
28
  const issueeName = getNameFromProfile(issuee != null ? issuee : "");
29
29
  const issuerImage = getImageFromProfile(issuer != null ? issuer : "");
30
30
  const issueeImage = getImageFromProfile(issuee != null ? issuee : "");
31
- const issuerNameAbr = (_d = issuerName == null ? void 0 : issuerName.slice(0, 1)) != null ? _d : "";
32
31
  let issueeImageEl = null;
33
- const issuerImgExists = issuerImage && issuerImage !== "";
34
- const issueeImgExists = issueeImage && issueeImage !== "";
35
- if (issueeImgExists) {
36
- issueeImageEl = /* @__PURE__ */ React.createElement("div", {
37
- className: "flex flex-row items-center justify-center h-full w-full rounded-full border-solid border-4 border-white overflow-hidden bg-white"
38
- }, /* @__PURE__ */ React.createElement("img", {
39
- className: "h-full w-full object-cover",
40
- src: issueeImage || DefaultFace,
41
- alt: "Issuee image"
42
- }));
43
- } else if (!issueeImgExists && subjectImageComponent) {
32
+ if (subjectImageComponent) {
44
33
  issueeImageEl = subjectImageComponent;
45
- }
46
- let issuerImageEl = null;
47
- if (issuerImgExists) {
48
- issuerImageEl = /* @__PURE__ */ React.createElement("img", {
49
- className: "w-4/6 h-4/6 object-cover",
50
- src: issuerImage,
51
- alt: "Issuer image"
52
- });
53
34
  } else {
54
- issuerImageEl = /* @__PURE__ */ React.createElement("div", {
55
- className: "flex flex-row items-center justify-center h-full w-full overflow-hidden bg-emerald-700 text-white font-medium text-3xl"
56
- }, issuerNameAbr);
35
+ issueeImageEl = /* @__PURE__ */ React.createElement(UserProfilePicture, {
36
+ customContainerClass: `object-cover h-full w-full text-4xl ${!issueeImage ? "pt-[8px]" : ""}`,
37
+ user: { image: issueeImage, name: issueeName },
38
+ alt: "Issuee image"
39
+ });
57
40
  }
41
+ let issuerImageEl = null;
58
42
  if (issuerImageComponent) {
59
43
  issuerImageEl = issuerImageComponent;
44
+ } else {
45
+ issuerImageEl = /* @__PURE__ */ React.createElement(UserProfilePicture, {
46
+ customContainerClass: `object-cover h-full w-full text-4xl ${!issuerImage ? "pt-[8px]" : ""}`,
47
+ user: { image: issuerImage, name: issuerName },
48
+ alt: "Issuer image"
49
+ });
60
50
  }
61
51
  const credImg = credentialAchievementImage ? /* @__PURE__ */ React.createElement("img", {
62
52
  className: "h-full w-full object-cover",
@@ -86,7 +76,7 @@ const VCDisplayFrontFace = ({
86
76
  className: "flex items-center justify-center h-16 w-16 shadow-3xl rounded-full overflow-hidden bg-white"
87
77
  }, issuerImageEl), /* @__PURE__ */ React.createElement("img", {
88
78
  className: "h-8 w-8 my-0 mx-4",
89
- src: (_e = FatArrow) != null ? _e : "",
79
+ src: (_d = FatArrow) != null ? _d : "",
90
80
  alt: "fat arrow icon"
91
81
  }), /* @__PURE__ */ React.createElement("div", {
92
82
  className: "flex items-center justify-center h-16 w-16 shadow-3xl rounded-full overflow-hidden bg-white"
@@ -180,4 +170,4 @@ const VCDisplayCard = ({
180
170
  };
181
171
 
182
172
  export { VCDisplayCard as V };
183
- //# sourceMappingURL=VCDisplayCard-ce283667.js.map
173
+ //# sourceMappingURL=VCDisplayCard-3e08535e.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VCDisplayCard-3e08535e.js","sources":["../../src/components/VCDisplayFrontFace/VCDisplayFrontFace.tsx","../../src/components/VCDisplayCard/VCDisplayCard.tsx"],"sourcesContent":["import React from 'react';\nimport FatArrow from '../../assets/images/icon.green.fat-arrow.png';\nimport UserProfilePicture from '../UserProfilePicture/UserProfilePicture';\nimport { VCVerificationCheckWithText } from '../VCVerificationCheck/VCVerificationCheck';\nimport { getImageFromProfile, getNameFromProfile } from '../../helpers/credential.helpers';\n\nimport { VCDisplayCardProps } from '../../types';\n\nconst VCDisplayFrontFace: React.FC<VCDisplayCardProps> = ({\n title,\n createdAt,\n issuer,\n issuee,\n subjectImageComponent,\n issuerImageComponent,\n hideProfileBubbles = false,\n credentialSubject,\n className = '',\n loading,\n handleClick,\n overrideCardImageComponent,\n overrideCardTitle,\n customHeaderComponent,\n}) => {\n const credentialAchievementImage =\n credentialSubject?.achievement?.image?.id || credentialSubject?.achievement?.image;\n const issuerName = getNameFromProfile(issuer ?? '');\n const issueeName = getNameFromProfile(issuee ?? '');\n const issuerImage = getImageFromProfile(issuer ?? '');\n const issueeImage = getImageFromProfile(issuee ?? '');\n\n let issueeImageEl: React.ReactNode | null = null;\n if (subjectImageComponent) {\n issueeImageEl = subjectImageComponent;\n } else {\n issueeImageEl = (\n <UserProfilePicture\n customContainerClass={`object-cover h-full w-full text-4xl ${\n !issueeImage ? 'pt-[8px]' : ''\n }`}\n user={{ image: issueeImage, name: issueeName }}\n alt=\"Issuee image\"\n />\n );\n }\n\n let issuerImageEl: React.ReactNode | null = null;\n\n if (issuerImageComponent) {\n issuerImageEl = issuerImageComponent;\n } else {\n issuerImageEl = (\n <UserProfilePicture\n customContainerClass={`object-cover h-full w-full text-4xl ${\n !issuerImage ? 'pt-[8px]' : ''\n }`}\n user={{ image: issuerImage, name: issuerName }}\n alt=\"Issuer image\"\n />\n );\n }\n\n const credImg = credentialAchievementImage ? (\n <img\n className=\"h-full w-full object-cover\"\n src={credentialAchievementImage ?? ''}\n alt=\"Credential Achievement Image\"\n />\n ) : (\n <></>\n );\n\n const renderCardImg = overrideCardImageComponent ? overrideCardImageComponent : credImg;\n const cardTitle = overrideCardTitle ? overrideCardTitle : title;\n\n return (\n <div\n className={`z-[9] vc-display-main-card-front flex overflow-hidden flex-col items-center justify-between relative max-w-[400px] h-[100%] min-h-[600px] p-7 rounded-3xl shadow-3xl bg-emerald-700 vc-display-card-full-container ${className}`}\n >\n <section className=\"bg-white rounded-bl-[50%] rounded-br-[50%] absolute top-0 w-[110%] h-[77%]\"></section>\n <section className=\"flex flex-col items-center justify-center z-10 text-center credential-thumb-img\">\n <section className=\"max-w-[100px] max-h-[100px]\">{renderCardImg}</section>\n\n <section className=\"flex flex-row w-full line-clamp-2\">\n <div className=\"flex flex-row w-full line-clamp-2 py-4 vc-flippy-card-title-front \">\n <h3\n className=\"vc-thumbnail-title w-full text-2xl line-clamp-2 tracking-wide leading-snug text-center vc-display-title text-gray-900 font-medium\"\n data-testid=\"vc-thumbnail-title\"\n >\n {cardTitle ?? ''}\n </h3>\n </div>\n\n {customHeaderComponent && customHeaderComponent}\n </section>\n\n <section className=\"flex flex-row items-center justify-center mt-2 w-full my-2 vc-card-issuer-thumbs\">\n {!hideProfileBubbles && (\n <>\n <div className=\"flex items-center justify-center h-16 w-16 shadow-3xl rounded-full overflow-hidden bg-white\">\n {issuerImageEl}\n </div>\n <img\n className=\"h-8 w-8 my-0 mx-4\"\n src={FatArrow ?? ''}\n alt=\"fat arrow icon\"\n />\n <div className=\"flex items-center justify-center h-16 w-16 shadow-3xl rounded-full overflow-hidden bg-white\">\n {issueeImageEl}\n </div>\n </>\n )}\n </section>\n\n <div className=\"w-full mt-2 vc-card-issued-to-info\">\n <p\n className=\"text-sm font-light text-center line-clamp-2 vc-display-issue-details text-gray-900\"\n data-testid=\"vc-thumbnail-createdAt\"\n >\n Issued to <span className=\"font-bold text-gray-900\">{issueeName}</span> on{' '}\n {createdAt ?? ''} by{' '}\n <span className=\"font-bold text-gray-900\"> {issuerName}</span>\n </p>\n </div>\n\n <button\n onClick={handleClick}\n className=\"cursor-alias bg-white my-3 border-0 text-indigo-500 font-semibold py-2 px-4 sl\"\n >\n <span className=\"flex justify-center\">\n <p className=\"flex items-center\">View Details</p>\n </span>\n </button>\n </section>\n\n <div className=\"flex items-center justify-center w-full\">\n <VCVerificationCheckWithText loading={loading} />\n </div>\n </div>\n );\n};\n\nexport default VCDisplayFrontFace;\n","import React, { useState } from 'react';\nimport { AchievementCredential, VC, Profile, VerificationItem } from '@learncard/types';\n\nimport FlippyCard from '../FlippyCard/FlippyCard';\nimport VCDisplayFrontFace from '../VCDisplayFrontFace/VCDisplayFrontFace';\nimport VCDisplayBackFace from '../VCDisplayBackFace/VCDisplayBackFace';\n\nimport { getInfoFromCredential } from '../../helpers/credential.helpers';\n\nconst FRONT_FACE = 'front';\nconst BACK_FACE = 'back';\n\nexport type VCDisplayCardPropsReal = {\n credential: VC | AchievementCredential;\n issueeOverride?: Profile;\n issuerOverride?: Profile;\n className?: string;\n hideProfileBubbles?: boolean;\n loading?: boolean;\n verification?: VerificationItem[];\n subjectImageComponent?: React.ReactNode;\n issuerImageComponent?: React.ReactNode;\n overrideDetailsComponent?: React.ReactNode;\n overrideCardTitle?: string;\n overrideCardImageComponent?: React.ReactNode;\n customHeaderComponent?: React.ReactNode;\n};\n\nexport const VCDisplayCard: React.FC<VCDisplayCardPropsReal> = ({\n credential,\n issueeOverride,\n issuerOverride,\n className = '',\n loading = false,\n verification = [],\n hideProfileBubbles = false,\n subjectImageComponent,\n issuerImageComponent,\n overrideDetailsComponent,\n overrideCardTitle,\n overrideCardImageComponent,\n customHeaderComponent,\n}) => {\n const [flipState, setFlipState] = useState(FRONT_FACE);\n const {\n title,\n createdAt,\n issuer: _issuer,\n issuee: _issuee,\n credentialSubject,\n } = getInfoFromCredential(credential);\n const issuee = issueeOverride || _issuee;\n const issuer = issuerOverride || _issuer;\n\n const handleFlip = () => {\n if (flipState === FRONT_FACE) {\n setFlipState(BACK_FACE);\n }\n if (flipState === BACK_FACE) {\n setFlipState(FRONT_FACE);\n }\n };\n\n return (\n <FlippyCard flipState={flipState}>\n <VCDisplayFrontFace\n title={title}\n credentialSubject={credentialSubject}\n customHeaderComponent={customHeaderComponent}\n issuer={issuer}\n issuee={issuee}\n subjectImageComponent={subjectImageComponent}\n issuerImageComponent={issuerImageComponent}\n overrideCardImageComponent={overrideCardImageComponent}\n overrideCardTitle={overrideCardTitle}\n hideProfileBubbles={hideProfileBubbles}\n createdAt={createdAt}\n className={className}\n loading={loading}\n handleClick={handleFlip}\n />\n <VCDisplayBackFace\n title={title}\n credentialSubject={credentialSubject}\n overrideDetailsComponent={overrideDetailsComponent}\n issuer={issuer}\n issuee={issuee}\n createdAt={createdAt}\n className={className}\n loading={loading}\n verification={verification}\n handleClick={handleFlip}\n />\n </FlippyCard>\n );\n};\n\nexport default VCDisplayCard;\n"],"names":[],"mappings":"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"}
@@ -1,17 +1,18 @@
1
1
  import React, { useRef, useEffect, useState, createContext, Component, Children, cloneElement, useLayoutEffect } from 'react';
2
+ import './index-4fa491c1.js';
2
3
  import { a as VCVerificationCheckWithSpinner } from './VCVerificationCheck-80249524.js';
3
- import DefaultFace from './default-face.jpeg';
4
- import { a as getColorForVerificationStatus, j as format$1, h as getNameFromProfile, i as getImageFromProfile, b as getInfoFromCredential, k as getCategoryColor, g as getTotalCountOfSkills, c as categorizeSkills } from './credential.helpers-62c6ea1b.js';
5
- import { g as getBaseUrl, b as VideoIcon, C as Camera, G as GenericDocumentIcon, L as LinkIcon, p as prettyBytes, c as capitalize, X, E as ExclamationPoint, A as AcuteCheckmark, I as InfoIcon, d as LeftArrow, e as SkillsBox, t as truncateWithEllipsis, V as VERIFIER_STATES$1, a as VerifierStateBadgeAndText, P as PersonBadge, j as VerifiedBadge, U as UnknownVerifierBadge, k as RedFlag } from './VerifierStateBadgeAndText-3883f38b.js';
4
+ import { U as UserProfilePicture } from './UserProfilePicture-ecc82a6c.js';
5
+ import { a as getColorForVerificationStatus, j as format$1, h as getNameFromProfile, i as getImageFromProfile, b as getInfoFromCredential, k as getCategoryColor, g as getTotalCountOfSkills, c as categorizeSkills } from './credential.helpers-595c791f.js';
6
+ import { g as getBaseUrl, b as VideoIcon, C as Camera, G as GenericDocumentIcon, L as LinkIcon, p as prettyBytes, c as capitalize, X, E as ExclamationPoint, A as AcuteCheckmark, I as InfoIcon, d as LeftArrow, e as SkillsBox, t as truncateWithEllipsis, V as VERIFIER_STATES$1, a as VerifierStateBadgeAndText, P as PersonBadge, i as VerifiedBadge, U as UnknownVerifierBadge, j as RedFlag } from './VerifierStateBadgeAndText-c74e1fe4.js';
6
7
  import './index-1fa04a2d.js';
7
8
  import { L as Lightbox } from './Lightbox-8a43ba52.js';
8
- import { V as VerificationStatusEnum } from './types.esm-870fa29e.js';
9
- import { A as AlignmentsBox, a as CertificateDisplayCard } from './CertificateDisplayCard-502cdb0e.js';
9
+ import { V as VerificationStatusEnum } from './types.esm-e58d276a.js';
10
+ import { A as AlignmentsBox, a as CertificateDisplayCard } from './CertificateDisplayCard-6e09e459.js';
10
11
  import { I as IDIcon, Q as QRCodeIcon, A as AwardRibbon } from './QRCodeIcon-e9569804.js';
11
12
  import { a as LCCategoryEnum } from './index-28917993.js';
12
13
  import { P as PuzzlePiece } from './PuzzlePiece-1fb12c2e.js';
13
14
  import IDSleeve from './id-sleeve.png';
14
- import { a as MeritBadgeDisplayCard } from './MeritBadgeDisplayCard-bc9899b7.js';
15
+ import { a as MeritBadgeDisplayCard } from './MeritBadgeDisplayCard-ad2d6f2a.js';
15
16
 
16
17
  const RoundedX = ({ className = "" }) => {
17
18
  return /* @__PURE__ */ React.createElement("svg", {
@@ -114,13 +115,13 @@ const IssueHistoryBox = ({
114
115
  }) => {
115
116
  let renderIssueHistory = issueHistory == null ? void 0 : issueHistory.map((issueItem) => {
116
117
  return /* @__PURE__ */ React.createElement("div", {
117
- className: "flex items-center issue-log-item border-b-[1px] py-[5px] border-grayscale-200 border-solid w-full",
118
+ className: "flex items-center issue-log-item border-b-[1px] last:border-b-0 py-[5px] border-grayscale-200 border-solid w-full",
118
119
  key: issueItem == null ? void 0 : issueItem.id
119
120
  }, /* @__PURE__ */ React.createElement("div", {
120
121
  className: "profile-thumb-img vc-issuee-image h-[35px] w-[35px] rounded-full overflow-hidden"
121
- }, /* @__PURE__ */ React.createElement("img", {
122
- className: "h-full w-full object-cover select-none",
123
- src: (issueItem == null ? void 0 : issueItem.thumb) || DefaultFace,
122
+ }, /* @__PURE__ */ React.createElement(UserProfilePicture, {
123
+ customContainerClass: `h-full w-full object-cover select-none text-xl ${!(issueItem == null ? void 0 : issueItem.thumb) ? "pt-[2px]" : ""}`,
124
+ user: { image: issueItem == null ? void 0 : issueItem.thumb, name: issueItem == null ? void 0 : issueItem.name },
124
125
  alt: "profile"
125
126
  })), /* @__PURE__ */ React.createElement("div", {
126
127
  className: "ml-[9px] flex flex-col justify-center"
@@ -784,19 +785,20 @@ const VC2FrontFaceInfo = ({
784
785
  const { credentialSubject } = getInfoFromCredential(credential, "MMM dd, yyyy", {
785
786
  uppercaseDate: false
786
787
  });
787
- const getImageElement = (imageUrl2, alt, overrideComponent) => {
788
+ const getImageElement = (imageUrl2, alt, overrideComponent, bigText) => {
788
789
  if (overrideComponent)
789
790
  return overrideComponent;
790
- return /* @__PURE__ */ React.createElement("img", {
791
- className: "h-full w-full object-cover select-none",
792
- src: imageUrl2 || DefaultFace,
793
- alt
791
+ return /* @__PURE__ */ React.createElement(UserProfilePicture, {
792
+ user: { image: imageUrl2, name: issueeName },
793
+ alt,
794
+ customContainerClass: `h-full w-full ${bigText ? "!text-4xl" : ""}`
794
795
  });
795
796
  };
796
797
  const issueeImageEl = getImageElement(
797
798
  issueeImage,
798
799
  "Issuee image",
799
- subjectImageComponent
800
+ subjectImageComponent,
801
+ true
800
802
  );
801
803
  const issuerImageEl = getImageElement(
802
804
  issuerImage,
@@ -1381,4 +1383,4 @@ const VCDisplayCard2 = ({
1381
1383
  };
1382
1384
 
1383
1385
  export { VCDisplayCard2 as V, VCDisplayCardSkillsCount as a, VCIDDisplayCard as b };
1384
- //# sourceMappingURL=VCDisplayCard2-26fb27c2.js.map
1386
+ //# sourceMappingURL=VCDisplayCard2-b66bf7cf.js.map