@learncard/react 2.12.11 → 3.0.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/README.md +23 -5
- package/dist/base.css +2 -1
- package/dist/base.js +1 -1
- package/dist/cjs/{AchievementCard-f6bdb95c.js → AchievementCard-6ef39c2b.js} +3 -3
- package/dist/cjs/{AchievementCard-f6bdb95c.js.map → AchievementCard-6ef39c2b.js.map} +1 -1
- package/dist/cjs/{BoostGenericCard-e3fd4feb.js → BoostGenericCard-87cd2091.js} +8 -8
- package/dist/cjs/BoostGenericCard-87cd2091.js.map +1 -0
- package/dist/cjs/{BoostSmallCard-507de790.js → BoostSmallCard-214f91a5.js} +3 -3
- package/dist/cjs/BoostSmallCard-214f91a5.js.map +1 -0
- package/dist/cjs/{Button-9ebe120c.js → Button-d3a8a860.js} +2 -2
- package/dist/cjs/Button-d3a8a860.js.map +1 -0
- package/dist/cjs/{CertificateDisplayCard-9a7ced55.js → CertificateDisplayCard-d4300c7d.js} +32 -21
- package/dist/cjs/CertificateDisplayCard-d4300c7d.js.map +1 -0
- package/dist/cjs/{CircleCheckButton-05f58196.js → CircleCheckButton-1d10936b.js} +2 -2
- package/dist/cjs/{CircleCheckButton-05f58196.js.map → CircleCheckButton-1d10936b.js.map} +1 -1
- package/dist/cjs/{CourseVerticalCard-0d046145.js → CourseVerticalCard-3c538a36.js} +3 -3
- package/dist/cjs/{CourseVerticalCard-0d046145.js.map → CourseVerticalCard-3c538a36.js.map} +1 -1
- package/dist/cjs/{GenericCard-e2faac81.js → GenericCard-f962750a.js} +2 -2
- package/dist/cjs/{GenericCard-e2faac81.js.map → GenericCard-f962750a.js.map} +1 -1
- package/dist/cjs/{JobHistoryCard-e9ac7a1a.js → JobHistoryCard-54f40e2b.js} +3 -3
- package/dist/cjs/JobHistoryCard-54f40e2b.js.map +1 -0
- package/dist/cjs/{JobListCard-a90be136.js → JobListCard-a48c6cac.js} +3 -3
- package/dist/cjs/{JobListCard-a90be136.js.map → JobListCard-a48c6cac.js.map} +1 -1
- package/dist/cjs/{LearnCardCreditCardBackFace-62330eea.js → LearnCardCreditCardBackFace-92a1818e.js} +2 -2
- package/dist/{esm/LearnCardCreditCardBackFace-56642837.js.map → cjs/LearnCardCreditCardBackFace-92a1818e.js.map} +1 -1
- package/dist/cjs/{LearnCardCreditCardFrontFace-75fb4e44.js → LearnCardCreditCardFrontFace-a4c209e3.js} +2 -2
- package/dist/cjs/LearnCardCreditCardFrontFace-a4c209e3.js.map +1 -0
- package/dist/cjs/{MeritBadgeDisplayCard-a45003f4.js → MeritBadgeDisplayCard-30ef639d.js} +25 -19
- package/dist/cjs/MeritBadgeDisplayCard-30ef639d.js.map +1 -0
- package/dist/cjs/{MeritBadgeSkillsCount-1baf2200.js → MeritBadgeSkillsCount-a6127a40.js} +3 -3
- package/dist/cjs/{MeritBadgeSkillsCount-1baf2200.js.map → MeritBadgeSkillsCount-a6127a40.js.map} +1 -1
- package/dist/cjs/{MiniVCThumbnail-9c510f51.js → MiniVCThumbnail-39058b8e.js} +2 -2
- package/dist/cjs/MiniVCThumbnail-39058b8e.js.map +1 -0
- package/dist/cjs/{Notification-24d4de25.js → Notification-09bf74b7.js} +2 -2
- package/dist/cjs/{Notification-24d4de25.js.map → Notification-09bf74b7.js.map} +1 -1
- package/dist/cjs/{NotificationBoostCard-04dd2405.js → NotificationBoostCard-e6a2824f.js} +4 -4
- package/dist/cjs/NotificationBoostCard-e6a2824f.js.map +1 -0
- package/dist/cjs/{NotificationUserAcceptedBoostCard-1c6d1e33.js → NotificationUserAcceptedBoostCard-e88fc1af.js} +2 -2
- package/dist/cjs/{NotificationUserAcceptedBoostCard-1c6d1e33.js.map → NotificationUserAcceptedBoostCard-e88fc1af.js.map} +1 -1
- package/dist/cjs/{NotificationUserCard-4364506c.js → NotificationUserCard-89a0b8ba.js} +2 -2
- package/dist/cjs/{NotificationUserCard-4364506c.js.map → NotificationUserCard-89a0b8ba.js.map} +1 -1
- package/dist/cjs/{PuzzlePiece-e64f4596.js → PuzzlePiece-48ee8924.js} +3 -3
- package/dist/cjs/PuzzlePiece-48ee8924.js.map +1 -0
- package/dist/cjs/{RoundedPill-542ecd7a.js → RoundedPill-5862fa48.js} +3 -3
- package/dist/cjs/RoundedPill-5862fa48.js.map +1 -0
- package/dist/cjs/{SchoolIDCard-10796199.js → SchoolIDCard-0462e21c.js} +2 -2
- package/dist/cjs/{SchoolIDCard-10796199.js.map → SchoolIDCard-0462e21c.js.map} +1 -1
- package/dist/cjs/{SkillTabCard-353cc2d1.js → SkillTabCard-f913aaf7.js} +3 -3
- package/dist/cjs/{SkillTabCard-353cc2d1.js.map → SkillTabCard-f913aaf7.js.map} +1 -1
- package/dist/cjs/{VCCard-6462d6c7.js → VCCard-6298f49f.js} +3 -3
- package/dist/cjs/{VCCard-6462d6c7.js.map → VCCard-6298f49f.js.map} +1 -1
- package/dist/cjs/{VCDisplayBackFace-47066c07.js → VCDisplayBackFace-65e36d2b.js} +7 -7
- package/dist/cjs/VCDisplayBackFace-65e36d2b.js.map +1 -0
- package/dist/cjs/{VCDisplayCard-ac1d4efb.js → VCDisplayCard-51e917ab.js} +4 -4
- package/dist/cjs/VCDisplayCard-51e917ab.js.map +1 -0
- package/dist/cjs/{VCDisplayCard2-d7d3288b.js → VCDisplayCard2-156a6584.js} +28 -22
- package/dist/cjs/VCDisplayCard2-156a6584.js.map +1 -0
- package/dist/cjs/{VCVerificationPill-7d4dd936.js → VCVerificationPill-d4ee15ca.js} +3 -3
- package/dist/cjs/VCVerificationPill-d4ee15ca.js.map +1 -0
- package/dist/cjs/{VerifierStateBadgeAndText-3d7977c9.js → VerifierStateBadgeAndText-04c90074.js} +3 -3
- package/dist/cjs/{VerifierStateBadgeAndText-3d7977c9.js.map → VerifierStateBadgeAndText-04c90074.js.map} +1 -1
- package/dist/cjs/{credential.helpers-e6e353a6.js → credential.helpers-14544e48.js} +241 -7
- package/dist/cjs/credential.helpers-14544e48.js.map +1 -0
- package/dist/cjs/{i18n-ddbb18e7.js → i18n-0648eec1.js} +3 -1
- package/dist/cjs/i18n-0648eec1.js.map +1 -0
- package/dist/cjs/{index-da255c9a.js → index-a03dec43.js} +3 -1
- package/dist/{esm/index-cb3a593b.js.map → cjs/index-a03dec43.js.map} +1 -1
- package/dist/cjs/index.js +36 -36
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/index11.js +3 -3
- package/dist/cjs/index13.js +3 -3
- package/dist/cjs/index14.js +34 -34
- package/dist/cjs/index15.js +1 -1
- package/dist/cjs/index16.js +1 -1
- package/dist/cjs/index17.js +1 -1
- package/dist/cjs/index18.js +1 -1
- package/dist/cjs/index2.js +3 -3
- package/dist/cjs/index22.js +8 -8
- package/dist/cjs/index23.js +1 -1
- package/dist/cjs/index24.js +3 -3
- package/dist/cjs/index25.js +3 -3
- package/dist/cjs/index26.js +1 -1
- package/dist/cjs/index27.js +1 -1
- package/dist/cjs/index29.js +1 -1
- package/dist/cjs/index31.js +1 -1
- package/dist/cjs/index34.js +3 -3
- package/dist/cjs/index39.js +13 -13
- package/dist/cjs/index4.js +8 -8
- package/dist/cjs/index40.js +6 -6
- package/dist/cjs/index41.js +7 -7
- package/dist/cjs/index42.js +9 -9
- package/dist/cjs/index43.js +2 -2
- package/dist/cjs/index46.js +2 -2
- package/dist/cjs/index5.js +3 -3
- package/dist/cjs/index6.js +1 -1
- package/dist/cjs/index7.js +7 -7
- package/dist/cjs/index8.js +2 -2
- package/dist/cjs/{types-91d0677b.js → types-8a7d08fe.js} +2 -2
- package/dist/cjs/{types-91d0677b.js.map → types-8a7d08fe.js.map} +1 -1
- package/dist/cjs/{types.esm-57b8934f.js → types.esm-55f8d7fb.js} +3642 -1570
- package/dist/cjs/types.esm-55f8d7fb.js.map +1 -0
- package/dist/esm/{AchievementCard-d0cf882f.js → AchievementCard-c8df0ca4.js} +3 -3
- package/dist/esm/{AchievementCard-d0cf882f.js.map → AchievementCard-c8df0ca4.js.map} +1 -1
- package/dist/esm/{BoostGenericCard-3481b47c.js → BoostGenericCard-dd2b515a.js} +8 -8
- package/dist/esm/BoostGenericCard-dd2b515a.js.map +1 -0
- package/dist/esm/{BoostSmallCard-3f5d83b9.js → BoostSmallCard-538e22e7.js} +3 -3
- package/dist/esm/BoostSmallCard-538e22e7.js.map +1 -0
- package/dist/esm/{Button-70eedbf6.js → Button-866044a8.js} +2 -2
- package/dist/esm/Button-866044a8.js.map +1 -0
- package/dist/esm/{CertificateDisplayCard-fbd123d1.js → CertificateDisplayCard-46c13c49.js} +32 -21
- package/dist/esm/CertificateDisplayCard-46c13c49.js.map +1 -0
- package/dist/esm/{CircleCheckButton-50702ec6.js → CircleCheckButton-cb929fad.js} +2 -2
- package/dist/esm/{CircleCheckButton-50702ec6.js.map → CircleCheckButton-cb929fad.js.map} +1 -1
- package/dist/esm/{CourseVerticalCard-2544cfbb.js → CourseVerticalCard-34d0cc89.js} +3 -3
- package/dist/esm/{CourseVerticalCard-2544cfbb.js.map → CourseVerticalCard-34d0cc89.js.map} +1 -1
- package/dist/esm/{GenericCard-31644ac4.js → GenericCard-dfa014c7.js} +2 -2
- package/dist/esm/{GenericCard-31644ac4.js.map → GenericCard-dfa014c7.js.map} +1 -1
- package/dist/esm/{JobHistoryCard-e71ab2c7.js → JobHistoryCard-74f98642.js} +3 -3
- package/dist/esm/JobHistoryCard-74f98642.js.map +1 -0
- package/dist/esm/{JobListCard-4fc7fbe4.js → JobListCard-498d59b7.js} +3 -3
- package/dist/esm/{JobListCard-4fc7fbe4.js.map → JobListCard-498d59b7.js.map} +1 -1
- package/dist/esm/{LearnCardCreditCardBackFace-56642837.js → LearnCardCreditCardBackFace-8e2f494a.js} +2 -2
- package/dist/{cjs/LearnCardCreditCardBackFace-62330eea.js.map → esm/LearnCardCreditCardBackFace-8e2f494a.js.map} +1 -1
- package/dist/esm/{LearnCardCreditCardFrontFace-13d29504.js → LearnCardCreditCardFrontFace-73c3d537.js} +2 -2
- package/dist/esm/LearnCardCreditCardFrontFace-73c3d537.js.map +1 -0
- package/dist/esm/{MeritBadgeDisplayCard-2621d029.js → MeritBadgeDisplayCard-9f95dd08.js} +25 -19
- package/dist/esm/MeritBadgeDisplayCard-9f95dd08.js.map +1 -0
- package/dist/esm/{MeritBadgeSkillsCount-b3e3985a.js → MeritBadgeSkillsCount-c20f9f60.js} +3 -3
- package/dist/esm/{MeritBadgeSkillsCount-b3e3985a.js.map → MeritBadgeSkillsCount-c20f9f60.js.map} +1 -1
- package/dist/esm/{MiniVCThumbnail-cc05e1f8.js → MiniVCThumbnail-3800ee40.js} +2 -2
- package/dist/esm/MiniVCThumbnail-3800ee40.js.map +1 -0
- package/dist/esm/{Notification-279ba207.js → Notification-39590182.js} +2 -2
- package/dist/esm/{Notification-279ba207.js.map → Notification-39590182.js.map} +1 -1
- package/dist/esm/{NotificationBoostCard-73efea2d.js → NotificationBoostCard-ff5ec0d7.js} +4 -4
- package/dist/esm/NotificationBoostCard-ff5ec0d7.js.map +1 -0
- package/dist/esm/{NotificationUserAcceptedBoostCard-89fe2317.js → NotificationUserAcceptedBoostCard-f515321d.js} +2 -2
- package/dist/esm/{NotificationUserAcceptedBoostCard-89fe2317.js.map → NotificationUserAcceptedBoostCard-f515321d.js.map} +1 -1
- package/dist/esm/{NotificationUserCard-2c29c86a.js → NotificationUserCard-d4fd260e.js} +2 -2
- package/dist/esm/{NotificationUserCard-2c29c86a.js.map → NotificationUserCard-d4fd260e.js.map} +1 -1
- package/dist/esm/{PuzzlePiece-a3d9cc62.js → PuzzlePiece-9c313d93.js} +3 -3
- package/dist/esm/PuzzlePiece-9c313d93.js.map +1 -0
- package/dist/esm/{RoundedPill-8e97b9e3.js → RoundedPill-ef06f4b8.js} +3 -3
- package/dist/esm/RoundedPill-ef06f4b8.js.map +1 -0
- package/dist/esm/{SchoolIDCard-f82e40bc.js → SchoolIDCard-de65b2bd.js} +2 -2
- package/dist/esm/{SchoolIDCard-f82e40bc.js.map → SchoolIDCard-de65b2bd.js.map} +1 -1
- package/dist/esm/{SkillTabCard-a3f601e8.js → SkillTabCard-4c7bb40f.js} +3 -3
- package/dist/esm/{SkillTabCard-a3f601e8.js.map → SkillTabCard-4c7bb40f.js.map} +1 -1
- package/dist/esm/{VCCard-cd14261b.js → VCCard-1e6261ea.js} +3 -3
- package/dist/esm/{VCCard-cd14261b.js.map → VCCard-1e6261ea.js.map} +1 -1
- package/dist/esm/{VCDisplayBackFace-d8bdf84b.js → VCDisplayBackFace-eb2cad59.js} +7 -7
- package/dist/esm/VCDisplayBackFace-eb2cad59.js.map +1 -0
- package/dist/esm/{VCDisplayCard-213afce8.js → VCDisplayCard-1400714d.js} +4 -4
- package/dist/esm/VCDisplayCard-1400714d.js.map +1 -0
- package/dist/esm/{VCDisplayCard2-f6beca34.js → VCDisplayCard2-e4164d30.js} +28 -22
- package/dist/esm/VCDisplayCard2-e4164d30.js.map +1 -0
- package/dist/esm/{VCVerificationPill-f4a587a5.js → VCVerificationPill-65f7901a.js} +3 -3
- package/dist/esm/VCVerificationPill-65f7901a.js.map +1 -0
- package/dist/esm/{VerifierStateBadgeAndText-f2bbd9fd.js → VerifierStateBadgeAndText-1588afeb.js} +3 -3
- package/dist/esm/{VerifierStateBadgeAndText-f2bbd9fd.js.map → VerifierStateBadgeAndText-1588afeb.js.map} +1 -1
- package/dist/esm/{credential.helpers-30adeb2d.js → credential.helpers-4c72d304.js} +241 -7
- package/dist/esm/credential.helpers-4c72d304.js.map +1 -0
- package/dist/esm/{i18n-35209bfa.js → i18n-b142d48e.js} +3 -1
- package/dist/esm/i18n-b142d48e.js.map +1 -0
- package/dist/esm/{index-cb3a593b.js → index-75c5b01c.js} +2 -2
- package/dist/{cjs/index-da255c9a.js.map → esm/index-75c5b01c.js.map} +1 -1
- package/dist/esm/index.js +36 -36
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/index11.js +3 -3
- package/dist/esm/index13.js +3 -3
- package/dist/esm/index14.js +34 -34
- package/dist/esm/index15.js +1 -1
- package/dist/esm/index16.js +1 -1
- package/dist/esm/index17.js +1 -1
- package/dist/esm/index18.js +1 -1
- package/dist/esm/index2.js +3 -3
- package/dist/esm/index22.js +8 -8
- package/dist/esm/index23.js +1 -1
- package/dist/esm/index24.js +3 -3
- package/dist/esm/index25.js +3 -3
- package/dist/esm/index26.js +1 -1
- package/dist/esm/index27.js +1 -1
- package/dist/esm/index29.js +1 -1
- package/dist/esm/index31.js +1 -1
- package/dist/esm/index34.js +3 -3
- package/dist/esm/index39.js +13 -13
- package/dist/esm/index4.js +8 -8
- package/dist/esm/index40.js +6 -6
- package/dist/esm/index41.js +7 -7
- package/dist/esm/index42.js +9 -9
- package/dist/esm/index43.js +2 -2
- package/dist/esm/index46.js +2 -2
- package/dist/esm/index5.js +3 -3
- package/dist/esm/index6.js +1 -1
- package/dist/esm/index7.js +7 -7
- package/dist/esm/index8.js +2 -2
- package/dist/esm/{types-c765e2a4.js → types-23b696f1.js} +2 -2
- package/dist/esm/{types-c765e2a4.js.map → types-23b696f1.js.map} +1 -1
- package/dist/esm/{types.esm-9d538f63.js → types.esm-a70402df.js} +3642 -1570
- package/dist/esm/types.esm-a70402df.js.map +1 -0
- package/dist/main.css +2 -1
- package/dist/main.js +1 -1
- package/package.json +13 -13
- package/src/assets/styles/base.css +18 -2
- package/src/assets/styles/main.css +1 -3
- package/src/assets/styles/theme.css +94 -0
- package/src/assets/styles/theme.test.ts +67 -0
- package/src/components/BoostGenericCard/BoostGenericCard.tsx +3 -3
- package/src/components/BoostSmallCard/BoostSmallCard.tsx +1 -1
- package/src/components/Button/Button.tsx +1 -1
- package/src/components/CertificateDisplayCard/CertificateAwardDate.test.tsx +67 -0
- package/src/components/CertificateDisplayCard/CertificateBackFace.tsx +14 -9
- package/src/components/CertificateDisplayCard/CertificateCornerIcon.tsx +1 -1
- package/src/components/CertificateDisplayCard/CertificateFrontFace.tsx +19 -8
- package/src/components/CertificateDisplayCard/CertificateProfileImageDisplay.tsx +1 -1
- package/src/components/CertificateDisplayCard/MediaAttachmentsBox.tsx +1 -1
- package/src/components/CertificateDisplayCard/VerificationRow.tsx +1 -1
- package/src/components/JobHistoryCard/JobHistoryCard.tsx +2 -2
- package/src/components/JobListCard/JobListCard.tsx +2 -5
- package/src/components/LearnCardCreditCardBackFace/LearnCardCreditCardBackFace.tsx +1 -1
- package/src/components/LearnCardCreditCardFrontFace/LearnCardCreditCardFrontFace.tsx +1 -1
- package/src/components/MeritBadgeDisplayCard/MediaAttachmentsBox.tsx +1 -1
- package/src/components/MeritBadgeDisplayCard/MeritBadgeBackFace.tsx +14 -9
- package/src/components/MeritBadgeDisplayCard/MeritBadgeCornerIcon.tsx +4 -4
- package/src/components/MeritBadgeDisplayCard/MeritBadgeFrontFace.tsx +15 -10
- package/src/components/MeritBadgeDisplayCard/MeritBadgeProfileImageDisplay.tsx +1 -1
- package/src/components/MeritBadgeDisplayCard/VerificationRow.tsx +1 -1
- package/src/components/MiniVCThumbnail/MiniVCThumbnail.tsx +1 -1
- package/src/components/NotificationBoostCard/NotificationBoostCard.tsx +2 -2
- package/src/components/NotificationUserAcceptedBoostCard/NotificationUserAcceptedBoostCard.tsx +1 -1
- package/src/components/NotificationUserCard/NotificationUserCard.tsx +1 -1
- package/src/components/RoundedPill/RoundedPill.tsx +2 -2
- package/src/components/SchoolIdCard/SchoolIDCard.tsx +1 -1
- package/src/components/VCDisplayBackFace/VCDisplayBackFace.tsx +4 -4
- package/src/components/VCDisplayCard/VCDisplayCard.stories.tsx +2 -2
- package/src/components/VCDisplayCard2/IssueHistoryBox.tsx +1 -1
- package/src/components/VCDisplayCard2/MediaAttachmentsBox.tsx +10 -5
- package/src/components/VCDisplayCard2/VC2FrontFaceInfo.tsx +6 -6
- package/src/components/VCDisplayCard2/VCDisplayCard2.tsx +1 -1
- package/src/components/VCDisplayCard2/VCDisplayCard2AvatarFallbacks.stories.tsx +4 -4
- package/src/components/VCDisplayCard2/VCIDDisplayFrontFace.tsx +7 -7
- package/src/components/VCDisplayCard2/VerificationRow.tsx +1 -1
- package/src/components/VCDisplayCard2/__tests__/VC2FrontFaceInfo.test.tsx +1 -1
- package/src/components/VCDisplayFrontFace/VCDisplayFrontFace.tsx +1 -1
- package/src/components/VCVerificationPill/VCVerificationPill.tsx +1 -1
- package/src/components/svgs/PuzzlePiece.tsx +3 -3
- package/src/helpers/credential.helpers.test.ts +96 -0
- package/src/helpers/credential.helpers.tsx +23 -4
- package/src/helpers/useScrollBorders.ts +2 -2
- package/src/i18n/index.tsx +2 -0
- package/dist/cjs/BoostGenericCard-e3fd4feb.js.map +0 -1
- package/dist/cjs/BoostSmallCard-507de790.js.map +0 -1
- package/dist/cjs/Button-9ebe120c.js.map +0 -1
- package/dist/cjs/CertificateDisplayCard-9a7ced55.js.map +0 -1
- package/dist/cjs/JobHistoryCard-e9ac7a1a.js.map +0 -1
- package/dist/cjs/LearnCardCreditCardFrontFace-75fb4e44.js.map +0 -1
- package/dist/cjs/MeritBadgeDisplayCard-a45003f4.js.map +0 -1
- package/dist/cjs/MiniVCThumbnail-9c510f51.js.map +0 -1
- package/dist/cjs/NotificationBoostCard-04dd2405.js.map +0 -1
- package/dist/cjs/PuzzlePiece-e64f4596.js.map +0 -1
- package/dist/cjs/RoundedPill-542ecd7a.js.map +0 -1
- package/dist/cjs/VCDisplayBackFace-47066c07.js.map +0 -1
- package/dist/cjs/VCDisplayCard-ac1d4efb.js.map +0 -1
- package/dist/cjs/VCDisplayCard2-d7d3288b.js.map +0 -1
- package/dist/cjs/VCVerificationPill-7d4dd936.js.map +0 -1
- package/dist/cjs/credential.helpers-e6e353a6.js.map +0 -1
- package/dist/cjs/i18n-ddbb18e7.js.map +0 -1
- package/dist/cjs/types.esm-57b8934f.js.map +0 -1
- package/dist/esm/BoostGenericCard-3481b47c.js.map +0 -1
- package/dist/esm/BoostSmallCard-3f5d83b9.js.map +0 -1
- package/dist/esm/Button-70eedbf6.js.map +0 -1
- package/dist/esm/CertificateDisplayCard-fbd123d1.js.map +0 -1
- package/dist/esm/JobHistoryCard-e71ab2c7.js.map +0 -1
- package/dist/esm/LearnCardCreditCardFrontFace-13d29504.js.map +0 -1
- package/dist/esm/MeritBadgeDisplayCard-2621d029.js.map +0 -1
- package/dist/esm/MiniVCThumbnail-cc05e1f8.js.map +0 -1
- package/dist/esm/NotificationBoostCard-73efea2d.js.map +0 -1
- package/dist/esm/PuzzlePiece-a3d9cc62.js.map +0 -1
- package/dist/esm/RoundedPill-8e97b9e3.js.map +0 -1
- package/dist/esm/VCDisplayBackFace-d8bdf84b.js.map +0 -1
- package/dist/esm/VCDisplayCard-213afce8.js.map +0 -1
- package/dist/esm/VCDisplayCard2-f6beca34.js.map +0 -1
- package/dist/esm/VCVerificationPill-f4a587a5.js.map +0 -1
- package/dist/esm/credential.helpers-30adeb2d.js.map +0 -1
- package/dist/esm/i18n-35209bfa.js.map +0 -1
- package/dist/esm/types.esm-9d538f63.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LearnCardCreditCardBackFace-
|
|
1
|
+
{"version":3,"file":"LearnCardCreditCardBackFace-92a1818e.js","sources":["../../src/components/LearnCardCreditCardBackFace/LearnCardCreditCardBackFace.tsx"],"sourcesContent":["import React from 'react';\n\nimport ContactlessSymbol from '../../assets/images/contactless-symbol.svg';\n\nimport { LearnCardCreditCardBackFaceProps } from './types';\n\nexport const LearnCardCreditCardBackFace: React.FC<LearnCardCreditCardBackFaceProps> = ({\n className,\n card,\n user,\n}) => {\n return (\n <div\n className={`flex justify-center items-center max-w-[375px] rounded-[20px] ${className}`}\n >\n <div\n className={`flex flex-col justify-start items-start w-full min-h-[220px] rounded-[20px] shadow-3xl bg-grayscale-900 relative overflow-hidden credit-card-front-face`}\n >\n <div className=\"flex justify-between items-center w-full px-3 pt-4 text-white\">\n <p className=\"text-[6px]\">\n Please visit LearnCard app or learncard.com for assistance\n </p>\n <p className=\"text-[6px]\">854-000-000-24</p>\n </div>\n\n <div className=\"w-full h-8 bg-white mt-1\" />\n\n <div className=\"flex justify-end items-center w-full px-3 mt-1 text-white\">\n <p className=\"text-[6px]\">IDEMIA 0 00000 00000 0/00</p>\n </div>\n\n <div className=\"flex flex-row justify-between items-center px-3 pt-2 w-full text-white\">\n <div>\n {user?.username && (\n <p\n className=\"text-[10px] font-medium\"\n data-testid=\"credit-card-backface-username\"\n >\n {user?.username}\n </p>\n )}\n\n <p\n className=\"text-sm tracking-wider\"\n data-testid=\"credit-card-backface-fullname\"\n >\n {user?.fullName ?? ''}\n </p>\n {card?.cardIssueDate && (\n <p\n className=\"text-[10px] tracking-wider\"\n data-testid=\"credit-card-backface-issueDate\"\n >\n MEMBER SINCE {card?.cardIssueDate}\n </p>\n )}\n </div>\n <div>\n <img src={ContactlessSymbol} alt=\"contactless icon\" />\n </div>\n </div>\n\n <div className=\"flex flex-row justify-between items-center px-3 pt-2 w-full text-white\">\n <div className=\"flex flex-col\">\n <p\n className=\"text-sm tracking-wider\"\n data-testid=\"credit-card-backface-cardNum\"\n >\n {card?.cardNumber ?? ''}\n </p>\n <div className=\"flex flex-row justify-between items-center\">\n <p\n className=\"text-[10px] tracking-wider\"\n data-testid=\"credit-card-backface-expDate\"\n >\n EXP {card?.cardExpirationDate ?? ''}\n </p>\n {card?.cardSecurityCode && (\n <p\n className=\"text-[10px] tracking-wider\"\n data-testid=\"credit-card-backface-secCode\"\n >\n SEC {card?.cardSecurityCode ?? ''}\n </p>\n )}\n </div>\n </div>\n <div>\n <div className=\"h-[33px] w-[55px] rounded-[60px] bg-linear-to-r/srgb from-[#F4F5F5] to-[#E3E5E8]\" />\n </div>\n </div>\n\n <div className=\"flex justify-start items-center w-full px-3 py-2 text-white\">\n <p className=\"text-[6px]\">\n Issued by the bank of Tennessee pursuant to license by Mastercard\n International\n </p>\n </div>\n </div>\n </div>\n );\n};\n\nexport default LearnCardCreditCardBackFace;\n"],"names":["React","ContactlessSymbol"],"mappings":"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"}
|
|
@@ -51,7 +51,7 @@ const LearnCardCreditCardFrontFace = ({
|
|
|
51
51
|
showActionButton && /* @__PURE__ */ React__default["default"].createElement(
|
|
52
52
|
"button",
|
|
53
53
|
{
|
|
54
|
-
className: "absolute top-2 right-4 bg-grayscale-500 border-
|
|
54
|
+
className: "absolute top-2 right-4 bg-grayscale-500 border-2 rounded-3xl border-solid border-color-grayscale-900 min-w-[110px] p-[2px] font-bold text-xs tracking-wide leading-snug text-center text-white",
|
|
55
55
|
onClick,
|
|
56
56
|
"data-testid": "credit-card-frontface-button"
|
|
57
57
|
},
|
|
@@ -86,4 +86,4 @@ const LearnCardCreditCardFrontFace = ({
|
|
|
86
86
|
};
|
|
87
87
|
|
|
88
88
|
exports.LearnCardCreditCardFrontFace = LearnCardCreditCardFrontFace;
|
|
89
|
-
//# sourceMappingURL=LearnCardCreditCardFrontFace-
|
|
89
|
+
//# sourceMappingURL=LearnCardCreditCardFrontFace-a4c209e3.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LearnCardCreditCardFrontFace-a4c209e3.js","sources":["../../src/components/LearnCardCreditCardFrontFace/LearnCardCreditCardFrontFace.tsx"],"sourcesContent":["import React from 'react';\nimport { QRCodeSVG } from 'qrcode.react';\n\nimport { LearnCardCreditCardFrontFaceProps } from './types';\n\nimport CardChip from '../../assets/images/card-chip.svg';\nimport MasterCardLogo from '../../assets/images/master-card-logo.svg';\n\nexport const LearnCardCreditCardFrontFace: React.FC<LearnCardCreditCardFrontFaceProps> = ({\n userImage,\n userImageComponent = null,\n qrCodeValue,\n className,\n showActionButton = false,\n actionButtonText = 'Open Card',\n onClick = () => {},\n children,\n}) => {\n let userImageEl: React.ReactNode | null = null;\n\n if (userImage) {\n userImageEl = (\n <div className=\"inline-block relative overflow-hidden rounded-full shadow-3xl h-0 bg-white w-1/2 pb-[50%] mt-2 ml-4\">\n <img\n className=\"w-full h-full absolute rounded-full object-cover border-solid border-2 border-white\"\n src={userImage}\n alt=\"user image\"\n data-testid=\"credit-card-frontface-userImg\"\n />\n </div>\n );\n } else if (!userImage && userImageComponent) {\n userImageEl = userImageComponent;\n }\n\n return (\n <div\n className={`flex justify-center items-center max-w-[375px] rounded-[20px] ${className}`}\n >\n <div\n className={`flex flex-row justify-center items-start pt-9 w-full min-h-[220px] rounded-[20px] shadow-3xl relative overflow-hidden credit-card-front-face`}\n >\n <div className=\"absolute top-[-40px] left-0 w-[55%] h-[140%] rounded-tr-[150px] rounded-br-[150px] bg-grayscale-900 credit-card-bubble\" />\n {showActionButton && (\n <button\n className=\"absolute top-2 right-4 bg-grayscale-500 border-2 rounded-3xl border-solid border-color-grayscale-900 min-w-[110px] p-[2px] font-bold text-xs tracking-wide leading-snug text-center text-white\"\n onClick={onClick}\n data-testid=\"credit-card-frontface-button\"\n >\n {actionButtonText}\n </button>\n )}\n <div className=\"flex flex-row justify-between items-start w-full h-full relative\">\n <div className=\"flex flex-1 flex-col\">\n <div className=\"pl-8\">\n <p className=\"w-full text-xs text-white font-bold tracking-[7px] mb-2 credit-card-front-face-title\">\n LEARNCARD\n </p>\n <img\n src={CardChip ?? ''}\n alt=\"card chip\"\n className=\"h-[30px] w-[42px]\"\n />\n </div>\n\n {userImageEl}\n </div>\n\n {qrCodeValue && (\n <div className=\"flex flex-1 justify-center items-center relative pl-10 credit-card-qr-code-container\">\n <div className=\"h-auto relative qr-code-container\">\n {/* <div className=\"qr-code-upper-left-yellow\" />\n <div className=\"qr-code-upper-right-pink-square\" />\n <div className=\"qr-code-bottom-left-purple-square\" />\n <div className=\"qr-code-green-blob\" />\n <div className=\"qr-code-green-blob-2\" />\n <div className=\"qr-code-blue-blob\" />\n <div className=\"qr-code-orange-blob\" /> */}\n <QRCodeSVG\n className=\"h-full w-full\"\n value={qrCodeValue}\n data-testid=\"credit-card-qr-code\"\n bgColor=\"transparent\"\n // fgColor=\"#999999\"\n />\n </div>\n </div>\n )}\n\n <img\n src={MasterCardLogo ?? ''}\n alt=\"mastercard icon\"\n className=\"absolute bottom-[-8px] right-4 learn-card-mastercard-logo\"\n />\n </div>\n </div>\n {children}\n </div>\n );\n};\n\nexport default LearnCardCreditCardFrontFace;\n"],"names":["React","CardChip","QRCodeSVG","MasterCardLogo"],"mappings":"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"}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var React = require('react');
|
|
4
|
-
var
|
|
5
|
-
var
|
|
4
|
+
var i18n = require('./i18n-0648eec1.js');
|
|
5
|
+
var VerifierStateBadgeAndText = require('./VerifierStateBadgeAndText-04c90074.js');
|
|
6
|
+
var credential_helpers = require('./credential.helpers-14544e48.js');
|
|
6
7
|
var UserProfilePicture = require('./UserProfilePicture-61571db9.js');
|
|
7
8
|
var helpers = require('@learncard/helpers');
|
|
8
9
|
var index = require('./index-3daa4cfe.js');
|
|
9
|
-
var types_esm = require('./types.esm-
|
|
10
|
+
var types_esm = require('./types.esm-55f8d7fb.js');
|
|
10
11
|
var Lightbox = require('./Lightbox-e2996736.js');
|
|
11
12
|
var ThreeDots = require('./DotsThreeOutline.svg');
|
|
12
13
|
|
|
@@ -307,7 +308,7 @@ const MediaAttachmentsBox = ({
|
|
|
307
308
|
/* @__PURE__ */ React__default["default"].createElement(
|
|
308
309
|
"button",
|
|
309
310
|
{
|
|
310
|
-
className: "relative h-[80px] w-[80px] rounded-[15px] overflow-hidden
|
|
311
|
+
className: "relative h-[80px] w-[80px] rounded-[15px] overflow-hidden shrink-0",
|
|
311
312
|
onClick: (e) => {
|
|
312
313
|
e.stopPropagation();
|
|
313
314
|
handleMediaAttachmentClick(media.url, media.type);
|
|
@@ -391,7 +392,7 @@ const VerificationRow = ({ verification }) => {
|
|
|
391
392
|
}
|
|
392
393
|
primaryText = VerifierStateBadgeAndText.capitalize(primaryText);
|
|
393
394
|
const infoText = "";
|
|
394
|
-
return /* @__PURE__ */ React__default["default"].createElement("div", { className: "verification-row flex flex-col gap-[5px] font-poppins border-b
|
|
395
|
+
return /* @__PURE__ */ React__default["default"].createElement("div", { className: "verification-row flex flex-col gap-[5px] font-poppins border-b border-grayscale-200 border-solid w-full py-[10px] last:border-0 last:pb-0" }, /* @__PURE__ */ React__default["default"].createElement(
|
|
395
396
|
"span",
|
|
396
397
|
{
|
|
397
398
|
className: "font-[700] text-[11px] uppercase flex items-center gap-[3px] select-none",
|
|
@@ -488,8 +489,10 @@ const MeritBadgeBackFace = ({
|
|
|
488
489
|
customLinkedCredentialsComponent
|
|
489
490
|
}) => {
|
|
490
491
|
var _a, _b, _c, _d, _e, _f, _g;
|
|
492
|
+
const t = i18n.useT();
|
|
491
493
|
const { createdAt, credentialSubject } = credential_helpers.getInfoFromCredential(credential, "MMM dd, yyyy", {
|
|
492
|
-
uppercaseDate: false
|
|
494
|
+
uppercaseDate: false,
|
|
495
|
+
dateType: "awarded"
|
|
493
496
|
});
|
|
494
497
|
const { description } = (_a = credentialSubject == null ? void 0 : credentialSubject.achievement) != null ? _a : {};
|
|
495
498
|
const criteria = (_c = (_b = credentialSubject == null ? void 0 : credentialSubject.achievement) == null ? void 0 : _b.criteria) == null ? void 0 : _c.narrative;
|
|
@@ -517,13 +520,12 @@ const MeritBadgeBackFace = ({
|
|
|
517
520
|
/* @__PURE__ */ React__default["default"].createElement(VerifierStateBadgeAndText.LeftArrow, { className: "text-white", size: "25" }),
|
|
518
521
|
"Details"
|
|
519
522
|
)) : /* @__PURE__ */ React__default["default"].createElement("h1", { className: "text-white text-center text-[22px] font-jacques" }, "Details"),
|
|
520
|
-
/* @__PURE__ */ React__default["default"].createElement(TruncateTextBox, { headerText: "About", text: description }, /* @__PURE__ */ React__default["default"].createElement(
|
|
523
|
+
/* @__PURE__ */ React__default["default"].createElement(TruncateTextBox, { headerText: "About", text: description }, createdAt && /* @__PURE__ */ React__default["default"].createElement(
|
|
521
524
|
"span",
|
|
522
525
|
{
|
|
523
|
-
className: `text-grayscale-600 font-poppins text-[12px] font-[600] w-full ${description ? "pt-[10px] border-t
|
|
526
|
+
className: `text-grayscale-600 font-poppins text-[12px] font-[600] w-full ${description ? "pt-[10px] border-t border-solid border-grayscale-200" : ""}`
|
|
524
527
|
},
|
|
525
|
-
"
|
|
526
|
-
createdAt
|
|
528
|
+
t("credential.awardedOn", { date: createdAt })
|
|
527
529
|
)),
|
|
528
530
|
criteria && /* @__PURE__ */ React__default["default"].createElement(TruncateTextBox, { headerText: "Criteria", text: criteria }),
|
|
529
531
|
customLinkedCredentialsComponent && customLinkedCredentialsComponent,
|
|
@@ -551,19 +553,19 @@ const MeritBadgeCornerIcon = ({ categoryType, position }) => {
|
|
|
551
553
|
switch (position) {
|
|
552
554
|
case "top-left":
|
|
553
555
|
iconPositionClassName = "top-[3px] left-[3px] pb-[10px] pr-[10px] pl-[4px] pt-[4px]";
|
|
554
|
-
cornerPositionClassName = "bottom-
|
|
556
|
+
cornerPositionClassName = "-bottom-px right-0";
|
|
555
557
|
break;
|
|
556
558
|
case "top-right":
|
|
557
559
|
iconPositionClassName = "top-[3px] right-[3px] pl-[10px] pb-[10px] pr-[4px] pt-[4px]";
|
|
558
|
-
cornerPositionClassName = "bottom-
|
|
560
|
+
cornerPositionClassName = "-bottom-px left-0 rotate-90";
|
|
559
561
|
break;
|
|
560
562
|
case "bottom-left":
|
|
561
563
|
iconPositionClassName = "bottom-[3px] left-[3px] pr-[10px] pt-[10px] pl-[4px] pb-[4px]";
|
|
562
|
-
cornerPositionClassName = "top-0 right-0 rotate-
|
|
564
|
+
cornerPositionClassName = "top-0 right-0 rotate-270";
|
|
563
565
|
break;
|
|
564
566
|
case "bottom-right":
|
|
565
567
|
iconPositionClassName = "bottom-[3px] right-[3px] pl-[10px] pt-[10px] pr-[4px] pb-[4px]";
|
|
566
|
-
cornerPositionClassName = "top-
|
|
568
|
+
cornerPositionClassName = "-top-px left-0 rotate-180";
|
|
567
569
|
break;
|
|
568
570
|
}
|
|
569
571
|
return /* @__PURE__ */ React__default["default"].createElement(
|
|
@@ -741,7 +743,7 @@ const MeritBadgeProfileImageDisplay = ({
|
|
|
741
743
|
avatarFingerprintColor,
|
|
742
744
|
avatarFallbackVariant = "initial"
|
|
743
745
|
}) => {
|
|
744
|
-
const imageClassName = `${size === "big" ? "h-[60px] w-[60px]" : "h-[39px] w-[39px]"} rounded-full overflow-hidden border-
|
|
746
|
+
const imageClassName = `${size === "big" ? "h-[60px] w-[60px]" : "h-[39px] w-[39px]"} rounded-full overflow-hidden border-2 border-solid border-grayscale-200`;
|
|
745
747
|
const silhouetteClassName = size === "big" ? "h-[43px] w-[43px]" : "h-[28px] w-[28px]";
|
|
746
748
|
const profileImage = imageComponent ? /* @__PURE__ */ React__default["default"].createElement("div", { className: imageClassName }, imageComponent) : /* @__PURE__ */ React__default["default"].createElement(
|
|
747
749
|
UserProfilePicture.UserProfilePicture,
|
|
@@ -779,6 +781,7 @@ const MeritBadgeFrontFace = ({
|
|
|
779
781
|
onVerifierClick
|
|
780
782
|
}) => {
|
|
781
783
|
var _a;
|
|
784
|
+
const t = i18n.useT();
|
|
782
785
|
const {
|
|
783
786
|
title = "",
|
|
784
787
|
createdAt,
|
|
@@ -786,7 +789,10 @@ const MeritBadgeFrontFace = ({
|
|
|
786
789
|
issuee: _issuee = "",
|
|
787
790
|
credentialSubject,
|
|
788
791
|
imageUrl
|
|
789
|
-
} = credential_helpers.getInfoFromCredential(credential, "MMM dd, yyyy", {
|
|
792
|
+
} = credential_helpers.getInfoFromCredential(credential, "MMM dd, yyyy", {
|
|
793
|
+
uppercaseDate: false,
|
|
794
|
+
dateType: "awarded"
|
|
795
|
+
});
|
|
790
796
|
const issuee = issueeOverride || _issuee;
|
|
791
797
|
const issuer = issuerOverride || _issuer;
|
|
792
798
|
(_a = credentialSubject == null ? void 0 : credentialSubject.achievement) != null ? _a : {};
|
|
@@ -855,7 +861,7 @@ const MeritBadgeFrontFace = ({
|
|
|
855
861
|
/* @__PURE__ */ React__default["default"].createElement(
|
|
856
862
|
"div",
|
|
857
863
|
{
|
|
858
|
-
className: `flex flex-col gap-[15px] items-center px-[20px] pt-[92px] pb-[19px] border-solid border-
|
|
864
|
+
className: `flex flex-col gap-[15px] items-center px-[20px] pt-[92px] pb-[19px] border-solid border-4 ${borderColor} rounded-[30px]`
|
|
859
865
|
},
|
|
860
866
|
/* @__PURE__ */ React__default["default"].createElement("div", { className: "flex flex-col gap-[5px] w-full" }, /* @__PURE__ */ React__default["default"].createElement("div", { className: "flex flex-col items-center text-grayscale-900" }, issueeName && !customBodyCardComponent && /* @__PURE__ */ React__default["default"].createElement(React__default["default"].Fragment, null, /* @__PURE__ */ React__default["default"].createElement("span", { className: "flex flex-wrap items-baseline justify-center gap-1 text-[16px] leading-[150%] font-jacques max-w-full overflow-hidden text-ellipsis whitespace-nowrap" }, !issueeDisplay.isMissing && issueeDisplay.isDidValue ? /* @__PURE__ */ React__default["default"].createElement(React__default["default"].Fragment, null, /* @__PURE__ */ React__default["default"].createElement("span", { className: "text-grayscale-900" }, "Digital ID:"), /* @__PURE__ */ React__default["default"].createElement("span", { className: "text-grayscale-600 underline" }, issueeDisplay.displayName)) : issueeName), /* @__PURE__ */ React__default["default"].createElement("span", { className: "text-[14px] leading-[150%] font-jacques" }, "has met the requirements for"))), /* @__PURE__ */ React__default["default"].createElement("div", { className: "flex flex-col items-center" }, /* @__PURE__ */ React__default["default"].createElement("h1", { className: "text-grayscale-900 text-center text-[25px] font-jacques w-full" }, title), /* @__PURE__ */ React__default["default"].createElement(
|
|
861
867
|
"div",
|
|
@@ -877,7 +883,7 @@ const MeritBadgeFrontFace = ({
|
|
|
877
883
|
avatarFallbackVariant: issueeDisplay.isDidValue ? "fingerprint" : "initial"
|
|
878
884
|
}
|
|
879
885
|
),
|
|
880
|
-
/* @__PURE__ */ React__default["default"].createElement("div", { className: "flex flex-col w-full" }, /* @__PURE__ */ React__default["default"].createElement("div", { className: "text-[14px] text-grayscale-900 flex flex-col items-center w-full mb-[10px]" }, /* @__PURE__ */ React__default["default"].createElement("span", { className: "font-jacques flex gap-[5px] items-center w-full
|
|
886
|
+
/* @__PURE__ */ React__default["default"].createElement("div", { className: "flex flex-col w-full" }, /* @__PURE__ */ React__default["default"].createElement("div", { className: "text-[14px] text-grayscale-900 flex flex-col items-center w-full mb-[10px]" }, /* @__PURE__ */ React__default["default"].createElement("span", { className: "font-jacques flex gap-[5px] items-center w-full text-ellipsis whitespace-nowrap overflow-hidden justify-center" }, issueeName === "0 person" ? "Not yet awarded" : createdAt ? t("credential.awardedOnBy", { date: createdAt }) : t("credential.by"))), /* @__PURE__ */ React__default["default"].createElement("div", { className: "flex flex-col gap-[5px] items-center w-full" }, /* @__PURE__ */ React__default["default"].createElement("span", { className: "mb-[3px] pt-[3px] text-grayscale-900 text-[25px] leading-[90%] font-sacramento border-b border-solid border-grayscale-200 w-full text-center line-clamp-2 wrap-break-word scrollbar-hide" }, 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] w-full text-center line-clamp-2 wrap-break-word" }, /* @__PURE__ */ React__default["default"].createElement("span", { className: "font-[600]" }, "Digital ID:"), /* @__PURE__ */ React__default["default"].createElement("span", { className: "text-grayscale-600" }, issuerName)) : issuerName))),
|
|
881
887
|
/* @__PURE__ */ React__default["default"].createElement(
|
|
882
888
|
MeritBadgeProfileImageDisplay,
|
|
883
889
|
{
|
|
@@ -1020,4 +1026,4 @@ const MeritBadgeDisplayCard = ({
|
|
|
1020
1026
|
exports.MeritBadgeBackFace = MeritBadgeBackFace;
|
|
1021
1027
|
exports.MeritBadgeDisplayCard = MeritBadgeDisplayCard;
|
|
1022
1028
|
exports.MeritBadgeFrontFace = MeritBadgeFrontFace;
|
|
1023
|
-
//# sourceMappingURL=MeritBadgeDisplayCard-
|
|
1029
|
+
//# sourceMappingURL=MeritBadgeDisplayCard-30ef639d.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MeritBadgeDisplayCard-30ef639d.js","sources":["../../src/components/MeritBadgeDisplayCard/AlignmentRow.tsx","../../src/components/MeritBadgeDisplayCard/InfoBox.tsx","../../src/components/MeritBadgeDisplayCard/AlignmentsBox.tsx","../../src/components/MeritBadgeDisplayCard/MediaAttachmentsBox.tsx","../../src/components/MeritBadgeDisplayCard/VerificationRow.tsx","../../src/components/MeritBadgeDisplayCard/VerificationsBox.tsx","../../src/components/MeritBadgeDisplayCard/TruncateTextBox.tsx","../../src/components/MeritBadgeDisplayCard/MeritBadgeBackFace.tsx","../../src/components/MeritBadgeDisplayCard/MeritBadgeCornerIcon.tsx","../../src/components/MeritBadgeDisplayCard/MeritBadgeRibbon.tsx","../../src/components/MeritBadgeDisplayCard/MeritBadgeImageDisplay.tsx","../../src/components/MeritBadgeDisplayCard/MeritBadgeProfileImageDisplay.tsx","../../src/components/MeritBadgeDisplayCard/MeritBadgeFrontFace.tsx","../../src/components/MeritBadgeDisplayCard/MeritBadgeDisplayCard.tsx"],"sourcesContent":["import React from 'react';\n\ntype AlignmentsRowProps = {\n url?: string;\n name?: string;\n framework?: string;\n code?: string;\n description?: string;\n verified?: boolean;\n};\n\nconst ExternalLinkIcon: React.FC = () => (\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <path d=\"M15 3h6v6\" />\n <path d=\"M10 14 21 3\" />\n <path d=\"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\" />\n </svg>\n);\n\nconst ShieldCheckIcon: React.FC = () => (\n <svg\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <path d=\"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z\" />\n <path d=\"m9 12 2 2 4-4\" />\n </svg>\n);\n\nconst AlignmentRow: React.FC<AlignmentsRowProps> = ({\n url,\n name,\n framework,\n code,\n description,\n verified,\n}) => {\n const title = name || code || 'Framework alignment';\n\n return (\n <div\n className={`flex flex-col gap-[6px] font-poppins w-full rounded-[15px] border px-[14px] py-[12px] ${\n verified\n ? 'bg-emerald-50 border-emerald-100'\n : 'bg-grayscale-50 border-grayscale-200'\n }`}\n >\n <div className=\"flex items-start justify-between gap-2\">\n <div className=\"flex items-start gap-2 min-w-0\">\n <span className=\"text-[14px] font-semibold text-grayscale-900 leading-snug\">\n {title}\n </span>\n {verified && (\n <span className=\"inline-flex items-center gap-1 rounded-full bg-emerald-50 border border-emerald-100 px-[6px] py-[2px] text-[10px] font-medium text-emerald-700 shrink-0\">\n <ShieldCheckIcon />\n Verified\n </span>\n )}\n </div>\n {url && (\n <a\n href={url}\n target=\"_blank\"\n rel=\"noreferrer\"\n onClick={e => e.stopPropagation()}\n className=\"text-grayscale-400 hover:text-grayscale-700 transition-colors shrink-0\"\n aria-label=\"Open alignment source\"\n >\n <ExternalLinkIcon />\n </a>\n )}\n </div>\n\n {(code || framework) && (\n <div className=\"flex flex-wrap items-center gap-[6px]\">\n {code && (\n <span className=\"inline-flex items-center rounded-full bg-grayscale-100 border border-grayscale-200 px-[8px] py-[2px] text-[11px] font-medium text-grayscale-700\">\n {code}\n </span>\n )}\n {framework && (\n <span className=\"text-[11px] text-grayscale-500\">{framework}</span>\n )}\n </div>\n )}\n\n {description && (\n <p className=\"text-[12px] text-grayscale-600 leading-relaxed\">{description}</p>\n )}\n </div>\n );\n};\n\nexport default AlignmentRow;\n","import React from 'react';\n\ntype InfoBoxProps = {\n text: string;\n handleClose: () => void;\n backgroundColor?: string;\n};\n\nconst InfoBox: React.FC<InfoBoxProps> = ({ text, handleClose, backgroundColor = '#6366F1' }) => {\n const bgColorWithOpacity = `${backgroundColor}1F`; // 12% opacity\n return (\n <div\n className=\"info-box p-[10px] rounded-[10px] w-full font-poppins text-[12px] leading[18px]\"\n style={{ backgroundColor: bgColorWithOpacity }}\n >\n {text}{' '}\n <button\n onClick={e => {\n e.stopPropagation();\n handleClose();\n }}\n className=\"text-indigo-500 font-[700] select-none\"\n >\n Close\n </button>\n </div>\n );\n};\n\nexport default InfoBox;\n","import React, { useState } from 'react';\n\nimport AlignmentRow from './AlignmentRow';\nimport InfoIcon from '../svgs/InfoIcon';\nimport InfoBox from './InfoBox';\n\ntype Alignment = {\n targetUrl: string;\n targetName: string;\n targetFramework: string;\n targetCode?: string;\n targetDescription?: string;\n targetType?: string;\n};\n\ntype AlignmentsBoxProps = {\n alignment: Alignment | Alignment[];\n style: 'MeritBadge' | 'boost';\n};\n\nconst isCredentialEngine = (a: Alignment): boolean =>\n a.targetType === 'ceterms:Credential' || a.targetFramework === 'Credential Engine Registry';\n\nconst AlignmentsBox: React.FC<AlignmentsBoxProps> = ({ alignment, style }) => {\n const [showInfo, setShowInfo] = useState(false);\n const alignmentText = `\n Alignments in your Open Badge credential link your achievement to established frameworks, standards, or competencies. \n Each alignment shows how your boost directly relates to skills, knowledge areas, and professional standards that are recognized in your field.\n `;\n\n const list = Array.isArray(alignment) ? alignment : [alignment];\n if (list.length === 0) return null;\n\n const verified = list.filter(isCredentialEngine);\n const other = list.filter(a => !isCredentialEngine(a));\n\n const renderRow = (object: Alignment, index: number, isVerified: boolean) => (\n <AlignmentRow\n key={`${object.targetUrl ?? object.targetName}-${index}`}\n url={object.targetUrl}\n name={object.targetName}\n framework={object.targetFramework}\n code={object.targetCode}\n description={object.targetDescription}\n verified={isVerified}\n />\n );\n\n return (\n <div className=\"bg-white flex flex-col items-start gap-[10px] rounded-[20px] shadow-bottom p-[15px] w-full\">\n <div className=\"flex w-full items-center\">\n <h3\n className={\n style === 'MeritBadge'\n ? 'text-[17px] text-grayscale-900 font-poppins'\n : 'text-[22px] font-mouse'\n }\n >\n Alignments\n </h3>\n <button\n className=\"ml-auto\"\n onClick={e => {\n e.stopPropagation();\n setShowInfo(!showInfo);\n }}\n >\n <InfoIcon color={showInfo ? '#00BA88' : undefined} />\n </button>\n </div>\n {showInfo && <InfoBox text={alignmentText} handleClose={() => setShowInfo(false)} />}\n\n {verified.length > 0 && (\n <div className=\"flex flex-col gap-[8px] w-full\">\n <span className=\"text-[11px] font-medium text-grayscale-500 font-poppins\">\n Verified source\n </span>\n {verified.map((object, index) => renderRow(object, index, true))}\n </div>\n )}\n\n {other.length > 0 && (\n <div className=\"flex flex-col gap-[8px] w-full\">\n {verified.length > 0 && (\n <span className=\"text-[11px] font-medium text-grayscale-500 font-poppins\">\n Occupations & programs\n </span>\n )}\n {other.map((object, index) => renderRow(object, index, false))}\n </div>\n )}\n </div>\n );\n};\n\nexport default AlignmentsBox;\n","import React, { useEffect, useState } from 'react';\nimport prettyBytes from 'pretty-bytes';\n\nimport Camera from '../svgs/Camera';\nimport LinkIcon from '../svgs/LinkIcon';\nimport VideoIcon from '../svgs/VideoIcon';\nimport GenericDocumentIcon from '../svgs/GenericDocumentIcon';\n\nimport { Attachment, MediaMetadata, VideoMetadata } from '../../types';\nimport { getBaseUrl } from '../../helpers/url.helpers';\nimport { Lightbox, LightboxItem } from '../Lightbox';\n\ntype MediaAttachmentsBoxProps = {\n attachments: Attachment[];\n getFileMetadata?: (url: string) => MediaMetadata;\n getVideoMetadata?: (url: string) => VideoMetadata;\n onMediaAttachmentClick?: (url: string, type: 'photo' | 'document' | 'video' | 'link') => void;\n enableLightbox?: boolean;\n};\n\nconst defaultGetFileMetadata = async (url: string) => {\n console.log({ url });\n const isFilestack = url.includes('filestack');\n if (!isFilestack) return;\n\n const urlParams = url.split('.com/')[1]?.split('/');\n if (!urlParams) return;\n const handle = urlParams[urlParams.length - 1];\n\n let fetchFailed = false;\n const data = await fetch(`https://cdn.filestackcontent.com/${handle}/metadata`)\n .then(res => res.json())\n .catch(() => (fetchFailed = true));\n\n if (fetchFailed) return;\n\n const fileExtension = data.filename.split('.')[1];\n\n return {\n fileExtension,\n sizeInBytes: data.size,\n numberOfPages: undefined,\n };\n};\n\n// Function to determine if the URL is from YouTube\nconst isYoutubeUrl = (url: string) => {\n const youtubeUrl = new URL(url);\n return youtubeUrl.hostname === 'www.youtube.com';\n};\n\n// Function to get the YouTube video ID from the URL\nconst getYoutubeVideoId = (url: string) => {\n const regex = /(?:\\?v=|\\.com\\/embed\\/)([^&]+)/;\n const match = url.match(regex);\n return match ? match[1] : '';\n};\n\n// Function to get the cover image URL for YouTube videos\nconst getCoverImageUrl = (youtubeWatchUrl: string) => {\n if (!isYoutubeUrl(youtubeWatchUrl)) {\n return ''; // Return an empty string if the URL is not a YouTube URL\n }\n\n const videoId = getYoutubeVideoId(youtubeWatchUrl);\n // Construct and return the URL for the video's cover image\n // This URL fetches the highest resolution image available\n return videoId ? `https://img.youtube.com/vi/${videoId}/maxresdefault.jpg` : '';\n};\n\nconst defaultGetVideoMetadata = async (url: string) => {\n const isYoutube = isYoutubeUrl(url);\n if (!isYoutube) return;\n\n const metadataUrl = `http://youtube.com/oembed?url=${url}&format=json`;\n\n let fetchFailed = false;\n const metadata = await fetch(metadataUrl)\n .then(res => res.json())\n .catch(() => (fetchFailed = true));\n\n const coverImageUrl = getCoverImageUrl(url);\n\n if (fetchFailed) return { imageUrl: coverImageUrl };\n\n return {\n title: metadata.title,\n imageUrl: coverImageUrl,\n videoLength: '', // TODO figure out how to get this\n };\n};\n\nconst MediaAttachmentsBox: React.FC<MediaAttachmentsBoxProps> = ({\n attachments,\n getFileMetadata = defaultGetFileMetadata,\n getVideoMetadata = defaultGetVideoMetadata,\n onMediaAttachmentClick,\n enableLightbox = false,\n}) => {\n const [documentMetadata, setDocumentMetadata] = useState<{\n [documentUrl: string]: MediaMetadata | undefined;\n }>({});\n const [videoMetadata, setVideoMetadata] = useState<{\n [videoUrl: string]: VideoMetadata | undefined;\n }>({});\n\n const mediaAttachments: Attachment[] = [];\n const documentsAndLinks: Attachment[] = [];\n attachments.forEach(a => {\n switch (a.type) {\n case 'document':\n case 'link':\n documentsAndLinks.push(a);\n break;\n case 'photo':\n case 'video':\n mediaAttachments.push(a);\n break;\n default:\n break;\n }\n });\n\n useEffect(() => {\n const getMetadata = async (attachments: Attachment[]): Promise<any> => {\n const docMetadata: { [docUrl: string]: MediaMetadata | undefined } = {};\n const videoMetadata: { [videoUrl: string]: VideoMetadata | undefined } = {};\n await Promise.all(\n attachments.map(async attachment => {\n if (attachment.type === 'document') {\n docMetadata[attachment.url] = await getFileMetadata(attachment.url);\n } else if (attachment.type === 'video') {\n videoMetadata[attachment.url] = await getVideoMetadata(attachment.url);\n }\n })\n );\n\n setVideoMetadata(videoMetadata);\n setDocumentMetadata(docMetadata);\n };\n\n const videos = attachments.filter(a => a.type === 'video');\n getMetadata([...documentsAndLinks, ...videos]);\n }, []);\n\n const [currentLightboxUrl, setCurrentLightboxUrl] = useState<string | undefined>(undefined);\n const lightboxItems = mediaAttachments.filter(\n a => a.type === 'photo' || a.type === 'video'\n ) as LightboxItem[];\n const handleMediaAttachmentClick = (\n url: string,\n type: 'photo' | 'document' | 'video' | 'link'\n ) => {\n if (type === 'photo' || type === 'video') {\n setCurrentLightboxUrl(url);\n }\n\n onMediaAttachmentClick?.(url, type);\n };\n\n return (\n <div className=\"bg-white flex flex-col items-start gap-[10px] rounded-[20px] shadow-bottom px-[15px] py-[20px] w-full\">\n <h3 className=\"text-[17px] text-grayscale-900 font-poppins\">Attachments</h3>\n {mediaAttachments.length > 0 && (\n <div className=\"flex gap-[5px] justify-between flex-wrap w-full\">\n {enableLightbox && (\n <Lightbox\n items={lightboxItems}\n currentUrl={currentLightboxUrl}\n setCurrentUrl={setCurrentLightboxUrl}\n />\n )}\n {mediaAttachments.map((media, index) => {\n let innerContent: React.ReactNode;\n let title = media.title;\n\n if (media.type === 'video') {\n const metadata = videoMetadata[media.url];\n title = (title || metadata?.title) ?? '';\n const baseUrl = getBaseUrl(media.url);\n\n innerContent = (\n <div\n className=\"bg-cover bg-no-repeat bg-center relative font-poppins text-white text-[12px] font-[400] leading-[17px] flex flex-col justify-end items-start p-[10px] text-left bg-rose-600 rounded-[15px] h-full\"\n style={{\n backgroundImage: metadata?.imageUrl\n ? `linear-gradient(180deg, rgba(0, 0, 0, 0) 44.20%, rgba(0, 0, 0, 0.6) 69%), url(${\n metadata?.imageUrl ?? ''\n })`\n : undefined,\n }}\n >\n {!metadata?.imageUrl && (\n <VideoIcon size=\"60\" className=\"m-auto\" />\n )}\n <div className=\"absolute bottom-[10px] left-[10px] z-10 flex items-center gap-[5px]\">\n {metadata?.imageUrl && <VideoIcon />}\n {metadata?.videoLength && (\n <span className=\"leading-[23px]\">\n {metadata.videoLength}\n </span>\n )}\n </div>\n </div>\n );\n } else {\n innerContent = (\n <div className=\"h-full w-full flex items-center justify-center\">\n <img className=\"object-cover h-full w-full\" src={media.url} />\n <Camera className=\"absolute bottom-[10px] left-[10px] z-10\" />\n </div>\n );\n }\n\n const className = `media-attachment ${media.type} w-[49%] pt-[49%] overflow-hidden relative`;\n\n if (onMediaAttachmentClick || enableLightbox) {\n return (\n <div\n key={index}\n className=\"flex media-attachment-box bg-grayscale-100 items-center rounded-[15px] w-full\"\n >\n <button\n className=\"relative h-[80px] w-[80px] rounded-[15px] overflow-hidden shrink-0\"\n onClick={e => {\n e.stopPropagation();\n handleMediaAttachmentClick(media.url, media.type);\n }}\n >\n {innerContent}\n </button>\n {title && (\n <div className=\"text-[12px] text-grayscale-900 font-poppins px-[10px] line-clamp-3\">\n {title}\n </div>\n )}\n </div>\n );\n }\n\n return (\n <div key={index} className={className}>\n {innerContent}\n </div>\n );\n })}\n </div>\n )}\n {documentsAndLinks.length > 0 && (\n <div className=\"w-full flex flex-col gap-[5px]\">\n {documentsAndLinks.map((docOrLink, index) => {\n const metadata =\n docOrLink.type === 'document'\n ? documentMetadata[docOrLink.url]\n : undefined;\n const { fileExtension, sizeInBytes, numberOfPages } = metadata ?? {};\n\n let baseUrl = '';\n if (docOrLink.type === 'link') {\n baseUrl = getBaseUrl(docOrLink.url);\n }\n\n const innerContent = (\n <div className=\"flex flex-col gap-[5px]\">\n <div className=\"flex gap-[5px] items-center\">\n {docOrLink.type === 'document' && (\n <GenericDocumentIcon className=\"shrink-0\" />\n )}\n {docOrLink.type === 'link' && <LinkIcon className=\"shrink-0\" />}\n\n <div className=\"flex flex-col\">\n <span className=\"text-grayscale-900 font-[400]\">\n {docOrLink.title ?? 'No title'}\n </span>\n {docOrLink.type === 'document' && metadata && (\n <a\n href={docOrLink.url}\n target=\"_blank\"\n rel=\"noreferrer\"\n className=\"text-grayscale-700 font-[500] text-[12px] font-poppins hover:underline\"\n onClick={e => e.stopPropagation()}\n >\n {fileExtension && (\n <span className=\"uppercase\">\n {fileExtension}\n </span>\n )}\n {fileExtension &&\n (numberOfPages || sizeInBytes) &&\n ' • '}\n {numberOfPages && (\n <span>\n {numberOfPages} page\n {numberOfPages === 1 ? '' : 's'}\n </span>\n )}\n {numberOfPages && sizeInBytes && ' • '}\n {sizeInBytes && (\n <span>{prettyBytes(sizeInBytes)}</span>\n )}\n </a>\n )}\n {docOrLink.type === 'link' && (\n <a\n href={docOrLink.url}\n target=\"_blank\"\n rel=\"noreferrer\"\n className=\"text-indigo-500 font-[500] text-[12px] font-poppins hover:underline\"\n onClick={e => e.stopPropagation()}\n >\n {baseUrl}\n </a>\n )}\n </div>\n </div>\n </div>\n );\n\n const className = `row-attachment ${docOrLink.type} bg-grayscale-100 rounded-[15px] p-[10px] w-full font-poppins text-[12px] leading-[18px] tracking-[-0.33px] text-left`;\n\n if (onMediaAttachmentClick) {\n return (\n <button\n key={index}\n className={className}\n onClick={e => {\n e.stopPropagation();\n handleMediaAttachmentClick(docOrLink.url, docOrLink.type);\n }}\n >\n {innerContent}\n </button>\n );\n }\n\n return (\n <div key={index} className={className}>\n {innerContent}\n </div>\n );\n })}\n </div>\n )}\n </div>\n );\n};\n\nexport default MediaAttachmentsBox;\n","import React, { useState } from 'react';\nimport { VerificationItem, VerificationStatusEnum } from '@learncard/types';\nimport { getColorForVerificationStatus } from '../../helpers/credential.helpers';\n\nimport InfoBox from './InfoBox';\nimport InfoIcon from '../svgs/InfoIcon';\nimport AcuteCheckmark from '../svgs/AcuteCheckmark';\nimport ExclamationPoint from '../svgs/ExclamationPoint';\nimport X from '../svgs/X';\nimport { capitalize } from '../../helpers/string.helpers';\n\ntype VerificationRowProps = {\n verification: VerificationItem;\n};\n\nconst VerificationRow: React.FC<VerificationRowProps> = ({ verification }) => {\n const [showInfo, setShowInfo] = useState(false);\n const statusColor = getColorForVerificationStatus(verification.status);\n\n const getIcon = () => {\n switch (verification.status) {\n case VerificationStatusEnum.Success:\n return <AcuteCheckmark />;\n case VerificationStatusEnum.Error:\n return <ExclamationPoint />;\n case VerificationStatusEnum.Failed:\n return <X className=\"w-[15px] h-[15px]\" />;\n }\n };\n\n let primaryText = verification.check\n ? `${verification.check}: ${verification.message}`\n : verification.message;\n if (verification.status === VerificationStatusEnum.Failed) {\n primaryText = verification.message ?? verification.details ?? '';\n }\n primaryText = capitalize(primaryText);\n\n const infoText = ''; // if we want certain verifications to have extra explanation, we can set this variable\n\n return (\n <div className=\"verification-row flex flex-col gap-[5px] font-poppins border-b border-grayscale-200 border-solid w-full py-[10px] last:border-0 last:pb-0\">\n <span\n className=\"font-[700] text-[11px] uppercase flex items-center gap-[3px] select-none\"\n style={{ color: statusColor }}\n >\n {getIcon()}\n {verification.status}\n {infoText && (\n <button className=\"ml-auto\" onClick={() => setShowInfo(!showInfo)}>\n <InfoIcon color={statusColor} />\n </button>\n )}\n </span>\n {showInfo && infoText && (\n <InfoBox\n text={infoText}\n handleClose={() => setShowInfo(false)}\n backgroundColor={statusColor}\n />\n )}\n <span className=\"text-[14px] text-grayscale-900 font-poppins\">{primaryText}</span>\n </div>\n );\n};\n\nexport default VerificationRow;\n","import React, { useState } from 'react';\n\nimport VerificationRow from './VerificationRow';\nimport InfoIcon from '../svgs/InfoIcon';\nimport InfoBox from './InfoBox';\n\nimport { VerificationItem } from '@learncard/types';\n\ntype VerificationsBoxProps = {\n verificationItems: VerificationItem[];\n};\n\nconst VerificationsBox: React.FC<VerificationsBoxProps> = ({ verificationItems }) => {\n const [showInfo, setShowInfo] = useState(false);\n\n return (\n <div className=\"bg-white flex flex-col items-start gap-[10px] rounded-[20px] shadow-bottom p-[15px] w-full\">\n <div className=\"flex w-full items-center\">\n <h3 className=\"text-[17px] text-grayscale-900 font-poppins\">Verifications</h3>\n <button\n className=\"ml-auto\"\n onClick={e => {\n e.stopPropagation();\n setShowInfo(!showInfo);\n }}\n >\n <InfoIcon color={showInfo ? '#6366F1' : undefined} />\n </button>\n </div>\n {showInfo && (\n <InfoBox\n text=\"Credential verifications check the cryptographic proof of digital credentials to ensure their authenticity and accuracy.\"\n handleClose={() => setShowInfo(false)}\n />\n )}\n\n {verificationItems.map((verification, index) => (\n <VerificationRow key={index} verification={verification} />\n ))}\n </div>\n );\n};\n\nexport default VerificationsBox;\n","import React, { useState } from 'react';\n\ntype TruncateTextBoxProps = {\n headerText: string;\n headerClassName?: string;\n\n // the text to be truncated if it's too long\n text: string;\n\n truncateThreshold?: number;\n\n // extra things to put at the bottom of the box\n children?: React.ReactNode;\n className?: string;\n};\n\nconst TruncateTextBox: React.FC<TruncateTextBoxProps> = ({\n headerText,\n headerClassName = '',\n text,\n truncateThreshold = 132,\n children,\n className = 'truncate-text-box',\n}) => {\n const needsTruncate = text?.length > truncateThreshold;\n const [showFullText, setShowFullText] = useState(false);\n const truncated = needsTruncate && !showFullText;\n\n const displayText = truncated ? text.substring(0, truncateThreshold) : text;\n\n return (\n <div\n className={`${className} w-full bg-white flex flex-col items-start gap-[10px] rounded-[20px] shadow-bottom p-[15px]`}\n >\n <h3 className={`${headerClassName} text-[17px] text-grayscale-900 font-poppins`}>\n {headerText}\n </h3>\n\n <p className=\"text-[12px] text-grayscale-700 font-poppins mb-0 flex flex-col items-start\">\n {displayText}\n {truncated && (\n <>\n ...\n <button\n className=\"text-indigo-500 text-[12px]\"\n onClick={e => {\n e.stopPropagation();\n setShowFullText(true);\n }}\n >\n Show more\n </button>\n </>\n )}\n {needsTruncate && showFullText && (\n <button\n className=\"text-indigo-500 text-[12px]\"\n onClick={e => {\n e.stopPropagation();\n setShowFullText(false);\n }}\n >\n Show less\n </button>\n )}\n </p>\n\n {children}\n </div>\n );\n};\n\nexport default TruncateTextBox;\n","import React from 'react';\nimport { useT } from '../../i18n';\nimport { getCategoryDarkColor, getInfoFromCredential } from '../../helpers/credential.helpers';\nimport { VC, VerificationItem } from '@learncard/types';\nimport {\n BoostAchievementCredential,\n LCCategoryEnum,\n MediaMetadata,\n VideoMetadata,\n} from '../../types';\nimport VerificationsBox from './VerificationsBox';\nimport AlignmentsBox from './AlignmentsBox';\nimport TruncateTextBox from './TruncateTextBox';\nimport MediaAttachmentsBox from './MediaAttachmentsBox';\nimport SkillsBox from '../VCDisplayCard2/SkillsBox';\nimport LeftArrow from '../svgs/LeftArrow';\n\ntype MeritBadgeBackFaceProps = {\n isFront?: boolean;\n credential: VC | BoostAchievementCredential;\n categoryType?: LCCategoryEnum;\n verificationItems: VerificationItem[];\n customSkillsComponent?: React.ReactNode;\n\n getFileMetadata?: (url: string) => MediaMetadata;\n getVideoMetadata?: (url: string) => VideoMetadata;\n onMediaAttachmentClick?: (url: string, type: 'photo' | 'document' | 'video' | 'link') => void;\n enableLightbox?: boolean;\n showBackButton?: boolean;\n handleViewFrontFace?: () => void;\n customLinkedCredentialsComponent?: React.ReactNode;\n};\n\nexport const MeritBadgeBackFace: React.FC<MeritBadgeBackFaceProps> = ({\n credential,\n categoryType,\n verificationItems,\n customSkillsComponent,\n\n getFileMetadata,\n getVideoMetadata,\n onMediaAttachmentClick,\n enableLightbox,\n showBackButton,\n handleViewFrontFace,\n customLinkedCredentialsComponent,\n}) => {\n const t = useT();\n const { createdAt, credentialSubject } = getInfoFromCredential(credential, 'MMM dd, yyyy', {\n uppercaseDate: false,\n dateType: 'awarded',\n });\n\n const { description } = credentialSubject?.achievement ?? {};\n const criteria = credentialSubject?.achievement?.criteria?.narrative;\n const alignment = credentialSubject?.achievement?.alignment;\n\n const credentialDarkColor = getCategoryDarkColor(categoryType);\n\n let bgColor = `bg-${credentialDarkColor}`;\n\n if (categoryType === LCCategoryEnum.accommodations) {\n bgColor = 'bg-amber-700';\n } else if (categoryType === LCCategoryEnum.accomplishments) {\n bgColor = 'bg-lime-700';\n }\n\n return (\n <div\n role=\"button\"\n onClick={() => handleViewFrontFace?.()}\n className={`flex flex-col gap-[15px] items-center border-[5px] border-solid border-grayscale-200 py-[30px] px-[20px] rounded-[25px] max-w-[400px] ${bgColor}`}\n >\n {showBackButton ? (\n <div className=\"w-full\">\n <button\n className=\"vc-card-back-button rounded-full h-[50px] px-[15px] flex items-center justify-center gap-[5px] z-50 text-[30px] text-white select-none\"\n onClick={() => handleViewFrontFace?.()}\n >\n <LeftArrow className=\"text-white\" size=\"25\" />\n Details\n </button>\n </div>\n ) : (\n <h1 className=\"text-white text-center text-[22px] font-jacques\">Details</h1>\n )}\n\n <TruncateTextBox headerText=\"About\" text={description}>\n {createdAt && (\n <span\n className={`text-grayscale-600 font-poppins text-[12px] font-[600] w-full ${\n description\n ? 'pt-[10px] border-t border-solid border-grayscale-200'\n : ''\n }`}\n >\n {t('credential.awardedOn', { date: createdAt })}\n </span>\n )}\n </TruncateTextBox>\n\n {criteria && <TruncateTextBox headerText=\"Criteria\" text={criteria} />}\n\n {customLinkedCredentialsComponent && customLinkedCredentialsComponent}\n\n {(credential.skills?.length ?? 0) > 0 &&\n (customSkillsComponent ? (\n customSkillsComponent\n ) : (\n <SkillsBox skills={credential.skills ?? []} />\n ))}\n\n {credential.attachments && credential.attachments.length > 0 && (\n <MediaAttachmentsBox\n attachments={credential.attachments}\n getFileMetadata={getFileMetadata}\n getVideoMetadata={getVideoMetadata}\n onMediaAttachmentClick={onMediaAttachmentClick}\n enableLightbox={enableLightbox}\n />\n )}\n\n {alignment && <AlignmentsBox alignment={alignment} style=\"MeritBadge\" />}\n\n {verificationItems && verificationItems.length > 0 && (\n <VerificationsBox verificationItems={verificationItems} />\n )}\n\n {/* so that tailwind will put these colors in the css */}\n <span className=\"hidden bg-amber-700 bg-spice-700 bg-rose-700 bg-yellow-700 bg-teal-700\"></span>\n </div>\n );\n};\n\nexport default MeritBadgeBackFace;\n","import React from 'react';\nimport RoundedCorner from '../svgs/RoundedCorner';\nimport { getCategoryIcon, getCategoryLightColor } from '../../helpers/credential.helpers';\nimport { LCCategoryEnum } from '../../types';\n\ntype MeritBadgeCornerIconProps = {\n categoryType: LCCategoryEnum;\n position: 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';\n};\n\nconst MeritBadgeCornerIcon: React.FC<MeritBadgeCornerIconProps> = ({ categoryType, position }) => {\n const credentialPrimaryColor = getCategoryLightColor(categoryType);\n const credentialIcon = getCategoryIcon(categoryType, '25');\n\n let iconPositionClassName, cornerPositionClassName;\n switch (position) {\n case 'top-left':\n iconPositionClassName = 'top-[3px] left-[3px] pb-[10px] pr-[10px] pl-[4px] pt-[4px]';\n cornerPositionClassName = '-bottom-px right-0';\n break;\n case 'top-right':\n iconPositionClassName = 'top-[3px] right-[3px] pl-[10px] pb-[10px] pr-[4px] pt-[4px]';\n cornerPositionClassName = '-bottom-px left-0 rotate-90';\n break;\n case 'bottom-left':\n iconPositionClassName = 'bottom-[3px] left-[3px] pr-[10px] pt-[10px] pl-[4px] pb-[4px]';\n cornerPositionClassName = 'top-0 right-0 rotate-270';\n break;\n case 'bottom-right':\n iconPositionClassName =\n 'bottom-[3px] right-[3px] pl-[10px] pt-[10px] pr-[4px] pb-[4px]';\n cornerPositionClassName = '-top-px left-0 rotate-180';\n break;\n }\n\n return (\n <div\n className={`text-${credentialPrimaryColor} rounded-full bg-white absolute ${iconPositionClassName}`}\n >\n {credentialIcon}\n <RoundedCorner className={`absolute ${cornerPositionClassName}`} />\n </div>\n );\n};\n\nexport default MeritBadgeCornerIcon;\n","import React from 'react';\n\ntype MeritBadgeRibbonProps = {\n className?: string;\n image: string;\n};\n\nconst MeritBadgeRibbon: React.FC<MeritBadgeRibbonProps> = ({ className = '', image }) => {\n const [errored, setErrored] = React.useState(false);\n\n React.useEffect(() => {\n setErrored(false);\n }, [image]);\n\n const showPlaceholder = !image || errored;\n\n return (\n <svg\n width=\"207\"\n height=\"170\"\n viewBox=\"0 0 207 170\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n >\n <g filter=\"url(#filter0_d_10755_290433)\">\n <circle cx=\"102.988\" cy=\"83\" r=\"81.5\" fill=\"white\" stroke=\"white\" strokeWidth=\"3\" />\n <path\n d=\"M3.94446 50C3.41654 50 2.92748 50.2775 2.65674 50.7307C2.38599 51.1839 2.37343 51.7461 2.62365 52.211L19.4659 83.5L2.62365 114.789C2.37343 115.254 2.386 115.816 2.65674 116.269C2.92748 116.722 3.41654 117 3.94446 117L203.056 117C203.583 117 204.073 116.722 204.343 116.269C204.614 115.816 204.627 115.254 204.376 114.789L187.534 83.5L204.376 52.211C204.627 51.7461 204.614 51.1839 204.343 50.7307C204.073 50.2775 203.583 50 203.056 50L3.94446 50Z\"\n fill=\"currentColor\"\n stroke=\"white\"\n strokeWidth=\"3\"\n strokeLinejoin=\"round\"\n />\n <rect\n x=\"25.3273\"\n y=\"5.34741\"\n width=\"156.6\"\n height=\"156.6\"\n rx=\"78.2999\"\n fill=\"#FBFBFC\"\n />\n <rect\n x=\"25.3273\"\n y=\"5.34741\"\n width=\"156.6\"\n height=\"156.6\"\n rx=\"78.2999\"\n stroke=\"currentColor\"\n strokeWidth=\"3\"\n />\n <rect x=\"29.8273\" y=\"9.84741\" width=\"147.6\" height=\"147.6\" fill=\"none\" />\n </g>\n\n <clipPath id=\"circleClip\">\n <circle cx=\"103.5\" cy=\"84\" r=\"75\" />\n </clipPath>\n {showPlaceholder ? (\n <g\n clipPath=\"url(#circleClip)\"\n transform=\"translate(78.5 58) scale(2.1)\"\n className=\"text-grayscale-400\"\n >\n <circle\n cx=\"12\"\n cy=\"9\"\n r=\"6\"\n stroke=\"currentColor\"\n strokeWidth=\"1.75\"\n fill=\"none\"\n />\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 fill=\"none\"\n />\n </g>\n ) : (\n <image\n xlinkHref={image}\n x=\"28.5\"\n y=\"9\"\n width=\"150\"\n height=\"150\"\n clipPath=\"url(#circleClip)\"\n preserveAspectRatio=\"xMidYMid slice\"\n onError={() => setErrored(true)}\n />\n )}\n\n <defs>\n <filter\n id=\"filter0_d_10755_290433\"\n x=\"0.944458\"\n y=\"0\"\n width=\"205.111\"\n height=\"170\"\n filterUnits=\"userSpaceOnUse\"\n colorInterpolationFilters=\"sRGB\"\n >\n <feFlood floodOpacity=\"0\" result=\"BackgroundImageFix\" />\n <feColorMatrix\n in=\"SourceAlpha\"\n type=\"matrix\"\n values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\n result=\"hardAlpha\"\n />\n <feOffset dy=\"4\" />\n <feComposite in2=\"hardAlpha\" operator=\"out\" />\n <feColorMatrix\n type=\"matrix\"\n values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.2 0\"\n />\n <feBlend\n mode=\"normal\"\n in2=\"BackgroundImageFix\"\n result=\"effect1_dropShadow_10755_290433\"\n />\n <feBlend\n mode=\"normal\"\n in=\"SourceGraphic\"\n in2=\"effect1_dropShadow_10755_290433\"\n result=\"shape\"\n />\n </filter>\n </defs>\n </svg>\n );\n return (\n <svg\n width=\"167\"\n height=\"131\"\n viewBox=\"0 0 167 131\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n >\n <circle cx=\"83.1426\" cy=\"65.5\" r=\"64\" fill=\"white\" stroke=\"white\" strokeWidth=\"3\" />\n <path\n d=\"M29.3926 3.70096C28.9354 3.437 28.3731 3.43281 27.912 3.68993C27.4509 3.94705 27.159 4.42762 27.1432 4.95531L26.3214 32.5274L2.85421 47.0252C2.40508 47.3026 2.13488 47.7958 2.14274 48.3236C2.15061 48.8515 2.43538 49.3363 2.89258 49.6003L137.608 127.378C138.065 127.642 138.627 127.646 139.088 127.389C139.549 127.132 139.841 126.651 139.857 126.124L140.679 98.5517L164.146 84.0539C164.595 83.7764 164.865 83.2833 164.857 82.7554C164.85 82.2276 164.565 81.7427 164.108 81.4787L29.3926 3.70096Z\"\n fill=\"#622599\"\n stroke=\"white\"\n strokeWidth=\"3\"\n strokeLinejoin=\"round\"\n />\n <rect x=\"22.1426\" y=\"4.5\" width=\"123\" height=\"123\" rx=\"61.5\" fill=\"white\" />\n <rect\n x=\"22.1426\"\n y=\"4.5\"\n width=\"123\"\n height=\"123\"\n rx=\"61.5\"\n stroke=\"#622599\"\n strokeWidth=\"3\"\n />\n <rect\n x=\"28.6426\"\n y=\"11\"\n width=\"110\"\n height=\"110\"\n rx=\"55\"\n stroke=\"#622599\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeDasharray=\"5 5\"\n />\n <rect x=\"33.6426\" y=\"16\" width=\"100\" height=\"100\" fill=\"none\" />\n <defs>\n <pattern\n id=\"pattern0_10101_43072\"\n patternContentUnits=\"objectBoundingBox\"\n width=\"1\"\n height=\"1\"\n >\n <use xlinkHref=\"#image0_10101_43072\" transform=\"scale(0.00416667)\" />\n </pattern>\n </defs>\n </svg>\n );\n};\n\nexport default MeritBadgeRibbon;\n","import React from 'react';\nimport MeritBadgeRibbon from './MeritBadgeRibbon';\n\ntype MeritBadgeImageDisplayProps = {\n imageUrl: string;\n className?: string;\n};\n\nconst MeritBadgeImageDisplay: React.FC<MeritBadgeImageDisplayProps> = ({\n imageUrl,\n className = '',\n}) => {\n return (\n <div\n className={`flex items-center justify-center w-[176px] h-[176px] rounded-full bg-white z-50 ${className}`}\n >\n <MeritBadgeRibbon className=\"absolute z-[1]\" image={imageUrl} />\n </div>\n );\n};\n\nexport default MeritBadgeImageDisplay;\n","import React from 'react';\nimport IssuerSeal from '../svgs/IssuerSeal';\nimport { UserProfilePicture } from '../UserProfilePicture';\n\ntype MeritBadgeProfileImageDisplayProps = {\n imageUrl?: string;\n imageComponent?: React.ReactNode;\n showSeal?: boolean;\n className?: string;\n size?: string;\n userName?: string;\n avatarColor?: string;\n avatarFingerprintColor?: string;\n avatarFallbackVariant?: 'initial' | 'fingerprint';\n};\n\nconst MeritBadgeProfileImageDisplay: React.FC<MeritBadgeProfileImageDisplayProps> = ({\n imageUrl,\n showSeal = false,\n className = '',\n imageComponent,\n size = 'big',\n userName,\n avatarColor,\n avatarFingerprintColor,\n avatarFallbackVariant = 'initial',\n}) => {\n const imageClassName = `${\n size === 'big' ? 'h-[60px] w-[60px]' : 'h-[39px] w-[39px]'\n } rounded-full overflow-hidden border-2 border-solid border-grayscale-200`;\n const silhouetteClassName = size === 'big' ? 'h-[43px] w-[43px]' : 'h-[28px] w-[28px]';\n\n const profileImage = imageComponent ? (\n <div className={imageClassName}>{imageComponent}</div>\n ) : (\n <UserProfilePicture\n customContainerClass={imageClassName}\n customImageClass=\"h-full w-full object-cover bg-white\"\n user={{ image: imageUrl, name: userName }}\n avatarColor={avatarColor}\n avatarFingerprintColor={avatarFingerprintColor}\n avatarIconClassName={silhouetteClassName}\n avatarSilhouetteClassName={silhouetteClassName}\n avatarFallbackVariant={avatarFallbackVariant}\n />\n );\n\n return (\n <div className={className}>\n {showSeal && (\n <div className=\"relative inline-flex items-center justify-center\">\n <div className=\"bg-white rounded-full p-[5px]\">\n <IssuerSeal size=\"58\" />\n </div>\n <div className=\"absolute inset-0 flex items-center justify-center\">\n {profileImage}\n </div>\n </div>\n )}\n\n {!showSeal && profileImage}\n </div>\n );\n};\n\nexport default MeritBadgeProfileImageDisplay;\n","import React from 'react';\nimport { useT } from '../../i18n';\n\nimport MeritBadgeCornerIcon from './MeritBadgeCornerIcon';\nimport MeritBadgeImageDisplay from './MeritBadgeImageDisplay';\nimport MeritBadgeSkillsCount from './MeritBadgeSkillsCount';\nimport MeritBadgeProfileImageDisplay from './MeritBadgeProfileImageDisplay';\n\nimport Line from '../svgs/Line';\n\nimport {\n getInfoFromCredential,\n getImageFromProfile,\n getCategoryLightColor,\n getCategoryDarkColor,\n} from '../../helpers/credential.helpers';\nimport { isAppDidWeb } from '@learncard/helpers';\nimport { resolveProfileDisplay } from '../../helpers/did-display.helpers';\n\nimport { VC, Profile } from '@learncard/types';\nimport { BoostAchievementCredential, LCCategoryEnum } from '../../types';\nimport VerifierStateBadgeAndText, {\n VerifierState,\n VERIFIER_STATES,\n} from '../CertificateDisplayCard/VerifierStateBadgeAndText';\nimport { KnownDIDRegistryType } from '../../types';\n\ntype MeritBadgeFrontFaceProps = {\n isFront?: boolean;\n credential: VC | BoostAchievementCredential;\n categoryType?: LCCategoryEnum;\n issuerOverride?: Profile;\n issueeOverride?: Profile;\n knownDIDRegistry?: KnownDIDRegistryType;\n subjectImageComponent?: React.ReactNode;\n issuerImageComponent?: React.ReactNode;\n customBodyCardComponent?: React.ReactNode;\n hideIssueDate?: boolean;\n handleViewBackFace?: () => void;\n showDetailsBtn?: boolean;\n formattedDisplayType?: string;\n customBodyContentSlot?: React.ReactNode;\n unknownVerifierTitle?: string;\n hideFrontFaceDetails?: boolean;\n onVerifierClick?: (\n event: React.MouseEvent<HTMLButtonElement>,\n verifierState: VerifierState\n ) => void;\n};\n\nexport const MeritBadgeFrontFace: React.FC<MeritBadgeFrontFaceProps> = ({\n isFront,\n credential,\n categoryType,\n issuerOverride,\n issueeOverride,\n knownDIDRegistry,\n subjectImageComponent,\n issuerImageComponent,\n customBodyCardComponent,\n hideIssueDate,\n handleViewBackFace,\n showDetailsBtn = false,\n formattedDisplayType,\n customBodyContentSlot,\n unknownVerifierTitle,\n hideFrontFaceDetails,\n onVerifierClick,\n}) => {\n const t = useT();\n const {\n title = '',\n createdAt,\n issuer: _issuer = '',\n issuee: _issuee = '',\n credentialSubject,\n imageUrl,\n } = getInfoFromCredential(credential, 'MMM dd, yyyy', {\n uppercaseDate: false,\n dateType: 'awarded',\n });\n\n const issuee = issueeOverride || _issuee;\n const issuer = issuerOverride || _issuer;\n\n const { description } = credentialSubject?.achievement ?? {};\n\n const credentialLightColor = getCategoryLightColor(categoryType); // 500\n const credentialDarkColor = getCategoryDarkColor(categoryType); // 700\n\n let categoryTitle: string | undefined = categoryType;\n\n let textLightColor = `text-${credentialLightColor}`;\n let textDarkColor = `text-${credentialDarkColor}`;\n let borderColor = `border-${credentialLightColor}`;\n\n if (categoryType === LCCategoryEnum.accommodations) {\n textLightColor = 'text-violet-500';\n textDarkColor = 'text-violet-700';\n borderColor = 'border-violet-500';\n } else if (categoryType === LCCategoryEnum.accomplishments) {\n textLightColor = 'text-yellow-500';\n textDarkColor = 'text-yellow-700';\n borderColor = 'border-yellow-500';\n categoryTitle = 'Portfolio';\n } else if (categoryType === LCCategoryEnum.learningHistory) {\n categoryTitle = 'Study';\n } else if (categoryType === LCCategoryEnum.workHistory) {\n categoryTitle = 'Experiences';\n textLightColor = 'text-cyan-500';\n textDarkColor = 'text-cyan-700';\n borderColor = 'border-cyan-500';\n }\n\n const issueeDisplay = resolveProfileDisplay(issuee, '');\n const issuerDisplay = resolveProfileDisplay(issuer, 'Unknown');\n\n const issuerName = issuerDisplay.displayName;\n const issueeName = issueeDisplay.displayName;\n const issuerImage = getImageFromProfile(issuer ?? '');\n const issueeImage = getImageFromProfile(issuee ?? '');\n\n const issuerDid =\n typeof credential.issuer === 'string' ? credential.issuer : credential.issuer.id;\n const isAppIssuerDid = isAppDidWeb(issuerDid);\n\n let verifierState: VerifierState;\n if (credentialSubject?.id === issuerDid && issuerDid && issuerDid !== 'did:example:123') {\n verifierState = VERIFIER_STATES.selfVerified;\n } else if (unknownVerifierTitle) {\n verifierState = VERIFIER_STATES.trustedVerifier;\n } else {\n if (knownDIDRegistry?.source === 'trusted') {\n verifierState = VERIFIER_STATES.trustedVerifier;\n } else if (knownDIDRegistry?.source === 'untrusted') {\n verifierState = VERIFIER_STATES.untrustedVerifier;\n } else if (knownDIDRegistry?.source === 'unknown') {\n verifierState = isAppIssuerDid\n ? VERIFIER_STATES.appIssuer\n : VERIFIER_STATES.unknownVerifier;\n } else {\n verifierState = isAppIssuerDid\n ? VERIFIER_STATES.appIssuer\n : VERIFIER_STATES.unknownVerifier;\n }\n }\n const isSelfVerified = verifierState === VERIFIER_STATES.selfVerified;\n\n return (\n <section\n role=\"button\"\n onClick={() => handleViewBackFace?.()}\n className=\"relative p-[13px] mt-[68px] bg-white border-[5px] rounded-[30px] border-soid border-grayscale-200 min-w-[295px]\"\n >\n <div className=\"w-[calc(100%-26px)] absolute top-[-72px]\">\n <MeritBadgeImageDisplay\n imageUrl={imageUrl ?? ''}\n className={`mx-auto ${textLightColor}`}\n />\n </div>\n\n <div\n className={`flex flex-col gap-[15px] items-center px-[20px] pt-[92px] pb-[19px] border-solid border-4 ${borderColor} rounded-[30px]`}\n >\n <div className=\"flex flex-col gap-[5px] w-full\">\n <div className=\"flex flex-col items-center text-grayscale-900\">\n {issueeName && !customBodyCardComponent && (\n <>\n <span className=\"flex flex-wrap items-baseline justify-center gap-1 text-[16px] leading-[150%] font-jacques max-w-full overflow-hidden text-ellipsis whitespace-nowrap\">\n {!issueeDisplay.isMissing && issueeDisplay.isDidValue ? (\n <>\n <span className=\"text-grayscale-900\">Digital ID:</span>\n <span className=\"text-grayscale-600 underline\">\n {issueeDisplay.displayName}\n </span>\n </>\n ) : (\n issueeName\n )}\n </span>\n <span className=\"text-[14px] leading-[150%] font-jacques\">\n has met the requirements for\n </span>\n </>\n )}\n </div>\n <div className=\"flex flex-col items-center\">\n <h1 className=\"text-grayscale-900 text-center text-[25px] font-jacques w-full\">\n {title}\n </h1>\n <div\n className={`${textLightColor} uppercase text-[14px] font-notoSans font-[600]`}\n >\n {formattedDisplayType}\n </div>\n </div>\n </div>\n {customBodyCardComponent}\n {!customBodyCardComponent && (\n <MeritBadgeProfileImageDisplay\n imageUrl={issueeImage}\n imageComponent={subjectImageComponent}\n className={`flex justify-center items-center ${textDarkColor}`}\n userName={issueeName}\n avatarColor={issueeDisplay.avatarColor}\n avatarFingerprintColor={issueeDisplay.avatarFingerprintColor}\n avatarFallbackVariant={issueeDisplay.isDidValue ? 'fingerprint' : 'initial'}\n />\n )}\n <div className=\"flex flex-col w-full\">\n <div className=\"text-[14px] text-grayscale-900 flex flex-col items-center w-full mb-[10px]\">\n <span className=\"font-jacques flex gap-[5px] items-center w-full text-ellipsis whitespace-nowrap overflow-hidden justify-center\">\n {issueeName === '0 person'\n ? 'Not yet awarded'\n : createdAt\n ? t('credential.awardedOnBy', { date: createdAt })\n : t('credential.by')}\n </span>\n </div>\n\n {/* <div className=\"flex flex-col gap-[10px] items-center\">\n <MeritBadgeSkillsCount\n skills={credential?.skills ?? []}\n onClick={handleViewBackFace}\n />\n\n {isFront && showDetailsBtn && (\n <button\n type=\"button\"\n className=\"vc-toggle-side-button text-white shadow-bottom bg-[#00000099] px-[30px] py-[8px] rounded-[40px] text-[28px] tracking-[0.75px] uppercase leading-[28px] mt-[25px] w-fit select-none\"\n onClick={() => handleViewBackFace?.()}\n >\n Details\n </button>\n )}\n </div> */}\n\n <div className=\"flex flex-col gap-[5px] items-center w-full\">\n <span className=\"mb-[3px] pt-[3px] text-grayscale-900 text-[25px] leading-[90%] font-sacramento border-b border-solid border-grayscale-200 w-full text-center line-clamp-2 wrap-break-word scrollbar-hide\">\n {issuerDisplay.isDidValue ? (\n <span className=\"mb-[3px] pt-[3px] text-grayscale-900 text-[14px] leading-[90%] font-jacques tracking-[0.25px] w-full text-center line-clamp-2 wrap-break-word\">\n <span className=\"font-[600]\">Digital ID:</span>\n <span className=\"text-grayscale-600\">{issuerName}</span>\n </span>\n ) : (\n issuerName\n )}\n </span>\n\n {/* <div className=\"flex flex-col text-[12px] text-grayscale-900 items-center\">\n <span className=\"font-jacques\">Troop Leader, Troop 1142</span>\n <span className=\"font-jacques\">Boy Scouts of America</span>\n </div> */}\n </div>\n </div>\n <MeritBadgeProfileImageDisplay\n imageUrl={issuerImage}\n userName={issuerDisplay.isMissing ? '' : issuerName}\n imageComponent={issuerImageComponent}\n className={`w-[calc(100%-26px)] flex justify-center items-center ${textLightColor}`}\n size=\"small\"\n showSeal\n avatarColor={issuerDisplay.avatarColor}\n avatarFingerprintColor={issuerDisplay.avatarFingerprintColor}\n avatarFallbackVariant={issuerDisplay.isDidValue ? 'fingerprint' : 'initial'}\n />\n {customBodyContentSlot && customBodyContentSlot}\n <div className={`${textLightColor} uppercase text-[14px] font-notoSans font-[600]`}>\n {categoryTitle}\n </div>\n </div>\n\n {categoryType && (\n <>\n <MeritBadgeCornerIcon categoryType={categoryType} position=\"top-left\" />\n <MeritBadgeCornerIcon categoryType={categoryType} position=\"top-right\" />\n <MeritBadgeCornerIcon categoryType={categoryType} position=\"bottom-left\" />\n <MeritBadgeCornerIcon categoryType={categoryType} position=\"bottom-right\" />\n </>\n )}\n\n <div className=\"absolute bottom-0 w-[calc(100%-26px)] flex justify-center\">\n <VerifierStateBadgeAndText\n verifierState={verifierState}\n unknownVerifierTitle={unknownVerifierTitle}\n className=\"bg-white px-[5px] pb-[5px]\"\n onClick={event => onVerifierClick?.(event, verifierState)}\n />\n </div>\n\n {/* so that tailwind will put these colors in the css */}\n <span className=\"hidden border-rose-500 text-spice-500 border-spice-500 border-cyan-500 text-cyan-500 border-indigo-500 border-sp-purple-base\"></span>\n </section>\n );\n};\n\nexport default MeritBadgeFrontFace;\n","import React, { useState } from 'react';\nimport { VC, Profile, VerificationItem } from '@learncard/types';\nimport {\n BoostAchievementCredential,\n LCCategoryEnum,\n MediaMetadata,\n VideoMetadata,\n} from '../../types';\nimport MeritBadgeFrontFace from './MeritBadgeFrontFace';\nimport MeritBadgeBackFace from './MeritBadgeBackFace';\nimport FatArrow from '../svgs/FatArrow';\nimport ThreeDots from '../../assets/images/DotsThreeOutline.svg';\nimport { KnownDIDRegistryType } from '../../types';\nimport { VerifierState } from '../CertificateDisplayCard/VerifierStateBadgeAndText';\n\ntype MeritBadgeDisplayCardProps = {\n credential: VC | BoostAchievementCredential;\n categoryType?: LCCategoryEnum;\n verificationItems: VerificationItem[];\n issuerOverride?: Profile;\n issueeOverride?: Profile;\n knownDIDRegistry?: KnownDIDRegistryType;\n subjectImageComponent?: React.ReactNode;\n issuerImageComponent?: React.ReactNode;\n customBodyCardComponent?: React.ReactNode;\n hideIssueDate?: boolean;\n customSkillsComponent?: React.ReactNode;\n\n getFileMetadata?: (url: string) => MediaMetadata;\n getVideoMetadata?: (url: string) => VideoMetadata;\n onMediaAttachmentClick?: (url: string, type: 'photo' | 'document' | 'video' | 'link') => void;\n enableLightbox?: boolean;\n\n handleXClick?: () => void;\n onDotsClick?: () => void;\n isFrontOverride?: boolean;\n setIsFrontOverride?: (value: boolean) => void;\n hideNavButtons?: boolean;\n showBackButton?: boolean;\n showDetailsBtn?: boolean;\n formattedDisplayType?: string;\n customLinkedCredentialsComponent?: React.ReactNode;\n customBodyContentSlot?: React.ReactNode;\n unknownVerifierTitle?: string;\n hideFrontFaceDetails?: boolean;\n onVerifierClick?: (\n event: React.MouseEvent<HTMLButtonElement>,\n verifierState: VerifierState\n ) => void;\n};\n\nexport const MeritBadgeDisplayCard: React.FC<MeritBadgeDisplayCardProps> = ({\n credential,\n categoryType,\n verificationItems,\n issuerOverride,\n issueeOverride,\n subjectImageComponent,\n issuerImageComponent,\n customBodyCardComponent,\n knownDIDRegistry,\n hideIssueDate,\n customSkillsComponent,\n\n getFileMetadata,\n getVideoMetadata,\n onMediaAttachmentClick,\n enableLightbox,\n\n handleXClick,\n onDotsClick,\n isFrontOverride,\n setIsFrontOverride,\n hideNavButtons,\n showBackButton = false,\n showDetailsBtn = false,\n formattedDisplayType,\n customLinkedCredentialsComponent,\n customBodyContentSlot,\n unknownVerifierTitle,\n hideFrontFaceDetails,\n onVerifierClick,\n}) => {\n const [_isFront, _setIsFront] = useState(isFrontOverride ?? true);\n\n const isFront = isFrontOverride ?? _isFront;\n const setIsFront = setIsFrontOverride ?? _setIsFront;\n\n return (\n <section className=\"w-full flex flex-col gap-[15px] items-center justify-center relative min-w-[220px]\">\n <section className=\"max-w-[350px] w-full\">\n {isFront && (\n <MeritBadgeFrontFace\n credential={credential}\n categoryType={categoryType}\n issuerOverride={issuerOverride}\n issueeOverride={issueeOverride}\n knownDIDRegistry={knownDIDRegistry}\n subjectImageComponent={subjectImageComponent}\n issuerImageComponent={issuerImageComponent}\n customBodyCardComponent={customBodyCardComponent}\n hideIssueDate={hideIssueDate}\n handleViewBackFace={() => setIsFront(!isFront)}\n isFront={isFront}\n showDetailsBtn={showDetailsBtn}\n formattedDisplayType={formattedDisplayType}\n customBodyContentSlot={customBodyContentSlot}\n unknownVerifierTitle={unknownVerifierTitle}\n hideFrontFaceDetails={hideFrontFaceDetails}\n onVerifierClick={onVerifierClick}\n />\n )}\n\n {!isFront && (\n <MeritBadgeBackFace\n credential={credential}\n categoryType={categoryType}\n verificationItems={verificationItems}\n getFileMetadata={getFileMetadata}\n getVideoMetadata={getVideoMetadata}\n onMediaAttachmentClick={onMediaAttachmentClick}\n enableLightbox={enableLightbox}\n showBackButton={(showBackButton && !hideNavButtons) || showDetailsBtn}\n handleViewFrontFace={() => setIsFront(!isFront)}\n customLinkedCredentialsComponent={customLinkedCredentialsComponent}\n />\n )}\n\n {onDotsClick && (\n <button\n className=\"absolute right-[-20px] top-[-52px] bg-white rounded-full p-[10px] shadow-bottom\"\n onClick={onDotsClick}\n >\n <img\n alt=\"Menu dropdown icon\"\n className=\"h-[20px] w-[20px]\"\n src={ThreeDots}\n />\n </button>\n )}\n </section>\n\n {!hideNavButtons && (\n <div className=\"flex gap-[10px] font-mouse text-[30px] leading-[28px] tracking-[0.75px] relative top-[-10px] left-0 w-full\">\n {!isFront && (\n <button\n className=\"bg-grayscale-900 text-white py-[15px] px-[20px] rounded-[20px] flex mx-auto justify-center items-center gap-[5px] border-[3px] border-solid border-white\"\n onClick={() => setIsFront(!isFront)}\n >\n <FatArrow direction=\"left\" /> Back\n </button>\n )}\n\n {handleXClick && (\n <button\n onClick={handleXClick}\n className=\"bg-white text-grayscale-900 rounded-[20px] py-[15px] px-[20px] grow\"\n >\n Close\n </button>\n )}\n\n {isFront && (\n <button\n className=\"bg-grayscale-900 text-white py-[15px] px-[20px] rounded-[20px] mx-auto flex justify-center items-center gap-[5px] border-[3px] border-solid border-white\"\n onClick={() => setIsFront(!isFront)}\n >\n Details <FatArrow direction=\"right\" />\n </button>\n )}\n </div>\n )}\n </section>\n );\n};\n\nexport default MeritBadgeDisplayCard;\n"],"names":["React","useState","InfoIcon","useEffect","attachments","videoMetadata","Lightbox","getBaseUrl","VideoIcon","Camera","GenericDocumentIcon","LinkIcon","prettyBytes","getColorForVerificationStatus","VerificationStatusEnum","AcuteCheckmark","ExclamationPoint","X","capitalize","useT","getInfoFromCredential","getCategoryDarkColor","LCCategoryEnum","LeftArrow","SkillsBox","getCategoryLightColor","getCategoryIcon","RoundedCorner","UserProfilePicture","IssuerSeal","resolveProfileDisplay","getImageFromProfile","isAppDidWeb","VERIFIER_STATES","VerifierStateBadgeAndText","ThreeDots","FatArrow"],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var React = require('react');
|
|
4
|
-
var PuzzlePiece = require('./PuzzlePiece-
|
|
5
|
-
var credential_helpers = require('./credential.helpers-
|
|
4
|
+
var PuzzlePiece = require('./PuzzlePiece-48ee8924.js');
|
|
5
|
+
var credential_helpers = require('./credential.helpers-14544e48.js');
|
|
6
6
|
|
|
7
7
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
8
8
|
|
|
@@ -33,4 +33,4 @@ const MeritBadgeSkillsCount = ({ skills, onClick }) => {
|
|
|
33
33
|
};
|
|
34
34
|
|
|
35
35
|
exports.MeritBadgeSkillsCount = MeritBadgeSkillsCount;
|
|
36
|
-
//# sourceMappingURL=MeritBadgeSkillsCount-
|
|
36
|
+
//# sourceMappingURL=MeritBadgeSkillsCount-a6127a40.js.map
|
package/dist/cjs/{MeritBadgeSkillsCount-1baf2200.js.map → MeritBadgeSkillsCount-a6127a40.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MeritBadgeSkillsCount-
|
|
1
|
+
{"version":3,"file":"MeritBadgeSkillsCount-a6127a40.js","sources":["../../src/components/MeritBadgeDisplayCard/MeritBadgeSkillsCount.tsx"],"sourcesContent":["import React from 'react';\n\nimport PuzzlePiece from '../svgs/PuzzlePiece';\n\nimport { categorizeSkills, getTotalCountOfSkills } from '../../helpers/credential.helpers';\n\n// Copy of VCDisplayCardSkillsCount, necessary to avoid circular dependency\nexport const MeritBadgeSkillsCount: React.FC<{\n skills: { category: string; skill: string; subSkills: string[] }[];\n onClick?: () => void;\n}> = ({ skills, onClick }) => {\n const skillsCount = getTotalCountOfSkills(skills);\n\n if (skillsCount === 0) return <></>;\n\n const skillsMap = categorizeSkills(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\n const text: string = skillsCount === 1 ? 'Skill' : 'Skills';\n\n return (\n <div\n className=\"flex items-center justify-center mt-8 cursor-pointer px-4 py-2 bg-white rounded-[20px] shadow-bottom\"\n onClick={onClick}\n >\n <div className=\"text-violet-500 text-xl flex items-center justify-center tracking-[0.75px] font-poppins font-semibold\">\n +{total} {text}{' '}\n <div className=\"bg-violet-500 rounded-full flex items-center justify-center ml-2 h-[30px] w-[30px] p-1\">\n <PuzzlePiece className=\"text-white\" fill=\"#fff\" />\n </div>\n </div>\n </div>\n );\n};\n\nexport default MeritBadgeSkillsCount;\n"],"names":["getTotalCountOfSkills","React","categorizeSkills","total","PuzzlePiece"],"mappings":";;;;;;;;;;AAOO,MAAM,qBAGR,GAAA,CAAC,EAAE,MAAA,EAAQ,SAAc,KAAA;AAC1B,EAAM,MAAA,WAAA,GAAcA,yCAAsB,MAAM,CAAA,CAAA;AAEhD,EAAI,IAAA,WAAA,KAAgB,CAAG,EAAA,uBAASC,yBAAA,CAAA,aAAA,CAAAA,yBAAA,CAAA,QAAA,EAAA,IAAA,CAAA,CAAA;AAEhC,EAAM,MAAA,SAAA,GAAYC,oCAAiB,MAAM,CAAA,CAAA;AAGzC,EAAA,MAAM,WAAmB,GAAA,MAAA,CAAO,MAAO,CAAA,SAAS,CAAE,CAAA,MAAA;AAAA,IAC9C,CAACC,MAAAA,EAAY,QAAkBA,KAAAA,MAAAA,IAAQ,QAAU,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,QAAA,CAAA,MAAA,CAAA;AAAA,IACjD,CAAA;AAAA,GACJ,CAAA;AACA,EAAA,MAAM,cAAsB,GAAA,MAAA,CAAO,MAAO,CAAA,SAAS,CAAE,CAAA,MAAA;AAAA,IACjD,CAACA,MAAAA,EAAY,QAAkBA,KAAAA,MAAAA,IAAAA,CAAS,qCAAU,mBAAuB,KAAA,CAAA,CAAA;AAAA,IACzE,CAAA;AAAA,GACJ,CAAA;AAEA,EAAA,MAAM,QAAa,WAAc,GAAA,cAAA,CAAA;AAEjC,EAAM,MAAA,IAAA,GAAe,WAAgB,KAAA,CAAA,GAAI,OAAU,GAAA,QAAA,CAAA;AAEnD,EACI,uBAAAF,yBAAA,CAAA,aAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACG,SAAU,EAAA,sGAAA;AAAA,MACV,OAAA;AAAA,KAAA;AAAA,oBAEAA,yBAAA,CAAA,aAAA,CAAC,SAAI,SAAU,EAAA,uGAAA,EAAA,EAAwG,KACjH,KAAM,EAAA,GAAA,EAAE,MAAM,GAChB,kBAAAA,yBAAA,CAAA,aAAA,CAAC,SAAI,SAAU,EAAA,wFAAA,EAAA,0DACVG,uBAAY,EAAA,EAAA,SAAA,EAAU,cAAa,IAAK,EAAA,MAAA,EAAO,CACpD,CACJ,CAAA;AAAA,GACJ,CAAA;AAER;;;;"}
|
|
@@ -62,7 +62,7 @@ const MiniVCThumbnail = ({
|
|
|
62
62
|
className: "flex item-center justify-center w-full -mt-3",
|
|
63
63
|
"data-testid": "mini-vc-thumbnail-badge"
|
|
64
64
|
},
|
|
65
|
-
/* @__PURE__ */ React__default["default"].createElement("div", { className: "max-h-[80px] max-w-[80px] xxsm:h-[60px] xxsm:w-[60px] border-solid border
|
|
65
|
+
/* @__PURE__ */ React__default["default"].createElement("div", { className: "max-h-[80px] max-w-[80px] xxsm:h-[60px] xxsm:w-[60px] border-solid border border-black bg-white z-10" }, /* @__PURE__ */ React__default["default"].createElement(
|
|
66
66
|
"img",
|
|
67
67
|
{
|
|
68
68
|
className: "h-full w-full object-cover",
|
|
@@ -82,4 +82,4 @@ const MiniVCThumbnail = ({
|
|
|
82
82
|
};
|
|
83
83
|
|
|
84
84
|
exports.MiniVCThumbnail = MiniVCThumbnail;
|
|
85
|
-
//# sourceMappingURL=MiniVCThumbnail-
|
|
85
|
+
//# sourceMappingURL=MiniVCThumbnail-39058b8e.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MiniVCThumbnail-39058b8e.js","sources":["../../src/components/MiniVCThumbnail/MiniVCThumbnail.tsx"],"sourcesContent":["import React from 'react';\n\nimport VerifiedCheck from '../../assets/images/verified-check.png';\n\nimport { MiniVCThumbnailProps } from './types';\n\nexport const MiniVCThumbnail: React.FC<MiniVCThumbnailProps> = ({\n title,\n createdAt,\n issuerImage,\n badgeImage,\n className = '',\n onClick = () => {},\n}) => {\n const titleClasses = !issuerImage ? 'w-full text-center' : 'w-3/4 text-left';\n const createdAtClasses = !issuerImage ? 'w-full text-center' : 'text-left';\n\n return (\n <div\n onClick={onClick}\n className={`flex flex-col items-center justify-between relative py-3 px-3 rounded-3xl shadow-3xl bg-emerald-700 min-h-[120px] max-w-sm mini-vc-thumbnail-container ${className}`}\n data-testid=\"mini-vc-thumbnail\"\n >\n <div className=\"flex flex-row items-center justify-between mb-3 z-10\">\n {issuerImage && (\n <div\n className=\"flex flex-row justify-center items-center w-1/4 text-center\"\n data-testid=\"mini-vc-thumbnail-issuer\"\n >\n <div className=\"min-w-[40px] min-h-[40px] max-h-[48px] max-w-[48px] shadow-3xl p-1 rounded-full bg-white\">\n <img\n className=\"h-full w-full object-cover rounded-full\"\n src={issuerImage}\n alt=\"issuer image\"\n />\n </div>\n </div>\n )}\n <div className={`flex flex-col items-start justify-center ${titleClasses}`}>\n <h2\n className=\"ml-2 text-sm tracking-wide leading-snug line-clamp-2\"\n data-testid=\"mini-vc-thumbnail-title\"\n >\n {title ?? ''}\n </h2>\n <p\n className={`ml-2 text-sm font-light line-clamp-1 ${createdAtClasses}`}\n data-testid=\"mini-vc-thumbnail-createdAt\"\n >\n {createdAt ?? ''}\n </p>\n </div>\n </div>\n <div className=\"flex items-center justify-center w-full mt-3\">\n {badgeImage && (\n <div\n className=\"flex item-center justify-center w-full -mt-3\"\n data-testid=\"mini-vc-thumbnail-badge\"\n >\n <div className=\"max-h-[80px] max-w-[80px] xxsm:h-[60px] xxsm:w-[60px] border-solid border border-black bg-white z-10\">\n <img\n className=\"h-full w-full object-cover\"\n src={badgeImage}\n alt=\"badge image\"\n />\n </div>\n </div>\n )}\n <div className=\"flex absolute bottom-1 right-1 items-center justify-center my-0 mx-1 h-10 w-10 rounded-full bg-white overflow-hidden\">\n <div className=\"flex items-center justify-center h-5/6 w-10/12 bg-white rounded-full border-solid border-4 border-emerald-700 overflow-hidden\">\n <img\n className=\"h-full w-full object-cover\"\n src={VerifiedCheck ?? ''}\n alt=\"credential icon\"\n />\n </div>\n </div>\n </div>\n </div>\n );\n};\n\nexport default MiniVCThumbnail;\n"],"names":["React","VerifiedCheck"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var React = require('react');
|
|
4
|
-
var types = require('./types-
|
|
4
|
+
var types = require('./types-8a7d08fe.js');
|
|
5
5
|
var notifications = require('./notifications-56c6fc94.js');
|
|
6
6
|
var Checkmark = require('./Checkmark-74444a78.js');
|
|
7
7
|
|
|
@@ -120,4 +120,4 @@ const Notification = ({
|
|
|
120
120
|
};
|
|
121
121
|
|
|
122
122
|
exports.Notification = Notification;
|
|
123
|
-
//# sourceMappingURL=Notification-
|
|
123
|
+
//# sourceMappingURL=Notification-09bf74b7.js.map
|