@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
package/README.md
CHANGED
|
@@ -55,11 +55,29 @@ const Test = () => {
|
|
|
55
55
|
|
|
56
56
|
### Styles
|
|
57
57
|
|
|
58
|
-
`@learncard/react` uses
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
58
|
+
`@learncard/react` uses Tailwind 4.3 and exports two compiled stylesheets:
|
|
59
|
+
`main.css` contains component utilities and bespoke styles; optional `base.css`
|
|
60
|
+
applies the global reset. A host that already owns its reset should import only
|
|
61
|
+
`main.css`. Consumers do not need to run Tailwind themselves.
|
|
62
|
+
|
|
63
|
+
#### Migrating to the Tailwind 4 stylesheet release
|
|
64
|
+
|
|
65
|
+
This is a major package release because the CSS requires Safari/iOS 16.4+,
|
|
66
|
+
Chrome/Edge/Android WebView 111+, or Firefox 128+. Keep the previous major release
|
|
67
|
+
if older browsers must remain supported. No React component API change is required
|
|
68
|
+
to keep using the same stylesheet imports.
|
|
69
|
+
|
|
70
|
+
The card palette and font families compile to literal values, preserving the
|
|
71
|
+
previous package design without exporting `--color-*` tokens or inheriting host
|
|
72
|
+
Tailwind palette variables. Host token overrides alone do not recolor these
|
|
73
|
+
utilities. Utility class names remain global: a host rule for the same class can
|
|
74
|
+
still override the package through the usual CSS cascade, as before. Import the
|
|
75
|
+
styles in the intended order and review any deliberate host overrides.
|
|
76
|
+
|
|
77
|
+
For native consumers, enforce the actual WebView engine floor and provide an
|
|
78
|
+
update notice before sending this CSS to older clients. The monorepo apps use
|
|
79
|
+
separate Capgo channels and a static browser error page; release their matching
|
|
80
|
+
native builds before promoting OTA bundles.
|
|
63
81
|
|
|
64
82
|
#### If using Tailwind already
|
|
65
83
|
|
package/dist/base.css
CHANGED
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
|
|
2
|
+
@layer theme{:root,:host{--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--text-xs:.75rem;--text-xs--line-height:1rem;--text-sm:.875rem;--text-sm--line-height:1.25rem;--text-base:1rem;--text-base--line-height:1.5rem;--text-lg:1.125rem;--text-lg--line-height:1.75rem;--text-xl:1.25rem;--text-xl--line-height:1.75rem;--text-2xl:1.5rem;--text-2xl--line-height:2rem;--text-3xl:1.875rem;--text-3xl--line-height:2.25rem;--text-4xl:2.25rem;--text-4xl--line-height:2.5rem;--text-5xl:3rem;--text-5xl--line-height:1;--text-6xl:3.75rem;--text-6xl--line-height:1;--text-7xl:4.5rem;--text-7xl--line-height:1;--text-8xl:6rem;--text-8xl--line-height:1;--text-9xl:8rem;--text-9xl--line-height:1;--default-font-family:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--default-mono-font-family:var(--font-mono);--default-ring-width:3px;--default-ring-color:#3b82f6}}*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}input::placeholder,textarea::placeholder{color:var(--color-gray-400);opacity:1}button,[role=button]{cursor:pointer}:disabled{cursor:default}dialog{margin:auto}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0;padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}*,:before,:after,::backdrop{border-color:#e5e7eb}::file-selector-button{border-color:#e5e7eb}input::placeholder,textarea::placeholder{color:#9ca3af}
|
package/dist/base.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
var css = "
|
|
1
|
+
var css = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@layer theme{:root,:host{--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;--text-xs:.75rem;--text-xs--line-height:1rem;--text-sm:.875rem;--text-sm--line-height:1.25rem;--text-base:1rem;--text-base--line-height:1.5rem;--text-lg:1.125rem;--text-lg--line-height:1.75rem;--text-xl:1.25rem;--text-xl--line-height:1.75rem;--text-2xl:1.5rem;--text-2xl--line-height:2rem;--text-3xl:1.875rem;--text-3xl--line-height:2.25rem;--text-4xl:2.25rem;--text-4xl--line-height:2.5rem;--text-5xl:3rem;--text-5xl--line-height:1;--text-6xl:3.75rem;--text-6xl--line-height:1;--text-7xl:4.5rem;--text-7xl--line-height:1;--text-8xl:6rem;--text-8xl--line-height:1;--text-9xl:8rem;--text-9xl--line-height:1;--default-font-family:ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";--default-mono-font-family:var(--font-mono);--default-ring-width:3px;--default-ring-color:#3b82f6}}*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Noto Sans\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}input::placeholder,textarea::placeholder{color:var(--color-gray-400);opacity:1}button,[role=button]{cursor:pointer}:disabled{cursor:default}dialog{margin:auto}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0;padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}*,:before,:after,::backdrop{border-color:#e5e7eb}::file-selector-button{border-color:#e5e7eb}input::placeholder,textarea::placeholder{color:#9ca3af}\n";
|
|
2
2
|
|
|
3
3
|
export { css, css as default };
|
|
@@ -4,8 +4,8 @@ var React = require('react');
|
|
|
4
4
|
var index$1 = require('./index-603feb35.js');
|
|
5
5
|
var index = require('./index-3daa4cfe.js');
|
|
6
6
|
var Trophy = require('./Trophy-9758f0cf.js');
|
|
7
|
-
var CircleCheckButton = require('./CircleCheckButton-
|
|
8
|
-
var RoundedPill = require('./RoundedPill-
|
|
7
|
+
var CircleCheckButton = require('./CircleCheckButton-1d10936b.js');
|
|
8
|
+
var RoundedPill = require('./RoundedPill-5862fa48.js');
|
|
9
9
|
|
|
10
10
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
11
11
|
|
|
@@ -84,4 +84,4 @@ const AchievementCard = ({
|
|
|
84
84
|
};
|
|
85
85
|
|
|
86
86
|
exports.AchievementCard = AchievementCard;
|
|
87
|
-
//# sourceMappingURL=AchievementCard-
|
|
87
|
+
//# sourceMappingURL=AchievementCard-6ef39c2b.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AchievementCard-
|
|
1
|
+
{"version":3,"file":"AchievementCard-6ef39c2b.js","sources":["../../src/components/AchievementCard/AchievementCard.tsx"],"sourcesContent":["import React from 'react';\nimport { AchievementCardProps } from '../../types';\nimport { RoundedPill } from '../RoundedPill';\nimport { CircleCheckButton } from '../CircleCheckButton';\nimport { Trophy } from '../svgs';\nimport { TYPE_TO_MINI_ICON } from '../../constants';\nimport { LCSubtypes } from '../../types';\n\nexport const AchievementCard: React.FC<AchievementCardProps> = ({\n title = 'Title Lorem Ipsum',\n thumbImgSrc,\n claimStatus,\n showSkills = true,\n showChecked,\n checked,\n skillCount,\n showStatus = true,\n onCheckClick,\n onClick = () => {},\n}) => {\n const thumbClass = thumbImgSrc ? 'bg-grayscale-50' : 'bg-indigo-200';\n\n const claimBtnStatusType = claimStatus ? LCSubtypes.achievement : LCSubtypes.locked;\n const skillIconSrc = TYPE_TO_MINI_ICON[LCSubtypes.skill];\n const skillCountTxt = skillCount && skillCount > 1 ? 'Skills' : 'Skill';\n const showSkillCounter = showSkills && skillCount !== 0;\n\n return (\n <div\n className={`flex-col shadow-[0_0_8px_0px_rgba(0,0,0,0.2)] relative $ py-[8px] px-[8px] w-[190px] h-[285px] rounded-[20px] rounded-square-card-container`}\n >\n <section\n className={`relative flex h-[120px] ${thumbClass} flex-col justify-center items-center w-full rounded-[20px]`}\n >\n {thumbImgSrc && (\n <img\n className=\"h-full w-full object-cover rounded-[20px]\"\n src={thumbImgSrc ?? ''}\n alt=\"Credential Achievement Image\"\n />\n )}\n {(!thumbImgSrc || thumbImgSrc === '') && (\n <Trophy\n className=\"achievement-placeholder-trophy flex p-[15px]\"\n color=\"#ffffff\"\n />\n )}\n\n {showSkills && showSkillCounter && (\n <div className=\"absolute px-[10px] text-[14px] flex items-center justify-center text-indigo-600 skill-pill font-bold min-w-[100px] bottom-[10px] right-[9px] rounded-[20px] h-[30px] bg-indigo-50 \">\n <img\n src={skillIconSrc}\n className=\"flex items-center justify-center mr-[4px]\"\n />\n +{skillCount} {skillCountTxt}\n </div>\n )}\n\n {showChecked && (\n <CircleCheckButton\n checked={checked}\n onClick={onCheckClick}\n className=\"absolute top-[5px] left-[5px]\"\n />\n )}\n </section>\n\n <section className=\"achievement-title w-full flex justify-center line-clamp-2\">\n <p className=\"text-[14px] text-grayscale-900 font-bold mt-[10px] text-center\">\n {title}\n </p>\n </section>\n\n <section className=\"achievement-card-footer absolute bottom-[6px] left-[5px]\">\n {showStatus && (\n <RoundedPill\n onClick={onClick}\n showCheckmark\n type={claimBtnStatusType}\n statusText={'Claimed'}\n />\n )}\n </section>\n </div>\n );\n};\n\nexport default AchievementCard;\n"],"names":["LCSubtypes","TYPE_TO_MINI_ICON","React","Trophy","CircleCheckButton","RoundedPill"],"mappings":";;;;;;;;;;;;;AAQO,MAAM,kBAAkD,CAAC;AAAA,EAC5D,KAAQ,GAAA,mBAAA;AAAA,EACR,WAAA;AAAA,EACA,WAAA;AAAA,EACA,UAAa,GAAA,IAAA;AAAA,EACb,WAAA;AAAA,EACA,OAAA;AAAA,EACA,UAAA;AAAA,EACA,UAAa,GAAA,IAAA;AAAA,EACb,YAAA;AAAA,EACA,UAAU,MAAM;AAAA,GAAC;AACrB,CAAM,KAAA;AACF,EAAM,MAAA,UAAA,GAAa,cAAc,iBAAoB,GAAA,eAAA,CAAA;AAErD,EAAA,MAAM,kBAAqB,GAAA,WAAA,GAAcA,gBAAW,CAAA,WAAA,GAAcA,gBAAW,CAAA,MAAA,CAAA;AAC7E,EAAM,MAAA,YAAA,GAAeC,yBAAkB,CAAAD,gBAAA,CAAW,KAAK,CAAA,CAAA;AACvD,EAAA,MAAM,aAAgB,GAAA,UAAA,IAAc,UAAa,GAAA,CAAA,GAAI,QAAW,GAAA,OAAA,CAAA;AAChE,EAAM,MAAA,gBAAA,GAAmB,cAAc,UAAe,KAAA,CAAA,CAAA;AAEtD,EACI,uBAAAE,yBAAA,CAAA,aAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACG,SAAW,EAAA,CAAA,2IAAA,CAAA;AAAA,KAAA;AAAA,oBAEXA,yBAAA,CAAA,aAAA;AAAA,MAAC,SAAA;AAAA,MAAA;AAAA,QACG,SAAA,EAAW,2BAA2B,UAAU,CAAA,2DAAA,CAAA;AAAA,OAAA;AAAA,MAE/C,WACG,oBAAAA,yBAAA,CAAA,aAAA;AAAA,QAAC,KAAA;AAAA,QAAA;AAAA,UACG,SAAU,EAAA,2CAAA;AAAA,UACV,KAAK,WAAe,IAAA,IAAA,GAAA,WAAA,GAAA,EAAA;AAAA,UACpB,GAAI,EAAA,8BAAA;AAAA,SAAA;AAAA,OACR;AAAA,MAEF,CAAA,CAAC,WAAe,IAAA,WAAA,KAAgB,EAC9B,qBAAAA,yBAAA,CAAA,aAAA;AAAA,QAACC,aAAA;AAAA,QAAA;AAAA,UACG,SAAU,EAAA,8CAAA;AAAA,UACV,KAAM,EAAA,SAAA;AAAA,SAAA;AAAA,OACV;AAAA,MAGH,UAAc,IAAA,gBAAA,oBACVD,yBAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAI,WAAU,oLACX,EAAA,kBAAAA,yBAAA,CAAA,aAAA;AAAA,QAAC,KAAA;AAAA,QAAA;AAAA,UACG,GAAK,EAAA,YAAA;AAAA,UACL,SAAU,EAAA,2CAAA;AAAA,SAAA;AAAA,OACZ,EAAA,GAAA,EACA,UAAW,EAAA,GAAA,EAAE,aACnB,CAAA;AAAA,MAGH,WACG,oBAAAA,yBAAA,CAAA,aAAA;AAAA,QAACE,mCAAA;AAAA,QAAA;AAAA,UACG,OAAA;AAAA,UACA,OAAS,EAAA,YAAA;AAAA,UACT,SAAU,EAAA,+BAAA;AAAA,SAAA;AAAA,OACd;AAAA,KAER;AAAA,oBAEAF,yBAAA,CAAA,aAAA,CAAC,aAAQ,SAAU,EAAA,2DAAA,EAAA,0DACd,GAAE,EAAA,EAAA,SAAA,EAAU,gEACR,EAAA,EAAA,KACL,CACJ,CAAA;AAAA,oBAECA,yBAAA,CAAA,aAAA,CAAA,SAAA,EAAA,EAAQ,SAAU,EAAA,0DAAA,EAAA,EACd,UACG,oBAAAA,yBAAA,CAAA,aAAA;AAAA,MAACG,uBAAA;AAAA,MAAA;AAAA,QACG,OAAA;AAAA,QACA,aAAa,EAAA,IAAA;AAAA,QACb,IAAM,EAAA,kBAAA;AAAA,QACN,UAAY,EAAA,SAAA;AAAA,OAAA;AAAA,KAGxB,CAAA;AAAA,GACJ,CAAA;AAER;;;;"}
|
|
@@ -4,12 +4,12 @@ var React = require('react');
|
|
|
4
4
|
var index$1 = require('./index-3daa4cfe.js');
|
|
5
5
|
var index = require('./index-603feb35.js');
|
|
6
6
|
var IDDisplayIcon = require('./IDDisplayIcon-922a5fcf.js');
|
|
7
|
-
var PuzzlePiece = require('./PuzzlePiece-
|
|
8
|
-
var credential_helpers = require('./credential.helpers-
|
|
7
|
+
var PuzzlePiece = require('./PuzzlePiece-48ee8924.js');
|
|
8
|
+
var credential_helpers = require('./credential.helpers-da94e829.js');
|
|
9
9
|
var ThreeDotVertical = require('./ThreeDotVertical-dda0e747.js');
|
|
10
10
|
var BadgeThumbnailImg = require('./BadgeThumbnailImg-02df88f9.js');
|
|
11
11
|
var i18n = require('./i18n-ddbb18e7.js');
|
|
12
|
-
var CircleCheckButton = require('./CircleCheckButton-
|
|
12
|
+
var CircleCheckButton = require('./CircleCheckButton-1d10936b.js');
|
|
13
13
|
|
|
14
14
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
15
15
|
|
|
@@ -174,7 +174,7 @@ const BoostGenericCard = ({
|
|
|
174
174
|
"button",
|
|
175
175
|
{
|
|
176
176
|
type: "button",
|
|
177
|
-
className: "boost-generic-card-button z-10 flex flex-col
|
|
177
|
+
className: "boost-generic-card-button z-10 flex flex-col grow rounded-[20px]",
|
|
178
178
|
onClick: handleInnerClick
|
|
179
179
|
},
|
|
180
180
|
/* @__PURE__ */ React__default["default"].createElement("div", { style: __spreadProps(__spreadValues({}, inactiveMediaStyle), { width: "100%" }) }, customThumbComponent || /* @__PURE__ */ React__default["default"].createElement("section", { className: defaultThumbClass }, (thumbImgSrc == null ? void 0 : thumbImgSrc.trim()) ? /* @__PURE__ */ React__default["default"].createElement(
|
|
@@ -194,7 +194,7 @@ const BoostGenericCard = ({
|
|
|
194
194
|
/* @__PURE__ */ React__default["default"].createElement(
|
|
195
195
|
"section",
|
|
196
196
|
{
|
|
197
|
-
className: `flex flex-col
|
|
197
|
+
className: `flex flex-col grow items-center justify-end pt-1 w-full ${linkedCredentialsCount === 0 ? "pb-[20px]" : ""}`
|
|
198
198
|
},
|
|
199
199
|
/* @__PURE__ */ React__default["default"].createElement("div", { className: "px-1 flex flex-col items-center justify-center w-full" }, !customTitle ? /* @__PURE__ */ React__default["default"].createElement(
|
|
200
200
|
"p",
|
|
@@ -209,7 +209,7 @@ const BoostGenericCard = ({
|
|
|
209
209
|
title
|
|
210
210
|
},
|
|
211
211
|
title
|
|
212
|
-
) : customTitle, /* @__PURE__ */ React__default["default"].createElement("div", { className: "mt-1 w-full px-4 text-center" }, /* @__PURE__ */ React__default["default"].createElement("span", { className: "line-clamp-2 break-
|
|
212
|
+
) : customTitle, /* @__PURE__ */ React__default["default"].createElement("div", { className: "mt-1 w-full px-4 text-center" }, /* @__PURE__ */ React__default["default"].createElement("span", { className: "line-clamp-2 wrap-break-word text-[12px] leading-snug text-grayscale-700" }, verifierBadge && /* @__PURE__ */ React__default["default"].createElement("span", { className: "mr-1 inline-block align-middle" }, verifierBadge), customIssuerName || /* @__PURE__ */ React__default["default"].createElement("span", { className: "font-bold", style: inactiveTextStyle }, issuerName))), customDateDisplay || /* @__PURE__ */ React__default["default"].createElement("span", { className: "text-[11px] text-grayscale-700 mt-1" }, dateDisplay), isInSkillsModal && credential && /* @__PURE__ */ React__default["default"].createElement(
|
|
213
213
|
AlignmentSkillsCount,
|
|
214
214
|
{
|
|
215
215
|
credential,
|
|
@@ -240,4 +240,4 @@ const BoostGenericCard = ({
|
|
|
240
240
|
|
|
241
241
|
exports.BoostGenericCard = BoostGenericCard;
|
|
242
242
|
exports.getLifecycleTreatment = getLifecycleTreatment;
|
|
243
|
-
//# sourceMappingURL=BoostGenericCard-
|
|
243
|
+
//# sourceMappingURL=BoostGenericCard-8767d920.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BoostGenericCard-8767d920.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 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 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 wrap-break-word 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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"}
|
|
@@ -8,7 +8,7 @@ var UserProfilePicture = require('./UserProfilePicture-61571db9.js');
|
|
|
8
8
|
var BadgeThumbnailImg = require('./BadgeThumbnailImg-02df88f9.js');
|
|
9
9
|
var index = require('./index-3daa4cfe.js');
|
|
10
10
|
var index$1 = require('./index-603feb35.js');
|
|
11
|
-
var CircleCheckButton = require('./CircleCheckButton-
|
|
11
|
+
var CircleCheckButton = require('./CircleCheckButton-1d10936b.js');
|
|
12
12
|
|
|
13
13
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
14
14
|
|
|
@@ -90,7 +90,7 @@ const BoostSmallCard = ({
|
|
|
90
90
|
"div",
|
|
91
91
|
{
|
|
92
92
|
key: issueItem == null ? void 0 : issueItem.id,
|
|
93
|
-
className: "profile-thumb-img border
|
|
93
|
+
className: "profile-thumb-img border border-white border-solid vc-issuee-image h-[35px] w-[35px] rounded-full overflow-hidden mx-[-5px]"
|
|
94
94
|
},
|
|
95
95
|
/* @__PURE__ */ React__default["default"].createElement(
|
|
96
96
|
UserProfilePicture.UserProfilePicture,
|
|
@@ -165,4 +165,4 @@ const BoostSmallCard = ({
|
|
|
165
165
|
};
|
|
166
166
|
|
|
167
167
|
exports.BoostSmallCard = BoostSmallCard;
|
|
168
|
-
//# sourceMappingURL=BoostSmallCard-
|
|
168
|
+
//# sourceMappingURL=BoostSmallCard-214f91a5.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BoostSmallCard-214f91a5.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 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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"}
|
|
@@ -12,11 +12,11 @@ const Button = ({ text, onClick, className = "" }) => {
|
|
|
12
12
|
{
|
|
13
13
|
type: "button",
|
|
14
14
|
onClick,
|
|
15
|
-
className: `p-4 border rounded text-gray-700 ${className}`
|
|
15
|
+
className: `p-4 border rounded-sm text-gray-700 ${className}`
|
|
16
16
|
},
|
|
17
17
|
text
|
|
18
18
|
);
|
|
19
19
|
};
|
|
20
20
|
|
|
21
21
|
exports.Button = Button;
|
|
22
|
-
//# sourceMappingURL=Button-
|
|
22
|
+
//# sourceMappingURL=Button-d3a8a860.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Button-d3a8a860.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-sm 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,uCAAuC,SAAS,CAAA,CAAA;AAAA,KAAA;AAAA,IAE1D,IAAA;AAAA,GACL,CAAA;AAER;;;;"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var React = require('react');
|
|
4
|
-
var VerifierStateBadgeAndText = require('./VerifierStateBadgeAndText-
|
|
5
|
-
var credential_helpers = require('./credential.helpers-
|
|
6
|
-
var PuzzlePiece = require('./PuzzlePiece-
|
|
4
|
+
var VerifierStateBadgeAndText = require('./VerifierStateBadgeAndText-6bc07df3.js');
|
|
5
|
+
var credential_helpers = require('./credential.helpers-da94e829.js');
|
|
6
|
+
var PuzzlePiece = require('./PuzzlePiece-48ee8924.js');
|
|
7
7
|
var UserProfilePicture = require('./UserProfilePicture-61571db9.js');
|
|
8
8
|
var helpers = require('@learncard/helpers');
|
|
9
9
|
var index = require('./index-3daa4cfe.js');
|
|
10
|
-
var types_esm = require('./types.esm-
|
|
10
|
+
var types_esm = require('./types.esm-ad9cf6de.js');
|
|
11
11
|
var i18n = require('./i18n-ddbb18e7.js');
|
|
12
12
|
var Lightbox = require('./Lightbox-e2996736.js');
|
|
13
13
|
var ThreeDots = require('./DotsThreeOutline.svg');
|
|
@@ -203,7 +203,7 @@ const VerificationRow = ({ verification }) => {
|
|
|
203
203
|
}
|
|
204
204
|
primaryText = VerifierStateBadgeAndText.capitalize(primaryText);
|
|
205
205
|
const infoText = "";
|
|
206
|
-
return /* @__PURE__ */ React__default["default"].createElement("div", { className: "verification-row flex flex-col gap-[5px] font-poppins border-b
|
|
206
|
+
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(
|
|
207
207
|
"span",
|
|
208
208
|
{
|
|
209
209
|
className: "font-[700] text-[11px] uppercase flex items-center gap-[3px] select-none",
|
|
@@ -447,7 +447,7 @@ const MediaAttachmentsBox = ({
|
|
|
447
447
|
/* @__PURE__ */ React__default["default"].createElement(
|
|
448
448
|
"button",
|
|
449
449
|
{
|
|
450
|
-
className: "relative h-[80px] w-[80px] rounded-[15px] overflow-hidden
|
|
450
|
+
className: "relative h-[80px] w-[80px] rounded-[15px] overflow-hidden shrink-0",
|
|
451
451
|
onClick: (e) => {
|
|
452
452
|
e.stopPropagation();
|
|
453
453
|
handleMediaAttachmentClick(media.url, media.type);
|
|
@@ -557,7 +557,7 @@ const CertificateBackFace = ({
|
|
|
557
557
|
/* @__PURE__ */ React__default["default"].createElement(TruncateTextBox, { headerText: "About", text: description }, /* @__PURE__ */ React__default["default"].createElement(
|
|
558
558
|
"span",
|
|
559
559
|
{
|
|
560
|
-
className: `text-grayscale-600 font-poppins text-[12px] font-[600] w-full ${description ? "pt-[10px] border-t
|
|
560
|
+
className: `text-grayscale-600 font-poppins text-[12px] font-[600] w-full ${description ? "pt-[10px] border-t border-solid border-grayscale-200" : ""}`
|
|
561
561
|
},
|
|
562
562
|
"Awarded on ",
|
|
563
563
|
createdAt
|
|
@@ -599,7 +599,7 @@ const CertificateCornerIcon = ({
|
|
|
599
599
|
break;
|
|
600
600
|
case "bottom-left":
|
|
601
601
|
iconPositionClassName = "bottom-0 left-0";
|
|
602
|
-
cornerPositionClassName = "top-0 right-0 rotate-
|
|
602
|
+
cornerPositionClassName = "top-0 right-0 rotate-270";
|
|
603
603
|
break;
|
|
604
604
|
case "bottom-right":
|
|
605
605
|
iconPositionClassName = "bottom-0 right-0";
|
|
@@ -730,7 +730,7 @@ const CertificateProfileImageDisplay = ({
|
|
|
730
730
|
avatarFingerprintColor,
|
|
731
731
|
avatarFallbackVariant = "initial"
|
|
732
732
|
}) => {
|
|
733
|
-
const imageClassName = "h-[50px] w-[50px] rounded-full overflow-hidden border-
|
|
733
|
+
const imageClassName = "h-[50px] w-[50px] rounded-full overflow-hidden border-2 border-solid border-grayscale-200";
|
|
734
734
|
const fingerprintClassName = isIssuer ? "h-[38px] w-[38px]" : "h-[36px] w-[36px]";
|
|
735
735
|
const silhouetteClassName = "h-[38px] w-[38px]";
|
|
736
736
|
const profileImage = imageComponent ? /* @__PURE__ */ React__default["default"].createElement("div", { className: imageClassName }, imageComponent) : /* @__PURE__ */ React__default["default"].createElement(
|
|
@@ -848,12 +848,12 @@ const CertificateFrontFace = ({
|
|
|
848
848
|
/* @__PURE__ */ React__default["default"].createElement(
|
|
849
849
|
"div",
|
|
850
850
|
{
|
|
851
|
-
className: `flex flex-col gap-[15px] items-center px-[20px] pt-[55px] pb-[20px] border-solid border-
|
|
851
|
+
className: `flex flex-col gap-[15px] items-center px-[20px] pt-[55px] pb-[20px] border-solid border-4 ${borderColor} rounded-[30px]`
|
|
852
852
|
},
|
|
853
853
|
/* @__PURE__ */ React__default["default"].createElement("div", { className: "flex flex-col gap-[5px] items-center" }, /* @__PURE__ */ React__default["default"].createElement("h1", { className: "text-grayscale-900 text-center text-[20px] font-jacques" }, title), /* @__PURE__ */ React__default["default"].createElement(
|
|
854
854
|
"div",
|
|
855
855
|
{
|
|
856
|
-
className: `${textLightColor} uppercase text-[14px] font-notoSans font-
|
|
856
|
+
className: `${textLightColor} uppercase text-[14px] font-notoSans font-semibold`
|
|
857
857
|
},
|
|
858
858
|
formattedDisplayType
|
|
859
859
|
)),
|
|
@@ -902,7 +902,7 @@ const CertificateFrontFace = ({
|
|
|
902
902
|
avatarFingerprintColor: issuerDisplay.avatarFingerprintColor,
|
|
903
903
|
avatarFallbackVariant: issuerDisplay.isDidValue ? "fingerprint" : "initial"
|
|
904
904
|
}
|
|
905
|
-
), /* @__PURE__ */ React__default["default"].createElement("span", { className: "font-jacques text-[12px] text-grayscale-800" }, "Certified by"), issuerDisplay.isDidValue ? /* @__PURE__ */ React__default["default"].createElement("span", { className: "mb-[3px] pt-[3px] text-grayscale-900 text-[14px] leading-[90%] font-jacques tracking-[0.25px] border-b
|
|
905
|
+
), /* @__PURE__ */ React__default["default"].createElement("span", { className: "font-jacques text-[12px] text-grayscale-800" }, "Certified by"), issuerDisplay.isDidValue ? /* @__PURE__ */ React__default["default"].createElement("span", { className: "mb-[3px] pt-[3px] text-grayscale-900 text-[14px] leading-[90%] font-jacques tracking-[0.25px] border-b border-solid border-grayscale-200 w-full text-center line-clamp-2 wrap-break-word scrollbar-hide" }, /* @__PURE__ */ React__default["default"].createElement("span", { className: "font-semibold" }, issuerDisplay.isDidValue ? "Digital ID: " : ""), /* @__PURE__ */ React__default["default"].createElement("span", { className: "text-grayscale-600" }, issuerName)) : /* @__PURE__ */ React__default["default"].createElement("span", { className: "mb-[3px] pt-[3px] text-grayscale-900 text-[25px] leading-[90%] font-sacramento border-b border-solid border-grayscale-200 w-full text-center line-clamp-2 wrap-break-word scrollbar-hide" }, issuerName), /* @__PURE__ */ React__default["default"].createElement(
|
|
906
906
|
VerifierStateBadgeAndText.VerifierStateBadgeAndText,
|
|
907
907
|
{
|
|
908
908
|
verifierState,
|
|
@@ -911,7 +911,13 @@ const CertificateFrontFace = ({
|
|
|
911
911
|
}
|
|
912
912
|
)),
|
|
913
913
|
customBodyContentSlot && customBodyContentSlot,
|
|
914
|
-
/* @__PURE__ */ React__default["default"].createElement(
|
|
914
|
+
/* @__PURE__ */ React__default["default"].createElement(
|
|
915
|
+
"div",
|
|
916
|
+
{
|
|
917
|
+
className: `${textLightColor} uppercase text-[14px] font-notoSans font-semibold`
|
|
918
|
+
},
|
|
919
|
+
categoryTitle
|
|
920
|
+
)
|
|
915
921
|
),
|
|
916
922
|
categoryType && /* @__PURE__ */ React__default["default"].createElement(React__default["default"].Fragment, null, /* @__PURE__ */ React__default["default"].createElement(CertificateCornerIcon, { categoryType, position: "top-left" }), /* @__PURE__ */ React__default["default"].createElement(CertificateCornerIcon, { categoryType, position: "top-right" }), /* @__PURE__ */ React__default["default"].createElement(CertificateCornerIcon, { categoryType, position: "bottom-left" }), /* @__PURE__ */ React__default["default"].createElement(CertificateCornerIcon, { categoryType, position: "bottom-right" })),
|
|
917
923
|
/* @__PURE__ */ React__default["default"].createElement("span", { className: "hidden border-rose-500 text-spice-500 border-spice-500 border-cyan-500 text-cyan-500 border-indigo-500" }),
|
|
@@ -1035,4 +1041,4 @@ exports.CertDisplayCardSkillsCount = CertDisplayCardSkillsCount;
|
|
|
1035
1041
|
exports.CertificateBackFace = CertificateBackFace;
|
|
1036
1042
|
exports.CertificateDisplayCard = CertificateDisplayCard;
|
|
1037
1043
|
exports.CertificateFrontFace = CertificateFrontFace;
|
|
1038
|
-
//# sourceMappingURL=CertificateDisplayCard-
|
|
1044
|
+
//# sourceMappingURL=CertificateDisplayCard-1d4bca84.js.map
|