@learncard/react 2.9.29 → 2.10.1
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-f2f66b1c.js} +6 -5
- package/dist/cjs/BoostGenericCard-f2f66b1c.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-ca865915.js} +51 -13
- package/dist/cjs/CertificateDisplayCard-ca865915.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/{IDDisplayIcon-4b6ce62f.js → IDDisplayIcon-922a5fcf.js} +14 -14
- package/dist/cjs/IDDisplayIcon-922a5fcf.js.map +1 -0
- package/dist/cjs/{MeritBadgeDisplayCard-7535f16d.js → MeritBadgeDisplayCard-c2f39f1f.js} +52 -13
- package/dist/cjs/MeritBadgeDisplayCard-c2f39f1f.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/{UserProfilePicture-22944d8f.js → UserProfilePicture-80675455.js} +8 -3
- package/dist/cjs/UserProfilePicture-80675455.js.map +1 -0
- package/dist/cjs/{VCCard-8b62170d.js → VCCard-f0735377.js} +3 -3
- package/dist/cjs/{VCCard-8b62170d.js.map → VCCard-f0735377.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-e14da0aa.js} +94 -39
- package/dist/cjs/VCDisplayCard2-e14da0aa.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-db71ebb2.js} +383 -610
- package/dist/cjs/VerifierStateBadgeAndText-db71ebb2.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.js +187 -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 +215 -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 +2 -3
- package/dist/cjs/index31.js.map +1 -1
- 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 +34 -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 +37 -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 +27 -27
- 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-fbf76c2c.js} +6 -5
- package/dist/esm/BoostGenericCard-fbf76c2c.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-8f3f43b4.js} +51 -13
- package/dist/esm/CertificateDisplayCard-8f3f43b4.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/{IDDisplayIcon-d87174fd.js → IDDisplayIcon-f6993140.js} +14 -14
- package/dist/esm/IDDisplayIcon-f6993140.js.map +1 -0
- package/dist/esm/{MeritBadgeDisplayCard-4c768f06.js → MeritBadgeDisplayCard-1b080902.js} +52 -13
- package/dist/esm/MeritBadgeDisplayCard-1b080902.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/{UserProfilePicture-7e131f5d.js → UserProfilePicture-50c34186.js} +8 -3
- package/dist/esm/UserProfilePicture-50c34186.js.map +1 -0
- package/dist/esm/{VCCard-6c25c2d5.js → VCCard-dcf5ef3d.js} +3 -3
- package/dist/esm/{VCCard-6c25c2d5.js.map → VCCard-dcf5ef3d.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-5003e0c8.js} +93 -38
- package/dist/esm/VCDisplayCard2-5003e0c8.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-f878973e.js} +380 -612
- package/dist/esm/VerifierStateBadgeAndText-f878973e.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.js +177 -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 +135 -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 +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 +33 -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 +29 -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 +103 -16
- package/dist/main.css +1 -1
- package/dist/main.js +1 -1
- package/package.json +9 -13
- 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/IDDisplayIcon-4b6ce62f.js.map +0 -1
- package/dist/cjs/MeritBadgeDisplayCard-7535f16d.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/IDDisplayIcon-d87174fd.js.map +0 -1
- package/dist/esm/MeritBadgeDisplayCard-4c768f06.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
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var React = require('react');
|
|
4
|
+
|
|
5
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
6
|
+
|
|
7
|
+
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
8
|
+
|
|
9
|
+
const BadgeThumbnailImg = ({
|
|
10
|
+
src,
|
|
11
|
+
alt = "badge thumbnail",
|
|
12
|
+
className = "",
|
|
13
|
+
placeholderClassName = "text-grayscale-400"
|
|
14
|
+
}) => {
|
|
15
|
+
const [errored, setErrored] = React__default["default"].useState(false);
|
|
16
|
+
React__default["default"].useEffect(() => {
|
|
17
|
+
setErrored(false);
|
|
18
|
+
}, [src]);
|
|
19
|
+
if (!src || errored) {
|
|
20
|
+
return /* @__PURE__ */ React__default["default"].createElement("div", { className: "flex h-full w-full items-center justify-center" }, /* @__PURE__ */ React__default["default"].createElement(
|
|
21
|
+
"svg",
|
|
22
|
+
{
|
|
23
|
+
viewBox: "0 0 24 24",
|
|
24
|
+
fill: "none",
|
|
25
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
26
|
+
className: `w-1/2 h-1/2 ${placeholderClassName}`,
|
|
27
|
+
"aria-hidden": "true",
|
|
28
|
+
"data-testid": "badge-thumbnail-placeholder"
|
|
29
|
+
},
|
|
30
|
+
/* @__PURE__ */ React__default["default"].createElement("circle", { cx: "12", cy: "9", r: "6", stroke: "currentColor", strokeWidth: "1.75" }),
|
|
31
|
+
/* @__PURE__ */ React__default["default"].createElement(
|
|
32
|
+
"path",
|
|
33
|
+
{
|
|
34
|
+
d: "M8.5 14.5 7 22l5-3 5 3-1.5-7.5",
|
|
35
|
+
stroke: "currentColor",
|
|
36
|
+
strokeWidth: "1.75",
|
|
37
|
+
strokeLinecap: "round",
|
|
38
|
+
strokeLinejoin: "round"
|
|
39
|
+
}
|
|
40
|
+
)
|
|
41
|
+
));
|
|
42
|
+
}
|
|
43
|
+
return /* @__PURE__ */ React__default["default"].createElement(
|
|
44
|
+
"img",
|
|
45
|
+
{
|
|
46
|
+
src,
|
|
47
|
+
alt,
|
|
48
|
+
className: `bg-white ${className}`,
|
|
49
|
+
onError: () => setErrored(true)
|
|
50
|
+
}
|
|
51
|
+
);
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
exports.BadgeThumbnailImg = BadgeThumbnailImg;
|
|
55
|
+
//# sourceMappingURL=BadgeThumbnailImg-02df88f9.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BadgeThumbnailImg-02df88f9.js","sources":["../../src/components/BadgeThumbnailImg/BadgeThumbnailImg.tsx"],"sourcesContent":["import React from 'react';\n\ntype BadgeThumbnailImgProps = {\n src?: string;\n alt?: string;\n className?: string;\n /**\n * Tailwind color class for the placeholder glyph. Defaults to a neutral\n * gray that reads well on light backgrounds; pass e.g. `text-white` when\n * the thumbnail sits on a colored badge circle.\n */\n placeholderClassName?: string;\n};\n\n/**\n * Credential/badge thumbnail image with a graceful broken-image fallback.\n *\n * When `src` is empty or the image fails to load (404 / decode error), a\n * neutral medal/badge glyph placeholder is rendered instead of the browser's\n * broken-image icon. A white backing is applied to the image so transparent\n * logos don't pick up whatever sits behind the thumbnail.\n *\n * This is the react-learn-card-local equivalent of learn-card-base's\n * BadgeThumbnailImg (react-learn-card cannot depend on learn-card-base).\n */\nconst BadgeThumbnailImg: React.FC<BadgeThumbnailImgProps> = ({\n src,\n alt = 'badge thumbnail',\n className = '',\n placeholderClassName = 'text-grayscale-400',\n}) => {\n const [errored, setErrored] = React.useState(false);\n\n React.useEffect(() => {\n setErrored(false);\n }, [src]);\n\n if (!src || errored) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <svg\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={`w-1/2 h-1/2 ${placeholderClassName}`}\n aria-hidden=\"true\"\n data-testid=\"badge-thumbnail-placeholder\"\n >\n <circle cx=\"12\" cy=\"9\" r=\"6\" stroke=\"currentColor\" strokeWidth=\"1.75\" />\n <path\n d=\"M8.5 14.5 7 22l5-3 5 3-1.5-7.5\"\n stroke=\"currentColor\"\n strokeWidth=\"1.75\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n </div>\n );\n }\n\n return (\n <img\n src={src}\n alt={alt}\n className={`bg-white ${className}`}\n onError={() => setErrored(true)}\n />\n );\n};\n\nexport default BadgeThumbnailImg;\n"],"names":["React"],"mappings":";;;;;;;;AAyBA,MAAM,oBAAsD,CAAC;AAAA,EACzD,GAAA;AAAA,EACA,GAAM,GAAA,iBAAA;AAAA,EACN,SAAY,GAAA,EAAA;AAAA,EACZ,oBAAuB,GAAA,oBAAA;AAC3B,CAAM,KAAA;AACF,EAAA,MAAM,CAAC,OAAS,EAAA,UAAU,CAAI,GAAAA,yBAAA,CAAM,SAAS,KAAK,CAAA,CAAA;AAElD,EAAAA,yBAAA,CAAM,UAAU,MAAM;AAClB,IAAA,UAAA,CAAW,KAAK,CAAA,CAAA;AAAA,GACpB,EAAG,CAAC,GAAG,CAAC,CAAA,CAAA;AAER,EAAI,IAAA,CAAC,OAAO,OAAS,EAAA;AACjB,IACI,uBAAAA,yBAAA,CAAA,aAAA,CAAC,KAAI,EAAA,EAAA,SAAA,EAAU,gDACX,EAAA,kBAAAA,yBAAA,CAAA,aAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACG,OAAQ,EAAA,WAAA;AAAA,QACR,IAAK,EAAA,MAAA;AAAA,QACL,KAAM,EAAA,4BAAA;AAAA,QACN,SAAA,EAAW,eAAe,oBAAoB,CAAA,CAAA;AAAA,QAC9C,aAAY,EAAA,MAAA;AAAA,QACZ,aAAY,EAAA,6BAAA;AAAA,OAAA;AAAA,sBAEZA,yBAAA,CAAA,aAAA,CAAC,QAAO,EAAA,EAAA,EAAA,EAAG,IAAK,EAAA,EAAA,EAAG,GAAI,EAAA,CAAA,EAAE,GAAI,EAAA,MAAA,EAAO,cAAe,EAAA,WAAA,EAAY,MAAO,EAAA,CAAA;AAAA,sBACtEA,yBAAA,CAAA,aAAA;AAAA,QAAC,MAAA;AAAA,QAAA;AAAA,UACG,CAAE,EAAA,gCAAA;AAAA,UACF,MAAO,EAAA,cAAA;AAAA,UACP,WAAY,EAAA,MAAA;AAAA,UACZ,aAAc,EAAA,OAAA;AAAA,UACd,cAAe,EAAA,OAAA;AAAA,SAAA;AAAA,OACnB;AAAA,KAER,CAAA,CAAA;AAAA,GAER;AAEA,EACI,uBAAAA,yBAAA,CAAA,aAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACG,GAAA;AAAA,MACA,GAAA;AAAA,MACA,SAAA,EAAW,YAAY,SAAS,CAAA,CAAA;AAAA,MAChC,OAAA,EAAS,MAAM,UAAA,CAAW,IAAI,CAAA;AAAA,KAAA;AAAA,GAClC,CAAA;AAER;;;;"}
|
|
@@ -3,10 +3,11 @@
|
|
|
3
3
|
var React = require('react');
|
|
4
4
|
var index$1 = require('./index-5488badc.js');
|
|
5
5
|
var index = require('./index-ba659c28.js');
|
|
6
|
-
var IDDisplayIcon = require('./IDDisplayIcon-
|
|
6
|
+
var IDDisplayIcon = require('./IDDisplayIcon-922a5fcf.js');
|
|
7
7
|
var PuzzlePiece = require('./PuzzlePiece-e64f4596.js');
|
|
8
|
-
var credential_helpers = require('./credential.helpers-
|
|
8
|
+
var credential_helpers = require('./credential.helpers-a11b14f1.js');
|
|
9
9
|
var ThreeDotVertical = require('./ThreeDotVertical-dda0e747.js');
|
|
10
|
+
var BadgeThumbnailImg = require('./BadgeThumbnailImg-02df88f9.js');
|
|
10
11
|
var CircleCheckButton = require('./CircleCheckButton-f76e5b5d.js');
|
|
11
12
|
|
|
12
13
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
@@ -120,7 +121,7 @@ const BoostGenericCard = ({
|
|
|
120
121
|
onClick: handleInnerClick
|
|
121
122
|
},
|
|
122
123
|
customThumbComponent || /* @__PURE__ */ React__default["default"].createElement("section", { className: defaultThumbClass }, (thumbImgSrc == null ? void 0 : thumbImgSrc.trim()) ? /* @__PURE__ */ React__default["default"].createElement(
|
|
123
|
-
|
|
124
|
+
BadgeThumbnailImg.BadgeThumbnailImg,
|
|
124
125
|
{
|
|
125
126
|
className: "w-full h-full rounded-full object-cover",
|
|
126
127
|
src: thumbImgSrc,
|
|
@@ -150,7 +151,7 @@ const BoostGenericCard = ({
|
|
|
150
151
|
title
|
|
151
152
|
},
|
|
152
153
|
title
|
|
153
|
-
) : customTitle,
|
|
154
|
+
) : customTitle, /* @__PURE__ */ React__default["default"].createElement("div", { className: "mt-1 w-full px-4 text-center" }, /* @__PURE__ */ React__default["default"].createElement("span", { className: "line-clamp-2 break-words text-[12px] leading-snug text-grayscale-700" }, verifierBadge && /* @__PURE__ */ React__default["default"].createElement("span", { className: "mr-1 inline-block align-middle" }, verifierBadge), customIssuerName || /* @__PURE__ */ React__default["default"].createElement("span", { className: "font-bold" }, issuerName))), customDateDisplay || /* @__PURE__ */ React__default["default"].createElement("span", { className: "text-[11px] text-grayscale-700 mt-1" }, dateDisplay), isInSkillsModal && credential && /* @__PURE__ */ React__default["default"].createElement(
|
|
154
155
|
AlignmentSkillsCount,
|
|
155
156
|
{
|
|
156
157
|
credential,
|
|
@@ -180,4 +181,4 @@ const BoostGenericCard = ({
|
|
|
180
181
|
};
|
|
181
182
|
|
|
182
183
|
exports.BoostGenericCard = BoostGenericCard;
|
|
183
|
-
//# sourceMappingURL=BoostGenericCard-
|
|
184
|
+
//# sourceMappingURL=BoostGenericCard-f2f66b1c.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BoostGenericCard-f2f66b1c.js","sources":["../../src/components/BoostGenericCard/AlignmentSkillsCount.tsx","../../src/helpers/display.helpers.ts","../../src/components/BoostGenericCard/BoostGenericCard.tsx"],"sourcesContent":["import React from 'react';\nimport PuzzlePiece from '../svgs/PuzzlePiece';\nimport { VC } from '@learncard/types';\nimport { categorizeSkills } from '../../helpers/credential.helpers';\n\ntype AlignmentSkillsCountProps = {\n credential?: VC;\n onClick?: () => void;\n className?: string;\n};\n\nconst AlignmentSkillsCount: React.FC<AlignmentSkillsCountProps> = ({\n credential,\n onClick,\n className = '',\n}) => {\n if (!credential) return <></>;\n\n const achievement = (credential?.credentialSubject as any)?.achievement;\n let alignmentCount = achievement?.alignment?.length || 0;\n\n if (alignmentCount === 0 && credential.skills?.length > 0) {\n // fallback to legacy skills field if present and no alignments\n const skillsMap = categorizeSkills(credential.skills ?? []);\n\n // Calculate total count of skills and subskills\n const totalSkills: any = Object.values(skillsMap).reduce(\n (total: any, category: any) => total + category?.length,\n 0\n );\n const totalSubskills: any = Object.values(skillsMap).reduce(\n (total: any, category: any) => total + (category?.totalSubskillsCount || 0),\n 0\n );\n\n const total: any = totalSkills + totalSubskills;\n alignmentCount = total;\n }\n\n return (\n <div\n role={onClick ? ('button' as const) : undefined}\n onClick={onClick}\n className={`px-[10px] py-[2px] flex gap-[3px] items-center rounded-[5px] overflow-hidden bg-violet-100 ${className}`}\n >\n <PuzzlePiece className=\"w-[20px] h-[20px] text-grayscale-800\" version=\"filled\" />\n <p className=\"text-[12px] text-grayscale-800 font-poppins font-[600]\">\n {`${alignmentCount} Skill${alignmentCount !== 1 ? 's' : ''}`}\n </p>\n </div>\n );\n};\n\nexport default AlignmentSkillsCount;\n","import { LCCategoryEnum } from '../types';\n\nimport { BadgeDisplayIcon } from '../components/svgs/BadgeDisplayIcon';\nimport { CertificateDisplayIcon } from '../components/svgs/CertificateDisplayIcon';\nimport { IDDisplayIcon } from '../components/svgs/IDDisplayIcon';\nimport { CourseDisplayIcon } from '../components/svgs/CourseDisplayIcon';\nimport { AwardDisplayIcon } from '../components/svgs/AwardDisplayIcon';\n\nexport enum DisplayTypeEnum {\n Badge = 'badge',\n Certificate = 'certificate',\n ID = 'id',\n Course = 'course',\n Award = 'award',\n}\n\nexport const getDefaultDisplayType = (category: string): DisplayTypeEnum => {\n if (category === LCCategoryEnum.socialBadge || category === LCCategoryEnum.workHistory) {\n return DisplayTypeEnum.Badge;\n }\n\n if (category === LCCategoryEnum.id || category === LCCategoryEnum.membership) {\n return DisplayTypeEnum.ID;\n }\n\n if (\n category === LCCategoryEnum.achievement ||\n category === LCCategoryEnum.accommodations ||\n category === LCCategoryEnum.accomplishments ||\n category === LCCategoryEnum.learningHistory\n ) {\n return DisplayTypeEnum.Certificate;\n }\n\n return DisplayTypeEnum.Badge;\n};\n\nexport const getDisplayIcon = (displayType: DisplayTypeEnum): React.FC<{ className?: string }> => {\n switch (displayType) {\n case DisplayTypeEnum.Badge:\n return BadgeDisplayIcon;\n case DisplayTypeEnum.Certificate:\n return CertificateDisplayIcon;\n case DisplayTypeEnum.ID:\n return IDDisplayIcon;\n case DisplayTypeEnum.Course:\n return CourseDisplayIcon;\n case DisplayTypeEnum.Award:\n return AwardDisplayIcon;\n default:\n return BadgeDisplayIcon;\n }\n};\n","import React from 'react';\nimport { BoostGenericCardProps, WalletCategoryTypes } from '../../types';\nimport { TYPE_TO_IMG_SRC, TYPE_TO_WALLET_DARK_COLOR } from '../../constants';\nimport { DisplayTypeEnum, getDisplayIcon } from '../../helpers/display.helpers';\nimport AlignmentSkillsCount from './AlignmentSkillsCount';\nimport ThreeDotVertical from '../svgs/ThreeDotVertical';\nimport { CircleCheckButton } from '../CircleCheckButton';\nimport BadgeThumbnailImg from '../BadgeThumbnailImg/BadgeThumbnailImg';\n\nexport const BoostGenericCard: React.FC<BoostGenericCardProps> = ({\n title,\n customTitle,\n thumbImgSrc,\n customThumbClass = '',\n customHeaderClass = '',\n type = WalletCategoryTypes.achievements,\n className,\n onCheckClick,\n showChecked,\n checkStatus,\n customThumbComponent,\n innerOnClick,\n bgImgSrc,\n issuerName,\n customIssuerName,\n dateDisplay,\n customDateDisplay,\n optionsTriggerOnClick,\n verifierBadge,\n credential,\n isInSkillsModal,\n displayType,\n linkedCredentialsCount = 0,\n linkedCredentialsClassName = '',\n checkBtnClass = '',\n}) => {\n const thumbClass = TYPE_TO_WALLET_DARK_COLOR[type]\n ? `bg-${TYPE_TO_WALLET_DARK_COLOR[type]}`\n : 'bg-grayscale-50';\n const defaultThumbClass = `small-boost-card-thumb flex h-[110px] w-[110px] my-[10px] mx-auto ${thumbClass} overflow-hidden flex-col justify-center items-center rounded-full ${customThumbClass}`;\n const imgSrc = thumbImgSrc?.trim() !== '' ? thumbImgSrc : TYPE_TO_IMG_SRC[type];\n\n const handleInnerClick = () => innerOnClick?.();\n const handleOptionsClick = () => optionsTriggerOnClick?.();\n\n const DisplayIcon = getDisplayIcon(displayType as DisplayTypeEnum);\n\n return (\n <div\n className={`flex bg-white flex-col shadow-bottom relative p-0 w-[160px] h-[285px] rounded-[20px] overflow-hidden ${className}`}\n >\n {optionsTriggerOnClick && (\n <section\n className=\"absolute cursor-pointer h-[30px] w-[30px] top-[5px] right-[5px] rounded-full bg-white/70 flex items-center justify-center z-20\"\n onClick={handleOptionsClick}\n >\n <ThreeDotVertical className=\"h-[20px] w-[20px] text-grayscale-900\" />\n </section>\n )}\n\n {bgImgSrc && (\n <section className=\"absolute top-[-50px] left-0 rounded-b-full overflow-hidden z-0\">\n <img className=\"h-full w-full object-cover\" src={bgImgSrc} />\n </section>\n )}\n\n <button\n type=\"button\"\n className=\"z-10 flex flex-col flex-grow\"\n onClick={handleInnerClick}\n >\n {/* Thumbnail */}\n {customThumbComponent || (\n <section className={defaultThumbClass}>\n {thumbImgSrc?.trim() ? (\n <BadgeThumbnailImg\n className=\"w-full h-full rounded-full object-cover\"\n src={thumbImgSrc}\n alt=\"Credential Achievement\"\n />\n ) : (\n <img\n className=\"max-w-full p-0 object-cover rounded-full\"\n src={imgSrc}\n />\n )}\n </section>\n )}\n\n {/* Details Section: grows to fill available space */}\n <section\n className={`flex flex-col flex-grow items-center justify-end pt-1 w-full ${\n linkedCredentialsCount === 0 ? 'pb-[20px]' : ''\n }`}\n >\n <div className=\"px-1 flex flex-col items-center justify-center w-full\">\n {/* Title - dynamically size based on length */}\n {!customTitle ? (\n <p\n className={`\n ${customHeaderClass}\n font-medium text-center text-grayscale-900 line-clamp-2\n h-[50px] flex items-center justify-center\n ${\n (title?.length ?? 0) > 35\n ? 'text-[13px] leading-tight'\n : 'text-[16px]'\n }\n `}\n title={title}\n >\n {title}\n </p>\n ) : (\n customTitle\n )}\n\n {/* Verifier & Issuer */}\n <div className=\"mt-1 w-full px-4 text-center\">\n <span className=\"line-clamp-2 break-words text-[12px] leading-snug text-grayscale-700\">\n {verifierBadge && (\n <span className=\"mr-1 inline-block align-middle\">\n {verifierBadge}\n </span>\n )}\n {customIssuerName || (\n <span className=\"font-bold\">{issuerName}</span>\n )}\n </span>\n </div>\n\n {/* Date */}\n {customDateDisplay || (\n <span className=\"text-[11px] text-grayscale-700 mt-1\">\n {dateDisplay}\n </span>\n )}\n\n {/* Skills count if in modal */}\n {isInSkillsModal && credential && (\n <AlignmentSkillsCount\n credential={credential}\n onClick={handleInnerClick}\n className=\"mt-[16px]\"\n />\n )}\n </div>\n\n {/* Linked Credentials moved inside details */}\n {linkedCredentialsCount > 0 && (\n <div\n className={`mt-auto flex items-center justify-center py-1 w-full ${linkedCredentialsClassName}`}\n >\n <DisplayIcon className=\"h-[20px] w-[20px] text-grayscale-900\" />\n <span className=\"ml-1 text-sm font-semibold text-grayscale-900\">\n +{linkedCredentialsCount} Linked\n </span>\n </div>\n )}\n </section>\n </button>\n\n {/* Optional Check Button overlay */}\n {showChecked && (\n <div className=\"absolute top-[5px] left-[5px] z-20\">\n <CircleCheckButton\n checked={checkStatus}\n onClick={onCheckClick}\n className={checkBtnClass}\n />\n </div>\n )}\n </div>\n );\n};\n\nexport default BoostGenericCard;\n"],"names":["React","categorizeSkills","total","PuzzlePiece","BadgeDisplayIcon","CertificateDisplayIcon","IDDisplayIcon","CourseDisplayIcon","AwardDisplayIcon","WalletCategoryTypes","TYPE_TO_WALLET_DARK_COLOR","TYPE_TO_IMG_SRC","ThreeDotVertical","BadgeThumbnailImg","CircleCheckButton"],"mappings":"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"}
|
|
@@ -4,7 +4,8 @@ var React = require('react');
|
|
|
4
4
|
var CaretRightFilled = require('./CaretRightFilled.svg');
|
|
5
5
|
var AddAwardLight = require('./addawardlight.svg');
|
|
6
6
|
var ThreeDotVertical = require('./ThreeDotVertical-dda0e747.js');
|
|
7
|
-
var UserProfilePicture = require('./UserProfilePicture-
|
|
7
|
+
var UserProfilePicture = require('./UserProfilePicture-80675455.js');
|
|
8
|
+
var BadgeThumbnailImg = require('./BadgeThumbnailImg-02df88f9.js');
|
|
8
9
|
var index = require('./index-5488badc.js');
|
|
9
10
|
var index$1 = require('./index-ba659c28.js');
|
|
10
11
|
var CircleCheckButton = require('./CircleCheckButton-f76e5b5d.js');
|
|
@@ -120,7 +121,7 @@ const BoostSmallCard = ({
|
|
|
120
121
|
),
|
|
121
122
|
bgImgSrc && /* @__PURE__ */ React__default["default"].createElement("section", { className: "absolute top-[-50px] shadow-bottom left-[0px] rounded-b-full overflow-hidden z-0 mt-3" }, /* @__PURE__ */ React__default["default"].createElement("img", { className: "h-full w-full object-cover overflow-hidden", src: bgImgSrc })),
|
|
122
123
|
/* @__PURE__ */ React__default["default"].createElement("div", { className: innerClickContainerClass, onClick: handleInnerClick }, customThumbComponent, !customThumbComponent && /* @__PURE__ */ React__default["default"].createElement("section", { className: defaultThumbClass }, thumbImgSrc && (thumbImgSrc == null ? void 0 : thumbImgSrc.trim()) !== "" && /* @__PURE__ */ React__default["default"].createElement(
|
|
123
|
-
|
|
124
|
+
BadgeThumbnailImg.BadgeThumbnailImg,
|
|
124
125
|
{
|
|
125
126
|
className: "generic-display-card-img h-full w-full w-[110px] h-[110px] rounded-full object-cover overflow-hidden",
|
|
126
127
|
src: thumbImgSrc != null ? thumbImgSrc : "",
|
|
@@ -162,4 +163,4 @@ const BoostSmallCard = ({
|
|
|
162
163
|
};
|
|
163
164
|
|
|
164
165
|
exports.BoostSmallCard = BoostSmallCard;
|
|
165
|
-
//# sourceMappingURL=BoostSmallCard-
|
|
166
|
+
//# sourceMappingURL=BoostSmallCard-ece8f97e.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BoostSmallCard-ece8f97e.js","sources":["../../src/helpers/color.helpers.ts","../../src/components/BoostSmallCard/BoostSmallCard.tsx"],"sourcesContent":["import { WalletCategoryTypes } from '../types';\n\nexport const getDarkBGColor = (type: WalletCategoryTypes) => {\n if (!type) return '';\n\n if (type === WalletCategoryTypes?.achievements) {\n return 'bg-orange-500';\n } else if (type === WalletCategoryTypes?.learningHistory) {\n return 'bg-emerald-500';\n } else if (type === WalletCategoryTypes?.skills) {\n return 'bg-violet-500';\n } else if (type === WalletCategoryTypes?.jobHistory) {\n return 'bg-blue-500';\n } else if (type === WalletCategoryTypes?.socialBadge) {\n return 'bg-cyan-500';\n } else if (type === WalletCategoryTypes?.relationships) {\n return 'bg-pink-500';\n } else if (type === WalletCategoryTypes?.accommodations) {\n return 'bg-amber-500';\n } else if (type === WalletCategoryTypes?.accomplishments) {\n return 'bg-lime-500';\n } else if (type === WalletCategoryTypes?.events) {\n return 'bg-fuchsia-500';\n } else if (type === WalletCategoryTypes?.membership) {\n return 'bg-teal-500';\n } else if (type === WalletCategoryTypes?.goals) {\n return 'bg-rose-500';\n } else if (type === WalletCategoryTypes?.ids) {\n return 'bg-yellow-500';\n } else if (type === WalletCategoryTypes?.currency) {\n return 'bg-cyan-500';\n }\n\n return 'bg-grayscale-900';\n};\n","import React from 'react';\n\nimport CaretRightFilled from '../../assets/images/CaretRightFilled.svg';\nimport AddAwardLight from '../../assets/images/addawardlight.svg';\nimport ThreeDotVertical from '../svgs/ThreeDotVertical';\nimport UserProfilePicture from '../UserProfilePicture/UserProfilePicture';\nimport { CircleCheckButton } from '../CircleCheckButton';\nimport BadgeThumbnailImg from '../BadgeThumbnailImg/BadgeThumbnailImg';\n\nimport { BoostSmallCardProps, WalletCategoryTypes } from '../../types';\nimport { TYPE_TO_IMG_SRC, TYPE_TO_WALLET_DARK_COLOR } from '../../constants';\nimport { getDarkBGColor } from '../../helpers/color.helpers';\n\nexport const BoostSmallCard: React.FC<BoostSmallCardProps> = ({\n title = 'Title Lorem Ipsum',\n customTitle,\n thumbImgSrc,\n customThumbClass = '',\n customHeaderClass = '',\n type = WalletCategoryTypes.achievements,\n className,\n onCheckClick,\n showChecked,\n checkStatus,\n arrowOnClick,\n buttonOnClick,\n customButtonComponent,\n customBodyClass,\n customBodyComponent,\n customThumbComponent,\n customDraftComponent,\n innerOnClick,\n issueHistory,\n bgImgSrc,\n optionsTriggerOnClick,\n}) => {\n const thumbClass = TYPE_TO_WALLET_DARK_COLOR[type]\n ? `bg-${TYPE_TO_WALLET_DARK_COLOR[type]}`\n : 'bg-grayscale-50';\n const defaultThumbClass = `small-boost-card-thumb flex h-[110px] w-[110px] my-[10px] mx-auto ${thumbClass} overflow-hidden flex-col justify-center items-center rounded-full ${customThumbClass}`;\n const imgSrc = thumbImgSrc?.trim() !== '' ? thumbImgSrc : TYPE_TO_IMG_SRC[type];\n const headerBgColor = getDarkBGColor(type);\n const checkBtnClass = checkStatus ? 'generic-vc-card checked' : 'generic-vc-card unchecked';\n const defaultHeaderClass = `flex generic-card-title w-full justify-center ${customHeaderClass}`;\n const defaultBodyClass = ` boost-small-card-body flex justify-center items-center text-center text-[14px] overflow-hidden text-grayscale-500 py-[5px] px-[10px] ${customBodyClass}`;\n const defaultButtonClass = `cursor-pointer small-boost-boost-btn flex boost-btn-click rounded-[40px] w-[140px] h-[48px] text-white flex justify-center items-center ${headerBgColor}`;\n const innerClickContainerClass = `relative cursor-pointer boost-small-card inner-click-container z-10`;\n\n const issueHistoryDisplay =\n issueHistory && issueHistory?.length > 3 ? issueHistory?.slice(0, 3) : issueHistory;\n const renderIssueHistory = issueHistoryDisplay?.map(issueItem => {\n return (\n <div\n key={issueItem?.id}\n className=\"profile-thumb-img border-[1px] border-white border-solid vc-issuee-image h-[35px] w-[35px] rounded-full overflow-hidden mx-[-5px]\"\n >\n <UserProfilePicture\n customContainerClass={`h-full w-full object-cover ${\n !issueItem?.thumb ? 'pt-[8px]' : ''\n }`}\n user={{ image: issueItem?.thumb, name: issueItem?.name }}\n alt=\"profile\"\n />\n </div>\n );\n });\n\n const handleInnerClick = () => {\n innerOnClick?.();\n };\n\n const handleOptionsClick = () => {\n optionsTriggerOnClick?.();\n };\n\n return (\n <div\n className={`flex generic-display-card-simple bg-white flex-col shadow-bottom relative $ py-[0px] px-[0px] w-[160px] h-[280px] rounded-[20px] overflow-hidden ${className}`}\n >\n {optionsTriggerOnClick && (\n <section\n className=\"absolute cursor-pointer shadow-bottom h-[30px] w-[30px] top-[5px] right-[5px] rounded-full overflow-hidden z-20 bg-white/70 flex items-center justify-center\"\n onClick={handleOptionsClick}\n >\n <ThreeDotVertical className=\"h-[20px] w-[20px] z-50 text-grayscale-900\" />\n </section>\n )}\n\n {bgImgSrc && (\n <section className=\"absolute top-[-50px] shadow-bottom left-[0px] rounded-b-full overflow-hidden z-0 mt-3\">\n <img className=\"h-full w-full object-cover overflow-hidden\" src={bgImgSrc} />\n </section>\n )}\n\n <div className={innerClickContainerClass} onClick={handleInnerClick}>\n {customThumbComponent}\n {!customThumbComponent && (\n <section className={defaultThumbClass}>\n {thumbImgSrc && thumbImgSrc?.trim() !== '' && (\n <BadgeThumbnailImg\n className=\"generic-display-card-img h-full w-full w-[110px] h-[110px] rounded-full object-cover overflow-hidden\"\n src={thumbImgSrc ?? ''}\n alt=\"Credential Achievement Image\"\n />\n )}\n {(!thumbImgSrc || thumbImgSrc?.trim() === '') && (\n <img\n className=\"max-w-[110px] w-full h-full p-[0px] object-cover rounded-full\"\n src={imgSrc}\n />\n )}\n </section>\n )}\n\n {customTitle && customTitle}\n {!customTitle && (\n <section className={defaultHeaderClass}>\n <p className=\"relative z-[100] small-boost-title text-[16px] leading-[130%] p-[0px] font-medium text-center line-clamp-2\">\n {title}\n </p>\n </section>\n )}\n\n <section className={defaultBodyClass}>\n {customBodyComponent && customBodyComponent}\n {!customBodyComponent &&\n issueHistory &&\n issueHistory?.length > 0 &&\n renderIssueHistory}\n {!customBodyComponent && issueHistory && issueHistory?.length > 3 && (\n <span className=\"small-boost-issue-count ml-[10px] font-semibold\">\n +{issueHistory?.length - 3}\n </span>\n )}\n </section>\n </div>\n\n <section className=\"small-boost-card-footer flex justify-center items-center absolute bottom-[15px] w-full\">\n {customButtonComponent && customButtonComponent}\n\n {!customButtonComponent && (\n <div className=\"flex w-full flex-col items-center justify-center\">\n {customDraftComponent && customDraftComponent}\n <div onClick={buttonOnClick} className={defaultButtonClass}>\n <img className=\"h-[25px] mr-[7px] text-\" src={AddAwardLight} />\n <span className=\"font-mouse text-[25px] tracking-wider\">BOOST</span>\n </div>\n </div>\n )}\n </section>\n {showChecked && (\n <div className=\"check-btn-overlay absolute top-[5px] left-[5px]\">\n <CircleCheckButton\n checked={checkStatus}\n onClick={onCheckClick}\n className={checkBtnClass}\n />\n </div>\n )}\n\n {arrowOnClick && (\n <button\n type=\"button\"\n onClick={arrowOnClick}\n className=\"arrow-btn-overlay absolute top-[52px] right-[2px]\"\n >\n <img\n className=\"h-full w-full object-contai\"\n src={CaretRightFilled ?? ''}\n alt=\"Right Caret\"\n />\n </button>\n )}\n </div>\n );\n};\n\nexport default BoostSmallCard;\n"],"names":["WalletCategoryTypes","TYPE_TO_WALLET_DARK_COLOR","TYPE_TO_IMG_SRC","React","UserProfilePicture","ThreeDotVertical","BadgeThumbnailImg","AddAwardLight","CircleCheckButton","CaretRightFilled"],"mappings":"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"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var React = require('react');
|
|
4
|
-
var VerifierStateBadgeAndText = require('./VerifierStateBadgeAndText-
|
|
5
|
-
var credential_helpers = require('./credential.helpers-
|
|
4
|
+
var VerifierStateBadgeAndText = require('./VerifierStateBadgeAndText-db71ebb2.js');
|
|
5
|
+
var credential_helpers = require('./credential.helpers-a11b14f1.js');
|
|
6
6
|
var PuzzlePiece = require('./PuzzlePiece-e64f4596.js');
|
|
7
|
-
var UserProfilePicture = require('./UserProfilePicture-
|
|
7
|
+
var UserProfilePicture = require('./UserProfilePicture-80675455.js');
|
|
8
8
|
var index = require('./index-5488badc.js');
|
|
9
|
-
var types_esm = require('./types.esm-
|
|
9
|
+
var types_esm = require('./types.esm-4d399274.js');
|
|
10
10
|
var Lightbox = require('./Lightbox-d72e19ba.js');
|
|
11
11
|
var CaretRightFilled = require('./CaretRightFilled.svg');
|
|
12
12
|
var ThreeDots = require('./DotsThreeOutline.svg');
|
|
@@ -601,22 +601,56 @@ const CertificateRibbon = ({ className = "" }) => {
|
|
|
601
601
|
);
|
|
602
602
|
};
|
|
603
603
|
|
|
604
|
+
const BadgePlaceholder = () => /* @__PURE__ */ React__default["default"].createElement(
|
|
605
|
+
"svg",
|
|
606
|
+
{
|
|
607
|
+
viewBox: "0 0 24 24",
|
|
608
|
+
fill: "none",
|
|
609
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
610
|
+
className: "w-1/2 h-1/2 text-grayscale-400",
|
|
611
|
+
"aria-hidden": "true"
|
|
612
|
+
},
|
|
613
|
+
/* @__PURE__ */ React__default["default"].createElement("circle", { cx: "12", cy: "9", r: "6", stroke: "currentColor", strokeWidth: "1.75" }),
|
|
614
|
+
/* @__PURE__ */ React__default["default"].createElement(
|
|
615
|
+
"path",
|
|
616
|
+
{
|
|
617
|
+
d: "M8.5 14.5 7 22l5-3 5 3-1.5-7.5",
|
|
618
|
+
stroke: "currentColor",
|
|
619
|
+
strokeWidth: "1.75",
|
|
620
|
+
strokeLinecap: "round",
|
|
621
|
+
strokeLinejoin: "round"
|
|
622
|
+
}
|
|
623
|
+
),
|
|
624
|
+
/* @__PURE__ */ React__default["default"].createElement(
|
|
625
|
+
"path",
|
|
626
|
+
{
|
|
627
|
+
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",
|
|
628
|
+
fill: "currentColor"
|
|
629
|
+
}
|
|
630
|
+
)
|
|
631
|
+
);
|
|
604
632
|
const CertificateImageDisplay = ({
|
|
605
633
|
imageUrl,
|
|
606
634
|
className = "",
|
|
607
635
|
ribbonColor = "amber-500"
|
|
608
636
|
}) => {
|
|
637
|
+
const [errored, setErrored] = React__default["default"].useState(false);
|
|
638
|
+
React__default["default"].useEffect(() => {
|
|
639
|
+
setErrored(false);
|
|
640
|
+
}, [imageUrl]);
|
|
641
|
+
const showPlaceholder = !imageUrl || errored;
|
|
609
642
|
return /* @__PURE__ */ React__default["default"].createElement(
|
|
610
643
|
"div",
|
|
611
644
|
{
|
|
612
645
|
className: `flex items-center justify-center w-[120px] h-[120px] rounded-full border-white border-solid border-4 bg-white z-50 ${className}`
|
|
613
646
|
},
|
|
614
|
-
/* @__PURE__ */ React__default["default"].createElement("div", { className: "relative w-[75%] h-[75%] flex items-center justify-center rounded-full border-white border-solid border-4 overflow-hidden
|
|
647
|
+
/* @__PURE__ */ React__default["default"].createElement("div", { className: "relative w-[75%] h-[75%] flex items-center justify-center rounded-full border-white border-solid border-4 overflow-hidden bg-white" }, showPlaceholder ? /* @__PURE__ */ React__default["default"].createElement(BadgePlaceholder, null) : /* @__PURE__ */ React__default["default"].createElement(
|
|
615
648
|
"img",
|
|
616
649
|
{
|
|
617
650
|
src: imageUrl,
|
|
618
651
|
alt: "certificate thumbnail",
|
|
619
|
-
className: "h-full w-full object-cover"
|
|
652
|
+
className: "h-full w-full object-cover",
|
|
653
|
+
onError: () => setErrored(true)
|
|
620
654
|
}
|
|
621
655
|
)),
|
|
622
656
|
/* @__PURE__ */ React__default["default"].createElement(CertificateRibbon, { className: `absolute z-[9999] ${ribbonColor} w-[120px] h-[120px]` })
|
|
@@ -640,7 +674,7 @@ const CertificateProfileImageDisplay = ({
|
|
|
640
674
|
UserProfilePicture.UserProfilePicture,
|
|
641
675
|
{
|
|
642
676
|
customContainerClass: imageClassName,
|
|
643
|
-
customImageClass: "h-full w-full object-cover leading-normal",
|
|
677
|
+
customImageClass: "h-full w-full object-cover leading-normal bg-white",
|
|
644
678
|
user: { image: imageUrl, name: userName },
|
|
645
679
|
avatarColor,
|
|
646
680
|
avatarFingerprintColor,
|
|
@@ -669,7 +703,8 @@ const CertificateFrontFace = ({
|
|
|
669
703
|
customBodyContentSlot,
|
|
670
704
|
unknownVerifierTitle,
|
|
671
705
|
hideAwardedTo: hideAwardedToProp,
|
|
672
|
-
hideFrontFaceDetails
|
|
706
|
+
hideFrontFaceDetails,
|
|
707
|
+
onVerifierClick
|
|
673
708
|
}) => {
|
|
674
709
|
var _a, _b, _c;
|
|
675
710
|
const {
|
|
@@ -792,11 +827,12 @@ const CertificateFrontFace = ({
|
|
|
792
827
|
},
|
|
793
828
|
"Details"
|
|
794
829
|
)),
|
|
795
|
-
/* @__PURE__ */ React__default["default"].createElement("div", { className: "flex flex-col gap-[5px] items-center w-full" }, /* @__PURE__ */ React__default["default"].createElement("span", { className: "font-jacques text-[12px] text-grayscale-800" }, "Certified by"), issuerDisplay.isDidValue ? /* @__PURE__ */ React__default["default"].createElement("span", { className: "mb-[3px] pt-[3px] text-grayscale-900 text-[14px] leading-[90%] font-jacques tracking-[0.25px] border-b-[1px] border-solid border-grayscale-200 w-full text-center
|
|
830
|
+
/* @__PURE__ */ React__default["default"].createElement("div", { className: "flex flex-col gap-[5px] items-center w-full" }, /* @__PURE__ */ React__default["default"].createElement("span", { className: "font-jacques text-[12px] text-grayscale-800" }, "Certified by"), issuerDisplay.isDidValue ? /* @__PURE__ */ React__default["default"].createElement("span", { className: "mb-[3px] pt-[3px] text-grayscale-900 text-[14px] leading-[90%] font-jacques tracking-[0.25px] border-b-[1px] border-solid border-grayscale-200 w-full text-center line-clamp-2 break-words scrollbar-hide" }, /* @__PURE__ */ React__default["default"].createElement("span", { className: "font-[600]" }, issuerDisplay.isDidValue ? "Digital ID: " : ""), /* @__PURE__ */ React__default["default"].createElement("span", { className: "text-grayscale-600" }, issuerName)) : /* @__PURE__ */ React__default["default"].createElement("span", { className: "mb-[3px] pt-[3px] text-grayscale-900 text-[25px] leading-[90%] font-sacramento border-b-[1px] border-solid border-grayscale-200 w-full text-center line-clamp-2 break-words scrollbar-hide" }, issuerName), /* @__PURE__ */ React__default["default"].createElement(
|
|
796
831
|
VerifierStateBadgeAndText.VerifierStateBadgeAndText,
|
|
797
832
|
{
|
|
798
833
|
verifierState,
|
|
799
|
-
unknownVerifierTitle
|
|
834
|
+
unknownVerifierTitle,
|
|
835
|
+
onClick: (event) => onVerifierClick == null ? void 0 : onVerifierClick(event, verifierState)
|
|
800
836
|
}
|
|
801
837
|
)),
|
|
802
838
|
customBodyContentSlot && customBodyContentSlot,
|
|
@@ -850,7 +886,8 @@ const CertificateDisplayCard = ({
|
|
|
850
886
|
customBodyContentSlot,
|
|
851
887
|
unknownVerifierTitle,
|
|
852
888
|
hideAwardedTo,
|
|
853
|
-
hideFrontFaceDetails
|
|
889
|
+
hideFrontFaceDetails,
|
|
890
|
+
onVerifierClick
|
|
854
891
|
}) => {
|
|
855
892
|
const [_isFront, _setIsFront] = React.useState(isFrontOverride != null ? isFrontOverride : true);
|
|
856
893
|
const isFront = isFrontOverride != null ? isFrontOverride : _isFront;
|
|
@@ -874,7 +911,8 @@ const CertificateDisplayCard = ({
|
|
|
874
911
|
customBodyContentSlot,
|
|
875
912
|
unknownVerifierTitle,
|
|
876
913
|
hideAwardedTo,
|
|
877
|
-
hideFrontFaceDetails
|
|
914
|
+
hideFrontFaceDetails,
|
|
915
|
+
onVerifierClick
|
|
878
916
|
}
|
|
879
917
|
), !isFront && /* @__PURE__ */ React__default["default"].createElement(
|
|
880
918
|
CertificateBackFace,
|
|
@@ -935,4 +973,4 @@ exports.CertDisplayCardSkillsCount = CertDisplayCardSkillsCount;
|
|
|
935
973
|
exports.CertificateBackFace = CertificateBackFace;
|
|
936
974
|
exports.CertificateDisplayCard = CertificateDisplayCard;
|
|
937
975
|
exports.CertificateFrontFace = CertificateFrontFace;
|
|
938
|
-
//# sourceMappingURL=CertificateDisplayCard-
|
|
976
|
+
//# sourceMappingURL=CertificateDisplayCard-ca865915.js.map
|