@learncard/react 2.12.7 → 2.12.9
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/{AchievementCard-98d6c7f9.js → AchievementCard-f6bdb95c.js} +5 -5
- package/dist/cjs/{AchievementCard-98d6c7f9.js.map → AchievementCard-f6bdb95c.js.map} +1 -1
- package/dist/cjs/{BoostGenericCard-470b0e5a.js → BoostGenericCard-a414aaef.js} +5 -5
- package/dist/cjs/BoostGenericCard-a414aaef.js.map +1 -0
- package/dist/cjs/{BoostSmallCard-ac8ab73d.js → BoostSmallCard-507de790.js} +6 -4
- package/dist/cjs/BoostSmallCard-507de790.js.map +1 -0
- package/dist/cjs/{CertificateDisplayCard-230b3faf.js → CertificateDisplayCard-8bd3b831.js} +18 -19
- package/dist/cjs/{CertificateDisplayCard-230b3faf.js.map → CertificateDisplayCard-8bd3b831.js.map} +1 -1
- package/dist/cjs/{CircleCheckButton-f76e5b5d.js → CircleCheckButton-05f58196.js} +2 -2
- package/dist/cjs/{CircleCheckButton-f76e5b5d.js.map → CircleCheckButton-05f58196.js.map} +1 -1
- package/dist/cjs/{CircleIcon-f0fa68c7.js → CircleIcon-47392efc.js} +3 -3
- package/dist/cjs/{CircleIcon-f0fa68c7.js.map → CircleIcon-47392efc.js.map} +1 -1
- package/dist/cjs/{CourseVerticalCard-0a8ea4dc.js → CourseVerticalCard-0d046145.js} +4 -4
- package/dist/cjs/{CourseVerticalCard-0a8ea4dc.js.map → CourseVerticalCard-0d046145.js.map} +1 -1
- package/dist/cjs/{GenericCard-cdc6eede.js → GenericCard-e2faac81.js} +4 -4
- package/dist/cjs/{GenericCard-cdc6eede.js.map → GenericCard-e2faac81.js.map} +1 -1
- package/dist/cjs/{JobListCard-c53660e8.js → JobListCard-a90be136.js} +3 -3
- package/dist/cjs/{JobListCard-c53660e8.js.map → JobListCard-a90be136.js.map} +1 -1
- package/dist/cjs/{LearnPill-da2d2a8e.js → LearnPill-29ffbdcd.js} +3 -3
- package/dist/cjs/{LearnPill-da2d2a8e.js.map → LearnPill-29ffbdcd.js.map} +1 -1
- package/dist/cjs/{MeritBadgeDisplayCard-a15ae981.js → MeritBadgeDisplayCard-cc7b75af.js} +4 -4
- package/dist/cjs/{MeritBadgeDisplayCard-a15ae981.js.map → MeritBadgeDisplayCard-cc7b75af.js.map} +1 -1
- package/dist/cjs/{MeritBadgeSkillsCount-d6ee29b1.js → MeritBadgeSkillsCount-3e797913.js} +2 -2
- package/dist/cjs/{MeritBadgeSkillsCount-d6ee29b1.js.map → MeritBadgeSkillsCount-3e797913.js.map} +1 -1
- package/dist/cjs/{RoundedPill-b54f3ac1.js → RoundedPill-542ecd7a.js} +2 -2
- package/dist/cjs/{RoundedPill-b54f3ac1.js.map → RoundedPill-542ecd7a.js.map} +1 -1
- package/dist/cjs/{SchoolIDCard-2d3cbb2c.js → SchoolIDCard-10796199.js} +1184 -3
- package/dist/cjs/SchoolIDCard-10796199.js.map +1 -0
- package/dist/cjs/{SkillTabCard-efade17a.js → SkillTabCard-353cc2d1.js} +4 -4
- package/dist/cjs/{SkillTabCard-efade17a.js.map → SkillTabCard-353cc2d1.js.map} +1 -1
- package/dist/cjs/{VCCard-ff6aff86.js → VCCard-6706999a.js} +3 -3
- package/dist/cjs/{VCCard-ff6aff86.js.map → VCCard-6706999a.js.map} +1 -1
- package/dist/cjs/{VCDisplayBackFace-a2ffb5cf.js → VCDisplayBackFace-2eb4300a.js} +3 -3
- package/dist/cjs/{VCDisplayBackFace-a2ffb5cf.js.map → VCDisplayBackFace-2eb4300a.js.map} +1 -1
- package/dist/cjs/{VCDisplayCard-db565cac.js → VCDisplayCard-4276378b.js} +3 -3
- package/dist/cjs/{VCDisplayCard-db565cac.js.map → VCDisplayCard-4276378b.js.map} +1 -1
- package/dist/cjs/{VCDisplayCard2-023672a4.js → VCDisplayCard2-5f7fed25.js} +17 -9
- package/dist/cjs/VCDisplayCard2-5f7fed25.js.map +1 -0
- package/dist/cjs/{VCVerificationPill-0db1d7c8.js → VCVerificationPill-fe1eb97b.js} +2 -2
- package/dist/cjs/{VCVerificationPill-0db1d7c8.js.map → VCVerificationPill-fe1eb97b.js.map} +1 -1
- package/dist/cjs/{constants-2430d4bc.js → constants-dd01b5de.js} +5 -5
- package/dist/cjs/{constants-2430d4bc.js.map → constants-dd01b5de.js.map} +1 -1
- package/dist/cjs/{credential.helpers-88f72e5c.js → credential.helpers-2d2d8bf5.js} +69 -3
- package/dist/cjs/credential.helpers-2d2d8bf5.js.map +1 -0
- package/dist/cjs/{icons-857d4be1.js → icons-4693cac7.js} +2 -2
- package/dist/cjs/{icons-857d4be1.js.map → icons-4693cac7.js.map} +1 -1
- package/dist/cjs/{index-5488badc.js → index-3daa4cfe.js} +3 -1
- package/dist/cjs/index-3daa4cfe.js.map +1 -0
- package/dist/cjs/{index-ba659c28.js → index-603feb35.js} +8 -2
- package/dist/cjs/index-603feb35.js.map +1 -0
- package/dist/cjs/index.js +27 -27
- package/dist/cjs/index11.js +5 -5
- package/dist/cjs/index13.js +7 -6
- package/dist/cjs/index13.js.map +1 -1
- package/dist/cjs/index14.js +27 -27
- package/dist/cjs/index16.js +4 -3
- package/dist/cjs/index16.js.map +1 -1
- package/dist/cjs/index19.js +4 -3
- package/dist/cjs/index19.js.map +1 -1
- package/dist/cjs/index2.js +7 -6
- package/dist/cjs/index2.js.map +1 -1
- package/dist/cjs/index22.js +5 -5
- package/dist/cjs/index29.js +3 -3
- package/dist/cjs/index30.js +6 -5
- package/dist/cjs/index30.js.map +1 -1
- package/dist/cjs/index31.js +1 -2
- package/dist/cjs/index31.js.map +1 -1
- package/dist/cjs/index34.js +5 -5
- package/dist/cjs/index39.js +10 -11
- package/dist/cjs/index39.js.map +1 -1
- package/dist/cjs/index4.js +9 -8
- package/dist/cjs/index4.js.map +1 -1
- package/dist/cjs/index40.js +5 -5
- package/dist/cjs/index41.js +6 -6
- package/dist/cjs/index42.js +6 -7
- package/dist/cjs/index42.js.map +1 -1
- package/dist/cjs/index43.js +1 -1
- package/dist/cjs/index46.js +2 -2
- package/dist/cjs/index5.js +7 -6
- package/dist/cjs/index5.js.map +1 -1
- package/dist/cjs/index7.js +4 -4
- package/dist/cjs/index8.js +4 -4
- package/dist/cjs/index9.js +3 -3
- package/dist/cjs/qualifications.svg +10 -0
- package/dist/cjs/{types.esm-94c6d461.js → types.esm-6ef18f40.js} +774 -14
- package/dist/cjs/types.esm-6ef18f40.js.map +1 -0
- package/dist/esm/{AchievementCard-0f183e9d.js → AchievementCard-d0cf882f.js} +5 -5
- package/dist/esm/{AchievementCard-0f183e9d.js.map → AchievementCard-d0cf882f.js.map} +1 -1
- package/dist/esm/{BoostGenericCard-c9916371.js → BoostGenericCard-c5cdd66b.js} +5 -5
- package/dist/esm/BoostGenericCard-c5cdd66b.js.map +1 -0
- package/dist/esm/{BoostSmallCard-35b0290d.js → BoostSmallCard-3f5d83b9.js} +6 -4
- package/dist/esm/BoostSmallCard-3f5d83b9.js.map +1 -0
- package/dist/esm/{CertificateDisplayCard-b5399522.js → CertificateDisplayCard-98c807c3.js} +18 -19
- package/dist/esm/{CertificateDisplayCard-b5399522.js.map → CertificateDisplayCard-98c807c3.js.map} +1 -1
- package/dist/esm/{CircleCheckButton-23a9c7d4.js → CircleCheckButton-50702ec6.js} +2 -2
- package/dist/esm/{CircleCheckButton-23a9c7d4.js.map → CircleCheckButton-50702ec6.js.map} +1 -1
- package/dist/esm/{CircleIcon-abd5ff06.js → CircleIcon-060ef060.js} +3 -3
- package/dist/esm/{CircleIcon-abd5ff06.js.map → CircleIcon-060ef060.js.map} +1 -1
- package/dist/esm/{CourseVerticalCard-fe85271e.js → CourseVerticalCard-2544cfbb.js} +4 -4
- package/dist/esm/{CourseVerticalCard-fe85271e.js.map → CourseVerticalCard-2544cfbb.js.map} +1 -1
- package/dist/esm/{GenericCard-b40c0617.js → GenericCard-31644ac4.js} +4 -4
- package/dist/esm/{GenericCard-b40c0617.js.map → GenericCard-31644ac4.js.map} +1 -1
- package/dist/esm/{JobListCard-dfb94830.js → JobListCard-4fc7fbe4.js} +3 -3
- package/dist/esm/{JobListCard-dfb94830.js.map → JobListCard-4fc7fbe4.js.map} +1 -1
- package/dist/esm/{LearnPill-ce240a4a.js → LearnPill-a2b93b1d.js} +3 -3
- package/dist/esm/{LearnPill-ce240a4a.js.map → LearnPill-a2b93b1d.js.map} +1 -1
- package/dist/esm/{MeritBadgeDisplayCard-58245297.js → MeritBadgeDisplayCard-e55e904e.js} +4 -4
- package/dist/esm/{MeritBadgeDisplayCard-58245297.js.map → MeritBadgeDisplayCard-e55e904e.js.map} +1 -1
- package/dist/esm/{MeritBadgeSkillsCount-faee4025.js → MeritBadgeSkillsCount-942ebe6f.js} +2 -2
- package/dist/esm/{MeritBadgeSkillsCount-faee4025.js.map → MeritBadgeSkillsCount-942ebe6f.js.map} +1 -1
- package/dist/esm/{RoundedPill-50279e5d.js → RoundedPill-8e97b9e3.js} +2 -2
- package/dist/esm/{RoundedPill-50279e5d.js.map → RoundedPill-8e97b9e3.js.map} +1 -1
- package/dist/esm/{SchoolIDCard-fbd1cf6c.js → SchoolIDCard-f82e40bc.js} +1183 -2
- package/dist/esm/SchoolIDCard-f82e40bc.js.map +1 -0
- package/dist/esm/{SkillTabCard-f2edb3fc.js → SkillTabCard-a3f601e8.js} +4 -4
- package/dist/esm/{SkillTabCard-f2edb3fc.js.map → SkillTabCard-a3f601e8.js.map} +1 -1
- package/dist/esm/{VCCard-d72f1f76.js → VCCard-95276c28.js} +3 -3
- package/dist/esm/{VCCard-d72f1f76.js.map → VCCard-95276c28.js.map} +1 -1
- package/dist/esm/{VCDisplayBackFace-66b2683d.js → VCDisplayBackFace-7510b046.js} +3 -3
- package/dist/esm/{VCDisplayBackFace-66b2683d.js.map → VCDisplayBackFace-7510b046.js.map} +1 -1
- package/dist/esm/{VCDisplayCard-64896eb8.js → VCDisplayCard-43ac58ba.js} +3 -3
- package/dist/esm/{VCDisplayCard-64896eb8.js.map → VCDisplayCard-43ac58ba.js.map} +1 -1
- package/dist/esm/{VCDisplayCard2-54710551.js → VCDisplayCard2-0a41ea81.js} +17 -9
- package/dist/esm/VCDisplayCard2-0a41ea81.js.map +1 -0
- package/dist/esm/{VCVerificationPill-3e840476.js → VCVerificationPill-8f6be696.js} +2 -2
- package/dist/esm/{VCVerificationPill-3e840476.js.map → VCVerificationPill-8f6be696.js.map} +1 -1
- package/dist/esm/{constants-010faf74.js → constants-e2e2e619.js} +5 -5
- package/dist/esm/{constants-010faf74.js.map → constants-e2e2e619.js.map} +1 -1
- package/dist/esm/{credential.helpers-f4495f8f.js → credential.helpers-72ff82a4.js} +69 -3
- package/dist/esm/credential.helpers-72ff82a4.js.map +1 -0
- package/dist/esm/{icons-fdd35170.js → icons-a6c7fed6.js} +2 -2
- package/dist/esm/{icons-fdd35170.js.map → icons-a6c7fed6.js.map} +1 -1
- package/dist/esm/{index-28917993.js → index-8be2f857.js} +3 -1
- package/dist/esm/index-8be2f857.js.map +1 -0
- package/dist/esm/{index-7542e9ee.js → index-e3586083.js} +7 -2
- package/dist/esm/index-e3586083.js.map +1 -0
- package/dist/esm/index.js +27 -27
- package/dist/esm/index11.js +5 -5
- package/dist/esm/index13.js +7 -6
- package/dist/esm/index13.js.map +1 -1
- package/dist/esm/index14.js +27 -27
- package/dist/esm/index16.js +4 -3
- package/dist/esm/index16.js.map +1 -1
- package/dist/esm/index19.js +4 -3
- package/dist/esm/index19.js.map +1 -1
- package/dist/esm/index2.js +7 -6
- package/dist/esm/index2.js.map +1 -1
- package/dist/esm/index22.js +5 -5
- package/dist/esm/index29.js +3 -3
- package/dist/esm/index30.js +6 -5
- package/dist/esm/index30.js.map +1 -1
- package/dist/esm/index31.js +1 -2
- package/dist/esm/index31.js.map +1 -1
- package/dist/esm/index34.js +5 -5
- package/dist/esm/index39.js +10 -11
- package/dist/esm/index39.js.map +1 -1
- package/dist/esm/index4.js +9 -8
- package/dist/esm/index4.js.map +1 -1
- package/dist/esm/index40.js +5 -5
- package/dist/esm/index41.js +6 -6
- package/dist/esm/index42.js +6 -7
- package/dist/esm/index42.js.map +1 -1
- package/dist/esm/index43.js +1 -1
- package/dist/esm/index46.js +2 -2
- package/dist/esm/index5.js +7 -6
- package/dist/esm/index5.js.map +1 -1
- package/dist/esm/index7.js +4 -4
- package/dist/esm/index8.js +4 -4
- package/dist/esm/index9.js +3 -3
- package/dist/esm/qualifications.svg +10 -0
- package/dist/esm/{types.esm-434cff58.js → types.esm-4968f4d0.js} +774 -14
- package/dist/esm/types.esm-4968f4d0.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/main.css +1 -1
- package/dist/main.js +1 -1
- package/package.json +4 -4
- package/src/assets/images/qualifications.svg +10 -0
- package/src/components/CertificateDisplayCard/CertificateFrontFace.tsx +15 -16
- package/src/components/VCDisplayCard2/VCIDDisplayFrontFace.tsx +8 -2
- package/src/components/svgs/QualificationsIcon.tsx +44 -0
- package/src/components/svgs/index.ts +1 -0
- package/src/constants/index.ts +5 -0
- package/src/helpers/color.helpers.ts +2 -0
- package/src/helpers/credential.helpers.tsx +9 -0
- package/src/helpers/display.helpers.ts +1 -0
- package/src/types/index.ts +2 -0
- package/dist/cjs/BoostGenericCard-470b0e5a.js.map +0 -1
- package/dist/cjs/BoostSmallCard-ac8ab73d.js.map +0 -1
- package/dist/cjs/SchoolIDCard-2d3cbb2c.js.map +0 -1
- package/dist/cjs/VCDisplayCard2-023672a4.js.map +0 -1
- package/dist/cjs/credential.helpers-88f72e5c.js.map +0 -1
- package/dist/cjs/index-47efbf5b.js +0 -1186
- package/dist/cjs/index-47efbf5b.js.map +0 -1
- package/dist/cjs/index-5488badc.js.map +0 -1
- package/dist/cjs/index-ba659c28.js.map +0 -1
- package/dist/cjs/types.esm-94c6d461.js.map +0 -1
- package/dist/esm/BoostGenericCard-c9916371.js.map +0 -1
- package/dist/esm/BoostSmallCard-35b0290d.js.map +0 -1
- package/dist/esm/SchoolIDCard-fbd1cf6c.js.map +0 -1
- package/dist/esm/VCDisplayCard2-54710551.js.map +0 -1
- package/dist/esm/credential.helpers-f4495f8f.js.map +0 -1
- package/dist/esm/index-28917993.js.map +0 -1
- package/dist/esm/index-7542e9ee.js.map +0 -1
- package/dist/esm/index-cbd2e9db.js +0 -1184
- package/dist/esm/index-cbd2e9db.js.map +0 -1
- package/dist/esm/types.esm-434cff58.js.map +0 -1
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
|
|
3
|
+
/** Fixed Qualifications glyph from the Colorful / Solid Color Figma variant. */
|
|
4
|
+
const QualificationsIcon: React.FC<{ className?: string; size?: string }> = ({
|
|
5
|
+
className = '',
|
|
6
|
+
size = '',
|
|
7
|
+
}) => (
|
|
8
|
+
<svg
|
|
9
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
10
|
+
width={size}
|
|
11
|
+
height={size}
|
|
12
|
+
viewBox="108 1152 24 25.912857"
|
|
13
|
+
fill="none"
|
|
14
|
+
className={className}
|
|
15
|
+
>
|
|
16
|
+
<path
|
|
17
|
+
d="M120 1170.85C116.219 1170.85 113.807 1170.7 112.373 1170.56C111.545 1170.48 110.845 1169.74 110.752 1168.65C110.629 1167.2 110.5 1165.07 110.5 1162.53C110.5 1159.99 110.629 1157.86 110.752 1156.41C110.845 1155.32 111.545 1154.58 112.373 1154.5C113.807 1154.36 116.219 1154.21 120 1154.21C123.781 1154.21 126.193 1154.36 127.627 1154.5C128.455 1154.58 129.155 1155.32 129.248 1156.41C129.371 1157.86 129.5 1159.99 129.5 1162.53C129.5 1165.07 129.371 1167.2 129.248 1168.65C129.155 1169.74 128.455 1170.48 127.627 1170.56C126.193 1170.7 123.781 1170.85 120 1170.85Z"
|
|
18
|
+
fill="#EA580C"
|
|
19
|
+
stroke="#EA580C"
|
|
20
|
+
/>
|
|
21
|
+
<path
|
|
22
|
+
d="M111 1162.82C111 1165.35 111.128 1167.46 111.25 1168.9C111.327 1169.81 111.887 1170.31 112.423 1170.36C113.838 1170.5 116.231 1170.65 120 1170.65C123.769 1170.65 126.162 1170.5 127.577 1170.36C128.113 1170.31 128.673 1169.81 128.75 1168.9C128.872 1167.46 129 1165.35 129 1162.82C129 1160.3 128.872 1158.19 128.75 1156.75C128.673 1155.84 128.113 1155.34 127.577 1155.29C126.162 1155.15 123.769 1155 120 1155C116.231 1155 113.838 1155.15 112.423 1155.29C111.887 1155.34 111.327 1155.84 111.25 1156.75C111.128 1158.19 111 1160.3 111 1162.82ZM109 1162.82C109 1160.23 109.131 1158.07 109.257 1156.58C109.396 1154.93 110.522 1153.47 112.227 1153.3C113.72 1153.15 116.181 1153 120 1153C123.819 1153 126.28 1153.15 127.773 1153.3C129.478 1153.47 130.604 1154.93 130.743 1156.58C130.869 1158.07 131 1160.23 131 1162.82C131 1165.41 130.869 1167.58 130.743 1169.07C130.604 1170.71 129.478 1172.18 127.773 1172.35C126.28 1172.5 123.819 1172.65 120 1172.65C116.181 1172.65 113.72 1172.5 112.227 1172.35C110.522 1172.18 109.396 1170.71 109.257 1169.07C109.131 1167.58 109 1165.41 109 1162.82Z"
|
|
23
|
+
fill="#EA580C"
|
|
24
|
+
/>
|
|
25
|
+
<path
|
|
26
|
+
d="M123.483 1166.94L124.976 1175.91L120.074 1172.96L115.172 1175.91L116.665 1166.94"
|
|
27
|
+
fill="#EA580C"
|
|
28
|
+
/>
|
|
29
|
+
<path
|
|
30
|
+
d="M123.318 1165.95C123.863 1165.86 124.378 1166.23 124.469 1166.77L125.962 1175.75C126.026 1176.13 125.86 1176.52 125.537 1176.74C125.214 1176.96 124.793 1176.97 124.459 1176.77L120.073 1174.12L115.688 1176.77C115.354 1176.97 114.933 1176.96 114.61 1176.74C114.287 1176.52 114.121 1176.13 114.185 1175.75L115.679 1166.77C115.769 1166.23 116.284 1165.86 116.829 1165.95C117.374 1166.04 117.742 1166.56 117.651 1167.1L116.514 1173.93L119.557 1172.1L119.68 1172.04C119.973 1171.91 120.312 1171.93 120.59 1172.1L123.633 1173.93L122.496 1167.1C122.405 1166.56 122.774 1166.04 123.318 1165.95Z"
|
|
31
|
+
fill="white"
|
|
32
|
+
/>
|
|
33
|
+
<path
|
|
34
|
+
d="M120.074 1168.03C123.322 1168.03 125.956 1165.38 125.956 1162.12C125.956 1158.85 123.322 1156.21 120.074 1156.21C116.825 1156.21 114.191 1158.85 114.191 1162.12C114.191 1165.38 116.825 1168.03 120.074 1168.03Z"
|
|
35
|
+
fill="#EA580C"
|
|
36
|
+
/>
|
|
37
|
+
<path
|
|
38
|
+
d="M124.956 1162.12C124.956 1159.4 122.766 1157.21 120.074 1157.21C117.382 1157.21 115.192 1159.4 115.191 1162.12C115.191 1164.83 117.382 1167.03 120.074 1167.03C122.766 1167.03 124.956 1164.83 124.956 1162.12ZM126.956 1162.12C126.956 1165.93 123.88 1169.03 120.074 1169.03C116.269 1169.03 113.191 1165.93 113.191 1162.12C113.192 1158.31 116.269 1155.21 120.074 1155.21C123.88 1155.21 126.956 1158.31 126.956 1162.12Z"
|
|
39
|
+
fill="white"
|
|
40
|
+
/>
|
|
41
|
+
</svg>
|
|
42
|
+
);
|
|
43
|
+
|
|
44
|
+
export default QualificationsIcon;
|
|
@@ -37,6 +37,7 @@ export * from './PdfIcon';
|
|
|
37
37
|
export * from './PersonBadge';
|
|
38
38
|
export * from './PuzzlePiece';
|
|
39
39
|
export * from './QRCodeIcon';
|
|
40
|
+
export * from './QualificationsIcon';
|
|
40
41
|
export * from './RedFlag';
|
|
41
42
|
export * from './RoundedCorner';
|
|
42
43
|
export * from './RoundedX';
|
package/src/constants/index.ts
CHANGED
|
@@ -4,6 +4,7 @@ import idPurple from '../assets/images/id-purple.png';
|
|
|
4
4
|
import learningHistoryGraphic from '../assets/images/backpack.png';
|
|
5
5
|
import skillsGraphic from '../assets/images/walletskills.webp';
|
|
6
6
|
import achievementsGraphic from '../assets/images/walletTrophy.png';
|
|
7
|
+
import qualificationsGraphic from '../assets/images/qualifications.svg';
|
|
7
8
|
import socialBadge from '../assets/images/social-badge-2.png';
|
|
8
9
|
import experienceMountain from '../assets/images/experience-mountain.png';
|
|
9
10
|
import goalsTarget from '../assets/images/goals-target.png';
|
|
@@ -32,6 +33,7 @@ export const TYPE_TO_IMG_SRC = {
|
|
|
32
33
|
[WalletCategoryTypes.learningHistory]: apple,
|
|
33
34
|
[WalletCategoryTypes.socialBadge]: socialBadge,
|
|
34
35
|
[WalletCategoryTypes.achievements]: achievementsGraphic,
|
|
36
|
+
[WalletCategoryTypes.qualifications]: qualificationsGraphic,
|
|
35
37
|
[WalletCategoryTypes.accomplishments]: learningHistoryGraphic,
|
|
36
38
|
[WalletCategoryTypes.skills]: skillsGraphic,
|
|
37
39
|
[WalletCategoryTypes.jobHistory]: experienceMountain,
|
|
@@ -52,6 +54,7 @@ export const TYPE_TO_WALLET_COLOR = {
|
|
|
52
54
|
[WalletCategoryTypes.learningHistory]: 'emerald-300',
|
|
53
55
|
[WalletCategoryTypes.socialBadge]: 'cyan-300',
|
|
54
56
|
[WalletCategoryTypes.achievements]: 'orange-300',
|
|
57
|
+
[WalletCategoryTypes.qualifications]: 'orange-300',
|
|
55
58
|
[WalletCategoryTypes.accomplishments]: 'lime-300',
|
|
56
59
|
[WalletCategoryTypes.skills]: 'violet-300',
|
|
57
60
|
[WalletCategoryTypes.jobHistory]: 'blue-300',
|
|
@@ -72,6 +75,7 @@ export const TYPE_TO_WALLET_LIGHT_COLOR = {
|
|
|
72
75
|
[WalletCategoryTypes.learningHistory]: 'emerald-200',
|
|
73
76
|
[WalletCategoryTypes.socialBadge]: 'cyan-200',
|
|
74
77
|
[WalletCategoryTypes.achievements]: 'orange-200',
|
|
78
|
+
[WalletCategoryTypes.qualifications]: 'orange-200',
|
|
75
79
|
[WalletCategoryTypes.accomplishments]: 'lime-200',
|
|
76
80
|
[WalletCategoryTypes.skills]: 'violet-200',
|
|
77
81
|
[WalletCategoryTypes.jobHistory]: 'blue-200',
|
|
@@ -92,6 +96,7 @@ export const TYPE_TO_WALLET_DARK_COLOR = {
|
|
|
92
96
|
[WalletCategoryTypes.learningHistory]: 'emerald-500',
|
|
93
97
|
[WalletCategoryTypes.socialBadge]: 'cyan-500',
|
|
94
98
|
[WalletCategoryTypes.achievements]: 'orange-500',
|
|
99
|
+
[WalletCategoryTypes.qualifications]: 'orange-700',
|
|
95
100
|
[WalletCategoryTypes.accomplishments]: 'lime-500',
|
|
96
101
|
[WalletCategoryTypes.skills]: 'violet-500',
|
|
97
102
|
[WalletCategoryTypes.jobHistory]: 'blue-500',
|
|
@@ -5,6 +5,8 @@ export const getDarkBGColor = (type: WalletCategoryTypes) => {
|
|
|
5
5
|
|
|
6
6
|
if (type === WalletCategoryTypes?.achievements) {
|
|
7
7
|
return 'bg-orange-500';
|
|
8
|
+
} else if (type === WalletCategoryTypes.qualifications) {
|
|
9
|
+
return 'bg-orange-700';
|
|
8
10
|
} else if (type === WalletCategoryTypes?.learningHistory) {
|
|
9
11
|
return 'bg-emerald-500';
|
|
10
12
|
} else if (type === WalletCategoryTypes?.skills) {
|
|
@@ -15,6 +15,7 @@ import PuzzlePiece from '../components/svgs/PuzzlePiece';
|
|
|
15
15
|
import KeyIcon from '../components/svgs/KeyIcon';
|
|
16
16
|
import User from '../components/svgs/User';
|
|
17
17
|
import Trophy from '../components/svgs/Trophy';
|
|
18
|
+
import QualificationsIcon from '../components/svgs/QualificationsIcon';
|
|
18
19
|
import Graduation from '../components/svgs/Graduation';
|
|
19
20
|
import Briefcase from '../components/svgs/Briefcase';
|
|
20
21
|
import AccommodationsIcon from '../components/svgs/AccommodationsIcon';
|
|
@@ -97,6 +98,8 @@ export const getCategoryColor = (category = LCCategoryEnum.achievement) => {
|
|
|
97
98
|
return 'indigo-600';
|
|
98
99
|
case LCCategoryEnum.achievement:
|
|
99
100
|
return 'pink-600';
|
|
101
|
+
case LCCategoryEnum.qualifications:
|
|
102
|
+
return 'orange-700';
|
|
100
103
|
case LCCategoryEnum.learningHistory:
|
|
101
104
|
return 'emerald-700';
|
|
102
105
|
case LCCategoryEnum.id:
|
|
@@ -124,6 +127,8 @@ export const getCategoryPrimaryColor = (category = LCCategoryEnum.achievement) =
|
|
|
124
127
|
return 'indigo';
|
|
125
128
|
case LCCategoryEnum.achievement:
|
|
126
129
|
return 'pink';
|
|
130
|
+
case LCCategoryEnum.qualifications:
|
|
131
|
+
return 'orange';
|
|
127
132
|
case LCCategoryEnum.learningHistory:
|
|
128
133
|
return 'emerald';
|
|
129
134
|
case LCCategoryEnum.id:
|
|
@@ -151,6 +156,7 @@ export const getCategoryLightColor = (category = LCCategoryEnum.achievement) =>
|
|
|
151
156
|
if (category === LCCategoryEnum.meritBadge) {
|
|
152
157
|
return 'sp-purple-base';
|
|
153
158
|
}
|
|
159
|
+
if (category === LCCategoryEnum.qualifications) return 'orange-700';
|
|
154
160
|
|
|
155
161
|
return `${getCategoryPrimaryColor(category)}-500`;
|
|
156
162
|
};
|
|
@@ -159,6 +165,7 @@ export const getCategoryDarkColor = (category = LCCategoryEnum.achievement) => {
|
|
|
159
165
|
if (category === LCCategoryEnum.meritBadge) {
|
|
160
166
|
return 'sp-purple-base';
|
|
161
167
|
}
|
|
168
|
+
if (category === LCCategoryEnum.qualifications) return 'orange-900';
|
|
162
169
|
|
|
163
170
|
return `${getCategoryPrimaryColor(category)}-700`;
|
|
164
171
|
};
|
|
@@ -171,6 +178,8 @@ export const getCategoryIcon = (category = LCCategoryEnum.achievement, size: str
|
|
|
171
178
|
return <PuzzlePiece size={size} />;
|
|
172
179
|
case LCCategoryEnum.achievement:
|
|
173
180
|
return <Trophy size={size} />;
|
|
181
|
+
case LCCategoryEnum.qualifications:
|
|
182
|
+
return <QualificationsIcon size={size} />;
|
|
174
183
|
case LCCategoryEnum.course:
|
|
175
184
|
case LCCategoryEnum.learningHistory:
|
|
176
185
|
return <Graduation size={size} />;
|
|
@@ -25,6 +25,7 @@ export const getDefaultDisplayType = (category: string): DisplayTypeEnum => {
|
|
|
25
25
|
|
|
26
26
|
if (
|
|
27
27
|
category === LCCategoryEnum.achievement ||
|
|
28
|
+
category === LCCategoryEnum.qualifications ||
|
|
28
29
|
category === LCCategoryEnum.accommodations ||
|
|
29
30
|
category === LCCategoryEnum.accomplishments ||
|
|
30
31
|
category === LCCategoryEnum.learningHistory
|
package/src/types/index.ts
CHANGED
|
@@ -38,6 +38,7 @@ export enum Icons {
|
|
|
38
38
|
export enum LCCategoryEnum {
|
|
39
39
|
socialBadge = 'Social Badge',
|
|
40
40
|
achievement = 'Achievement',
|
|
41
|
+
qualifications = 'Qualifications',
|
|
41
42
|
course = 'Course',
|
|
42
43
|
job = 'Job',
|
|
43
44
|
id = 'ID',
|
|
@@ -68,6 +69,7 @@ export enum LCSubtypes {
|
|
|
68
69
|
// deprecated - ids, currency
|
|
69
70
|
export enum WalletCategoryTypes {
|
|
70
71
|
achievements = 'achievements',
|
|
72
|
+
qualifications = 'qualifications',
|
|
71
73
|
jobHistory = 'jobhistory',
|
|
72
74
|
learningHistory = 'learningHistory',
|
|
73
75
|
skills = 'skills',
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"BoostGenericCard-470b0e5a.js","sources":["../../src/components/BoostGenericCard/AlignmentSkillsCount.tsx","../../src/helpers/display.helpers.ts","../../src/helpers/lifecycle.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 type { CSSProperties } from 'react';\n\nexport type CredentialLifecycleStatus = 'active' | 'revoked' | 'suspended';\n\nexport type LifecycleTreatment = {\n /** True when the credential is revoked or suspended. */\n isInactive: boolean;\n /** Inline filter for media (images / thumbnails); `undefined` when active.\n * Inline style (not a Tailwind class) so it applies regardless of whether the\n * consumer app's Tailwind scans this package or generates the utility. */\n mediaStyle: CSSProperties | undefined;\n /** Inline style for de-emphasizing text; `undefined` when active. */\n textStyle: CSSProperties | undefined;\n /** Pill background color for the status chip (only meaningful when `isInactive`). */\n pillBg: string;\n};\n\nconst REVOKED_COLOR = '#DC2626'; // red-600\nconst SUSPENDED_COLOR = '#D97706'; // amber-600\n\n/**\n * Shared visual treatment for a revoked/suspended credential, used by both the\n * grid card (`BoostGenericCard`) and the list row (`BoostListItem`) so the two\n * views stay in sync. Values are inert (`isInactive: false`, `undefined` styles)\n * for active credentials.\n */\nexport const getLifecycleTreatment = (\n status: CredentialLifecycleStatus = 'active'\n): LifecycleTreatment => {\n const isInactive = status === 'revoked' || status === 'suspended';\n\n return {\n isInactive,\n mediaStyle: isInactive ? { filter: 'grayscale(1) brightness(0.9)' } : undefined,\n textStyle: isInactive ? { filter: 'grayscale(1)', opacity: 0.6 } : undefined,\n pillBg: status === 'suspended' ? SUSPENDED_COLOR : REVOKED_COLOR,\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';\nimport { getLifecycleTreatment } from '../../helpers/lifecycle.helpers';\nimport { useT } from '../../i18n';\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 lifecycleStatus = 'active',\n}) => {\n const t = useT();\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 // Shared revoked/suspended treatment (see getLifecycleTreatment). Inline styles are\n // used (not Tailwind classes) because the consumer app's Tailwind doesn't scan this\n // package and it ships no utility CSS, so utility classes here have no backing rule.\n const {\n isInactive,\n mediaStyle: inactiveMediaStyle,\n textStyle: inactiveTextStyle,\n pillBg,\n } = getLifecycleTreatment(lifecycleStatus);\n const pillLabel = t(`credential.lifecycle.${lifecycleStatus}`);\n const pillLeft = showChecked ? 'left-[44px]' : 'left-[8px]';\n\n return (\n <div\n className={`boost-generic-card-wrapper flex bg-white flex-col shadow-bottom relative p-0 w-[160px] h-[285px] rounded-[20px] overflow-hidden ${className}`}\n >\n {isInactive && (\n <span\n className={`absolute top-[8px] ${pillLeft} z-20 rounded-full px-[9px] py-[3px] text-[10px] font-extrabold uppercase tracking-wide text-white`}\n style={{ backgroundColor: pillBg }}\n >\n {pillLabel}\n </span>\n )}\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\n className=\"absolute top-[-50px] left-0 rounded-b-full overflow-hidden z-0\"\n style={inactiveMediaStyle}\n >\n <img className=\"h-full w-full object-cover\" src={bgImgSrc} />\n </section>\n )}\n\n <button\n type=\"button\"\n className=\"boost-generic-card-button z-10 flex flex-col flex-grow rounded-[20px]\"\n onClick={handleInnerClick}\n >\n {/* Thumbnail — filter on the wrapper so it desaturates a\n customThumbComponent too, not just the default thumb section.\n The explicit width is load-bearing on iOS 18 WebKit: a bare block\n child of a <button> flex container is laid out shrink-to-fit there\n (UA align-items: flex-start per the HTML spec), so without it the\n badge collapses to its 116px circle and the header artwork stops\n running under the options button. iOS 26+/desktop engines compute\n align-items: normal and stretch, which masks the bug (LC-2066).\n width is spread last so nothing can ever override it. */}\n <div style={{ ...inactiveMediaStyle, width: '100%' }}>\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 </div>\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 style={inactiveTextStyle}\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\" style={inactiveTextStyle}>\n {issuerName}\n </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","useT","TYPE_TO_WALLET_DARK_COLOR","TYPE_TO_IMG_SRC","ThreeDotVertical","BadgeThumbnailImg","CircleCheckButton"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"BoostSmallCard-ac8ab73d.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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"}
|