@learncard/react 2.12.11 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/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-8767d920.js} +7 -7
- package/dist/cjs/BoostGenericCard-8767d920.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-1d4bca84.js} +20 -14
- package/dist/cjs/CertificateDisplayCard-1d4bca84.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-0b5241e4.js} +14 -14
- package/dist/cjs/MeritBadgeDisplayCard-0b5241e4.js.map +1 -0
- package/dist/cjs/{MeritBadgeSkillsCount-1baf2200.js → MeritBadgeSkillsCount-0bd63bcd.js} +3 -3
- package/dist/cjs/{MeritBadgeSkillsCount-1baf2200.js.map → MeritBadgeSkillsCount-0bd63bcd.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-c4767894.js} +3 -3
- package/dist/cjs/{VCCard-6462d6c7.js.map → VCCard-c4767894.js.map} +1 -1
- package/dist/cjs/{VCDisplayBackFace-47066c07.js → VCDisplayBackFace-c73ce3f6.js} +7 -7
- package/dist/cjs/VCDisplayBackFace-c73ce3f6.js.map +1 -0
- package/dist/cjs/{VCDisplayCard-ac1d4efb.js → VCDisplayCard-7832f605.js} +4 -4
- package/dist/cjs/VCDisplayCard-7832f605.js.map +1 -0
- package/dist/cjs/{VCDisplayCard2-d7d3288b.js → VCDisplayCard2-7ae4e64b.js} +26 -20
- package/dist/cjs/VCDisplayCard2-7ae4e64b.js.map +1 -0
- package/dist/cjs/{VCVerificationPill-7d4dd936.js → VCVerificationPill-0f27e8e0.js} +3 -3
- package/dist/cjs/VCVerificationPill-0f27e8e0.js.map +1 -0
- package/dist/cjs/{VerifierStateBadgeAndText-3d7977c9.js → VerifierStateBadgeAndText-6bc07df3.js} +2 -2
- package/dist/cjs/{VerifierStateBadgeAndText-3d7977c9.js.map → VerifierStateBadgeAndText-6bc07df3.js.map} +1 -1
- package/dist/cjs/{credential.helpers-e6e353a6.js → credential.helpers-da94e829.js} +3 -3
- package/dist/cjs/{credential.helpers-e6e353a6.js.map → credential.helpers-da94e829.js.map} +1 -1
- package/dist/cjs/index.js +34 -34
- 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 +32 -32
- 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 +6 -6
- 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 +11 -11
- package/dist/cjs/index4.js +6 -6
- package/dist/cjs/index40.js +5 -5
- package/dist/cjs/index41.js +6 -6
- package/dist/cjs/index42.js +7 -7
- package/dist/cjs/index43.js +1 -1
- 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 +5 -5
- 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-ad9cf6de.js} +13 -1
- package/dist/cjs/types.esm-ad9cf6de.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-fec5d413.js} +7 -7
- package/dist/esm/BoostGenericCard-fec5d413.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-c0748577.js} +20 -14
- package/dist/esm/CertificateDisplayCard-c0748577.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-0433ad9d.js} +14 -14
- package/dist/esm/MeritBadgeDisplayCard-0433ad9d.js.map +1 -0
- package/dist/esm/{MeritBadgeSkillsCount-b3e3985a.js → MeritBadgeSkillsCount-434bc6ed.js} +3 -3
- package/dist/esm/{MeritBadgeSkillsCount-b3e3985a.js.map → MeritBadgeSkillsCount-434bc6ed.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-c8816edc.js} +3 -3
- package/dist/esm/{VCCard-cd14261b.js.map → VCCard-c8816edc.js.map} +1 -1
- package/dist/esm/{VCDisplayBackFace-d8bdf84b.js → VCDisplayBackFace-b6451634.js} +7 -7
- package/dist/esm/VCDisplayBackFace-b6451634.js.map +1 -0
- package/dist/esm/{VCDisplayCard-213afce8.js → VCDisplayCard-31a8f581.js} +4 -4
- package/dist/esm/VCDisplayCard-31a8f581.js.map +1 -0
- package/dist/esm/{VCDisplayCard2-f6beca34.js → VCDisplayCard2-8ef4a6b6.js} +26 -20
- package/dist/esm/VCDisplayCard2-8ef4a6b6.js.map +1 -0
- package/dist/esm/{VCVerificationPill-f4a587a5.js → VCVerificationPill-bd76c5bc.js} +3 -3
- package/dist/esm/VCVerificationPill-bd76c5bc.js.map +1 -0
- package/dist/esm/{VerifierStateBadgeAndText-f2bbd9fd.js → VerifierStateBadgeAndText-12066b2a.js} +2 -2
- package/dist/esm/{VerifierStateBadgeAndText-f2bbd9fd.js.map → VerifierStateBadgeAndText-12066b2a.js.map} +1 -1
- package/dist/esm/{credential.helpers-30adeb2d.js → credential.helpers-f55a4962.js} +3 -3
- package/dist/esm/{credential.helpers-30adeb2d.js.map → credential.helpers-f55a4962.js.map} +1 -1
- package/dist/esm/index.js +34 -34
- 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 +32 -32
- 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 +6 -6
- 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 +11 -11
- package/dist/esm/index4.js +6 -6
- package/dist/esm/index40.js +5 -5
- package/dist/esm/index41.js +6 -6
- package/dist/esm/index42.js +7 -7
- package/dist/esm/index43.js +1 -1
- 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 +5 -5
- 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-383b69a5.js} +13 -1
- package/dist/esm/types.esm-383b69a5.js.map +1 -0
- package/dist/main.css +2 -1
- package/dist/main.js +1 -1
- package/package.json +8 -8
- 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/CertificateBackFace.tsx +1 -3
- package/src/components/CertificateDisplayCard/CertificateCornerIcon.tsx +1 -1
- package/src/components/CertificateDisplayCard/CertificateFrontFace.tsx +8 -6
- 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 +1 -3
- package/src/components/MeritBadgeDisplayCard/MeritBadgeCornerIcon.tsx +4 -4
- package/src/components/MeritBadgeDisplayCard/MeritBadgeFrontFace.tsx +4 -4
- 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/useScrollBorders.ts +2 -2
- 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/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/types.esm-9d538f63.js.map +0 -1
|
@@ -157,8 +157,9 @@ const MediaAttachmentsBox: React.FC<MediaAttachmentsBoxProps> = ({
|
|
|
157
157
|
className="absolute top-0 left-0 right-0 bottom-0 bg-cover bg-no-repeat 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]"
|
|
158
158
|
style={{
|
|
159
159
|
backgroundImage: metadata?.imageUrl
|
|
160
|
-
? `linear-gradient(180deg, rgba(0, 0, 0, 0) 44.20%, rgba(0, 0, 0, 0.6) 69%), url(${
|
|
161
|
-
|
|
160
|
+
? `linear-gradient(180deg, rgba(0, 0, 0, 0) 44.20%, rgba(0, 0, 0, 0.6) 69%), url(${
|
|
161
|
+
metadata?.imageUrl ?? ''
|
|
162
|
+
})`
|
|
162
163
|
: undefined,
|
|
163
164
|
}}
|
|
164
165
|
>
|
|
@@ -166,8 +167,9 @@ const MediaAttachmentsBox: React.FC<MediaAttachmentsBoxProps> = ({
|
|
|
166
167
|
<VideoIcon size="60" className="m-auto" />
|
|
167
168
|
)}
|
|
168
169
|
<div
|
|
169
|
-
className={`absolute ${
|
|
170
|
-
|
|
170
|
+
className={`absolute ${
|
|
171
|
+
iconTop ? 'top-[10px]' : 'bottom-[10px]'
|
|
172
|
+
} left-[10px] z-10 flex items-center gap-[5px]`}
|
|
171
173
|
>
|
|
172
174
|
{metadata?.imageUrl && <VideoIcon />}
|
|
173
175
|
{metadata?.videoLength && (
|
|
@@ -183,7 +185,10 @@ const MediaAttachmentsBox: React.FC<MediaAttachmentsBoxProps> = ({
|
|
|
183
185
|
} else {
|
|
184
186
|
innerContent = (
|
|
185
187
|
<div className="absolute top-0 left-0 right-0 bottom-0 h-full w-full flex items-center justify-center">
|
|
186
|
-
<img
|
|
188
|
+
<img
|
|
189
|
+
className="rounded-[15px] object-cover h-full w-full"
|
|
190
|
+
src={media.url}
|
|
191
|
+
/>
|
|
187
192
|
<Camera className="absolute bottom-[10px] left-[10px] z-10" />
|
|
188
193
|
</div>
|
|
189
194
|
);
|
|
@@ -134,7 +134,7 @@ const VC2FrontFaceInfo: React.FC<VC2FrontFaceInfoProps> = ({
|
|
|
134
134
|
avatarIconClassName={avatarSilhouetteClassName}
|
|
135
135
|
avatarSilhouetteClassName={avatarSilhouetteClassName}
|
|
136
136
|
avatarFallbackVariant={avatarFallbackVariant}
|
|
137
|
-
customContainerClass={`h-full w-full ${bigText ? '
|
|
137
|
+
customContainerClass={`h-full w-full ${bigText ? 'text-4xl!' : ''}`}
|
|
138
138
|
/>
|
|
139
139
|
);
|
|
140
140
|
};
|
|
@@ -205,7 +205,7 @@ const VC2FrontFaceInfo: React.FC<VC2FrontFaceInfoProps> = ({
|
|
|
205
205
|
<>
|
|
206
206
|
<h3 className="flex flex-col text-center leading-[130%] w-full">
|
|
207
207
|
{!issueeDisplay.isMissing && issueeDisplay.isDidValue && (
|
|
208
|
-
<span className="flex flex-wrap items-baseline justify-center gap-x-1 text-[17px] leading-normal font-
|
|
208
|
+
<span className="flex flex-wrap items-baseline justify-center gap-x-1 text-[17px] leading-normal font-semibold font-poppins max-w-full wrap-break-word">
|
|
209
209
|
<span className="text-grayscale-900">Digital ID:</span>
|
|
210
210
|
<span className="text-grayscale-500 underline">
|
|
211
211
|
{issueeDisplay.displayName}
|
|
@@ -213,7 +213,7 @@ const VC2FrontFaceInfo: React.FC<VC2FrontFaceInfoProps> = ({
|
|
|
213
213
|
</span>
|
|
214
214
|
)}
|
|
215
215
|
{!issueeDisplay.isMissing && !issueeDisplay.isDidValue && (
|
|
216
|
-
<span className="font-poppins font-semibold text-[20px] leading-[130%] max-w-full line-clamp-2 break-
|
|
216
|
+
<span className="font-poppins font-semibold text-[20px] leading-[130%] max-w-full line-clamp-2 wrap-break-word text-grayscale-900">
|
|
217
217
|
{issueeDisplay.displayName}
|
|
218
218
|
</span>
|
|
219
219
|
)}
|
|
@@ -239,12 +239,12 @@ const VC2FrontFaceInfo: React.FC<VC2FrontFaceInfoProps> = ({
|
|
|
239
239
|
{createdAt}
|
|
240
240
|
</span>
|
|
241
241
|
{!issuerDisplay.isMissing && (
|
|
242
|
-
<span className="issued-by max-w-full break-
|
|
242
|
+
<span className="issued-by max-w-full wrap-break-word text-center line-clamp-2 text-[14px]">
|
|
243
243
|
<span className="font-medium text-grayscale-900">
|
|
244
244
|
{t('credential.by')}
|
|
245
245
|
</span>{' '}
|
|
246
246
|
{issuerDisplay.isDidValue ? (
|
|
247
|
-
<span className="font-
|
|
247
|
+
<span className="font-semibold font-poppins wrap-break-word">
|
|
248
248
|
<span className="text-grayscale-900">
|
|
249
249
|
Digital ID:
|
|
250
250
|
</span>{' '}
|
|
@@ -253,7 +253,7 @@ const VC2FrontFaceInfo: React.FC<VC2FrontFaceInfoProps> = ({
|
|
|
253
253
|
</span>
|
|
254
254
|
</span>
|
|
255
255
|
) : (
|
|
256
|
-
<strong className="font-bold text-grayscale-900 break-
|
|
256
|
+
<strong className="font-bold text-grayscale-900 wrap-break-word">
|
|
257
257
|
{issuerDisplay.displayName}
|
|
258
258
|
</strong>
|
|
259
259
|
)}
|
|
@@ -351,7 +351,7 @@ export const VCDisplayCard2: React.FC<VCDisplayCard2Props> = ({
|
|
|
351
351
|
|
|
352
352
|
// these are constants so that the real header and the hidden-for-spacing header are identical
|
|
353
353
|
const headerClassName =
|
|
354
|
-
'vc-card-header px-[20px] pb-[10px] pt-[3px] overflow-visible mt-[40px] text-center bg-white border-y-[5px] border-[#EEF2FF] w-[calc(100
|
|
354
|
+
'vc-card-header px-[20px] pb-[10px] pt-[3px] overflow-visible mt-[40px] text-center bg-white border-y-[5px] border-[#EEF2FF] w-[calc(100%+16px)] rounded-t-[8px] z-50';
|
|
355
355
|
const headerFitTextClassName =
|
|
356
356
|
'vc-card-header-main-title text-[#18224E] pt-[3px] leading-[80%] text-[32px]';
|
|
357
357
|
|
|
@@ -252,8 +252,8 @@ const AvatarFallbackMatrix: React.FC<{ matrixType: AvatarFallbackMatrixType }> =
|
|
|
252
252
|
|
|
253
253
|
return (
|
|
254
254
|
<div className="bg-grayscale-100 min-h-screen p-8">
|
|
255
|
-
<div className="mx-auto max-w-[1200px] space-y-8">
|
|
256
|
-
<div className="space-y-2">
|
|
255
|
+
<div className="mx-auto max-w-[1200px] space-y-v3-8">
|
|
256
|
+
<div className="space-y-v3-2">
|
|
257
257
|
<h1 className="text-xl font-semibold text-grayscale-900 font-poppins">
|
|
258
258
|
{heading}
|
|
259
259
|
</h1>
|
|
@@ -267,9 +267,9 @@ const AvatarFallbackMatrix: React.FC<{ matrixType: AvatarFallbackMatrixType }> =
|
|
|
267
267
|
{matrixCases.map(testCase => (
|
|
268
268
|
<section
|
|
269
269
|
key={testCase.title}
|
|
270
|
-
className="rounded-[28px] bg-white p-6 shadow-[0_18px_50px_rgba(24,34,78,0.12)] space-y-4"
|
|
270
|
+
className="rounded-[28px] bg-white p-6 shadow-[0_18px_50px_rgba(24,34,78,0.12)] space-y-v3-4"
|
|
271
271
|
>
|
|
272
|
-
<div className="space-y-1">
|
|
272
|
+
<div className="space-y-v3-1">
|
|
273
273
|
<h2 className="text-lg font-semibold text-grayscale-900 font-poppins">
|
|
274
274
|
{testCase.title}
|
|
275
275
|
</h2>
|
|
@@ -141,8 +141,8 @@ const VCIDDisplayFrontFace: React.FC<VCIDDisplayFrontFaceProps> = ({
|
|
|
141
141
|
<TruncateTextBox
|
|
142
142
|
text={description}
|
|
143
143
|
className="description-box"
|
|
144
|
-
containerClassName="
|
|
145
|
-
textClassName="
|
|
144
|
+
containerClassName="p-0! shadow-none! text-center! w-full!"
|
|
145
|
+
textClassName="font-poppins! text-base! text-grayscale-700! text-center! w-full!"
|
|
146
146
|
truncateThreshold={204}
|
|
147
147
|
/>
|
|
148
148
|
</>
|
|
@@ -178,31 +178,31 @@ const VCIDDisplayFrontFace: React.FC<VCIDDisplayFrontFaceProps> = ({
|
|
|
178
178
|
}`}
|
|
179
179
|
>
|
|
180
180
|
{isSelfVerified && (
|
|
181
|
-
<span className="uppercase font-poppins text-base font-
|
|
181
|
+
<span className="uppercase font-poppins text-base font-medium text-green-dark flex gap-[3px] items-center">
|
|
182
182
|
<PersonBadge className="w-[20px] h-[20px]" />
|
|
183
183
|
Self Issued
|
|
184
184
|
</span>
|
|
185
185
|
)}
|
|
186
186
|
{verifierState === VERIFIER_STATES.trustedVerifier && (
|
|
187
|
-
<span className="uppercase font-poppins text-base font-
|
|
187
|
+
<span className="uppercase font-poppins text-base font-medium text-blue-light flex gap-[3px] items-center text-center">
|
|
188
188
|
<VerifiedBadge className="w-[20px] h-[20px]" />
|
|
189
189
|
{unknownVerifierTitle ?? 'Trusted Issuer'}
|
|
190
190
|
</span>
|
|
191
191
|
)}
|
|
192
192
|
{verifierState === VERIFIER_STATES.unknownVerifier && (
|
|
193
|
-
<span className="uppercase font-poppins text-base font-
|
|
193
|
+
<span className="uppercase font-poppins text-base font-medium text-orange-500 flex gap-[3px] items-center">
|
|
194
194
|
<UnknownVerifierBadge className="w-[20px] h-[20px]" />
|
|
195
195
|
Unknown Issuer
|
|
196
196
|
</span>
|
|
197
197
|
)}
|
|
198
198
|
{verifierState === VERIFIER_STATES.appIssuer && (
|
|
199
|
-
<span className="uppercase font-poppins text-base font-
|
|
199
|
+
<span className="uppercase font-poppins text-base font-medium text-cyan-600 flex gap-[3px] items-center">
|
|
200
200
|
<VerifiedBadge className="w-[20px] h-[20px]" />
|
|
201
201
|
App Issuer
|
|
202
202
|
</span>
|
|
203
203
|
)}
|
|
204
204
|
{verifierState === VERIFIER_STATES.untrustedVerifier && (
|
|
205
|
-
<span className="uppercase font-poppins text-base font-
|
|
205
|
+
<span className="uppercase font-poppins text-base font-medium text-red-mastercard flex gap-[3px] items-center">
|
|
206
206
|
<RedFlag className="w-[20px] h-[20px]" />
|
|
207
207
|
Untrusted Issuer
|
|
208
208
|
</span>
|
|
@@ -63,7 +63,7 @@ const VerificationRow: React.FC<VerificationRowProps> = ({ verification }) => {
|
|
|
63
63
|
const infoText = ''; // if we want certain verifications to have extra explanation, we can set this variable
|
|
64
64
|
|
|
65
65
|
return (
|
|
66
|
-
<div className="verification-row flex flex-col gap-[5px] font-poppins border-b
|
|
66
|
+
<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">
|
|
67
67
|
<span
|
|
68
68
|
className="font-[700] text-[11px] leading-[16px] uppercase flex items-center gap-[3px] select-none"
|
|
69
69
|
style={{ color: statusColor }}
|
|
@@ -124,7 +124,7 @@ describe('VC2FrontFaceInfo', () => {
|
|
|
124
124
|
expect(issuedBy).not.toBeNull();
|
|
125
125
|
// The bug was whitespace-nowrap forcing one line that overflowed the card.
|
|
126
126
|
expect(issuedBy?.className).not.toContain('whitespace-nowrap');
|
|
127
|
-
expect(issuedBy?.className).toContain('break-
|
|
127
|
+
expect(issuedBy?.className).toContain('wrap-break-word');
|
|
128
128
|
// line-clamp-2 only clamps on a block/-webkit-box, not a flex container,
|
|
129
129
|
// so the container must NOT be `flex` (the original review-miss).
|
|
130
130
|
expect(issuedBy?.className).toContain('line-clamp-2');
|
|
@@ -75,7 +75,7 @@ const VCDisplayFrontFace: React.FC<VCDisplayCardProps> = ({
|
|
|
75
75
|
|
|
76
76
|
return (
|
|
77
77
|
<div
|
|
78
|
-
className={`z-[9] vc-display-main-card-front flex overflow-hidden flex-col items-center justify-between relative max-w-[400px] h-
|
|
78
|
+
className={`z-[9] vc-display-main-card-front flex overflow-hidden flex-col items-center justify-between relative max-w-[400px] h-full min-h-[600px] p-7 rounded-3xl shadow-3xl bg-emerald-700 vc-display-card-full-container ${className}`}
|
|
79
79
|
>
|
|
80
80
|
<section className="bg-white rounded-bl-[50%] rounded-br-[50%] absolute top-0 w-[110%] h-[77%]"></section>
|
|
81
81
|
<section className="flex flex-col items-center justify-center z-10 text-center credential-thumb-img">
|
|
@@ -45,7 +45,7 @@ export const ValidationStateIndicator: React.FC<VerifiableStateIndicatorProps> =
|
|
|
45
45
|
|
|
46
46
|
return (
|
|
47
47
|
<div className={`relative rounded-full w-[30px] h-[30px] ${bgColor}`}>
|
|
48
|
-
<div className="relative w-
|
|
48
|
+
<div className="relative w-full h-full flex items-center justify-center rounded-[50%] bg-white rounded-full overflow-hidden">
|
|
49
49
|
<img
|
|
50
50
|
className="h-full w-full object-contain p-1"
|
|
51
51
|
src={source ?? ''}
|
|
@@ -4,9 +4,9 @@ const PuzzlePiece: React.FC<{
|
|
|
4
4
|
className?: string;
|
|
5
5
|
size?: string;
|
|
6
6
|
fill?: string;
|
|
7
|
-
version?: 'outline' | 'filled' | 'with-plus';
|
|
8
|
-
}> = ({ className = '', size = '21', fill = 'none', version = 'outline' }) => {
|
|
9
|
-
if (version === 'outline') {
|
|
7
|
+
version?: 'outline-solid' | 'filled' | 'with-plus';
|
|
8
|
+
}> = ({ className = '', size = '21', fill = 'none', version = 'outline-solid' }) => {
|
|
9
|
+
if (version === 'outline-solid') {
|
|
10
10
|
return (
|
|
11
11
|
<svg
|
|
12
12
|
width={size}
|
|
@@ -2,9 +2,9 @@ import React, { useEffect, type RefObject } from 'react';
|
|
|
2
2
|
|
|
3
3
|
export const useScrollBorders = <Ref extends HTMLElement>({
|
|
4
4
|
ref,
|
|
5
|
-
topShowClassName = 'border-t border-t-
|
|
5
|
+
topShowClassName = 'border-t border-t-(--color-grayscale-line)',
|
|
6
6
|
topHideClassName = 'border-t border-t-transparent',
|
|
7
|
-
bottomShowClassName = 'border-b border-b-
|
|
7
|
+
bottomShowClassName = 'border-b border-b-(--color-grayscale-line)',
|
|
8
8
|
bottomHideClassName = 'border-b border-b-transparent',
|
|
9
9
|
}: {
|
|
10
10
|
ref?: RefObject<Ref>;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"BoostGenericCard-e3fd4feb.js","sources":["../../src/components/BoostGenericCard/AlignmentSkillsCount.tsx","../../src/helpers/display.helpers.ts","../../src/helpers/lifecycle.helpers.ts","../../src/components/BoostGenericCard/BoostGenericCard.tsx"],"sourcesContent":["import React from 'react';\nimport PuzzlePiece from '../svgs/PuzzlePiece';\nimport { VC } from '@learncard/types';\nimport { categorizeSkills } from '../../helpers/credential.helpers';\n\ntype AlignmentSkillsCountProps = {\n credential?: VC;\n onClick?: () => void;\n className?: string;\n};\n\nconst AlignmentSkillsCount: React.FC<AlignmentSkillsCountProps> = ({\n credential,\n onClick,\n className = '',\n}) => {\n if (!credential) return <></>;\n\n const achievement = (credential?.credentialSubject as any)?.achievement;\n let alignmentCount = achievement?.alignment?.length || 0;\n\n if (alignmentCount === 0 && credential.skills?.length > 0) {\n // fallback to legacy skills field if present and no alignments\n const skillsMap = categorizeSkills(credential.skills ?? []);\n\n // Calculate total count of skills and subskills\n const totalSkills: any = Object.values(skillsMap).reduce(\n (total: any, category: any) => total + category?.length,\n 0\n );\n const totalSubskills: any = Object.values(skillsMap).reduce(\n (total: any, category: any) => total + (category?.totalSubskillsCount || 0),\n 0\n );\n\n const total: any = totalSkills + totalSubskills;\n alignmentCount = total;\n }\n\n return (\n <div\n role={onClick ? ('button' as const) : undefined}\n onClick={onClick}\n className={`px-[10px] py-[2px] flex gap-[3px] items-center rounded-[5px] overflow-hidden bg-violet-100 ${className}`}\n >\n <PuzzlePiece className=\"w-[20px] h-[20px] text-grayscale-800\" version=\"filled\" />\n <p className=\"text-[12px] text-grayscale-800 font-poppins font-[600]\">\n {`${alignmentCount} Skill${alignmentCount !== 1 ? 's' : ''}`}\n </p>\n </div>\n );\n};\n\nexport default AlignmentSkillsCount;\n","import { LCCategoryEnum } from '../types';\n\nimport { BadgeDisplayIcon } from '../components/svgs/BadgeDisplayIcon';\nimport { CertificateDisplayIcon } from '../components/svgs/CertificateDisplayIcon';\nimport { IDDisplayIcon } from '../components/svgs/IDDisplayIcon';\nimport { CourseDisplayIcon } from '../components/svgs/CourseDisplayIcon';\nimport { AwardDisplayIcon } from '../components/svgs/AwardDisplayIcon';\n\nexport enum DisplayTypeEnum {\n Badge = 'badge',\n Certificate = 'certificate',\n ID = 'id',\n Course = 'course',\n Award = 'award',\n}\n\nexport const getDefaultDisplayType = (category: string): DisplayTypeEnum => {\n if (category === LCCategoryEnum.socialBadge || category === LCCategoryEnum.workHistory) {\n return DisplayTypeEnum.Badge;\n }\n\n if (category === LCCategoryEnum.id || category === LCCategoryEnum.membership) {\n return DisplayTypeEnum.ID;\n }\n\n if (\n category === LCCategoryEnum.achievement ||\n category === LCCategoryEnum.qualifications ||\n category === LCCategoryEnum.accommodations ||\n category === LCCategoryEnum.accomplishments ||\n category === LCCategoryEnum.learningHistory\n ) {\n return DisplayTypeEnum.Certificate;\n }\n\n return DisplayTypeEnum.Badge;\n};\n\nexport const getDisplayIcon = (displayType: DisplayTypeEnum): React.FC<{ className?: string }> => {\n switch (displayType) {\n case DisplayTypeEnum.Badge:\n return BadgeDisplayIcon;\n case DisplayTypeEnum.Certificate:\n return CertificateDisplayIcon;\n case DisplayTypeEnum.ID:\n return IDDisplayIcon;\n case DisplayTypeEnum.Course:\n return CourseDisplayIcon;\n case DisplayTypeEnum.Award:\n return AwardDisplayIcon;\n default:\n return BadgeDisplayIcon;\n }\n};\n","import type { CSSProperties } from 'react';\n\nexport type CredentialLifecycleStatus = 'active' | 'revoked' | 'suspended';\n\nexport type LifecycleTreatment = {\n /** True when the credential is revoked or suspended. */\n isInactive: boolean;\n /** Inline filter for media (images / thumbnails); `undefined` when active.\n * Inline style (not a Tailwind class) so it applies regardless of whether the\n * consumer app's Tailwind scans this package or generates the utility. */\n mediaStyle: CSSProperties | undefined;\n /** Inline style for de-emphasizing text; `undefined` when active. */\n textStyle: CSSProperties | undefined;\n /** Pill background color for the status chip (only meaningful when `isInactive`). */\n pillBg: string;\n};\n\nconst REVOKED_COLOR = '#DC2626'; // red-600\nconst SUSPENDED_COLOR = '#D97706'; // amber-600\n\n/**\n * Shared visual treatment for a revoked/suspended credential, used by both the\n * grid card (`BoostGenericCard`) and the list row (`BoostListItem`) so the two\n * views stay in sync. Values are inert (`isInactive: false`, `undefined` styles)\n * for active credentials.\n */\nexport const getLifecycleTreatment = (\n status: CredentialLifecycleStatus = 'active'\n): LifecycleTreatment => {\n const isInactive = status === 'revoked' || status === 'suspended';\n\n return {\n isInactive,\n mediaStyle: isInactive ? { filter: 'grayscale(1) brightness(0.9)' } : undefined,\n textStyle: isInactive ? { filter: 'grayscale(1)', opacity: 0.6 } : undefined,\n pillBg: status === 'suspended' ? SUSPENDED_COLOR : REVOKED_COLOR,\n };\n};\n","import React from 'react';\nimport { BoostGenericCardProps, WalletCategoryTypes } from '../../types';\nimport { TYPE_TO_IMG_SRC, TYPE_TO_WALLET_DARK_COLOR } from '../../constants';\nimport { DisplayTypeEnum, getDisplayIcon } from '../../helpers/display.helpers';\nimport AlignmentSkillsCount from './AlignmentSkillsCount';\nimport ThreeDotVertical from '../svgs/ThreeDotVertical';\nimport { CircleCheckButton } from '../CircleCheckButton';\nimport BadgeThumbnailImg from '../BadgeThumbnailImg/BadgeThumbnailImg';\nimport { getLifecycleTreatment } from '../../helpers/lifecycle.helpers';\nimport { useT } from '../../i18n';\n\nexport const BoostGenericCard: React.FC<BoostGenericCardProps> = ({\n title,\n customTitle,\n thumbImgSrc,\n customThumbClass = '',\n customHeaderClass = '',\n type = WalletCategoryTypes.achievements,\n className,\n onCheckClick,\n showChecked,\n checkStatus,\n customThumbComponent,\n innerOnClick,\n bgImgSrc,\n issuerName,\n customIssuerName,\n dateDisplay,\n customDateDisplay,\n optionsTriggerOnClick,\n verifierBadge,\n credential,\n isInSkillsModal,\n displayType,\n linkedCredentialsCount = 0,\n linkedCredentialsClassName = '',\n checkBtnClass = '',\n lifecycleStatus = 'active',\n}) => {\n const t = useT();\n const thumbClass = TYPE_TO_WALLET_DARK_COLOR[type]\n ? `bg-${TYPE_TO_WALLET_DARK_COLOR[type]}`\n : 'bg-grayscale-50';\n const defaultThumbClass = `small-boost-card-thumb flex h-[110px] w-[110px] my-[10px] mx-auto ${thumbClass} overflow-hidden flex-col justify-center items-center rounded-full ${customThumbClass}`;\n const imgSrc = thumbImgSrc?.trim() !== '' ? thumbImgSrc : TYPE_TO_IMG_SRC[type];\n\n const handleInnerClick = () => innerOnClick?.();\n const handleOptionsClick = () => optionsTriggerOnClick?.();\n\n const DisplayIcon = getDisplayIcon(displayType as DisplayTypeEnum);\n\n // Shared revoked/suspended treatment (see getLifecycleTreatment). Inline styles are\n // used (not Tailwind classes) because the consumer app's Tailwind doesn't scan this\n // package and it ships no utility CSS, so utility classes here have no backing rule.\n const {\n isInactive,\n mediaStyle: inactiveMediaStyle,\n textStyle: inactiveTextStyle,\n pillBg,\n } = getLifecycleTreatment(lifecycleStatus);\n const pillLabel = t(`credential.lifecycle.${lifecycleStatus}`);\n const pillLeft = showChecked ? 'left-[44px]' : 'left-[8px]';\n\n return (\n <div\n className={`boost-generic-card-wrapper flex bg-white flex-col shadow-bottom relative p-0 w-[160px] h-[285px] rounded-[20px] overflow-hidden ${className}`}\n >\n {isInactive && (\n <span\n className={`absolute top-[8px] ${pillLeft} z-20 rounded-full px-[9px] py-[3px] text-[10px] font-extrabold uppercase tracking-wide text-white`}\n style={{ backgroundColor: pillBg }}\n >\n {pillLabel}\n </span>\n )}\n\n {optionsTriggerOnClick && (\n <section\n className=\"absolute cursor-pointer h-[30px] w-[30px] top-[5px] right-[5px] rounded-full bg-white/70 flex items-center justify-center z-20\"\n onClick={handleOptionsClick}\n >\n <ThreeDotVertical className=\"h-[20px] w-[20px] text-grayscale-900\" />\n </section>\n )}\n\n {bgImgSrc && (\n <section\n className=\"absolute top-[-50px] left-0 rounded-b-full overflow-hidden z-0\"\n style={inactiveMediaStyle}\n >\n <img className=\"h-full w-full object-cover\" src={bgImgSrc} />\n </section>\n )}\n\n <button\n type=\"button\"\n className=\"boost-generic-card-button z-10 flex flex-col flex-grow rounded-[20px]\"\n onClick={handleInnerClick}\n >\n {/* Thumbnail — filter on the wrapper so it desaturates a\n customThumbComponent too, not just the default thumb section.\n The explicit width is load-bearing on iOS 18 WebKit: a bare block\n child of a <button> flex container is laid out shrink-to-fit there\n (UA align-items: flex-start per the HTML spec), so without it the\n badge collapses to its 116px circle and the header artwork stops\n running under the options button. iOS 26+/desktop engines compute\n align-items: normal and stretch, which masks the bug (LC-2066).\n width is spread last so nothing can ever override it. */}\n <div style={{ ...inactiveMediaStyle, width: '100%' }}>\n {customThumbComponent || (\n <section className={defaultThumbClass}>\n {thumbImgSrc?.trim() ? (\n <BadgeThumbnailImg\n className=\"w-full h-full rounded-full object-cover\"\n src={thumbImgSrc}\n alt=\"Credential Achievement\"\n />\n ) : (\n <img\n className=\"max-w-full p-0 object-cover rounded-full\"\n src={imgSrc}\n />\n )}\n </section>\n )}\n </div>\n\n {/* Details Section: grows to fill available space */}\n <section\n className={`flex flex-col flex-grow items-center justify-end pt-1 w-full ${\n linkedCredentialsCount === 0 ? 'pb-[20px]' : ''\n }`}\n >\n <div className=\"px-1 flex flex-col items-center justify-center w-full\">\n {/* Title - dynamically size based on length */}\n {!customTitle ? (\n <p\n className={`\n ${customHeaderClass}\n font-medium text-center text-grayscale-900 line-clamp-2\n h-[50px] flex items-center justify-center\n ${\n (title?.length ?? 0) > 35\n ? 'text-[13px] leading-tight'\n : 'text-[16px]'\n }\n `}\n style={inactiveTextStyle}\n title={title}\n >\n {title}\n </p>\n ) : (\n customTitle\n )}\n\n {/* Verifier & Issuer */}\n <div className=\"mt-1 w-full px-4 text-center\">\n <span className=\"line-clamp-2 break-words text-[12px] leading-snug text-grayscale-700\">\n {verifierBadge && (\n <span className=\"mr-1 inline-block align-middle\">\n {verifierBadge}\n </span>\n )}\n {customIssuerName || (\n <span className=\"font-bold\" style={inactiveTextStyle}>\n {issuerName}\n </span>\n )}\n </span>\n </div>\n\n {/* Date */}\n {customDateDisplay || (\n <span className=\"text-[11px] text-grayscale-700 mt-1\">\n {dateDisplay}\n </span>\n )}\n\n {/* Skills count if in modal */}\n {isInSkillsModal && credential && (\n <AlignmentSkillsCount\n credential={credential}\n onClick={handleInnerClick}\n className=\"mt-[16px]\"\n />\n )}\n </div>\n\n {/* Linked Credentials moved inside details */}\n {linkedCredentialsCount > 0 && (\n <div\n className={`mt-auto flex items-center justify-center py-1 w-full ${linkedCredentialsClassName}`}\n >\n <DisplayIcon className=\"h-[20px] w-[20px] text-grayscale-900\" />\n <span className=\"ml-1 text-sm font-semibold text-grayscale-900\">\n +{linkedCredentialsCount} Linked\n </span>\n </div>\n )}\n </section>\n </button>\n\n {/* Optional Check Button overlay */}\n {showChecked && (\n <div className=\"absolute top-[5px] left-[5px] z-20\">\n <CircleCheckButton\n checked={checkStatus}\n onClick={onCheckClick}\n className={checkBtnClass}\n />\n </div>\n )}\n </div>\n );\n};\n\nexport default BoostGenericCard;\n"],"names":["React","categorizeSkills","total","PuzzlePiece","BadgeDisplayIcon","CertificateDisplayIcon","IDDisplayIcon","CourseDisplayIcon","AwardDisplayIcon","WalletCategoryTypes","useT","TYPE_TO_WALLET_DARK_COLOR","TYPE_TO_IMG_SRC","ThreeDotVertical","BadgeThumbnailImg","CircleCheckButton"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"BoostSmallCard-507de790.js","sources":["../../src/helpers/color.helpers.ts","../../src/components/BoostSmallCard/BoostSmallCard.tsx"],"sourcesContent":["import { WalletCategoryTypes } from '../types';\n\nexport const getDarkBGColor = (type: WalletCategoryTypes) => {\n if (!type) return '';\n\n if (type === WalletCategoryTypes?.achievements) {\n return 'bg-orange-500';\n } else if (type === WalletCategoryTypes.qualifications) {\n return 'bg-orange-700';\n } else if (type === WalletCategoryTypes?.learningHistory) {\n return 'bg-emerald-500';\n } else if (type === WalletCategoryTypes?.skills) {\n return 'bg-violet-500';\n } else if (type === WalletCategoryTypes?.jobHistory) {\n return 'bg-blue-500';\n } else if (type === WalletCategoryTypes?.socialBadge) {\n return 'bg-cyan-500';\n } else if (type === WalletCategoryTypes?.relationships) {\n return 'bg-pink-500';\n } else if (type === WalletCategoryTypes?.accommodations) {\n return 'bg-amber-500';\n } else if (type === WalletCategoryTypes?.accomplishments) {\n return 'bg-lime-500';\n } else if (type === WalletCategoryTypes?.events) {\n return 'bg-fuchsia-500';\n } else if (type === WalletCategoryTypes?.membership) {\n return 'bg-teal-500';\n } else if (type === WalletCategoryTypes?.goals) {\n return 'bg-rose-500';\n } else if (type === WalletCategoryTypes?.ids) {\n return 'bg-yellow-500';\n } else if (type === WalletCategoryTypes?.currency) {\n return 'bg-cyan-500';\n }\n\n return 'bg-grayscale-900';\n};\n","import React from 'react';\n\nimport CaretRightFilled from '../../assets/images/CaretRightFilled.svg';\nimport AddAwardLight from '../../assets/images/addawardlight.svg';\nimport ThreeDotVertical from '../svgs/ThreeDotVertical';\nimport UserProfilePicture from '../UserProfilePicture/UserProfilePicture';\nimport { CircleCheckButton } from '../CircleCheckButton';\nimport BadgeThumbnailImg from '../BadgeThumbnailImg/BadgeThumbnailImg';\n\nimport { BoostSmallCardProps, WalletCategoryTypes } from '../../types';\nimport { TYPE_TO_IMG_SRC, TYPE_TO_WALLET_DARK_COLOR } from '../../constants';\nimport { getDarkBGColor } from '../../helpers/color.helpers';\n\nexport const BoostSmallCard: React.FC<BoostSmallCardProps> = ({\n title = 'Title Lorem Ipsum',\n customTitle,\n thumbImgSrc,\n customThumbClass = '',\n customHeaderClass = '',\n type = WalletCategoryTypes.achievements,\n className,\n onCheckClick,\n showChecked,\n checkStatus,\n arrowOnClick,\n buttonOnClick,\n customButtonComponent,\n customBodyClass,\n customBodyComponent,\n customThumbComponent,\n customDraftComponent,\n innerOnClick,\n issueHistory,\n bgImgSrc,\n optionsTriggerOnClick,\n}) => {\n const thumbClass = TYPE_TO_WALLET_DARK_COLOR[type]\n ? `bg-${TYPE_TO_WALLET_DARK_COLOR[type]}`\n : 'bg-grayscale-50';\n const defaultThumbClass = `small-boost-card-thumb flex h-[110px] w-[110px] my-[10px] mx-auto ${thumbClass} overflow-hidden flex-col justify-center items-center rounded-full ${customThumbClass}`;\n const imgSrc = thumbImgSrc?.trim() !== '' ? thumbImgSrc : TYPE_TO_IMG_SRC[type];\n const headerBgColor = getDarkBGColor(type);\n const checkBtnClass = checkStatus ? 'generic-vc-card checked' : 'generic-vc-card unchecked';\n const defaultHeaderClass = `flex generic-card-title w-full justify-center ${customHeaderClass}`;\n const defaultBodyClass = ` boost-small-card-body flex justify-center items-center text-center text-[14px] overflow-hidden text-grayscale-500 py-[5px] px-[10px] ${customBodyClass}`;\n const defaultButtonClass = `cursor-pointer small-boost-boost-btn flex boost-btn-click rounded-[40px] w-[140px] h-[48px] text-white flex justify-center items-center ${headerBgColor}`;\n const innerClickContainerClass = `relative cursor-pointer boost-small-card inner-click-container z-10`;\n\n const issueHistoryDisplay =\n issueHistory && issueHistory?.length > 3 ? issueHistory?.slice(0, 3) : issueHistory;\n const renderIssueHistory = issueHistoryDisplay?.map(issueItem => {\n return (\n <div\n key={issueItem?.id}\n className=\"profile-thumb-img border-[1px] border-white border-solid vc-issuee-image h-[35px] w-[35px] rounded-full overflow-hidden mx-[-5px]\"\n >\n <UserProfilePicture\n customContainerClass={`h-full w-full object-cover ${\n !issueItem?.thumb ? 'pt-[8px]' : ''\n }`}\n user={{ image: issueItem?.thumb, name: issueItem?.name }}\n alt=\"profile\"\n />\n </div>\n );\n });\n\n const handleInnerClick = () => {\n innerOnClick?.();\n };\n\n const handleOptionsClick = () => {\n optionsTriggerOnClick?.();\n };\n\n return (\n <div\n className={`flex generic-display-card-simple bg-white flex-col shadow-bottom relative $ py-[0px] px-[0px] w-[160px] h-[280px] rounded-[20px] overflow-hidden ${className}`}\n >\n {optionsTriggerOnClick && (\n <section\n className=\"absolute cursor-pointer shadow-bottom h-[30px] w-[30px] top-[5px] right-[5px] rounded-full overflow-hidden z-20 bg-white/70 flex items-center justify-center\"\n onClick={handleOptionsClick}\n >\n <ThreeDotVertical className=\"h-[20px] w-[20px] z-50 text-grayscale-900\" />\n </section>\n )}\n\n {bgImgSrc && (\n <section className=\"absolute top-[-50px] shadow-bottom left-[0px] rounded-b-full overflow-hidden z-0 mt-3\">\n <img className=\"h-full w-full object-cover overflow-hidden\" src={bgImgSrc} />\n </section>\n )}\n\n <div className={innerClickContainerClass} onClick={handleInnerClick}>\n {customThumbComponent}\n {!customThumbComponent && (\n <section className={defaultThumbClass}>\n {thumbImgSrc && thumbImgSrc?.trim() !== '' && (\n <BadgeThumbnailImg\n className=\"generic-display-card-img h-full w-full w-[110px] h-[110px] rounded-full object-cover overflow-hidden\"\n src={thumbImgSrc ?? ''}\n alt=\"Credential Achievement Image\"\n />\n )}\n {(!thumbImgSrc || thumbImgSrc?.trim() === '') && (\n <img\n className=\"max-w-[110px] w-full h-full p-[0px] object-cover rounded-full\"\n src={imgSrc}\n />\n )}\n </section>\n )}\n\n {customTitle && customTitle}\n {!customTitle && (\n <section className={defaultHeaderClass}>\n <p className=\"relative z-[100] small-boost-title text-[16px] leading-[130%] p-[0px] font-medium text-center line-clamp-2\">\n {title}\n </p>\n </section>\n )}\n\n <section className={defaultBodyClass}>\n {customBodyComponent && customBodyComponent}\n {!customBodyComponent &&\n issueHistory &&\n issueHistory?.length > 0 &&\n renderIssueHistory}\n {!customBodyComponent && issueHistory && issueHistory?.length > 3 && (\n <span className=\"small-boost-issue-count ml-[10px] font-semibold\">\n +{issueHistory?.length - 3}\n </span>\n )}\n </section>\n </div>\n\n <section className=\"small-boost-card-footer flex justify-center items-center absolute bottom-[15px] w-full\">\n {customButtonComponent && customButtonComponent}\n\n {!customButtonComponent && (\n <div className=\"flex w-full flex-col items-center justify-center\">\n {customDraftComponent && customDraftComponent}\n <div onClick={buttonOnClick} className={defaultButtonClass}>\n <img className=\"h-[25px] mr-[7px] text-\" src={AddAwardLight} />\n <span className=\"font-mouse text-[25px] tracking-wider\">BOOST</span>\n </div>\n </div>\n )}\n </section>\n {showChecked && (\n <div className=\"check-btn-overlay absolute top-[5px] left-[5px]\">\n <CircleCheckButton\n checked={checkStatus}\n onClick={onCheckClick}\n className={checkBtnClass}\n />\n </div>\n )}\n\n {arrowOnClick && (\n <button\n type=\"button\"\n onClick={arrowOnClick}\n className=\"arrow-btn-overlay absolute top-[52px] right-[2px]\"\n >\n <img\n className=\"h-full w-full object-contai\"\n src={CaretRightFilled ?? ''}\n alt=\"Right Caret\"\n />\n </button>\n )}\n </div>\n );\n};\n\nexport default BoostSmallCard;\n"],"names":["WalletCategoryTypes","TYPE_TO_WALLET_DARK_COLOR","TYPE_TO_IMG_SRC","React","UserProfilePicture","ThreeDotVertical","BadgeThumbnailImg","AddAwardLight","CircleCheckButton","CaretRightFilled"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Button-9ebe120c.js","sources":["../../src/components/Button/Button.tsx"],"sourcesContent":["import React, { MouseEventHandler } from 'react';\n\nexport type ButtonProps = {\n text?: string;\n onClick: MouseEventHandler<HTMLButtonElement>;\n className?: string;\n};\n\nexport const Button: React.FC<ButtonProps> = ({ text, onClick, className = '' }) => {\n return (\n <button\n type=\"button\"\n onClick={onClick}\n className={`p-4 border rounded text-gray-700 ${className}`}\n >\n {text}\n </button>\n );\n};\n\nexport default Button;\n"],"names":["React"],"mappings":";;;;;;;;AAQO,MAAM,SAAgC,CAAC,EAAE,MAAM,OAAS,EAAA,SAAA,GAAY,IAAS,KAAA;AAChF,EACI,uBAAAA,yBAAA,CAAA,aAAA;AAAA,IAAC,QAAA;AAAA,IAAA;AAAA,MACG,IAAK,EAAA,QAAA;AAAA,MACL,OAAA;AAAA,MACA,SAAA,EAAW,oCAAoC,SAAS,CAAA,CAAA;AAAA,KAAA;AAAA,IAEvD,IAAA;AAAA,GACL,CAAA;AAER;;;;"}
|