@learncard/react 2.9.29 → 2.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/BadgeThumbnailImg-02df88f9.js +55 -0
- package/dist/cjs/BadgeThumbnailImg-02df88f9.js.map +1 -0
- package/dist/cjs/{BoostGenericCard-310cd633.js → BoostGenericCard-d4056c6a.js} +5 -4
- package/dist/cjs/BoostGenericCard-d4056c6a.js.map +1 -0
- package/dist/cjs/{BoostSmallCard-4e200046.js → BoostSmallCard-ece8f97e.js} +4 -3
- package/dist/cjs/BoostSmallCard-ece8f97e.js.map +1 -0
- package/dist/cjs/{CertificateDisplayCard-50eb6485.js → CertificateDisplayCard-217ce543.js} +43 -9
- package/dist/cjs/CertificateDisplayCard-217ce543.js.map +1 -0
- package/dist/cjs/{GenericCard-2b20ab4b.js → GenericCard-cdc6eede.js} +3 -2
- package/dist/cjs/GenericCard-cdc6eede.js.map +1 -0
- package/dist/cjs/{MeritBadgeDisplayCard-7535f16d.js → MeritBadgeDisplayCard-f610c4e8.js} +44 -9
- package/dist/cjs/MeritBadgeDisplayCard-f610c4e8.js.map +1 -0
- package/dist/cjs/{MeritBadgeSkillsCount-8307d493.js → MeritBadgeSkillsCount-1120813b.js} +2 -2
- package/dist/cjs/{MeritBadgeSkillsCount-8307d493.js.map → MeritBadgeSkillsCount-1120813b.js.map} +1 -1
- package/dist/cjs/{NotificationBoostCard-80dbf681.js → NotificationBoostCard-3ed9ec86.js} +2 -2
- package/dist/cjs/{NotificationBoostCard-80dbf681.js.map → NotificationBoostCard-3ed9ec86.js.map} +1 -1
- package/dist/cjs/{SchoolIDCard-e22d0d80.js → SchoolIDCard-dddb3b1d.js} +3 -1184
- package/dist/cjs/SchoolIDCard-dddb3b1d.js.map +1 -0
- package/dist/cjs/{UserProfilePicture-22944d8f.js → UserProfilePicture-80675455.js} +8 -3
- package/dist/cjs/UserProfilePicture-80675455.js.map +1 -0
- package/dist/cjs/{VCCard-8b62170d.js → VCCard-675144fc.js} +3 -3
- package/dist/cjs/{VCCard-8b62170d.js.map → VCCard-675144fc.js.map} +1 -1
- package/dist/cjs/{VCDisplayBackFace-f220ad7d.js → VCDisplayBackFace-be7d1e31.js} +3 -3
- package/dist/cjs/{VCDisplayBackFace-f220ad7d.js.map → VCDisplayBackFace-be7d1e31.js.map} +1 -1
- package/dist/cjs/{VCDisplayCard-b3f9ae8d.js → VCDisplayCard-e50b4801.js} +4 -4
- package/dist/cjs/{VCDisplayCard-b3f9ae8d.js.map → VCDisplayCard-e50b4801.js.map} +1 -1
- package/dist/cjs/{VCDisplayCard2-b6bf45cf.js → VCDisplayCard2-648a9543.js} +49 -14
- package/dist/cjs/VCDisplayCard2-648a9543.js.map +1 -0
- package/dist/cjs/{VCVerificationPill-ae3e2fbb.js → VCVerificationPill-93260164.js} +2 -2
- package/dist/cjs/{VCVerificationPill-ae3e2fbb.js.map → VCVerificationPill-93260164.js.map} +1 -1
- package/dist/cjs/{VerifierStateBadgeAndText-d3d4e6a9.js → VerifierStateBadgeAndText-806b6c2c.js} +361 -602
- package/dist/cjs/VerifierStateBadgeAndText-806b6c2c.js.map +1 -0
- package/dist/cjs/{credential.helpers-4e3cf40c.js → credential.helpers-a11b14f1.js} +2 -2
- package/dist/cjs/{credential.helpers-4e3cf40c.js.map → credential.helpers-a11b14f1.js.map} +1 -1
- package/dist/cjs/index-838fa72c.js +1186 -0
- package/dist/cjs/index-838fa72c.js.map +1 -0
- package/dist/cjs/index.js +189 -30
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/index10.js +2 -27
- package/dist/cjs/index10.js.map +1 -1
- package/dist/cjs/index11.js +31 -2
- package/dist/cjs/index11.js.map +1 -1
- package/dist/cjs/index12.js +2 -46
- package/dist/cjs/index12.js.map +1 -1
- package/dist/cjs/index13.js +5 -175
- package/dist/cjs/index13.js.map +1 -1
- package/dist/cjs/index14.js +217 -1
- package/dist/cjs/index14.js.map +1 -1
- package/dist/cjs/index15.js +3 -21
- package/dist/cjs/index15.js.map +1 -1
- package/dist/cjs/index16.js +21 -3
- package/dist/cjs/index16.js.map +1 -1
- package/dist/cjs/index17.js +3 -5
- package/dist/cjs/index17.js.map +1 -1
- package/dist/cjs/index18.js +5 -20
- package/dist/cjs/index18.js.map +1 -1
- package/dist/cjs/index19.js +20 -3
- package/dist/cjs/index19.js.map +1 -1
- package/dist/cjs/index20.js +3 -2
- package/dist/cjs/index20.js.map +1 -1
- package/dist/cjs/index21.js +2 -28
- package/dist/cjs/index21.js.map +1 -1
- package/dist/cjs/index22.js +28 -3
- package/dist/cjs/index22.js.map +1 -1
- package/dist/cjs/index23.js +3 -10
- package/dist/cjs/index23.js.map +1 -1
- package/dist/cjs/index24.js +5 -7
- package/dist/cjs/index24.js.map +1 -1
- package/dist/cjs/index25.js +9 -3
- package/dist/cjs/index25.js.map +1 -1
- package/dist/cjs/index26.js +3 -5
- package/dist/cjs/index26.js.map +1 -1
- package/dist/cjs/index27.js +8 -3
- package/dist/cjs/index27.js.map +1 -1
- package/dist/cjs/index28.js +3 -28
- package/dist/cjs/index28.js.map +1 -1
- package/dist/cjs/index29.js +4 -28
- package/dist/cjs/index29.js.map +1 -1
- package/dist/cjs/index3.js +0 -58
- package/dist/cjs/index3.js.map +1 -1
- package/dist/cjs/index30.js +52 -2
- package/dist/cjs/index30.js.map +1 -1
- package/dist/cjs/index31.js +3 -3
- package/dist/cjs/index32.js +3 -3
- package/dist/cjs/index33.js +3 -29
- package/dist/cjs/index33.js.map +1 -1
- package/dist/cjs/index34.js +29 -3
- package/dist/cjs/index34.js.map +1 -1
- package/dist/cjs/index35.js +3 -3
- package/dist/cjs/index36.js +3 -27
- package/dist/cjs/index36.js.map +1 -1
- package/dist/cjs/index37.js +27 -2
- package/dist/cjs/index37.js.map +1 -1
- package/dist/cjs/index38.js +2 -42
- package/dist/cjs/index38.js.map +1 -1
- package/dist/cjs/index39.js +35 -9
- package/dist/cjs/index39.js.map +1 -1
- package/dist/cjs/index4.js +11 -6
- package/dist/cjs/index4.js.map +1 -1
- package/dist/cjs/index40.js +9 -13
- package/dist/cjs/index40.js.map +1 -1
- package/dist/cjs/index41.js +15 -28
- package/dist/cjs/index41.js.map +1 -1
- package/dist/cjs/index42.js +38 -3
- package/dist/cjs/index42.js.map +1 -1
- package/dist/cjs/index43.js +3 -7
- package/dist/cjs/index43.js.map +1 -1
- package/dist/cjs/index44.js +4 -6
- package/dist/cjs/index44.js.map +1 -1
- package/dist/cjs/index45.js +6 -6
- package/dist/cjs/index46.js +15 -0
- package/dist/cjs/index46.js.map +1 -0
- package/dist/cjs/index5.js +51 -2
- package/dist/cjs/index5.js.map +1 -1
- package/dist/cjs/index6.js +2 -29
- package/dist/cjs/index6.js.map +1 -1
- package/dist/cjs/index7.js +28 -27
- package/dist/cjs/index7.js.map +1 -1
- package/dist/cjs/index8.js +4 -5
- package/dist/cjs/index8.js.map +1 -1
- package/dist/cjs/index9.js +28 -5
- package/dist/cjs/index9.js.map +1 -1
- package/dist/cjs/{types.esm-674d5934.js → types.esm-4d399274.js} +11 -4
- package/dist/cjs/types.esm-4d399274.js.map +1 -0
- package/dist/esm/BadgeThumbnailImg-7d436367.js +49 -0
- package/dist/esm/BadgeThumbnailImg-7d436367.js.map +1 -0
- package/dist/esm/{BoostGenericCard-956474fc.js → BoostGenericCard-b83ff069.js} +5 -4
- package/dist/esm/BoostGenericCard-b83ff069.js.map +1 -0
- package/dist/esm/{BoostSmallCard-6d63f0b3.js → BoostSmallCard-a73b6800.js} +4 -3
- package/dist/esm/BoostSmallCard-a73b6800.js.map +1 -0
- package/dist/esm/{CertificateDisplayCard-fdc1ea6c.js → CertificateDisplayCard-d2fa3f05.js} +43 -9
- package/dist/esm/CertificateDisplayCard-d2fa3f05.js.map +1 -0
- package/dist/esm/{GenericCard-24648e62.js → GenericCard-a469f2f0.js} +3 -2
- package/dist/esm/GenericCard-a469f2f0.js.map +1 -0
- package/dist/esm/{MeritBadgeDisplayCard-4c768f06.js → MeritBadgeDisplayCard-eba507ab.js} +44 -9
- package/dist/esm/MeritBadgeDisplayCard-eba507ab.js.map +1 -0
- package/dist/esm/{MeritBadgeSkillsCount-e906d83f.js → MeritBadgeSkillsCount-7871d74f.js} +2 -2
- package/dist/esm/{MeritBadgeSkillsCount-e906d83f.js.map → MeritBadgeSkillsCount-7871d74f.js.map} +1 -1
- package/dist/esm/{NotificationBoostCard-fdfa0cf4.js → NotificationBoostCard-cfebc09e.js} +2 -2
- package/dist/esm/{NotificationBoostCard-fdfa0cf4.js.map → NotificationBoostCard-cfebc09e.js.map} +1 -1
- package/dist/esm/{SchoolIDCard-8b151cd3.js → SchoolIDCard-4e51671c.js} +2 -1183
- package/dist/esm/SchoolIDCard-4e51671c.js.map +1 -0
- package/dist/esm/{UserProfilePicture-7e131f5d.js → UserProfilePicture-50c34186.js} +8 -3
- package/dist/esm/UserProfilePicture-50c34186.js.map +1 -0
- package/dist/esm/{VCCard-6c25c2d5.js → VCCard-8a27387d.js} +3 -3
- package/dist/esm/{VCCard-6c25c2d5.js.map → VCCard-8a27387d.js.map} +1 -1
- package/dist/esm/{VCDisplayBackFace-ce80f06d.js → VCDisplayBackFace-fbb3235f.js} +3 -3
- package/dist/esm/{VCDisplayBackFace-ce80f06d.js.map → VCDisplayBackFace-fbb3235f.js.map} +1 -1
- package/dist/esm/{VCDisplayCard-a40c4c7a.js → VCDisplayCard-8463d18d.js} +4 -4
- package/dist/esm/{VCDisplayCard-a40c4c7a.js.map → VCDisplayCard-8463d18d.js.map} +1 -1
- package/dist/esm/{VCDisplayCard2-f0bf0f87.js → VCDisplayCard2-5ed2777f.js} +49 -14
- package/dist/esm/VCDisplayCard2-5ed2777f.js.map +1 -0
- package/dist/esm/{VCVerificationPill-8f82b17c.js → VCVerificationPill-a412a211.js} +2 -2
- package/dist/esm/{VCVerificationPill-8f82b17c.js.map → VCVerificationPill-a412a211.js.map} +1 -1
- package/dist/esm/{VerifierStateBadgeAndText-2bddbc91.js → VerifierStateBadgeAndText-0db85894.js} +357 -603
- package/dist/esm/VerifierStateBadgeAndText-0db85894.js.map +1 -0
- package/dist/esm/{credential.helpers-bd29e893.js → credential.helpers-108b5fb6.js} +2 -2
- package/dist/esm/{credential.helpers-bd29e893.js.map → credential.helpers-108b5fb6.js.map} +1 -1
- package/dist/esm/index-4fa491c1.js +1184 -0
- package/dist/esm/index-4fa491c1.js.map +1 -0
- package/dist/esm/index.js +178 -29
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/index10.js +1 -26
- package/dist/esm/index10.js.map +1 -1
- package/dist/esm/index11.js +30 -1
- package/dist/esm/index11.js.map +1 -1
- package/dist/esm/index12.js +1 -45
- package/dist/esm/index12.js.map +1 -1
- package/dist/esm/index13.js +5 -94
- package/dist/esm/index13.js.map +1 -1
- package/dist/esm/index14.js +136 -1
- package/dist/esm/index14.js.map +1 -1
- package/dist/esm/index15.js +2 -19
- package/dist/esm/index15.js.map +1 -1
- package/dist/esm/index16.js +19 -2
- package/dist/esm/index16.js.map +1 -1
- package/dist/esm/index17.js +2 -4
- package/dist/esm/index17.js.map +1 -1
- package/dist/esm/index18.js +4 -19
- package/dist/esm/index18.js.map +1 -1
- package/dist/esm/index19.js +19 -2
- package/dist/esm/index19.js.map +1 -1
- package/dist/esm/index20.js +2 -1
- package/dist/esm/index20.js.map +1 -1
- package/dist/esm/index21.js +1 -24
- package/dist/esm/index21.js.map +1 -1
- package/dist/esm/index22.js +24 -2
- package/dist/esm/index22.js.map +1 -1
- package/dist/esm/index23.js +2 -8
- package/dist/esm/index23.js.map +1 -1
- package/dist/esm/index24.js +3 -6
- package/dist/esm/index24.js.map +1 -1
- package/dist/esm/index25.js +8 -2
- package/dist/esm/index25.js.map +1 -1
- package/dist/esm/index26.js +2 -3
- package/dist/esm/index26.js.map +1 -1
- package/dist/esm/index27.js +6 -2
- package/dist/esm/index27.js.map +1 -1
- package/dist/esm/index28.js +2 -26
- package/dist/esm/index28.js.map +1 -1
- package/dist/esm/index29.js +2 -23
- package/dist/esm/index29.js.map +1 -1
- package/dist/esm/index3.js +0 -53
- package/dist/esm/index3.js.map +1 -1
- package/dist/esm/index30.js +47 -1
- package/dist/esm/index30.js.map +1 -1
- package/dist/esm/index31.js +2 -1
- package/dist/esm/index31.js.map +1 -1
- package/dist/esm/index32.js +1 -2
- package/dist/esm/index32.js.map +1 -1
- package/dist/esm/index33.js +2 -28
- package/dist/esm/index33.js.map +1 -1
- package/dist/esm/index34.js +28 -2
- package/dist/esm/index34.js.map +1 -1
- package/dist/esm/index35.js +2 -2
- package/dist/esm/index36.js +2 -9
- package/dist/esm/index36.js.map +1 -1
- package/dist/esm/index37.js +9 -1
- package/dist/esm/index37.js.map +1 -1
- package/dist/esm/index38.js +1 -41
- package/dist/esm/index38.js.map +1 -1
- package/dist/esm/index39.js +34 -8
- package/dist/esm/index39.js.map +1 -1
- package/dist/esm/index4.js +10 -5
- package/dist/esm/index4.js.map +1 -1
- package/dist/esm/index40.js +8 -12
- package/dist/esm/index40.js.map +1 -1
- package/dist/esm/index41.js +14 -24
- package/dist/esm/index41.js.map +1 -1
- package/dist/esm/index42.js +30 -3
- package/dist/esm/index42.js.map +1 -1
- package/dist/esm/index43.js +3 -2
- package/dist/esm/index43.js.map +1 -1
- package/dist/esm/index44.js +3 -3
- package/dist/esm/index45.js +3 -5
- package/dist/esm/index45.js.map +1 -1
- package/dist/esm/index46.js +7 -0
- package/dist/esm/index46.js.map +1 -0
- package/dist/esm/index5.js +50 -1
- package/dist/esm/index5.js.map +1 -1
- package/dist/esm/index6.js +1 -23
- package/dist/esm/index6.js.map +1 -1
- package/dist/esm/index7.js +22 -26
- package/dist/esm/index7.js.map +1 -1
- package/dist/esm/index8.js +3 -3
- package/dist/esm/index9.js +26 -4
- package/dist/esm/index9.js.map +1 -1
- package/dist/esm/{types.esm-e2b75956.js → types.esm-aa0345d0.js} +11 -4
- package/dist/esm/types.esm-aa0345d0.js.map +1 -0
- package/dist/index.d.ts +82 -1
- package/dist/main.css +1 -1
- package/dist/main.js +1 -1
- package/package.json +3 -3
- package/dist/cjs/BoostGenericCard-310cd633.js.map +0 -1
- package/dist/cjs/BoostSmallCard-4e200046.js.map +0 -1
- package/dist/cjs/CertificateDisplayCard-50eb6485.js.map +0 -1
- package/dist/cjs/GenericCard-2b20ab4b.js.map +0 -1
- package/dist/cjs/MeritBadgeDisplayCard-7535f16d.js.map +0 -1
- package/dist/cjs/SchoolIDCard-e22d0d80.js.map +0 -1
- package/dist/cjs/UserProfilePicture-22944d8f.js.map +0 -1
- package/dist/cjs/VCDisplayCard2-b6bf45cf.js.map +0 -1
- package/dist/cjs/VerifierStateBadgeAndText-d3d4e6a9.js.map +0 -1
- package/dist/cjs/types.esm-674d5934.js.map +0 -1
- package/dist/esm/BoostGenericCard-956474fc.js.map +0 -1
- package/dist/esm/BoostSmallCard-6d63f0b3.js.map +0 -1
- package/dist/esm/CertificateDisplayCard-fdc1ea6c.js.map +0 -1
- package/dist/esm/GenericCard-24648e62.js.map +0 -1
- package/dist/esm/MeritBadgeDisplayCard-4c768f06.js.map +0 -1
- package/dist/esm/SchoolIDCard-8b151cd3.js.map +0 -1
- package/dist/esm/UserProfilePicture-7e131f5d.js.map +0 -1
- package/dist/esm/VCDisplayCard2-f0bf0f87.js.map +0 -1
- package/dist/esm/VerifierStateBadgeAndText-2bddbc91.js.map +0 -1
- package/dist/esm/types.esm-e2b75956.js.map +0 -1
|
@@ -66,8 +66,12 @@ const UserProfilePicture = ({
|
|
|
66
66
|
var _a, _b, _c, _d;
|
|
67
67
|
const baseColor = avatarColor || "bg-grayscale-700";
|
|
68
68
|
const src = (user == null ? void 0 : user.image) || (user == null ? void 0 : user.profileImage);
|
|
69
|
+
const [errored, setErrored] = React__default["default"].useState(false);
|
|
70
|
+
React__default["default"].useEffect(() => {
|
|
71
|
+
setErrored(false);
|
|
72
|
+
}, [src]);
|
|
69
73
|
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)) || "";
|
|
70
|
-
if (!src) {
|
|
74
|
+
if (!src || errored) {
|
|
71
75
|
const fingerprintIconClassName = `${avatarIconClassName || "w-[60%] h-[60%]"} ${avatarFingerprintColor || "text-white/85"}`;
|
|
72
76
|
return /* @__PURE__ */ React__default["default"].createElement(
|
|
73
77
|
"div",
|
|
@@ -89,10 +93,11 @@ const UserProfilePicture = ({
|
|
|
89
93
|
className: `rounded-full ${customImageClass}`,
|
|
90
94
|
alt: alt || "user",
|
|
91
95
|
src,
|
|
92
|
-
referrerPolicy: "no-referrer"
|
|
96
|
+
referrerPolicy: "no-referrer",
|
|
97
|
+
onError: () => setErrored(true)
|
|
93
98
|
}
|
|
94
99
|
), children);
|
|
95
100
|
};
|
|
96
101
|
|
|
97
102
|
exports.UserProfilePicture = UserProfilePicture;
|
|
98
|
-
//# sourceMappingURL=UserProfilePicture-
|
|
103
|
+
//# sourceMappingURL=UserProfilePicture-80675455.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UserProfilePicture-80675455.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 [errored, setErrored] = React.useState(false);\n\n // Reset the error flag whenever the source changes (e.g. good URL after a bad one).\n React.useEffect(() => {\n setErrored(false);\n }, [src]);\n\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 || errored) {\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 onError={() => setErrored(true)}\n />\n {children}\n </div>\n );\n};\n\nexport default UserProfilePicture;\n"],"names":["React"],"mappings":"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"}
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
var React = require('react');
|
|
4
4
|
var init = require('@learncard/init');
|
|
5
|
-
var VCDisplayCard = require('./VCDisplayCard-
|
|
6
|
-
var VCDisplayCard2 = require('./VCDisplayCard2-
|
|
5
|
+
var VCDisplayCard = require('./VCDisplayCard-e50b4801.js');
|
|
6
|
+
var VCDisplayCard2 = require('./VCDisplayCard2-648a9543.js');
|
|
7
7
|
|
|
8
8
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
9
9
|
|
|
@@ -83,4 +83,4 @@ const VCCard = ({
|
|
|
83
83
|
};
|
|
84
84
|
|
|
85
85
|
exports.VCCard = VCCard;
|
|
86
|
-
//# sourceMappingURL=VCCard-
|
|
86
|
+
//# sourceMappingURL=VCCard-675144fc.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VCCard-
|
|
1
|
+
{"version":3,"file":"VCCard-675144fc.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":["useState","useEffect","initLearnCard","React","VCDisplayCard","VCDisplayCard2"],"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,GAAIA,eAAS,IAAI,CAAA,CAAA;AAC3C,EAAA,MAAM,CAAC,cAAgB,EAAA,iBAAiB,CAAI,GAAAA,cAAA,CAA6B,EAAE,CAAA,CAAA;AAE3E,EAAAC,eAAA,CAAU,MAAM;AACZ,IAAA,MAAM,SAAS,MAAY,OAAA,CAAA,IAAA,EAAA,IAAA,EAAA,aAAA;AACvB,MAAM,MAAA,MAAA,GAAS,MAAMC,kBAAc,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,uBAAAC,yBAAA,CAAA,aAAA;AAAA,MAACC,2BAAA;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,uBAAAD,yBAAA,CAAA,aAAA;AAAA,IAACE,6BAAA;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;;;;"}
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
var React = require('react');
|
|
4
4
|
var VCVerificationCheck = require('./VCVerificationCheck-92198135.js');
|
|
5
|
-
var VCVerificationPill = require('./VCVerificationPill-
|
|
5
|
+
var VCVerificationPill = require('./VCVerificationPill-93260164.js');
|
|
6
6
|
var FlipArrowRight = require('./ArrowArcRight.svg');
|
|
7
|
-
var credential_helpers = require('./credential.helpers-
|
|
7
|
+
var credential_helpers = require('./credential.helpers-a11b14f1.js');
|
|
8
8
|
|
|
9
9
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
10
10
|
|
|
@@ -67,4 +67,4 @@ const VCDisplayBackFace = ({
|
|
|
67
67
|
};
|
|
68
68
|
|
|
69
69
|
exports.VCDisplayBackFace = VCDisplayBackFace;
|
|
70
|
-
//# sourceMappingURL=VCDisplayBackFace-
|
|
70
|
+
//# sourceMappingURL=VCDisplayBackFace-be7d1e31.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VCDisplayBackFace-
|
|
1
|
+
{"version":3,"file":"VCDisplayBackFace-be7d1e31.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":["getNameFromProfile","React","FlipArrowRight","VCVerificationCheckWithText","VCVerificationPill"],"mappings":"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"}
|
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
var React = require('react');
|
|
4
4
|
var FlippyCard = require('./FlippyCard-bf0fd493.js');
|
|
5
5
|
var FatArrow = require('./icon.green.fat-arrow.png');
|
|
6
|
-
var UserProfilePicture = require('./UserProfilePicture-
|
|
6
|
+
var UserProfilePicture = require('./UserProfilePicture-80675455.js');
|
|
7
7
|
var VCVerificationCheck = require('./VCVerificationCheck-92198135.js');
|
|
8
|
-
var credential_helpers = require('./credential.helpers-
|
|
9
|
-
var VCDisplayBackFace = require('./VCDisplayBackFace-
|
|
8
|
+
var credential_helpers = require('./credential.helpers-a11b14f1.js');
|
|
9
|
+
var VCDisplayBackFace = require('./VCDisplayBackFace-be7d1e31.js');
|
|
10
10
|
|
|
11
11
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
12
12
|
|
|
@@ -188,4 +188,4 @@ const VCDisplayCard = ({
|
|
|
188
188
|
};
|
|
189
189
|
|
|
190
190
|
exports.VCDisplayCard = VCDisplayCard;
|
|
191
|
-
//# sourceMappingURL=VCDisplayCard-
|
|
191
|
+
//# sourceMappingURL=VCDisplayCard-e50b4801.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VCDisplayCard-b3f9ae8d.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":["getNameFromProfile","getImageFromProfile","React","UserProfilePicture","FatArrow","VCVerificationCheckWithText","useState","getInfoFromCredential","FlippyCard","VCDisplayBackFace"],"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,GAAaA,qCAAmB,CAAA,MAAA,IAAA,IAAA,GAAA,MAAA,GAAU,EAAE,CAAA,CAAA;AAClD,EAAM,MAAA,UAAA,GAAaA,qCAAmB,CAAA,MAAA,IAAA,IAAA,GAAA,MAAA,GAAU,EAAE,CAAA,CAAA;AAClD,EAAM,MAAA,WAAA,GAAcC,sCAAoB,CAAA,MAAA,IAAA,IAAA,GAAA,MAAA,GAAU,EAAE,CAAA,CAAA;AACpD,EAAM,MAAA,WAAA,GAAcA,sCAAoB,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,mBAAAC,yBAAA,CAAA,aAAA;AAAA,MAACC,qCAAA;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,mBAAAD,yBAAA,CAAA,aAAA;AAAA,MAACC,qCAAA;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,mBAAAD,yBAAA,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,sBAGNA,yBAAA,CAAA,aAAA,CAAAA,yBAAA,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,uBAAAA,yBAAA,CAAA,aAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACG,SAAA,EAAW,sNAAsN,SAAS,CAAA,CAAA;AAAA,KAAA;AAAA,oBAE1OA,yBAAA,CAAA,aAAA,CAAC,SAAQ,EAAA,EAAA,SAAA,EAAU,4EAA6E,EAAA,CAAA;AAAA,4DAC/F,SAAQ,EAAA,EAAA,SAAA,EAAU,iFACf,EAAA,kBAAAA,yBAAA,CAAA,aAAA,CAAC,aAAQ,SAAU,EAAA,6BAAA,EAAA,EAA+B,aAAc,CAAA,0DAE/D,SAAQ,EAAA,EAAA,SAAA,EAAU,wDACdA,yBAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAI,WAAU,oEACX,EAAA,kBAAAA,yBAAA,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,0DAEC,SAAQ,EAAA,EAAA,SAAA,EAAU,kFACd,EAAA,EAAA,CAAC,sCAEMA,yBAAA,CAAA,aAAA,CAAAA,yBAAA,CAAA,QAAA,EAAA,IAAA,kBAAAA,yBAAA,CAAA,aAAA,CAAC,SAAI,SAAU,EAAA,6FAAA,EAAA,EACV,aACL,CACA,kBAAAA,yBAAA,CAAA,aAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACG,SAAU,EAAA,mBAAA;AAAA,QACV,MAAK,EAAY,GAAAE,4BAAA,KAAA,IAAA,GAAA,EAAA,GAAA,EAAA;AAAA,QACjB,GAAI,EAAA,gBAAA;AAAA,OAAA;AAAA,KAER,kBAAAF,yBAAA,CAAA,aAAA,CAAC,KAAI,EAAA,EAAA,SAAA,EAAU,6FACV,EAAA,EAAA,aACL,CACJ,CAER,CAEA,kBAAAA,yBAAA,CAAA,aAAA,CAAC,KAAI,EAAA,EAAA,SAAA,EAAU,oCACX,EAAA,kBAAAA,yBAAA,CAAA,aAAA;AAAA,MAAC,GAAA;AAAA,MAAA;AAAA,QACG,SAAU,EAAA,oFAAA;AAAA,QACV,aAAY,EAAA,wBAAA;AAAA,OAAA;AAAA,MACf,YAAA;AAAA,sBACcA,yBAAA,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,sBACpBA,yBAAA,CAAA,aAAA,CAAA,MAAA,EAAA,EAAK,SAAU,EAAA,yBAAA,EAAA,EAA0B,KAAE,UAAW,CAAA;AAAA,KAE/D,CAEA,kBAAAA,yBAAA,CAAA,aAAA;AAAA,MAAC,QAAA;AAAA,MAAA;AAAA,QACG,OAAS,EAAA,WAAA;AAAA,QACT,SAAU,EAAA,gFAAA;AAAA,OAAA;AAAA,sBAEVA,yBAAA,CAAA,aAAA,CAAC,UAAK,SAAU,EAAA,qBAAA,EAAA,0DACX,GAAE,EAAA,EAAA,SAAA,EAAU,mBAAoB,EAAA,EAAA,cAAY,CACjD,CAAA;AAAA,KAER,CAAA;AAAA,4DAEC,KAAI,EAAA,EAAA,SAAA,EAAU,6DACVA,yBAAA,CAAA,aAAA,CAAAG,+CAAA,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,GAAIC,eAAS,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,GAAIC,yCAAsB,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,uBAAAL,yBAAA,CAAA,aAAA,CAACM,yBAAW,SACR,EAAA,kBAAAN,yBAAA,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,kBAAAA,yBAAA,CAAA,aAAA;AAAA,IAACO,mCAAA;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-e50b4801.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":["getNameFromProfile","getImageFromProfile","React","UserProfilePicture","FatArrow","VCVerificationCheckWithText","useState","getInfoFromCredential","FlippyCard","VCDisplayBackFace"],"mappings":"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"}
|
|
@@ -1,19 +1,20 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var React = require('react');
|
|
4
|
+
require('./index-838fa72c.js');
|
|
4
5
|
var VCVerificationCheck = require('./VCVerificationCheck-92198135.js');
|
|
5
|
-
var UserProfilePicture = require('./UserProfilePicture-
|
|
6
|
-
var credential_helpers = require('./credential.helpers-
|
|
7
|
-
var VerifierStateBadgeAndText = require('./VerifierStateBadgeAndText-
|
|
6
|
+
var UserProfilePicture = require('./UserProfilePicture-80675455.js');
|
|
7
|
+
var credential_helpers = require('./credential.helpers-a11b14f1.js');
|
|
8
|
+
var VerifierStateBadgeAndText = require('./VerifierStateBadgeAndText-806b6c2c.js');
|
|
8
9
|
require('./index-0cac2c5b.js');
|
|
9
10
|
var Lightbox = require('./Lightbox-d72e19ba.js');
|
|
10
|
-
var types_esm = require('./types.esm-
|
|
11
|
-
var CertificateDisplayCard = require('./CertificateDisplayCard-
|
|
11
|
+
var types_esm = require('./types.esm-4d399274.js');
|
|
12
|
+
var CertificateDisplayCard = require('./CertificateDisplayCard-217ce543.js');
|
|
12
13
|
var QRCodeIcon = require('./QRCodeIcon-3021a53b.js');
|
|
13
14
|
var index = require('./index-5488badc.js');
|
|
14
15
|
var PuzzlePiece = require('./PuzzlePiece-e64f4596.js');
|
|
15
16
|
var IDSleeve = require('./id-sleeve.png');
|
|
16
|
-
var MeritBadgeDisplayCard = require('./MeritBadgeDisplayCard-
|
|
17
|
+
var MeritBadgeDisplayCard = require('./MeritBadgeDisplayCard-f610c4e8.js');
|
|
17
18
|
|
|
18
19
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
19
20
|
|
|
@@ -825,6 +826,34 @@ const VC2BackFace = ({
|
|
|
825
826
|
), alignment && /* @__PURE__ */ React__default["default"].createElement(CertificateDisplayCard.AlignmentsBox, { alignment, style: "boost" }), verificationItems && verificationItems.length > 0 && /* @__PURE__ */ React__default["default"].createElement(VerificationsBox, { verificationItems })));
|
|
826
827
|
};
|
|
827
828
|
|
|
829
|
+
const BadgeThumbnailPlaceholder = () => /* @__PURE__ */ React__default["default"].createElement(
|
|
830
|
+
"svg",
|
|
831
|
+
{
|
|
832
|
+
viewBox: "0 0 24 24",
|
|
833
|
+
fill: "none",
|
|
834
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
835
|
+
className: "w-1/2 h-1/2 text-grayscale-400",
|
|
836
|
+
"aria-hidden": "true"
|
|
837
|
+
},
|
|
838
|
+
/* @__PURE__ */ React__default["default"].createElement("circle", { cx: "12", cy: "9", r: "6", stroke: "currentColor", strokeWidth: "1.75" }),
|
|
839
|
+
/* @__PURE__ */ React__default["default"].createElement(
|
|
840
|
+
"path",
|
|
841
|
+
{
|
|
842
|
+
d: "M8.5 14.5 7 22l5-3 5 3-1.5-7.5",
|
|
843
|
+
stroke: "currentColor",
|
|
844
|
+
strokeWidth: "1.75",
|
|
845
|
+
strokeLinecap: "round",
|
|
846
|
+
strokeLinejoin: "round"
|
|
847
|
+
}
|
|
848
|
+
),
|
|
849
|
+
/* @__PURE__ */ React__default["default"].createElement(
|
|
850
|
+
"path",
|
|
851
|
+
{
|
|
852
|
+
d: "M12 6.5 13 8.3l2 .3-1.4 1.4.3 2L12 11l-1.9.9.3-2L9 8.6l2-.3L12 6.5Z",
|
|
853
|
+
fill: "currentColor"
|
|
854
|
+
}
|
|
855
|
+
)
|
|
856
|
+
);
|
|
828
857
|
const VC2FrontFaceInfo = ({
|
|
829
858
|
credential,
|
|
830
859
|
issuee,
|
|
@@ -842,6 +871,10 @@ const VC2FrontFaceInfo = ({
|
|
|
842
871
|
}) => {
|
|
843
872
|
const issuerImage = credential_helpers.getImageFromProfile(issuer != null ? issuer : "");
|
|
844
873
|
const issueeImage = credential_helpers.getImageFromProfile(issuee != null ? issuee : "");
|
|
874
|
+
const [thumbErrored, setThumbErrored] = React__default["default"].useState(false);
|
|
875
|
+
React__default["default"].useEffect(() => {
|
|
876
|
+
setThumbErrored(false);
|
|
877
|
+
}, [imageUrl]);
|
|
845
878
|
const issueeDisplay = VerifierStateBadgeAndText.resolveProfileDisplay(issuee, "");
|
|
846
879
|
const issuerDisplay = VerifierStateBadgeAndText.resolveProfileDisplay(issuer, "");
|
|
847
880
|
const { credentialSubject } = credential_helpers.getInfoFromCredential(credential, "MMM dd, yyyy", {
|
|
@@ -905,13 +938,15 @@ const VC2FrontFaceInfo = ({
|
|
|
905
938
|
verifierState = isAppIssuerDid ? VerifierStateBadgeAndText.VERIFIER_STATES.appIssuer : VerifierStateBadgeAndText.VERIFIER_STATES.unknownVerifier;
|
|
906
939
|
}
|
|
907
940
|
}
|
|
908
|
-
return /* @__PURE__ */ React__default["default"].createElement(v, { inverseFlipId: "card" }, /* @__PURE__ */ React__default["default"].createElement("section", { className: "vc-front-face w-full px-[15px] flex flex-col items-center gap-[15px]" }, imageUrl && !customThumbComponent && /* @__PURE__ */ React__default["default"].createElement(
|
|
941
|
+
return /* @__PURE__ */ React__default["default"].createElement(v, { inverseFlipId: "card" }, /* @__PURE__ */ React__default["default"].createElement("section", { className: "vc-front-face w-full px-[15px] flex flex-col items-center gap-[15px]" }, imageUrl && !customThumbComponent && (thumbErrored ? /* @__PURE__ */ React__default["default"].createElement("div", { className: "vc-front-image h-[130px] w-[130px] rounded-[10px] bg-grayscale-100 flex items-center justify-center" }, /* @__PURE__ */ React__default["default"].createElement(BadgeThumbnailPlaceholder, null)) : /* @__PURE__ */ React__default["default"].createElement(
|
|
909
942
|
"img",
|
|
910
943
|
{
|
|
911
|
-
className: "vc-front-image h-[130px] w-[130px] rounded-[10px]",
|
|
912
|
-
src: imageUrl
|
|
944
|
+
className: "vc-front-image h-[130px] w-[130px] rounded-[10px] bg-white object-cover",
|
|
945
|
+
src: imageUrl,
|
|
946
|
+
alt: "credential thumbnail",
|
|
947
|
+
onError: () => setThumbErrored(true)
|
|
913
948
|
}
|
|
914
|
-
), customThumbComponent && customThumbComponent, /* @__PURE__ */ React__default["default"].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__default["default"].createElement(React__default["default"].Fragment, null, /* @__PURE__ */ React__default["default"].createElement("h3", { className: "flex flex-col text-center leading-[130%] w-full" }, !issueeDisplay.isMissing && issueeDisplay.isDidValue && /* @__PURE__ */ React__default["default"].createElement("span", { className: "flex flex-wrap items-baseline justify-center gap-1 text-[17px] leading-normal font-[600] font-poppins max-w-full
|
|
949
|
+
)), customThumbComponent && customThumbComponent, /* @__PURE__ */ React__default["default"].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__default["default"].createElement(React__default["default"].Fragment, null, /* @__PURE__ */ React__default["default"].createElement("h3", { className: "flex flex-col text-center leading-[130%] w-full" }, !issueeDisplay.isMissing && issueeDisplay.isDidValue && /* @__PURE__ */ React__default["default"].createElement("span", { className: "flex flex-wrap items-baseline justify-center gap-x-1 text-[17px] leading-normal font-[600] font-poppins max-w-full break-words" }, /* @__PURE__ */ React__default["default"].createElement("span", { className: "text-grayscale-900" }, "Digital ID:"), /* @__PURE__ */ React__default["default"].createElement("span", { className: "text-grayscale-500 underline" }, issueeDisplay.displayName)), !issueeDisplay.isMissing && !issueeDisplay.isDidValue && /* @__PURE__ */ React__default["default"].createElement("span", { className: "font-poppins font-semibold text-[20px] leading-[130%] max-w-full line-clamp-2 break-words text-grayscale-900" }, issueeDisplay.displayName), subjectDID && !issueeDisplay.isDidValue && !issueeDisplay.isLCNetwork && /* @__PURE__ */ React__default["default"].createElement("span", { className: "text-[12px] text-grayscale-500 leading-[18px] font-poppins font-normal m-0 p-0" }, subjectDID)), /* @__PURE__ */ React__default["default"].createElement("div", { className: "relative" }, /* @__PURE__ */ React__default["default"].createElement("div", { className: "vc-issuee-image h-[60px] w-[60px] rounded-full overflow-hidden bg-white" }, issueeImageEl), /* @__PURE__ */ React__default["default"].createElement("div", { className: "vc-issuer-image h-[30px] w-[30px] rounded-full overflow-hidden absolute bottom-[-12px] right-[-12px] bg-white" }, issuerImageEl)), /* @__PURE__ */ React__default["default"].createElement("div", { className: "flex flex-col gap-[13px]" }, /* @__PURE__ */ React__default["default"].createElement("div", { className: "vc-issue-details mt-[10px] flex flex-col items-center font-poppins text-[14px] leading-[20px]" }, /* @__PURE__ */ React__default["default"].createElement("span", { className: "created-at text-grayscale-700" }, createdAt), !issuerDisplay.isMissing && /* @__PURE__ */ React__default["default"].createElement("span", { className: "issued-by max-w-full break-words text-center line-clamp-2 text-[14px]" }, /* @__PURE__ */ React__default["default"].createElement("span", { className: "font-medium text-grayscale-900" }, "By"), " ", issuerDisplay.isDidValue ? /* @__PURE__ */ React__default["default"].createElement("span", { className: "font-[600] font-poppins break-words" }, /* @__PURE__ */ React__default["default"].createElement("span", { className: "text-grayscale-900" }, "Digital ID:"), " ", /* @__PURE__ */ React__default["default"].createElement("span", { className: "text-grayscale-500 underline" }, issuerDisplay.displayName)) : /* @__PURE__ */ React__default["default"].createElement("strong", { className: "font-bold text-grayscale-900 break-words" }, issuerDisplay.displayName))), /* @__PURE__ */ React__default["default"].createElement(
|
|
915
950
|
VerifierStateBadgeAndText.VerifierStateBadgeAndText,
|
|
916
951
|
{
|
|
917
952
|
verifierState,
|
|
@@ -1024,7 +1059,7 @@ const VCIDDisplayFrontFace = ({
|
|
|
1024
1059
|
"button",
|
|
1025
1060
|
{
|
|
1026
1061
|
type: "button",
|
|
1027
|
-
className: "vc-toggle-side-button text-white shadow-bottom bg-[#00000099] px-[
|
|
1062
|
+
className: "vc-toggle-side-button text-white shadow-bottom bg-[#00000099] px-[24px] py-[8px] rounded-[40px] text-[16px] font-poppins font-medium leading-normal mt-[25px] w-fit select-none",
|
|
1028
1063
|
onClick: () => setIsFront(!isFront)
|
|
1029
1064
|
},
|
|
1030
1065
|
"Details"
|
|
@@ -1428,7 +1463,7 @@ const VCDisplayCard2 = ({
|
|
|
1428
1463
|
"button",
|
|
1429
1464
|
{
|
|
1430
1465
|
type: "button",
|
|
1431
|
-
className: "vc-toggle-side-button text-white shadow-bottom bg-[#00000099] px-[
|
|
1466
|
+
className: "vc-toggle-side-button text-white shadow-bottom bg-[#00000099] px-[24px] py-[8px] rounded-[40px] text-[16px] font-poppins font-medium leading-normal mt-[40px] w-fit select-none",
|
|
1432
1467
|
onClick: () => setIsFront(!isFront)
|
|
1433
1468
|
},
|
|
1434
1469
|
"Details"
|
|
@@ -1436,7 +1471,7 @@ const VCDisplayCard2 = ({
|
|
|
1436
1471
|
"button",
|
|
1437
1472
|
{
|
|
1438
1473
|
type: "button",
|
|
1439
|
-
className: "vc-toggle-side-button text-white shadow-bottom bg-[#00000099] px-[
|
|
1474
|
+
className: "vc-toggle-side-button text-white shadow-bottom bg-[#00000099] px-[24px] py-[8px] rounded-[40px] text-[16px] font-poppins font-medium leading-normal mt-[40px] w-fit select-none",
|
|
1440
1475
|
onClick: () => setIsFront(!isFront)
|
|
1441
1476
|
},
|
|
1442
1477
|
/* @__PURE__ */ React__default["default"].createElement("span", { className: "flex gap-[10px] items-center" }, /* @__PURE__ */ React__default["default"].createElement(VerifierStateBadgeAndText.LeftArrow, null), "Back")
|
|
@@ -1471,4 +1506,4 @@ const VCDisplayCard2 = ({
|
|
|
1471
1506
|
exports.VCDisplayCard2 = VCDisplayCard2;
|
|
1472
1507
|
exports.VCDisplayCardSkillsCount = VCDisplayCardSkillsCount;
|
|
1473
1508
|
exports.VCIDDisplayCard = VCIDDisplayCard;
|
|
1474
|
-
//# sourceMappingURL=VCDisplayCard2-
|
|
1509
|
+
//# sourceMappingURL=VCDisplayCard2-648a9543.js.map
|