@learncard/react 2.9.26 → 2.9.27
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.
- package/dist/cjs/{BoostGenericCard-82a9b3df.js → BoostGenericCard-3d532b12.js} +2 -2
- package/dist/cjs/{BoostGenericCard-82a9b3df.js.map → BoostGenericCard-3d532b12.js.map} +1 -1
- package/dist/cjs/{BoostSmallCard-2141fdd9.js → BoostSmallCard-4e200046.js} +2 -2
- package/dist/cjs/{BoostSmallCard-2141fdd9.js.map → BoostSmallCard-4e200046.js.map} +1 -1
- package/dist/cjs/{CertificateDisplayCard-0ac85a2b.js → CertificateDisplayCard-1b498a9f.js} +48 -19
- package/dist/cjs/CertificateDisplayCard-1b498a9f.js.map +1 -0
- package/dist/cjs/{MeritBadgeDisplayCard-e6d6ff8f.js → MeritBadgeDisplayCard-8f843a99.js} +40 -74
- package/dist/cjs/MeritBadgeDisplayCard-8f843a99.js.map +1 -0
- package/dist/cjs/{MeritBadgeSkillsCount-8c82275d.js → MeritBadgeSkillsCount-e4f0676c.js} +2 -2
- package/dist/cjs/{MeritBadgeSkillsCount-8c82275d.js.map → MeritBadgeSkillsCount-e4f0676c.js.map} +1 -1
- package/dist/cjs/{NotificationBoostCard-c4679a33.js → NotificationBoostCard-80dbf681.js} +2 -2
- package/dist/cjs/{NotificationBoostCard-c4679a33.js.map → NotificationBoostCard-80dbf681.js.map} +1 -1
- package/dist/cjs/UserProfilePicture-22944d8f.js +98 -0
- package/dist/cjs/UserProfilePicture-22944d8f.js.map +1 -0
- package/dist/cjs/{VCCard-2b76ce0d.js → VCCard-630441d8.js} +3 -3
- package/dist/cjs/{VCCard-2b76ce0d.js.map → VCCard-630441d8.js.map} +1 -1
- package/dist/cjs/{VCDisplayBackFace-d6ef7575.js → VCDisplayBackFace-138a501e.js} +3 -3
- package/dist/cjs/{VCDisplayBackFace-d6ef7575.js.map → VCDisplayBackFace-138a501e.js.map} +1 -1
- package/dist/cjs/{VCDisplayCard-c1ef1b32.js → VCDisplayCard-f1ef9eba.js} +4 -4
- package/dist/cjs/{VCDisplayCard-c1ef1b32.js.map → VCDisplayCard-f1ef9eba.js.map} +1 -1
- package/dist/cjs/{VCDisplayCard2-fb48d830.js → VCDisplayCard2-6eab7a9c.js} +32 -17
- package/dist/cjs/VCDisplayCard2-6eab7a9c.js.map +1 -0
- package/dist/cjs/{VCVerificationPill-db886a9a.js → VCVerificationPill-f36b8355.js} +2 -2
- package/dist/cjs/{VCVerificationPill-db886a9a.js.map → VCVerificationPill-f36b8355.js.map} +1 -1
- package/dist/cjs/{VerifierStateBadgeAndText-4c22c62f.js → VerifierStateBadgeAndText-568d8e5a.js} +171 -22
- package/dist/cjs/VerifierStateBadgeAndText-568d8e5a.js.map +1 -0
- package/dist/cjs/{credential.helpers-af8eb27a.js → credential.helpers-5069379a.js} +2 -2
- package/dist/cjs/{credential.helpers-af8eb27a.js.map → credential.helpers-5069379a.js.map} +1 -1
- package/dist/cjs/index.js +15 -15
- package/dist/cjs/index13.js +15 -15
- package/dist/cjs/index21.js +6 -6
- package/dist/cjs/index24.js +2 -2
- package/dist/cjs/index3.js +3 -3
- package/dist/cjs/index37.js +1 -1
- package/dist/cjs/index38.js +11 -11
- package/dist/cjs/index39.js +4 -4
- package/dist/cjs/index4.js +2 -2
- package/dist/cjs/index40.js +6 -6
- package/dist/cjs/index41.js +7 -7
- package/dist/cjs/index42.js +1 -1
- package/dist/cjs/index45.js +2 -2
- package/dist/cjs/index6.js +5 -5
- package/dist/cjs/{types.esm-8f32aacf.js → types.esm-9c4dc522.js} +43 -2
- package/dist/cjs/types.esm-9c4dc522.js.map +1 -0
- package/dist/esm/{BoostGenericCard-381b2a44.js → BoostGenericCard-43c1b5dc.js} +2 -2
- package/dist/esm/{BoostGenericCard-381b2a44.js.map → BoostGenericCard-43c1b5dc.js.map} +1 -1
- package/dist/esm/{BoostSmallCard-f2192dc1.js → BoostSmallCard-6d63f0b3.js} +2 -2
- package/dist/esm/{BoostSmallCard-f2192dc1.js.map → BoostSmallCard-6d63f0b3.js.map} +1 -1
- package/dist/esm/{CertificateDisplayCard-1b4b275b.js → CertificateDisplayCard-9edb38cd.js} +48 -19
- package/dist/esm/CertificateDisplayCard-9edb38cd.js.map +1 -0
- package/dist/esm/{MeritBadgeDisplayCard-580ee309.js → MeritBadgeDisplayCard-634e16d9.js} +40 -74
- package/dist/esm/MeritBadgeDisplayCard-634e16d9.js.map +1 -0
- package/dist/esm/{MeritBadgeSkillsCount-146a6631.js → MeritBadgeSkillsCount-c3ba45be.js} +2 -2
- package/dist/esm/{MeritBadgeSkillsCount-146a6631.js.map → MeritBadgeSkillsCount-c3ba45be.js.map} +1 -1
- package/dist/esm/{NotificationBoostCard-fa82a58d.js → NotificationBoostCard-fdfa0cf4.js} +2 -2
- package/dist/esm/{NotificationBoostCard-fa82a58d.js.map → NotificationBoostCard-fdfa0cf4.js.map} +1 -1
- package/dist/esm/UserProfilePicture-7e131f5d.js +92 -0
- package/dist/esm/UserProfilePicture-7e131f5d.js.map +1 -0
- package/dist/esm/{VCCard-16b74b58.js → VCCard-00858a44.js} +3 -3
- package/dist/esm/{VCCard-16b74b58.js.map → VCCard-00858a44.js.map} +1 -1
- package/dist/esm/{VCDisplayBackFace-ad4f5160.js → VCDisplayBackFace-4db2ffad.js} +3 -3
- package/dist/esm/{VCDisplayBackFace-ad4f5160.js.map → VCDisplayBackFace-4db2ffad.js.map} +1 -1
- package/dist/esm/{VCDisplayCard-3cc14e0b.js → VCDisplayCard-3b542a26.js} +4 -4
- package/dist/esm/{VCDisplayCard-3cc14e0b.js.map → VCDisplayCard-3b542a26.js.map} +1 -1
- package/dist/esm/{VCDisplayCard2-6165a0fb.js → VCDisplayCard2-8504817d.js} +32 -17
- package/dist/esm/VCDisplayCard2-8504817d.js.map +1 -0
- package/dist/esm/{VCVerificationPill-43612ba2.js → VCVerificationPill-14a9a963.js} +2 -2
- package/dist/esm/{VCVerificationPill-43612ba2.js.map → VCVerificationPill-14a9a963.js.map} +1 -1
- package/dist/esm/{VerifierStateBadgeAndText-c2de56ec.js → VerifierStateBadgeAndText-c96ea8d5.js} +171 -21
- package/dist/esm/VerifierStateBadgeAndText-c96ea8d5.js.map +1 -0
- package/dist/esm/{credential.helpers-6d446cd3.js → credential.helpers-f3dc0ca2.js} +3 -3
- package/dist/esm/{credential.helpers-6d446cd3.js.map → credential.helpers-f3dc0ca2.js.map} +1 -1
- package/dist/esm/index.js +15 -15
- package/dist/esm/index13.js +15 -15
- package/dist/esm/index21.js +6 -6
- package/dist/esm/index24.js +2 -2
- package/dist/esm/index3.js +3 -3
- package/dist/esm/index37.js +1 -1
- package/dist/esm/index38.js +11 -11
- package/dist/esm/index39.js +4 -4
- package/dist/esm/index4.js +2 -2
- package/dist/esm/index40.js +6 -6
- package/dist/esm/index41.js +7 -7
- package/dist/esm/index42.js +1 -1
- package/dist/esm/index45.js +2 -2
- package/dist/esm/index6.js +5 -5
- package/dist/esm/{types.esm-b900cd51.js → types.esm-3a3c23e0.js} +43 -2
- package/dist/esm/types.esm-3a3c23e0.js.map +1 -0
- package/dist/index.d.ts +6 -3
- package/dist/main.css +1 -1
- package/dist/main.js +1 -1
- package/package.json +4 -3
- package/dist/cjs/CertificateDisplayCard-0ac85a2b.js.map +0 -1
- package/dist/cjs/MeritBadgeDisplayCard-e6d6ff8f.js.map +0 -1
- package/dist/cjs/UserProfilePicture-d69fe4f0.js +0 -36
- package/dist/cjs/UserProfilePicture-d69fe4f0.js.map +0 -1
- package/dist/cjs/VCDisplayCard2-fb48d830.js.map +0 -1
- package/dist/cjs/VerifierStateBadgeAndText-4c22c62f.js.map +0 -1
- package/dist/cjs/types.esm-8f32aacf.js.map +0 -1
- package/dist/esm/CertificateDisplayCard-1b4b275b.js.map +0 -1
- package/dist/esm/MeritBadgeDisplayCard-580ee309.js.map +0 -1
- package/dist/esm/UserProfilePicture-7b950437.js +0 -30
- package/dist/esm/UserProfilePicture-7b950437.js.map +0 -1
- package/dist/esm/VCDisplayCard2-6165a0fb.js.map +0 -1
- package/dist/esm/VerifierStateBadgeAndText-c2de56ec.js.map +0 -1
- package/dist/esm/types.esm-b900cd51.js.map +0 -1
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
|
|
3
|
+
const PersonSilhouette = ({ className = "" }) => /* @__PURE__ */ React.createElement(
|
|
4
|
+
"svg",
|
|
5
|
+
{
|
|
6
|
+
width: "22",
|
|
7
|
+
height: "22",
|
|
8
|
+
viewBox: "0 0 22 22",
|
|
9
|
+
fill: "none",
|
|
10
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
11
|
+
className
|
|
12
|
+
},
|
|
13
|
+
/* @__PURE__ */ React.createElement(
|
|
14
|
+
"path",
|
|
15
|
+
{
|
|
16
|
+
d: "M10.7115 13.5488C6.86057 13.5488 3.57129 14.156 3.57129 16.5845C3.57129 19.014 6.84004 19.6426 10.7115 19.6426C14.5624 19.6426 17.8516 19.0363 17.8516 16.6069C17.8516 14.1774 14.5838 13.5488 10.7115 13.5488Z",
|
|
17
|
+
fill: "#353E64"
|
|
18
|
+
}
|
|
19
|
+
),
|
|
20
|
+
/* @__PURE__ */ React.createElement(
|
|
21
|
+
"path",
|
|
22
|
+
{
|
|
23
|
+
opacity: "0.4",
|
|
24
|
+
d: "M10.7115 11.2361C13.3347 11.2361 15.4365 9.13345 15.4365 6.51113C15.4365 3.88881 13.3347 1.78613 10.7115 1.78613C8.08913 1.78613 5.98645 3.88881 5.98645 6.51113C5.98645 9.13345 8.08913 11.2361 10.7115 11.2361Z",
|
|
25
|
+
fill: "#353E64"
|
|
26
|
+
}
|
|
27
|
+
)
|
|
28
|
+
);
|
|
29
|
+
const FingerprintIcon = ({ className = "" }) => /* @__PURE__ */ React.createElement(
|
|
30
|
+
"svg",
|
|
31
|
+
{
|
|
32
|
+
width: "32",
|
|
33
|
+
height: "31",
|
|
34
|
+
viewBox: "0 0 32 31",
|
|
35
|
+
fill: "none",
|
|
36
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
37
|
+
className
|
|
38
|
+
},
|
|
39
|
+
/* @__PURE__ */ React.createElement(
|
|
40
|
+
"path",
|
|
41
|
+
{
|
|
42
|
+
d: "M15.612 10.3663C21.746 10.3665 26.7187 15.339 26.7187 21.473C26.7187 23.722 24.8953 25.5453 22.6462 25.5454C20.3972 25.5454 18.5738 23.7222 18.5738 21.473C18.5738 19.8373 17.2476 18.5113 15.612 18.5112C13.9763 18.5112 12.6502 19.8372 12.6502 21.473C12.6502 24.103 13.6282 26.5011 15.2418 28.3294C15.7824 28.9423 15.7241 29.8778 15.1117 30.4191C14.4985 30.9602 13.5617 30.902 13.0204 30.2889C10.9478 27.9403 9.68847 24.8519 9.68847 21.473C9.68847 18.2015 12.3406 15.5494 15.612 15.5494C18.8834 15.5495 21.5356 18.2015 21.5356 21.473C21.5356 22.0864 22.0328 22.5836 22.6462 22.5836C23.2596 22.5835 23.7569 22.0862 23.7569 21.473C23.7569 16.9748 20.1102 13.3282 15.612 13.3281C11.1137 13.3281 7.46712 16.9746 7.46712 21.473C7.46712 22.498 7.65616 23.4759 7.99933 24.3755C8.29047 25.1394 7.90699 25.9958 7.14318 26.2874C6.37916 26.5787 5.52292 26.1951 5.23133 25.4313C4.76156 24.1997 4.50533 22.8644 4.50533 21.473C4.50533 15.339 9.47799 10.3663 15.612 10.3663ZM15.4645 21.5019C16.2659 21.3392 17.0486 21.8576 17.2115 22.6589C17.7602 25.3619 20.1527 27.3964 23.0165 27.3965C23.217 27.3965 23.415 27.3869 23.6094 27.3677C24.4233 27.2868 25.1484 27.8814 25.2292 28.6953C25.3096 29.5088 24.7165 30.2339 23.9031 30.3149C23.6113 30.3438 23.315 30.3583 23.0165 30.3583C18.7164 30.3582 15.1311 27.305 14.3076 23.2489C14.145 22.4475 14.6635 21.6649 15.4645 21.5019ZM15.612 5.18313C22.9079 5.18344 29.0803 9.97908 31.1556 16.5863C31.4005 17.3663 30.9665 18.198 30.1867 18.4432C29.4067 18.688 28.575 18.2542 28.3298 17.4743C26.6312 12.0658 21.5773 8.14523 15.612 8.14492C9.64668 8.14505 4.59309 12.0658 2.89428 17.4743C2.64921 18.2542 1.81744 18.6879 1.03739 18.4432C0.257211 18.1981 -0.176617 17.3666 0.0684418 16.5863C2.14387 9.97898 8.31608 5.18326 15.612 5.18313ZM15.612 0C21.2529 0.000192516 26.3708 2.25505 30.1071 5.90911C30.6913 6.4809 30.7017 7.41857 30.1304 8.0032C29.5586 8.58772 28.6209 8.59782 28.0362 8.02633C24.8309 4.89168 20.4478 2.96198 15.612 2.96179C10.7762 2.96185 6.39334 4.89163 3.18787 8.02633C2.60327 8.59809 1.66569 8.58756 1.09378 8.0032C0.522099 7.41847 0.532273 6.48093 1.11693 5.90911C4.85343 2.255 9.97118 5.92358e-05 15.612 0Z",
|
|
43
|
+
fill: "currentColor"
|
|
44
|
+
}
|
|
45
|
+
)
|
|
46
|
+
);
|
|
47
|
+
const UserProfilePicture = ({
|
|
48
|
+
customContainerClass,
|
|
49
|
+
customImageClass,
|
|
50
|
+
user,
|
|
51
|
+
alt,
|
|
52
|
+
children,
|
|
53
|
+
avatarColor,
|
|
54
|
+
avatarFingerprintColor,
|
|
55
|
+
avatarTextClassName,
|
|
56
|
+
avatarIconClassName,
|
|
57
|
+
avatarSilhouetteClassName,
|
|
58
|
+
avatarFallbackVariant = "initial"
|
|
59
|
+
}) => {
|
|
60
|
+
var _a, _b, _c, _d;
|
|
61
|
+
const baseColor = avatarColor || "bg-grayscale-700";
|
|
62
|
+
const src = (user == null ? void 0 : user.image) || (user == null ? void 0 : user.profileImage);
|
|
63
|
+
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)) || "";
|
|
64
|
+
if (!src) {
|
|
65
|
+
const fingerprintIconClassName = `${avatarIconClassName || "w-[60%] h-[60%]"} ${avatarFingerprintColor || "text-white/85"}`;
|
|
66
|
+
return /* @__PURE__ */ React.createElement(
|
|
67
|
+
"div",
|
|
68
|
+
{
|
|
69
|
+
className: `rounded-full flex items-center justify-center font-poppins font-semibold uppercase select-none text-white text-2xl ${customContainerClass} ${baseColor}`
|
|
70
|
+
},
|
|
71
|
+
avatarFallbackVariant === "fingerprint" ? /* @__PURE__ */ React.createElement(FingerprintIcon, { className: fingerprintIconClassName }) : letterToDisplay ? /* @__PURE__ */ React.createElement("span", { className: avatarTextClassName || "" }, letterToDisplay) : /* @__PURE__ */ React.createElement(
|
|
72
|
+
PersonSilhouette,
|
|
73
|
+
{
|
|
74
|
+
className: avatarSilhouetteClassName || avatarIconClassName
|
|
75
|
+
}
|
|
76
|
+
),
|
|
77
|
+
children
|
|
78
|
+
);
|
|
79
|
+
}
|
|
80
|
+
return /* @__PURE__ */ React.createElement("div", { className: `relative select-none ${customContainerClass}` }, /* @__PURE__ */ React.createElement(
|
|
81
|
+
"img",
|
|
82
|
+
{
|
|
83
|
+
className: `rounded-full ${customImageClass}`,
|
|
84
|
+
alt: alt || "user",
|
|
85
|
+
src,
|
|
86
|
+
referrerPolicy: "no-referrer"
|
|
87
|
+
}
|
|
88
|
+
), children);
|
|
89
|
+
};
|
|
90
|
+
|
|
91
|
+
export { UserProfilePicture as U };
|
|
92
|
+
//# sourceMappingURL=UserProfilePicture-7e131f5d.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UserProfilePicture-7e131f5d.js","sources":["../../src/components/UserProfilePicture/UserProfilePicture.tsx"],"sourcesContent":["import React from 'react';\n\nconst PersonSilhouette: React.FC<{ className?: string }> = ({ className = '' }) => (\n <svg\n width=\"22\"\n height=\"22\"\n viewBox=\"0 0 22 22\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n >\n <path\n d=\"M10.7115 13.5488C6.86057 13.5488 3.57129 14.156 3.57129 16.5845C3.57129 19.014 6.84004 19.6426 10.7115 19.6426C14.5624 19.6426 17.8516 19.0363 17.8516 16.6069C17.8516 14.1774 14.5838 13.5488 10.7115 13.5488Z\"\n fill=\"#353E64\"\n />\n <path\n opacity=\"0.4\"\n d=\"M10.7115 11.2361C13.3347 11.2361 15.4365 9.13345 15.4365 6.51113C15.4365 3.88881 13.3347 1.78613 10.7115 1.78613C8.08913 1.78613 5.98645 3.88881 5.98645 6.51113C5.98645 9.13345 8.08913 11.2361 10.7115 11.2361Z\"\n fill=\"#353E64\"\n />\n </svg>\n);\n\nconst FingerprintIcon: React.FC<{ className?: string }> = ({ className = '' }) => (\n <svg\n width=\"32\"\n height=\"31\"\n viewBox=\"0 0 32 31\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n >\n <path\n d=\"M15.612 10.3663C21.746 10.3665 26.7187 15.339 26.7187 21.473C26.7187 23.722 24.8953 25.5453 22.6462 25.5454C20.3972 25.5454 18.5738 23.7222 18.5738 21.473C18.5738 19.8373 17.2476 18.5113 15.612 18.5112C13.9763 18.5112 12.6502 19.8372 12.6502 21.473C12.6502 24.103 13.6282 26.5011 15.2418 28.3294C15.7824 28.9423 15.7241 29.8778 15.1117 30.4191C14.4985 30.9602 13.5617 30.902 13.0204 30.2889C10.9478 27.9403 9.68847 24.8519 9.68847 21.473C9.68847 18.2015 12.3406 15.5494 15.612 15.5494C18.8834 15.5495 21.5356 18.2015 21.5356 21.473C21.5356 22.0864 22.0328 22.5836 22.6462 22.5836C23.2596 22.5835 23.7569 22.0862 23.7569 21.473C23.7569 16.9748 20.1102 13.3282 15.612 13.3281C11.1137 13.3281 7.46712 16.9746 7.46712 21.473C7.46712 22.498 7.65616 23.4759 7.99933 24.3755C8.29047 25.1394 7.90699 25.9958 7.14318 26.2874C6.37916 26.5787 5.52292 26.1951 5.23133 25.4313C4.76156 24.1997 4.50533 22.8644 4.50533 21.473C4.50533 15.339 9.47799 10.3663 15.612 10.3663ZM15.4645 21.5019C16.2659 21.3392 17.0486 21.8576 17.2115 22.6589C17.7602 25.3619 20.1527 27.3964 23.0165 27.3965C23.217 27.3965 23.415 27.3869 23.6094 27.3677C24.4233 27.2868 25.1484 27.8814 25.2292 28.6953C25.3096 29.5088 24.7165 30.2339 23.9031 30.3149C23.6113 30.3438 23.315 30.3583 23.0165 30.3583C18.7164 30.3582 15.1311 27.305 14.3076 23.2489C14.145 22.4475 14.6635 21.6649 15.4645 21.5019ZM15.612 5.18313C22.9079 5.18344 29.0803 9.97908 31.1556 16.5863C31.4005 17.3663 30.9665 18.198 30.1867 18.4432C29.4067 18.688 28.575 18.2542 28.3298 17.4743C26.6312 12.0658 21.5773 8.14523 15.612 8.14492C9.64668 8.14505 4.59309 12.0658 2.89428 17.4743C2.64921 18.2542 1.81744 18.6879 1.03739 18.4432C0.257211 18.1981 -0.176617 17.3666 0.0684418 16.5863C2.14387 9.97898 8.31608 5.18326 15.612 5.18313ZM15.612 0C21.2529 0.000192516 26.3708 2.25505 30.1071 5.90911C30.6913 6.4809 30.7017 7.41857 30.1304 8.0032C29.5586 8.58772 28.6209 8.59782 28.0362 8.02633C24.8309 4.89168 20.4478 2.96198 15.612 2.96179C10.7762 2.96185 6.39334 4.89163 3.18787 8.02633C2.60327 8.59809 1.66569 8.58756 1.09378 8.0032C0.522099 7.41847 0.532273 6.48093 1.11693 5.90911C4.85343 2.255 9.97118 5.92358e-05 15.612 0Z\"\n fill=\"currentColor\"\n />\n </svg>\n);\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 avatarColor?: string;\n avatarFingerprintColor?: string;\n avatarTextClassName?: string;\n avatarIconClassName?: string;\n avatarSilhouetteClassName?: string;\n avatarFallbackVariant?: 'initial' | 'fingerprint';\n}> = ({\n customContainerClass,\n customImageClass,\n user,\n alt,\n children,\n avatarColor,\n avatarFingerprintColor,\n avatarTextClassName,\n avatarIconClassName,\n avatarSilhouetteClassName,\n avatarFallbackVariant = 'initial',\n}) => {\n const baseColor = avatarColor || 'bg-grayscale-700';\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 const fingerprintIconClassName = `${avatarIconClassName || 'w-[60%] h-[60%]'} ${\n avatarFingerprintColor || 'text-white/85'\n }`;\n\n return (\n <div\n className={`rounded-full flex items-center justify-center font-poppins font-semibold uppercase select-none text-white text-2xl ${customContainerClass} ${baseColor}`}\n >\n {avatarFallbackVariant === 'fingerprint' ? (\n <FingerprintIcon className={fingerprintIconClassName} />\n ) : letterToDisplay ? (\n <span className={avatarTextClassName || ''}>{letterToDisplay}</span>\n ) : (\n <PersonSilhouette\n className={avatarSilhouetteClassName || avatarIconClassName}\n />\n )}\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":"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"}
|
|
@@ -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-
|
|
4
|
-
import { V as VCDisplayCard2 } from './VCDisplayCard2-
|
|
3
|
+
import { V as VCDisplayCard } from './VCDisplayCard-3b542a26.js';
|
|
4
|
+
import { V as VCDisplayCard2 } from './VCDisplayCard2-8504817d.js';
|
|
5
5
|
|
|
6
6
|
var __async = (__this, __arguments, generator) => {
|
|
7
7
|
return new Promise((resolve, reject) => {
|
|
@@ -77,4 +77,4 @@ const VCCard = ({
|
|
|
77
77
|
};
|
|
78
78
|
|
|
79
79
|
export { VCCard as V };
|
|
80
|
-
//# sourceMappingURL=VCCard-
|
|
80
|
+
//# sourceMappingURL=VCCard-00858a44.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VCCard-
|
|
1
|
+
{"version":3,"file":"VCCard-00858a44.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;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,IAAA,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,IACI,uBAAA,KAAA,CAAA,aAAA;AAAA,MAAC,aAAA;AAAA,MAAA;AAAA,QACG,UAAA;AAAA,QACA,cAAA;AAAA,QACA,SAAA;AAAA,QACA,OAAA;AAAA,QACA,YAAc,EAAA,cAAA;AAAA,OAAA;AAAA,KAClB,CAAA;AAAA,GAER;AACA,EACI,uBAAA,KAAA,CAAA,aAAA;AAAA,IAAC,cAAA;AAAA,IAAA;AAAA,MACG,UAAA;AAAA,MACA,cAAA;AAAA,MACA,sBAAwB,EAAA,OAAA;AAAA,MACxB,iBAAmB,EAAA,cAAA;AAAA,MACnB,qBAAA;AAAA,MAEA,YAAA;AAAA,MACA,eAAA;AAAA,MACA,gBAAA;AAAA,MACA,sBAAA;AAAA,MACA,eAAA;AAAA,KAAA;AAAA,GACJ,CAAA;AAER;;;;"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { b as VCVerificationCheckWithText } from './VCVerificationCheck-8b8b7a76.js';
|
|
3
|
-
import { a as VCVerificationPill } from './VCVerificationPill-
|
|
3
|
+
import { a as VCVerificationPill } from './VCVerificationPill-14a9a963.js';
|
|
4
4
|
import FlipArrowRight from './ArrowArcRight.svg';
|
|
5
|
-
import {
|
|
5
|
+
import { i as getNameFromProfile } from './credential.helpers-f3dc0ca2.js';
|
|
6
6
|
|
|
7
7
|
const VCDisplayBackFace = ({
|
|
8
8
|
issuer,
|
|
@@ -60,4 +60,4 @@ const VCDisplayBackFace = ({
|
|
|
60
60
|
};
|
|
61
61
|
|
|
62
62
|
export { VCDisplayBackFace as V };
|
|
63
|
-
//# sourceMappingURL=VCDisplayBackFace-
|
|
63
|
+
//# sourceMappingURL=VCDisplayBackFace-4db2ffad.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VCDisplayBackFace-
|
|
1
|
+
{"version":3,"file":"VCDisplayBackFace-4db2ffad.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-458dc9b1.js';
|
|
3
3
|
import FatArrow from './icon.green.fat-arrow.png';
|
|
4
|
-
import { U as UserProfilePicture } from './UserProfilePicture-
|
|
4
|
+
import { U as UserProfilePicture } from './UserProfilePicture-7e131f5d.js';
|
|
5
5
|
import { b as VCVerificationCheckWithText } from './VCVerificationCheck-8b8b7a76.js';
|
|
6
|
-
import {
|
|
7
|
-
import { V as VCDisplayBackFace } from './VCDisplayBackFace-
|
|
6
|
+
import { i as getNameFromProfile, h as getImageFromProfile, b as getInfoFromCredential } from './credential.helpers-f3dc0ca2.js';
|
|
7
|
+
import { V as VCDisplayBackFace } from './VCDisplayBackFace-4db2ffad.js';
|
|
8
8
|
|
|
9
9
|
const VCDisplayFrontFace = ({
|
|
10
10
|
title,
|
|
@@ -181,4 +181,4 @@ const VCDisplayCard = ({
|
|
|
181
181
|
};
|
|
182
182
|
|
|
183
183
|
export { VCDisplayCard as V };
|
|
184
|
-
//# sourceMappingURL=VCDisplayCard-
|
|
184
|
+
//# sourceMappingURL=VCDisplayCard-3b542a26.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VCDisplayCard-3cc14e0b.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":";;;;;;;;AAQA,MAAM,qBAAmD,CAAC;AAAA,EACtD,KAAA;AAAA,EACA,SAAA;AAAA,EACA,MAAA;AAAA,EACA,MAAA;AAAA,EACA,qBAAA;AAAA,EACA,oBAAA;AAAA,EACA,kBAAqB,GAAA,KAAA;AAAA,EACrB,iBAAA;AAAA,EACA,SAAY,GAAA,EAAA;AAAA,EACZ,OAAA;AAAA,EACA,WAAA;AAAA,EACA,0BAAA;AAAA,EACA,iBAAA;AAAA,EACA,qBAAA;AACJ,CAAM,KAAA;AAvBN,EAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,CAAA;AAwBI,EAAM,MAAA,0BAAA,GAAA,CAAA,CACF,kEAAmB,WAAnB,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAgC,UAAhC,IAAuC,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,EAAA,MAAA,CAAM,EAAmB,GAAA,iBAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,iBAAA,CAAA,WAAA,KAAnB,IAAgC,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,KAAA,CAAA,CAAA;AACjF,EAAM,MAAA,UAAA,GAAa,kBAAmB,CAAA,MAAA,IAAA,IAAA,GAAA,MAAA,GAAU,EAAE,CAAA,CAAA;AAClD,EAAM,MAAA,UAAA,GAAa,kBAAmB,CAAA,MAAA,IAAA,IAAA,GAAA,MAAA,GAAU,EAAE,CAAA,CAAA;AAClD,EAAM,MAAA,WAAA,GAAc,mBAAoB,CAAA,MAAA,IAAA,IAAA,GAAA,MAAA,GAAU,EAAE,CAAA,CAAA;AACpD,EAAM,MAAA,WAAA,GAAc,mBAAoB,CAAA,MAAA,IAAA,IAAA,GAAA,MAAA,GAAU,EAAE,CAAA,CAAA;AAEpD,EAAA,IAAI,aAAwC,GAAA,IAAA,CAAA;AAC5C,EAAA,IAAI,qBAAuB,EAAA;AACvB,IAAgB,aAAA,GAAA,qBAAA,CAAA;AAAA,GACb,MAAA;AACH,IACI,aAAA,mBAAA,KAAA,CAAA,aAAA;AAAA,MAAC,kBAAA;AAAA,MAAA;AAAA,QACG,oBAAsB,EAAA,CAAA,oCAAA,EAClB,CAAC,WAAA,GAAc,aAAa,EAChC,CAAA,CAAA;AAAA,QACA,IAAM,EAAA,EAAE,KAAO,EAAA,WAAA,EAAa,MAAM,UAAW,EAAA;AAAA,QAC7C,GAAI,EAAA,cAAA;AAAA,OAAA;AAAA,KACR,CAAA;AAAA,GAER;AAEA,EAAA,IAAI,aAAwC,GAAA,IAAA,CAAA;AAE5C,EAAA,IAAI,oBAAsB,EAAA;AACtB,IAAgB,aAAA,GAAA,oBAAA,CAAA;AAAA,GACb,MAAA;AACH,IACI,aAAA,mBAAA,KAAA,CAAA,aAAA;AAAA,MAAC,kBAAA;AAAA,MAAA;AAAA,QACG,oBAAsB,EAAA,CAAA,oCAAA,EAClB,CAAC,WAAA,GAAc,aAAa,EAChC,CAAA,CAAA;AAAA,QACA,IAAM,EAAA,EAAE,KAAO,EAAA,WAAA,EAAa,MAAM,UAAW,EAAA;AAAA,QAC7C,GAAI,EAAA,cAAA;AAAA,OAAA;AAAA,KACR,CAAA;AAAA,GAER;AAEA,EAAA,MAAM,UAAU,0BACZ,mBAAA,KAAA,CAAA,aAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACG,SAAU,EAAA,4BAAA;AAAA,MACV,KAAK,0BAA8B,IAAA,IAAA,GAAA,0BAAA,GAAA,EAAA;AAAA,MACnC,GAAI,EAAA,8BAAA;AAAA,KAAA;AAAA,sBAGN,KAAA,CAAA,aAAA,CAAA,KAAA,CAAA,QAAA,EAAA,IAAA,CAAA,CAAA;AAGN,EAAM,MAAA,aAAA,GAAgB,6BAA6B,0BAA6B,GAAA,OAAA,CAAA;AAChF,EAAM,MAAA,SAAA,GAAY,oBAAoB,iBAAoB,GAAA,KAAA,CAAA;AAE1D,EACI,uBAAA,KAAA,CAAA,aAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACG,SAAA,EAAW,sNAAsN,SAAS,CAAA,CAAA;AAAA,KAAA;AAAA,oBAE1O,KAAA,CAAA,aAAA,CAAC,SAAQ,EAAA,EAAA,SAAA,EAAU,4EAA6E,EAAA,CAAA;AAAA,wCAC/F,SAAQ,EAAA,EAAA,SAAA,EAAU,iFACf,EAAA,kBAAA,KAAA,CAAA,aAAA,CAAC,aAAQ,SAAU,EAAA,6BAAA,EAAA,EAA+B,aAAc,CAAA,sCAE/D,SAAQ,EAAA,EAAA,SAAA,EAAU,wDACd,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAI,WAAU,oEACX,EAAA,kBAAA,KAAA,CAAA,aAAA;AAAA,MAAC,IAAA;AAAA,MAAA;AAAA,QACG,SAAU,EAAA,mIAAA;AAAA,QACV,aAAY,EAAA,oBAAA;AAAA,OAAA;AAAA,MAEX,SAAa,IAAA,IAAA,GAAA,SAAA,GAAA,EAAA;AAAA,KAEtB,CAEC,EAAA,qBAAA,IAAyB,qBAC9B,CAAA,sCAEC,SAAQ,EAAA,EAAA,SAAA,EAAU,kFACd,EAAA,EAAA,CAAC,sCAEM,KAAA,CAAA,aAAA,CAAA,KAAA,CAAA,QAAA,EAAA,IAAA,kBAAA,KAAA,CAAA,aAAA,CAAC,SAAI,SAAU,EAAA,6FAAA,EAAA,EACV,aACL,CACA,kBAAA,KAAA,CAAA,aAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACG,SAAU,EAAA,mBAAA;AAAA,QACV,MAAK,EAAY,GAAA,QAAA,KAAA,IAAA,GAAA,EAAA,GAAA,EAAA;AAAA,QACjB,GAAI,EAAA,gBAAA;AAAA,OAAA;AAAA,KAER,kBAAA,KAAA,CAAA,aAAA,CAAC,KAAI,EAAA,EAAA,SAAA,EAAU,6FACV,EAAA,EAAA,aACL,CACJ,CAER,CAEA,kBAAA,KAAA,CAAA,aAAA,CAAC,KAAI,EAAA,EAAA,SAAA,EAAU,oCACX,EAAA,kBAAA,KAAA,CAAA,aAAA;AAAA,MAAC,GAAA;AAAA,MAAA;AAAA,QACG,SAAU,EAAA,oFAAA;AAAA,QACV,aAAY,EAAA,wBAAA;AAAA,OAAA;AAAA,MACf,YAAA;AAAA,sBACc,KAAA,CAAA,aAAA,CAAA,MAAA,EAAA,EAAK,SAAU,EAAA,yBAAA,EAAA,EAA2B,UAAW,CAAA;AAAA,MAAO,KAAA;AAAA,MAAI,GAAA;AAAA,MAC1E,SAAa,IAAA,IAAA,GAAA,SAAA,GAAA,EAAA;AAAA,MAAG,KAAA;AAAA,MAAI,GAAA;AAAA,sBACpB,KAAA,CAAA,aAAA,CAAA,MAAA,EAAA,EAAK,SAAU,EAAA,yBAAA,EAAA,EAA0B,KAAE,UAAW,CAAA;AAAA,KAE/D,CAEA,kBAAA,KAAA,CAAA,aAAA;AAAA,MAAC,QAAA;AAAA,MAAA;AAAA,QACG,OAAS,EAAA,WAAA;AAAA,QACT,SAAU,EAAA,gFAAA;AAAA,OAAA;AAAA,sBAEV,KAAA,CAAA,aAAA,CAAC,UAAK,SAAU,EAAA,qBAAA,EAAA,sCACX,GAAE,EAAA,EAAA,SAAA,EAAU,mBAAoB,EAAA,EAAA,cAAY,CACjD,CAAA;AAAA,KAER,CAAA;AAAA,wCAEC,KAAI,EAAA,EAAA,SAAA,EAAU,6DACV,KAAA,CAAA,aAAA,CAAA,2BAAA,EAAA,EAA4B,SAAkB,CACnD,CAAA;AAAA,GACJ,CAAA;AAER,CAAA;;ACnIA,MAAM,UAAa,GAAA,OAAA,CAAA;AACnB,MAAM,SAAY,GAAA,MAAA,CAAA;AAkBX,MAAM,gBAAkD,CAAC;AAAA,EAC5D,UAAA;AAAA,EACA,cAAA;AAAA,EACA,cAAA;AAAA,EACA,SAAY,GAAA,EAAA;AAAA,EACZ,OAAU,GAAA,KAAA;AAAA,EACV,eAAe,EAAC;AAAA,EAChB,kBAAqB,GAAA,KAAA;AAAA,EACrB,qBAAA;AAAA,EACA,oBAAA;AAAA,EACA,wBAAA;AAAA,EACA,iBAAA;AAAA,EACA,0BAAA;AAAA,EACA,qBAAA;AACJ,CAAM,KAAA;AACF,EAAA,MAAM,CAAC,SAAA,EAAW,YAAY,CAAA,GAAI,SAAS,UAAU,CAAA,CAAA;AACrD,EAAM,MAAA;AAAA,IACF,KAAA;AAAA,IACA,SAAA;AAAA,IACA,MAAQ,EAAA,OAAA;AAAA,IACR,MAAQ,EAAA,OAAA;AAAA,IACR,iBAAA;AAAA,GACJ,GAAI,sBAAsB,UAAU,CAAA,CAAA;AACpC,EAAA,MAAM,SAAS,cAAkB,IAAA,OAAA,CAAA;AACjC,EAAA,MAAM,SAAS,cAAkB,IAAA,OAAA,CAAA;AAEjC,EAAA,MAAM,aAAa,MAAM;AACrB,IAAA,IAAI,cAAc,UAAY,EAAA;AAC1B,MAAA,YAAA,CAAa,SAAS,CAAA,CAAA;AAAA,KAC1B;AACA,IAAA,IAAI,cAAc,SAAW,EAAA;AACzB,MAAA,YAAA,CAAa,UAAU,CAAA,CAAA;AAAA,KAC3B;AAAA,GACJ,CAAA;AAEA,EACI,uBAAA,KAAA,CAAA,aAAA,CAAC,cAAW,SACR,EAAA,kBAAA,KAAA,CAAA,aAAA;AAAA,IAAC,kBAAA;AAAA,IAAA;AAAA,MACG,KAAA;AAAA,MACA,iBAAA;AAAA,MACA,qBAAA;AAAA,MACA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,qBAAA;AAAA,MACA,oBAAA;AAAA,MACA,0BAAA;AAAA,MACA,iBAAA;AAAA,MACA,kBAAA;AAAA,MACA,SAAA;AAAA,MACA,SAAA;AAAA,MACA,OAAA;AAAA,MACA,WAAa,EAAA,UAAA;AAAA,KAAA;AAAA,GAEjB,kBAAA,KAAA,CAAA,aAAA;AAAA,IAAC,iBAAA;AAAA,IAAA;AAAA,MACG,KAAA;AAAA,MACA,iBAAA;AAAA,MACA,wBAAA;AAAA,MACA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,MACA,SAAA;AAAA,MACA,OAAA;AAAA,MACA,YAAA;AAAA,MACA,WAAa,EAAA,UAAA;AAAA,KAAA;AAAA,GAErB,CAAA,CAAA;AAER;;;;"}
|
|
1
|
+
{"version":3,"file":"VCDisplayCard-3b542a26.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,17 @@
|
|
|
1
1
|
import React, { useRef, useEffect, useState, createContext, Component, Children, cloneElement, useLayoutEffect } from 'react';
|
|
2
2
|
import { a as VCVerificationCheckWithSpinner } from './VCVerificationCheck-8b8b7a76.js';
|
|
3
|
-
import { U as UserProfilePicture } from './UserProfilePicture-
|
|
4
|
-
import { a as getColorForVerificationStatus, j as format$1, h as
|
|
5
|
-
import { g as getBaseUrl, b as VideoIcon, C as Camera, G as GenericDocumentIcon, L as LinkIcon, p as prettyBytes, c as capitalize, E as ExclamationPoint, A as AcuteCheckmark, I as InfoIcon, d as LeftArrow, e as SkillsBox,
|
|
3
|
+
import { U as UserProfilePicture } from './UserProfilePicture-7e131f5d.js';
|
|
4
|
+
import { a as getColorForVerificationStatus, j as format$1, h as getImageFromProfile, b as getInfoFromCredential, k as getCategoryColor, g as getTotalCountOfSkills, c as categorizeSkills } from './credential.helpers-f3dc0ca2.js';
|
|
5
|
+
import { g as getBaseUrl, b as VideoIcon, C as Camera, G as GenericDocumentIcon, L as LinkIcon, p as prettyBytes, c as capitalize, E as ExclamationPoint, A as AcuteCheckmark, I as InfoIcon, d as LeftArrow, e as SkillsBox, r as resolveProfileDisplay, i as isAppDidWeb, V as VERIFIER_STATES$1, a as VerifierStateBadgeAndText, P as PersonBadge, h as VerifiedBadge, U as UnknownVerifierBadge, j as RedFlag } from './VerifierStateBadgeAndText-c96ea8d5.js';
|
|
6
6
|
import './index-eae3ca64.js';
|
|
7
7
|
import { L as Lightbox, X } from './Lightbox-f0338a0c.js';
|
|
8
|
-
import { V as VerificationStatusEnum } from './types.esm-
|
|
9
|
-
import { A as AlignmentsBox, b as CertificateDisplayCard } from './CertificateDisplayCard-
|
|
8
|
+
import { V as VerificationStatusEnum } from './types.esm-3a3c23e0.js';
|
|
9
|
+
import { A as AlignmentsBox, b as CertificateDisplayCard } from './CertificateDisplayCard-9edb38cd.js';
|
|
10
10
|
import { I as IDIcon, Q as QRCodeIcon, A as AwardRibbon } from './QRCodeIcon-8eef4f7c.js';
|
|
11
11
|
import { a as LCCategoryEnum } from './index-28917993.js';
|
|
12
12
|
import { P as PuzzlePiece } from './PuzzlePiece-a3d9cc62.js';
|
|
13
13
|
import IDSleeve from './id-sleeve.png';
|
|
14
|
-
import { a as MeritBadgeDisplayCard } from './MeritBadgeDisplayCard-
|
|
14
|
+
import { a as MeritBadgeDisplayCard } from './MeritBadgeDisplayCard-634e16d9.js';
|
|
15
15
|
|
|
16
16
|
const RoundedX = ({ className = "" }) => {
|
|
17
17
|
return /* @__PURE__ */ React.createElement(
|
|
@@ -833,20 +833,26 @@ const VC2FrontFaceInfo = ({
|
|
|
833
833
|
customBodyContentSlot,
|
|
834
834
|
unknownVerifierTitle
|
|
835
835
|
}) => {
|
|
836
|
-
const issuerName = truncateWithEllipsis(getNameFromProfile(issuer != null ? issuer : ""), 20);
|
|
837
|
-
const issueeName = truncateWithEllipsis(getNameFromProfile(issuee != null ? issuee : ""), 25);
|
|
838
836
|
const issuerImage = getImageFromProfile(issuer != null ? issuer : "");
|
|
839
837
|
const issueeImage = getImageFromProfile(issuee != null ? issuee : "");
|
|
838
|
+
const issueeDisplay = resolveProfileDisplay(issuee, "");
|
|
839
|
+
const issuerDisplay = resolveProfileDisplay(issuer, "");
|
|
840
840
|
const { credentialSubject } = getInfoFromCredential(credential, "MMM dd, yyyy", {
|
|
841
841
|
uppercaseDate: false
|
|
842
842
|
});
|
|
843
|
-
const getImageElement = (imageUrl2, alt, overrideComponent, bigText) => {
|
|
843
|
+
const getImageElement = (imageUrl2, alt, overrideComponent, avatarName, avatarColor, avatarFingerprintColor, avatarTextClassName, avatarSilhouetteClassName, avatarFallbackVariant, bigText) => {
|
|
844
844
|
if (overrideComponent) return overrideComponent;
|
|
845
845
|
return /* @__PURE__ */ React.createElement(
|
|
846
846
|
UserProfilePicture,
|
|
847
847
|
{
|
|
848
|
-
user: { image: imageUrl2, name:
|
|
848
|
+
user: { image: imageUrl2, name: avatarName },
|
|
849
849
|
alt,
|
|
850
|
+
avatarColor,
|
|
851
|
+
avatarFingerprintColor,
|
|
852
|
+
avatarTextClassName,
|
|
853
|
+
avatarIconClassName: avatarSilhouetteClassName,
|
|
854
|
+
avatarSilhouetteClassName,
|
|
855
|
+
avatarFallbackVariant,
|
|
850
856
|
customContainerClass: `h-full w-full ${bigText ? "!text-4xl" : ""}`
|
|
851
857
|
}
|
|
852
858
|
);
|
|
@@ -855,12 +861,24 @@ const VC2FrontFaceInfo = ({
|
|
|
855
861
|
issueeImage,
|
|
856
862
|
"Issuee image",
|
|
857
863
|
subjectImageComponent,
|
|
864
|
+
issueeDisplay.avatarLetter,
|
|
865
|
+
issueeDisplay.avatarColor,
|
|
866
|
+
issueeDisplay.avatarFingerprintColor,
|
|
867
|
+
"text-3xl leading-normal",
|
|
868
|
+
"h-[43px] w-[43px]",
|
|
869
|
+
issueeDisplay.isDidValue ? "fingerprint" : "initial",
|
|
858
870
|
true
|
|
859
871
|
);
|
|
860
872
|
const issuerImageEl = getImageElement(
|
|
861
873
|
issuerImage,
|
|
862
874
|
"Issuer image",
|
|
863
|
-
issuerImageComponent
|
|
875
|
+
issuerImageComponent,
|
|
876
|
+
issuerDisplay.avatarLetter,
|
|
877
|
+
issuerDisplay.avatarColor,
|
|
878
|
+
issuerDisplay.avatarFingerprintColor,
|
|
879
|
+
"text-xl leading-normal",
|
|
880
|
+
"h-[22px] w-[22px]",
|
|
881
|
+
issuerDisplay.isDidValue ? "fingerprint" : "initial"
|
|
864
882
|
);
|
|
865
883
|
const issuerDid = typeof credential.issuer === "string" ? credential.issuer : credential.issuer.id;
|
|
866
884
|
const isAppIssuerDid = isAppDidWeb(issuerDid);
|
|
@@ -886,7 +904,7 @@ const VC2FrontFaceInfo = ({
|
|
|
886
904
|
className: "vc-front-image h-[130px] w-[130px] rounded-[10px]",
|
|
887
905
|
src: imageUrl
|
|
888
906
|
}
|
|
889
|
-
), customThumbComponent && customThumbComponent, /* @__PURE__ */ React.createElement("div", { className: "vc-issue-info-box bg-white flex flex-col items-center gap-[5px] rounded-[20px] shadow-bottom px-[15px] py-[20px] w-full" }, customBodyCardComponent && customBodyCardComponent, !customBodyCardComponent && /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement("h3", { className: "text-[
|
|
907
|
+
), customThumbComponent && customThumbComponent, /* @__PURE__ */ React.createElement("div", { className: "vc-issue-info-box bg-white flex flex-col items-center gap-[5px] rounded-[20px] shadow-bottom px-[15px] py-[20px] w-full" }, customBodyCardComponent && customBodyCardComponent, !customBodyCardComponent && /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement("h3", { className: "flex flex-col text-center leading-[130%] w-full" }, !issueeDisplay.isMissing && issueeDisplay.isDidValue && /* @__PURE__ */ React.createElement("span", { className: "flex flex-wrap items-baseline justify-center gap-1 text-[17px] leading-normal font-[600] font-poppins max-w-full overflow-hidden text-ellipsis whitespace-nowrap" }, /* @__PURE__ */ React.createElement("span", { className: "text-grayscale-900" }, "Digital ID:"), /* @__PURE__ */ React.createElement("span", { className: "text-grayscale-500 underline" }, issueeDisplay.displayName)), !issueeDisplay.isMissing && !issueeDisplay.isDidValue && /* @__PURE__ */ React.createElement("span", { className: "font-poppins font-semibold text-[20px] leading-[130%] max-w-full overflow-hidden text-ellipsis whitespace-nowrap text-grayscale-900" }, issueeDisplay.displayName), subjectDID && !issueeDisplay.isDidValue && !issueeDisplay.isLCNetwork && /* @__PURE__ */ React.createElement("span", { className: "text-[12px] text-grayscale-500 leading-[18px] font-poppins font-normal m-0 p-0" }, subjectDID)), /* @__PURE__ */ React.createElement("div", { className: "relative" }, /* @__PURE__ */ React.createElement("div", { className: "vc-issuee-image h-[60px] w-[60px] rounded-full overflow-hidden" }, issueeImageEl), /* @__PURE__ */ React.createElement("div", { className: "vc-issuer-image h-[30px] w-[30px] rounded-full overflow-hidden absolute bottom-[-12px] right-[-12px]" }, issuerImageEl)), /* @__PURE__ */ React.createElement("div", { className: "flex flex-col gap-[13px]" }, /* @__PURE__ */ React.createElement("div", { className: "vc-issue-details mt-[10px] flex flex-col items-center font-poppins text-[14px] leading-[20px]" }, /* @__PURE__ */ React.createElement("span", { className: "created-at text-grayscale-700" }, createdAt), !issuerDisplay.isMissing && /* @__PURE__ */ React.createElement("span", { className: "issued-by flex flex-wrap items-baseline justify-center gap-1 max-w-full overflow-hidden text-ellipsis whitespace-nowrap text-[14px]" }, /* @__PURE__ */ React.createElement("span", { className: "font-medium text-grayscale-900" }, "By"), issuerDisplay.isDidValue ? /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement("span", { className: "flex flex-wrap items-baseline justify-center gap-1 leading-normal font-[600] font-poppins max-w-full overflow-hidden text-ellipsis whitespace-nowrap" }, /* @__PURE__ */ React.createElement("span", { className: "text-grayscale-900" }, "Digital ID:"), /* @__PURE__ */ React.createElement("span", { className: "text-grayscale-500 underline" }, issuerDisplay.displayName))) : /* @__PURE__ */ React.createElement("strong", { className: "font-bold text-grayscale-900" }, issuerDisplay.displayName))), /* @__PURE__ */ React.createElement(
|
|
890
908
|
VerifierStateBadgeAndText,
|
|
891
909
|
{
|
|
892
910
|
verifierState,
|
|
@@ -1137,7 +1155,6 @@ const VCDisplayCard2 = ({
|
|
|
1137
1155
|
customContentSlot,
|
|
1138
1156
|
customBodyContentSlot,
|
|
1139
1157
|
unknownVerifierTitle,
|
|
1140
|
-
hideAwardedTo,
|
|
1141
1158
|
hideFrontFaceDetails
|
|
1142
1159
|
}) => {
|
|
1143
1160
|
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
@@ -1214,7 +1231,6 @@ const VCDisplayCard2 = ({
|
|
|
1214
1231
|
customLinkedCredentialsComponent,
|
|
1215
1232
|
customBodyContentSlot,
|
|
1216
1233
|
unknownVerifierTitle,
|
|
1217
|
-
hideAwardedTo,
|
|
1218
1234
|
hideFrontFaceDetails
|
|
1219
1235
|
}
|
|
1220
1236
|
);
|
|
@@ -1248,7 +1264,6 @@ const VCDisplayCard2 = ({
|
|
|
1248
1264
|
customLinkedCredentialsComponent,
|
|
1249
1265
|
customBodyContentSlot,
|
|
1250
1266
|
unknownVerifierTitle,
|
|
1251
|
-
hideAwardedTo,
|
|
1252
1267
|
hideFrontFaceDetails
|
|
1253
1268
|
}
|
|
1254
1269
|
);
|
|
@@ -1288,7 +1303,7 @@ const VCDisplayCard2 = ({
|
|
|
1288
1303
|
return /* @__PURE__ */ React.createElement(h, { className: "w-full", flipKey: isFront }, /* @__PURE__ */ React.createElement(v, { flipId: "card" }, /* @__PURE__ */ React.createElement(
|
|
1289
1304
|
"section",
|
|
1290
1305
|
{
|
|
1291
|
-
className: "vc-display-card font-
|
|
1306
|
+
className: "vc-display-card font-poppins flex flex-col items-center border-solid border-[5px] border-white rounded-[30px] z-10 min-h-[800px] max-w-[400px] relative bg-white shadow-3xl",
|
|
1292
1307
|
role: "button",
|
|
1293
1308
|
onClick: () => setIsFront(!isFront)
|
|
1294
1309
|
},
|
|
@@ -1447,4 +1462,4 @@ const VCDisplayCard2 = ({
|
|
|
1447
1462
|
};
|
|
1448
1463
|
|
|
1449
1464
|
export { VCDisplayCard2 as V, VCDisplayCardSkillsCount as a, VCIDDisplayCard as b };
|
|
1450
|
-
//# sourceMappingURL=VCDisplayCard2-
|
|
1465
|
+
//# sourceMappingURL=VCDisplayCard2-8504817d.js.map
|