@learncard/react 2.10.8 → 2.12.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/dist/base.css +1 -1
- package/dist/base.js +1 -1
- package/dist/cjs/{BoostGenericCard-99a3ab28.js → BoostGenericCard-71899305.js} +66 -7
- package/dist/cjs/BoostGenericCard-71899305.js.map +1 -0
- package/dist/cjs/{CertificateDisplayCard-b673e66d.js → CertificateDisplayCard-f10b46b1.js} +5 -5
- package/dist/cjs/{CertificateDisplayCard-b673e66d.js.map → CertificateDisplayCard-f10b46b1.js.map} +1 -1
- package/dist/cjs/{Lightbox-d72e19ba.js → Lightbox-e2996736.js} +100 -2
- package/dist/cjs/Lightbox-e2996736.js.map +1 -0
- package/dist/cjs/{MeritBadgeDisplayCard-15b85a79.js → MeritBadgeDisplayCard-d50cfb5e.js} +5 -5
- package/dist/cjs/{MeritBadgeDisplayCard-15b85a79.js.map → MeritBadgeDisplayCard-d50cfb5e.js.map} +1 -1
- package/dist/cjs/{MeritBadgeSkillsCount-f62ad753.js → MeritBadgeSkillsCount-e46503f5.js} +2 -2
- package/dist/cjs/{MeritBadgeSkillsCount-f62ad753.js.map → MeritBadgeSkillsCount-e46503f5.js.map} +1 -1
- package/dist/cjs/{SchoolIDCard-10796199.js → SchoolIDCard-2d3cbb2c.js} +3 -1184
- package/dist/cjs/SchoolIDCard-2d3cbb2c.js.map +1 -0
- package/dist/cjs/{VCCard-4f02e2f4.js → VCCard-42479c97.js} +3 -3
- package/dist/cjs/{VCCard-4f02e2f4.js.map → VCCard-42479c97.js.map} +1 -1
- package/dist/cjs/{VCDisplayBackFace-aab4d52c.js → VCDisplayBackFace-d1cf9f73.js} +3 -3
- package/dist/cjs/{VCDisplayBackFace-aab4d52c.js.map → VCDisplayBackFace-d1cf9f73.js.map} +1 -1
- package/dist/cjs/{VCDisplayCard-95b7f7dc.js → VCDisplayCard-cf46c224.js} +3 -3
- package/dist/cjs/{VCDisplayCard-95b7f7dc.js.map → VCDisplayCard-cf46c224.js.map} +1 -1
- package/dist/cjs/{VCDisplayCard2-8517f419.js → VCDisplayCard2-4a201a8a.js} +95 -69
- package/dist/cjs/VCDisplayCard2-4a201a8a.js.map +1 -0
- package/dist/cjs/{VCVerificationPill-b5824def.js → VCVerificationPill-6c9dcf80.js} +2 -2
- package/dist/cjs/{VCVerificationPill-b5824def.js.map → VCVerificationPill-6c9dcf80.js.map} +1 -1
- package/dist/cjs/{VerifierStateBadgeAndText-c15064b2.js → VerifierStateBadgeAndText-934239ab.js} +134 -6
- package/dist/cjs/VerifierStateBadgeAndText-934239ab.js.map +1 -0
- package/dist/cjs/{credential.helpers-98fc74d8.js → credential.helpers-17a10601.js} +2 -2
- package/dist/cjs/{credential.helpers-98fc74d8.js.map → credential.helpers-17a10601.js.map} +1 -1
- package/dist/cjs/{i18n-cc7e34ec.js → i18n-8fd90b2f.js} +5 -2
- package/dist/cjs/i18n-8fd90b2f.js.map +1 -0
- package/dist/cjs/index-47efbf5b.js +1186 -0
- package/dist/cjs/index-47efbf5b.js.map +1 -0
- package/dist/cjs/index-5488badc.js.map +1 -1
- package/dist/cjs/index.js +28 -19
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/index14.js +18 -15
- package/dist/cjs/index14.js.map +1 -1
- package/dist/cjs/index20.js +2 -1
- package/dist/cjs/index20.js.map +1 -1
- package/dist/cjs/index22.js +7 -7
- package/dist/cjs/index31.js +2 -1
- package/dist/cjs/index31.js.map +1 -1
- package/dist/cjs/index39.js +13 -12
- package/dist/cjs/index39.js.map +1 -1
- package/dist/cjs/index4.js +4 -3
- package/dist/cjs/index4.js.map +1 -1
- package/dist/cjs/index40.js +4 -4
- package/dist/cjs/index41.js +5 -5
- package/dist/cjs/index42.js +10 -8
- package/dist/cjs/index42.js.map +1 -1
- package/dist/cjs/index43.js +1 -1
- package/dist/cjs/index46.js +2 -2
- package/dist/cjs/index7.js +5 -5
- package/dist/cjs/{types.esm-f1680b31.js → types.esm-73624b33.js} +105 -4
- package/dist/cjs/types.esm-73624b33.js.map +1 -0
- package/dist/esm/{AchievementCard-c600788a.js → AchievementCard-0f183e9d.js} +2 -2
- package/dist/esm/{AchievementCard-c600788a.js.map → AchievementCard-0f183e9d.js.map} +1 -1
- package/dist/esm/{BoostGenericCard-7dfcc887.js → BoostGenericCard-3b3ff784.js} +67 -9
- package/dist/esm/BoostGenericCard-3b3ff784.js.map +1 -0
- package/dist/esm/{BoostSmallCard-a73b6800.js → BoostSmallCard-3dedb5ae.js} +2 -2
- package/dist/esm/{BoostSmallCard-a73b6800.js.map → BoostSmallCard-3dedb5ae.js.map} +1 -1
- package/dist/esm/{CertificateDisplayCard-4e9254e0.js → CertificateDisplayCard-f26ef278.js} +5 -5
- package/dist/esm/{CertificateDisplayCard-4e9254e0.js.map → CertificateDisplayCard-f26ef278.js.map} +1 -1
- package/dist/esm/{GenericCard-a469f2f0.js → GenericCard-b40c0617.js} +2 -2
- package/dist/esm/{GenericCard-a469f2f0.js.map → GenericCard-b40c0617.js.map} +1 -1
- package/dist/esm/{JobListCard-e8b4ab33.js → JobListCard-dfb94830.js} +2 -2
- package/dist/esm/{JobListCard-e8b4ab33.js.map → JobListCard-dfb94830.js.map} +1 -1
- package/dist/esm/{LearnPill-e0720485.js → LearnPill-ce240a4a.js} +2 -2
- package/dist/esm/{LearnPill-e0720485.js.map → LearnPill-ce240a4a.js.map} +1 -1
- package/dist/esm/{Lightbox-f0338a0c.js → Lightbox-11f4888d.js} +95 -3
- package/dist/esm/Lightbox-11f4888d.js.map +1 -0
- package/dist/esm/{MeritBadgeDisplayCard-2029a552.js → MeritBadgeDisplayCard-0d0b28c7.js} +5 -5
- package/dist/esm/{MeritBadgeDisplayCard-2029a552.js.map → MeritBadgeDisplayCard-0d0b28c7.js.map} +1 -1
- package/dist/esm/{MeritBadgeSkillsCount-c5271d7f.js → MeritBadgeSkillsCount-09e211fc.js} +2 -2
- package/dist/esm/{MeritBadgeSkillsCount-c5271d7f.js.map → MeritBadgeSkillsCount-09e211fc.js.map} +1 -1
- package/dist/esm/{SchoolIDCard-f82e40bc.js → SchoolIDCard-fbd1cf6c.js} +2 -1183
- package/dist/esm/SchoolIDCard-fbd1cf6c.js.map +1 -0
- package/dist/esm/{VCCard-c0f6dff3.js → VCCard-7e5e00d7.js} +3 -3
- package/dist/esm/{VCCard-c0f6dff3.js.map → VCCard-7e5e00d7.js.map} +1 -1
- package/dist/esm/{VCDisplayBackFace-bb60a881.js → VCDisplayBackFace-ae74476d.js} +3 -3
- package/dist/esm/{VCDisplayBackFace-bb60a881.js.map → VCDisplayBackFace-ae74476d.js.map} +1 -1
- package/dist/esm/{VCDisplayCard-9905d9d3.js → VCDisplayCard-ac1f367a.js} +3 -3
- package/dist/esm/{VCDisplayCard-9905d9d3.js.map → VCDisplayCard-ac1f367a.js.map} +1 -1
- package/dist/esm/{VCDisplayCard2-fc5c4225.js → VCDisplayCard2-7011596e.js} +96 -71
- package/dist/esm/VCDisplayCard2-7011596e.js.map +1 -0
- package/dist/esm/{VCVerificationPill-83eb61f4.js → VCVerificationPill-04ffdf56.js} +2 -2
- package/dist/esm/{VCVerificationPill-83eb61f4.js.map → VCVerificationPill-04ffdf56.js.map} +1 -1
- package/dist/esm/{VerifierStateBadgeAndText-60b98d25.js → VerifierStateBadgeAndText-750a6c24.js} +134 -6
- package/dist/esm/VerifierStateBadgeAndText-750a6c24.js.map +1 -0
- package/dist/esm/{constants-f1ed610c.js → constants-010faf74.js} +2 -2
- package/dist/esm/{constants-f1ed610c.js.map → constants-010faf74.js.map} +1 -1
- package/dist/esm/{credential.helpers-00099c70.js → credential.helpers-4fbdd8e8.js} +2 -2
- package/dist/esm/{credential.helpers-00099c70.js.map → credential.helpers-4fbdd8e8.js.map} +1 -1
- package/dist/esm/{i18n-8454d6ea.js → i18n-08b606cb.js} +5 -2
- package/dist/esm/i18n-08b606cb.js.map +1 -0
- package/dist/esm/index-28917993.js.map +1 -1
- package/dist/esm/{index-cbe3a76a.js → index-7542e9ee.js} +2 -2
- package/dist/esm/{index-cbe3a76a.js.map → index-7542e9ee.js.map} +1 -1
- package/dist/esm/index-cbd2e9db.js +1184 -0
- package/dist/esm/index-cbd2e9db.js.map +1 -0
- package/dist/esm/index.js +25 -24
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/index13.js +2 -2
- package/dist/esm/index14.js +23 -22
- package/dist/esm/index14.js.map +1 -1
- package/dist/esm/index16.js +2 -2
- package/dist/esm/index19.js +2 -2
- package/dist/esm/index2.js +2 -2
- package/dist/esm/index20.js +1 -1
- package/dist/esm/index22.js +7 -7
- package/dist/esm/index30.js +2 -2
- package/dist/esm/index31.js +2 -1
- package/dist/esm/index31.js.map +1 -1
- package/dist/esm/index39.js +13 -12
- package/dist/esm/index39.js.map +1 -1
- package/dist/esm/index4.js +5 -4
- package/dist/esm/index4.js.map +1 -1
- package/dist/esm/index40.js +4 -4
- package/dist/esm/index41.js +5 -5
- package/dist/esm/index42.js +9 -8
- package/dist/esm/index42.js.map +1 -1
- package/dist/esm/index43.js +1 -1
- package/dist/esm/index46.js +2 -2
- package/dist/esm/index5.js +2 -2
- package/dist/esm/index7.js +5 -5
- package/dist/esm/{types.esm-d6b48609.js → types.esm-5f75bd4a.js} +105 -4
- package/dist/esm/types.esm-5f75bd4a.js.map +1 -0
- package/dist/index.d.ts +104 -10
- package/dist/main.css +1 -1
- package/dist/main.js +1 -1
- package/package.json +3 -3
- package/src/assets/styles/main.css +10 -0
- package/src/components/BoostGenericCard/BoostGenericCard.tsx +60 -19
- package/src/components/BoostGenericCard/__tests__/BoostGenericCard.thumb.test.tsx +59 -0
- package/src/components/Lightbox/ExternalVideoFallback.tsx +53 -0
- package/src/components/Lightbox/Lightbox.tsx +23 -9
- package/src/components/Lightbox/__tests__/Lightbox.video.test.tsx +139 -0
- package/src/components/Lightbox/index.ts +1 -0
- package/src/components/VCDisplayCard2/FitText.tsx +75 -46
- package/src/components/VCDisplayCard2/VCDisplayCard2.tsx +59 -19
- package/src/components/VCDisplayCard2/VerificationRow.tsx +1 -0
- package/src/components/VCDisplayCard2/__tests__/FitText.test.tsx +140 -0
- package/src/components/VCDisplayCard2/__tests__/VCDisplayCard2Variant.test.ts +31 -0
- package/src/helpers/externalUrl.helpers.ts +51 -0
- package/src/helpers/lifecycle.helpers.ts +38 -0
- package/src/helpers/video.helpers.ts +41 -0
- package/src/i18n/index.test.ts +10 -0
- package/src/i18n/index.tsx +3 -0
- package/src/index.ts +8 -0
- package/src/types/index.ts +1 -0
- package/dist/cjs/BoostGenericCard-99a3ab28.js.map +0 -1
- package/dist/cjs/Lightbox-d72e19ba.js.map +0 -1
- package/dist/cjs/SchoolIDCard-10796199.js.map +0 -1
- package/dist/cjs/VCDisplayCard2-8517f419.js.map +0 -1
- package/dist/cjs/VerifierStateBadgeAndText-c15064b2.js.map +0 -1
- package/dist/cjs/i18n-cc7e34ec.js.map +0 -1
- package/dist/cjs/types.esm-f1680b31.js.map +0 -1
- package/dist/esm/BoostGenericCard-7dfcc887.js.map +0 -1
- package/dist/esm/Lightbox-f0338a0c.js.map +0 -1
- package/dist/esm/SchoolIDCard-f82e40bc.js.map +0 -1
- package/dist/esm/VCDisplayCard2-fc5c4225.js.map +0 -1
- package/dist/esm/VerifierStateBadgeAndText-60b98d25.js.map +0 -1
- package/dist/esm/i18n-8454d6ea.js.map +0 -1
- package/dist/esm/types.esm-d6b48609.js.map +0 -1
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
var React = require('react');
|
|
4
4
|
var init = require('@learncard/init');
|
|
5
|
-
var VCDisplayCard = require('./VCDisplayCard-
|
|
6
|
-
var VCDisplayCard2 = require('./VCDisplayCard2-
|
|
5
|
+
var VCDisplayCard = require('./VCDisplayCard-cf46c224.js');
|
|
6
|
+
var VCDisplayCard2 = require('./VCDisplayCard2-4a201a8a.js');
|
|
7
7
|
|
|
8
8
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
9
9
|
|
|
@@ -83,4 +83,4 @@ const VCCard = ({
|
|
|
83
83
|
};
|
|
84
84
|
|
|
85
85
|
exports.VCCard = VCCard;
|
|
86
|
-
//# sourceMappingURL=VCCard-
|
|
86
|
+
//# sourceMappingURL=VCCard-42479c97.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VCCard-
|
|
1
|
+
{"version":3,"file":"VCCard-42479c97.js","sources":["../../src/components/VCCard/VCCard.tsx"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport { initLearnCard } from '@learncard/init';\nimport { VC, Profile, VerificationItem } from '@learncard/types';\n\nimport { VCDisplayCard } from '../VCDisplayCard';\nimport {\n VCDisplayCard2,\n CredentialIconType,\n} from '../VCDisplayCard2';\n\nimport { MediaMetadata, VideoMetadata } from '../../types';\n\nexport type VCCardProps = {\n credential: VC;\n issueeOverride?: Profile;\n className?: string;\n version?: '1' | '2';\n\n /* Only used for version 2 */\n subjectImageComponent?: React.ReactNode;\n // convertTagsToSkills?: (tags: string[]) => { [skill: string]: string[] };\n handleXClick?: () => void;\n getFileMetadata?: (url: string) => MediaMetadata;\n getVideoMetadata?: (url: string) => VideoMetadata;\n onMediaAttachmentClick?: (url: string) => void;\n bottomRightIcon?: CredentialIconType;\n};\n\nexport const VCCard: React.FC<VCCardProps> = ({\n credential,\n issueeOverride,\n className = '',\n version = '1',\n subjectImageComponent,\n // convertTagsToSkills,\n handleXClick,\n getFileMetadata,\n getVideoMetadata,\n onMediaAttachmentClick,\n bottomRightIcon,\n}) => {\n const [loading, setLoading] = useState(true);\n const [vcVerification, setVCVerification] = useState<VerificationItem[]>([]);\n\n useEffect(() => {\n const verify = async () => {\n const wallet = await initLearnCard();\n const verification = await wallet.invoke.verifyCredential(credential, {}, true);\n setVCVerification(verification);\n setLoading(false);\n };\n\n verify();\n }, [credential]);\n\n if (version === '1') {\n return (\n <VCDisplayCard\n credential={credential}\n issueeOverride={issueeOverride}\n className={className}\n loading={loading}\n verification={vcVerification}\n />\n );\n }\n return (\n <VCDisplayCard2\n credential={credential}\n issueeOverride={issueeOverride}\n verificationInProgress={loading}\n verificationItems={vcVerification}\n subjectImageComponent={subjectImageComponent}\n // convertTagsToSkills={convertTagsToSkills}\n handleXClick={handleXClick}\n getFileMetadata={getFileMetadata}\n getVideoMetadata={getVideoMetadata}\n onMediaAttachmentClick={onMediaAttachmentClick}\n bottomRightIcon={bottomRightIcon}\n />\n );\n};\n\nexport default VCCard;\n"],"names":["useState","useEffect","initLearnCard","React","VCDisplayCard","VCDisplayCard2"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4BO,MAAM,SAAgC,CAAC;AAAA,EAC1C,UAAA;AAAA,EACA,cAAA;AAAA,EACA,SAAY,GAAA,EAAA;AAAA,EACZ,OAAU,GAAA,GAAA;AAAA,EACV,qBAAA;AAAA;AAAA,EAEA,YAAA;AAAA,EACA,eAAA;AAAA,EACA,gBAAA;AAAA,EACA,sBAAA;AAAA,EACA,eAAA;AACJ,CAAM,KAAA;AACF,EAAA,MAAM,CAAC,OAAA,EAAS,UAAU,CAAA,GAAIA,eAAS,IAAI,CAAA,CAAA;AAC3C,EAAA,MAAM,CAAC,cAAgB,EAAA,iBAAiB,CAAI,GAAAA,cAAA,CAA6B,EAAE,CAAA,CAAA;AAE3E,EAAAC,eAAA,CAAU,MAAM;AACZ,IAAA,MAAM,SAAS,MAAY,OAAA,CAAA,IAAA,EAAA,IAAA,EAAA,aAAA;AACvB,MAAM,MAAA,MAAA,GAAS,MAAMC,kBAAc,EAAA,CAAA;AACnC,MAAM,MAAA,YAAA,GAAe,MAAM,MAAO,CAAA,MAAA,CAAO,iBAAiB,UAAY,EAAA,IAAI,IAAI,CAAA,CAAA;AAC9E,MAAA,iBAAA,CAAkB,YAAY,CAAA,CAAA;AAC9B,MAAA,UAAA,CAAW,KAAK,CAAA,CAAA;AAAA,KACpB,CAAA,CAAA;AAEA,IAAO,MAAA,EAAA,CAAA;AAAA,GACX,EAAG,CAAC,UAAU,CAAC,CAAA,CAAA;AAEf,EAAA,IAAI,YAAY,GAAK,EAAA;AACjB,IACI,uBAAAC,yBAAA,CAAA,aAAA;AAAA,MAACC,2BAAA;AAAA,MAAA;AAAA,QACG,UAAA;AAAA,QACA,cAAA;AAAA,QACA,SAAA;AAAA,QACA,OAAA;AAAA,QACA,YAAc,EAAA,cAAA;AAAA,OAAA;AAAA,KAClB,CAAA;AAAA,GAER;AACA,EACI,uBAAAD,yBAAA,CAAA,aAAA;AAAA,IAACE,6BAAA;AAAA,IAAA;AAAA,MACG,UAAA;AAAA,MACA,cAAA;AAAA,MACA,sBAAwB,EAAA,OAAA;AAAA,MACxB,iBAAmB,EAAA,cAAA;AAAA,MACnB,qBAAA;AAAA,MAEA,YAAA;AAAA,MACA,eAAA;AAAA,MACA,gBAAA;AAAA,MACA,sBAAA;AAAA,MACA,eAAA;AAAA,KAAA;AAAA,GACJ,CAAA;AAER;;;;"}
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
var React = require('react');
|
|
4
4
|
var VCVerificationCheck = require('./VCVerificationCheck-92198135.js');
|
|
5
|
-
var VCVerificationPill = require('./VCVerificationPill-
|
|
5
|
+
var VCVerificationPill = require('./VCVerificationPill-6c9dcf80.js');
|
|
6
6
|
var FlipArrowRight = require('./ArrowArcRight.svg');
|
|
7
|
-
var credential_helpers = require('./credential.helpers-
|
|
7
|
+
var credential_helpers = require('./credential.helpers-17a10601.js');
|
|
8
8
|
|
|
9
9
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
10
10
|
|
|
@@ -67,4 +67,4 @@ const VCDisplayBackFace = ({
|
|
|
67
67
|
};
|
|
68
68
|
|
|
69
69
|
exports.VCDisplayBackFace = VCDisplayBackFace;
|
|
70
|
-
//# sourceMappingURL=VCDisplayBackFace-
|
|
70
|
+
//# sourceMappingURL=VCDisplayBackFace-d1cf9f73.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VCDisplayBackFace-
|
|
1
|
+
{"version":3,"file":"VCDisplayBackFace-d1cf9f73.js","sources":["../../src/components/VCDisplayBackFace/VCDisplayBackFace.tsx"],"sourcesContent":["import React from 'react';\nimport { VCDisplayCardProps } from '../../types';\nimport { VCVerificationCheckWithText } from '../VCVerificationCheck/VCVerificationCheck';\nimport VCVerificationPill from '../VCVerificationPill/VCVerificationPill';\nimport FlipArrowRight from '../../assets/images/ArrowArcRight.svg';\nimport { getNameFromProfile } from '../../helpers/credential.helpers';\n\nexport const VCDisplayBackFace: React.FC<VCDisplayCardProps> = ({\n issuer,\n credentialSubject,\n className = '',\n loading,\n verification = [],\n handleClick,\n overrideDetailsComponent,\n}) => {\n const descriptionText = credentialSubject?.achievement?.description;\n const criteriaText = credentialSubject?.achievement?.criteria?.narrative;\n const issuerUrl = typeof issuer === 'object' ? issuer.url : '';\n const issuerName = getNameFromProfile(issuer ?? '');\n const defaultDetails = (\n <>\n <div className=\"width-full\">\n <h6 className=\"line-clamp-1 text-grayscale-900 font-bold uppercase text-xs tracking-wider subpixel-antialiased\">\n Description\n </h6>\n <p className=\"line-clamp-3 subpixel-antialiased text-grayscale-600 text-[14px] lc-line-clamp\">\n {descriptionText}\n </p>\n </div>\n\n <div className=\"width-full mt-[10px]\">\n <h6 className=\"line-clamp-1 text-grayscale-900 font-bold uppercase text-xs tracking-wider subpixel-antialiased\">\n Criteria\n </h6>\n <p className=\"line-clamp-3 subpixel-antialiased text-grayscale-600 text-[14px] lc-line-clamp\">\n {criteriaText}\n </p>\n </div>\n\n <div className=\"width-full mt-[10px] line-clamp-1 overflow-hidden vc-issuer-name-info\">\n <h6 className=\"line-clamp-1 text-grayscale-900 font-bold uppercase text-xs tracking-wider subpixel-antialiased\">\n Issuer\n </h6>\n <p className=\"max-w-[344px] line-clamp-1 subpixel-antialiased text-grayscale-600 text-[14px] block overflow-ellipsis break-all\">\n {issuerName}\n </p>\n </div>\n\n {issuerUrl && (\n <p className=\"text-indigo-500 font-bold text-xs width-full text-center mt-8\">\n {issuerUrl}\n </p>\n )}\n </>\n );\n\n const renderDetails = overrideDetailsComponent ? overrideDetailsComponent : defaultDetails;\n\n return (\n <div\n className={`z-[9] vc-display-main-card-back flex overflow-hidden flex-col items-center justify-between relative max-w-[400px] h-[100%] max-h-[1100px] min-h-[600px] p-7 rounded-3xl shadow-3xl bg-emerald-700 vc-display-card-full-container ${className}`}\n >\n <section className=\"flex max-h-[150px] items-end bg-white rounded-bl-[50%] rounded-br-[50%] absolute top-0 w-[110%] h-[55%] min-h-[400px]\"></section>\n <section className=\"flex flex-col items-center justify-center w-full z-10 text-left credential-details-container max-w-[100%] relative\">\n <section className=\"flex flex-row items-start justify-start w-full line-clamp-2\">\n <h3\n className=\"text-2xl line-clamp-2 tracking-wide leading-snug text-left text-emerald-700\"\n data-testid=\"vc-credential-details-title tracking-wide subpixel-antialiased\"\n >\n Credential Details\n </h3>\n </section>\n\n <section className=\"flex flex-col mt-2 w-full my-2 min-h-[200px] credential-details-info\">\n {renderDetails}\n </section>\n\n <div className=\"w-full mt-2\"></div>\n\n <button\n onClick={handleClick}\n className=\"vc-flip-btn bg-white my-3 border-2 text-indigo-500 font-semibold py-2 px-4 shadow-3xl rounded-full\"\n >\n <span className=\"flex justify-center\">\n <img\n className=\"h-8 w-8 my-0 mx-4 scale-x-[-1]\"\n src={FlipArrowRight ?? ''}\n alt=\"Flip Card\"\n />\n </span>\n </button>\n\n <section className=\"flex-col items-center justify-center checklist-container justify-center w-[100%] width-full mt-[20px]\">\n <VCVerificationCheckWithText loading={loading} />\n <section>\n {verification.map(item => (\n <VCVerificationPill\n key={item.check}\n status={item.status}\n message={item.message}\n details={item.details}\n />\n ))}\n </section>\n </section>\n </section>\n </div>\n );\n};\n\nexport default VCDisplayBackFace;\n"],"names":["getNameFromProfile","React","FlipArrowRight","VCVerificationCheckWithText","VCVerificationPill"],"mappings":"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"}
|
|
@@ -5,8 +5,8 @@ var FlippyCard = require('./FlippyCard-bf0fd493.js');
|
|
|
5
5
|
var FatArrow = require('./icon.green.fat-arrow.png');
|
|
6
6
|
var UserProfilePicture = require('./UserProfilePicture-80675455.js');
|
|
7
7
|
var VCVerificationCheck = require('./VCVerificationCheck-92198135.js');
|
|
8
|
-
var credential_helpers = require('./credential.helpers-
|
|
9
|
-
var VCDisplayBackFace = require('./VCDisplayBackFace-
|
|
8
|
+
var credential_helpers = require('./credential.helpers-17a10601.js');
|
|
9
|
+
var VCDisplayBackFace = require('./VCDisplayBackFace-d1cf9f73.js');
|
|
10
10
|
|
|
11
11
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
12
12
|
|
|
@@ -188,4 +188,4 @@ const VCDisplayCard = ({
|
|
|
188
188
|
};
|
|
189
189
|
|
|
190
190
|
exports.VCDisplayCard = VCDisplayCard;
|
|
191
|
-
//# sourceMappingURL=VCDisplayCard-
|
|
191
|
+
//# sourceMappingURL=VCDisplayCard-cf46c224.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VCDisplayCard-95b7f7dc.js","sources":["../../src/components/VCDisplayFrontFace/VCDisplayFrontFace.tsx","../../src/components/VCDisplayCard/VCDisplayCard.tsx"],"sourcesContent":["import React from 'react';\nimport FatArrow from '../../assets/images/icon.green.fat-arrow.png';\nimport UserProfilePicture from '../UserProfilePicture/UserProfilePicture';\nimport { VCVerificationCheckWithText } from '../VCVerificationCheck/VCVerificationCheck';\nimport { getImageFromProfile, getNameFromProfile } from '../../helpers/credential.helpers';\n\nimport { VCDisplayCardProps } from '../../types';\n\nconst VCDisplayFrontFace: React.FC<VCDisplayCardProps> = ({\n title,\n createdAt,\n issuer,\n issuee,\n subjectImageComponent,\n issuerImageComponent,\n hideProfileBubbles = false,\n credentialSubject,\n className = '',\n loading,\n handleClick,\n overrideCardImageComponent,\n overrideCardTitle,\n customHeaderComponent,\n}) => {\n const credentialAchievementImage =\n credentialSubject?.achievement?.image?.id || credentialSubject?.achievement?.image;\n const issuerName = getNameFromProfile(issuer ?? '');\n const issueeName = getNameFromProfile(issuee ?? '');\n const issuerImage = getImageFromProfile(issuer ?? '');\n const issueeImage = getImageFromProfile(issuee ?? '');\n\n let issueeImageEl: React.ReactNode | null = null;\n if (subjectImageComponent) {\n issueeImageEl = subjectImageComponent;\n } else {\n issueeImageEl = (\n <UserProfilePicture\n customContainerClass={`object-cover h-full w-full text-4xl ${\n !issueeImage ? 'pt-[8px]' : ''\n }`}\n user={{ image: issueeImage, name: issueeName }}\n alt=\"Issuee image\"\n />\n );\n }\n\n let issuerImageEl: React.ReactNode | null = null;\n\n if (issuerImageComponent) {\n issuerImageEl = issuerImageComponent;\n } else {\n issuerImageEl = (\n <UserProfilePicture\n customContainerClass={`object-cover h-full w-full text-4xl ${\n !issuerImage ? 'pt-[8px]' : ''\n }`}\n user={{ image: issuerImage, name: issuerName }}\n alt=\"Issuer image\"\n />\n );\n }\n\n const credImg = credentialAchievementImage ? (\n <img\n className=\"h-full w-full object-cover\"\n src={credentialAchievementImage ?? ''}\n alt=\"Credential Achievement Image\"\n />\n ) : (\n <></>\n );\n\n const renderCardImg = overrideCardImageComponent ? overrideCardImageComponent : credImg;\n const cardTitle = overrideCardTitle ? overrideCardTitle : title;\n\n return (\n <div\n className={`z-[9] vc-display-main-card-front flex overflow-hidden flex-col items-center justify-between relative max-w-[400px] h-[100%] min-h-[600px] p-7 rounded-3xl shadow-3xl bg-emerald-700 vc-display-card-full-container ${className}`}\n >\n <section className=\"bg-white rounded-bl-[50%] rounded-br-[50%] absolute top-0 w-[110%] h-[77%]\"></section>\n <section className=\"flex flex-col items-center justify-center z-10 text-center credential-thumb-img\">\n <section className=\"max-w-[100px] max-h-[100px]\">{renderCardImg}</section>\n\n <section className=\"flex flex-row w-full line-clamp-2\">\n <div className=\"flex flex-row w-full line-clamp-2 py-4 vc-flippy-card-title-front \">\n <h3\n className=\"vc-thumbnail-title w-full text-2xl line-clamp-2 tracking-wide leading-snug text-center vc-display-title text-gray-900 font-medium\"\n data-testid=\"vc-thumbnail-title\"\n >\n {cardTitle ?? ''}\n </h3>\n </div>\n\n {customHeaderComponent && customHeaderComponent}\n </section>\n\n <section className=\"flex flex-row items-center justify-center mt-2 w-full my-2 vc-card-issuer-thumbs\">\n {!hideProfileBubbles && (\n <>\n <div className=\"flex items-center justify-center h-16 w-16 shadow-3xl rounded-full overflow-hidden bg-white\">\n {issuerImageEl}\n </div>\n <img\n className=\"h-8 w-8 my-0 mx-4\"\n src={FatArrow ?? ''}\n alt=\"fat arrow icon\"\n />\n <div className=\"flex items-center justify-center h-16 w-16 shadow-3xl rounded-full overflow-hidden bg-white\">\n {issueeImageEl}\n </div>\n </>\n )}\n </section>\n\n <div className=\"w-full mt-2 vc-card-issued-to-info\">\n <p\n className=\"text-sm font-light text-center line-clamp-2 vc-display-issue-details text-gray-900\"\n data-testid=\"vc-thumbnail-createdAt\"\n >\n Issued to <span className=\"font-bold text-gray-900\">{issueeName}</span> on{' '}\n {createdAt ?? ''} by{' '}\n <span className=\"font-bold text-gray-900\"> {issuerName}</span>\n </p>\n </div>\n\n <button\n onClick={handleClick}\n className=\"cursor-alias bg-white my-3 border-0 text-indigo-500 font-semibold py-2 px-4 sl\"\n >\n <span className=\"flex justify-center\">\n <p className=\"flex items-center\">View Details</p>\n </span>\n </button>\n </section>\n\n <div className=\"flex items-center justify-center w-full\">\n <VCVerificationCheckWithText loading={loading} />\n </div>\n </div>\n );\n};\n\nexport default VCDisplayFrontFace;\n","import React, { useState } from 'react';\nimport { AchievementCredential, VC, Profile, VerificationItem } from '@learncard/types';\n\nimport FlippyCard from '../FlippyCard/FlippyCard';\nimport VCDisplayFrontFace from '../VCDisplayFrontFace/VCDisplayFrontFace';\nimport VCDisplayBackFace from '../VCDisplayBackFace/VCDisplayBackFace';\n\nimport { getInfoFromCredential } from '../../helpers/credential.helpers';\n\nconst FRONT_FACE = 'front';\nconst BACK_FACE = 'back';\n\nexport type VCDisplayCardPropsReal = {\n credential: VC | AchievementCredential;\n issueeOverride?: Profile;\n issuerOverride?: Profile;\n className?: string;\n hideProfileBubbles?: boolean;\n loading?: boolean;\n verification?: VerificationItem[];\n subjectImageComponent?: React.ReactNode;\n issuerImageComponent?: React.ReactNode;\n overrideDetailsComponent?: React.ReactNode;\n overrideCardTitle?: string;\n overrideCardImageComponent?: React.ReactNode;\n customHeaderComponent?: React.ReactNode;\n};\n\nexport const VCDisplayCard: React.FC<VCDisplayCardPropsReal> = ({\n credential,\n issueeOverride,\n issuerOverride,\n className = '',\n loading = false,\n verification = [],\n hideProfileBubbles = false,\n subjectImageComponent,\n issuerImageComponent,\n overrideDetailsComponent,\n overrideCardTitle,\n overrideCardImageComponent,\n customHeaderComponent,\n}) => {\n const [flipState, setFlipState] = useState(FRONT_FACE);\n const {\n title,\n createdAt,\n issuer: _issuer,\n issuee: _issuee,\n credentialSubject,\n } = getInfoFromCredential(credential);\n const issuee = issueeOverride || _issuee;\n const issuer = issuerOverride || _issuer;\n\n const handleFlip = () => {\n if (flipState === FRONT_FACE) {\n setFlipState(BACK_FACE);\n }\n if (flipState === BACK_FACE) {\n setFlipState(FRONT_FACE);\n }\n };\n\n return (\n <FlippyCard flipState={flipState}>\n <VCDisplayFrontFace\n title={title}\n credentialSubject={credentialSubject}\n customHeaderComponent={customHeaderComponent}\n issuer={issuer}\n issuee={issuee}\n subjectImageComponent={subjectImageComponent}\n issuerImageComponent={issuerImageComponent}\n overrideCardImageComponent={overrideCardImageComponent}\n overrideCardTitle={overrideCardTitle}\n hideProfileBubbles={hideProfileBubbles}\n createdAt={createdAt}\n className={className}\n loading={loading}\n handleClick={handleFlip}\n />\n <VCDisplayBackFace\n title={title}\n credentialSubject={credentialSubject}\n overrideDetailsComponent={overrideDetailsComponent}\n issuer={issuer}\n issuee={issuee}\n createdAt={createdAt}\n className={className}\n loading={loading}\n verification={verification}\n handleClick={handleFlip}\n />\n </FlippyCard>\n );\n};\n\nexport default VCDisplayCard;\n"],"names":["getNameFromProfile","getImageFromProfile","React","UserProfilePicture","FatArrow","VCVerificationCheckWithText","useState","getInfoFromCredential","FlippyCard","VCDisplayBackFace"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"VCDisplayCard-cf46c224.js","sources":["../../src/components/VCDisplayFrontFace/VCDisplayFrontFace.tsx","../../src/components/VCDisplayCard/VCDisplayCard.tsx"],"sourcesContent":["import React from 'react';\nimport FatArrow from '../../assets/images/icon.green.fat-arrow.png';\nimport UserProfilePicture from '../UserProfilePicture/UserProfilePicture';\nimport { VCVerificationCheckWithText } from '../VCVerificationCheck/VCVerificationCheck';\nimport { getImageFromProfile, getNameFromProfile } from '../../helpers/credential.helpers';\n\nimport { VCDisplayCardProps } from '../../types';\n\nconst VCDisplayFrontFace: React.FC<VCDisplayCardProps> = ({\n title,\n createdAt,\n issuer,\n issuee,\n subjectImageComponent,\n issuerImageComponent,\n hideProfileBubbles = false,\n credentialSubject,\n className = '',\n loading,\n handleClick,\n overrideCardImageComponent,\n overrideCardTitle,\n customHeaderComponent,\n}) => {\n const credentialAchievementImage =\n credentialSubject?.achievement?.image?.id || credentialSubject?.achievement?.image;\n const issuerName = getNameFromProfile(issuer ?? '');\n const issueeName = getNameFromProfile(issuee ?? '');\n const issuerImage = getImageFromProfile(issuer ?? '');\n const issueeImage = getImageFromProfile(issuee ?? '');\n\n let issueeImageEl: React.ReactNode | null = null;\n if (subjectImageComponent) {\n issueeImageEl = subjectImageComponent;\n } else {\n issueeImageEl = (\n <UserProfilePicture\n customContainerClass={`object-cover h-full w-full text-4xl ${\n !issueeImage ? 'pt-[8px]' : ''\n }`}\n user={{ image: issueeImage, name: issueeName }}\n alt=\"Issuee image\"\n />\n );\n }\n\n let issuerImageEl: React.ReactNode | null = null;\n\n if (issuerImageComponent) {\n issuerImageEl = issuerImageComponent;\n } else {\n issuerImageEl = (\n <UserProfilePicture\n customContainerClass={`object-cover h-full w-full text-4xl ${\n !issuerImage ? 'pt-[8px]' : ''\n }`}\n user={{ image: issuerImage, name: issuerName }}\n alt=\"Issuer image\"\n />\n );\n }\n\n const credImg = credentialAchievementImage ? (\n <img\n className=\"h-full w-full object-cover\"\n src={credentialAchievementImage ?? ''}\n alt=\"Credential Achievement Image\"\n />\n ) : (\n <></>\n );\n\n const renderCardImg = overrideCardImageComponent ? overrideCardImageComponent : credImg;\n const cardTitle = overrideCardTitle ? overrideCardTitle : title;\n\n return (\n <div\n className={`z-[9] vc-display-main-card-front flex overflow-hidden flex-col items-center justify-between relative max-w-[400px] h-[100%] min-h-[600px] p-7 rounded-3xl shadow-3xl bg-emerald-700 vc-display-card-full-container ${className}`}\n >\n <section className=\"bg-white rounded-bl-[50%] rounded-br-[50%] absolute top-0 w-[110%] h-[77%]\"></section>\n <section className=\"flex flex-col items-center justify-center z-10 text-center credential-thumb-img\">\n <section className=\"max-w-[100px] max-h-[100px]\">{renderCardImg}</section>\n\n <section className=\"flex flex-row w-full line-clamp-2\">\n <div className=\"flex flex-row w-full line-clamp-2 py-4 vc-flippy-card-title-front \">\n <h3\n className=\"vc-thumbnail-title w-full text-2xl line-clamp-2 tracking-wide leading-snug text-center vc-display-title text-gray-900 font-medium\"\n data-testid=\"vc-thumbnail-title\"\n >\n {cardTitle ?? ''}\n </h3>\n </div>\n\n {customHeaderComponent && customHeaderComponent}\n </section>\n\n <section className=\"flex flex-row items-center justify-center mt-2 w-full my-2 vc-card-issuer-thumbs\">\n {!hideProfileBubbles && (\n <>\n <div className=\"flex items-center justify-center h-16 w-16 shadow-3xl rounded-full overflow-hidden bg-white\">\n {issuerImageEl}\n </div>\n <img\n className=\"h-8 w-8 my-0 mx-4\"\n src={FatArrow ?? ''}\n alt=\"fat arrow icon\"\n />\n <div className=\"flex items-center justify-center h-16 w-16 shadow-3xl rounded-full overflow-hidden bg-white\">\n {issueeImageEl}\n </div>\n </>\n )}\n </section>\n\n <div className=\"w-full mt-2 vc-card-issued-to-info\">\n <p\n className=\"text-sm font-light text-center line-clamp-2 vc-display-issue-details text-gray-900\"\n data-testid=\"vc-thumbnail-createdAt\"\n >\n Issued to <span className=\"font-bold text-gray-900\">{issueeName}</span> on{' '}\n {createdAt ?? ''} by{' '}\n <span className=\"font-bold text-gray-900\"> {issuerName}</span>\n </p>\n </div>\n\n <button\n onClick={handleClick}\n className=\"cursor-alias bg-white my-3 border-0 text-indigo-500 font-semibold py-2 px-4 sl\"\n >\n <span className=\"flex justify-center\">\n <p className=\"flex items-center\">View Details</p>\n </span>\n </button>\n </section>\n\n <div className=\"flex items-center justify-center w-full\">\n <VCVerificationCheckWithText loading={loading} />\n </div>\n </div>\n );\n};\n\nexport default VCDisplayFrontFace;\n","import React, { useState } from 'react';\nimport { AchievementCredential, VC, Profile, VerificationItem } from '@learncard/types';\n\nimport FlippyCard from '../FlippyCard/FlippyCard';\nimport VCDisplayFrontFace from '../VCDisplayFrontFace/VCDisplayFrontFace';\nimport VCDisplayBackFace from '../VCDisplayBackFace/VCDisplayBackFace';\n\nimport { getInfoFromCredential } from '../../helpers/credential.helpers';\n\nconst FRONT_FACE = 'front';\nconst BACK_FACE = 'back';\n\nexport type VCDisplayCardPropsReal = {\n credential: VC | AchievementCredential;\n issueeOverride?: Profile;\n issuerOverride?: Profile;\n className?: string;\n hideProfileBubbles?: boolean;\n loading?: boolean;\n verification?: VerificationItem[];\n subjectImageComponent?: React.ReactNode;\n issuerImageComponent?: React.ReactNode;\n overrideDetailsComponent?: React.ReactNode;\n overrideCardTitle?: string;\n overrideCardImageComponent?: React.ReactNode;\n customHeaderComponent?: React.ReactNode;\n};\n\nexport const VCDisplayCard: React.FC<VCDisplayCardPropsReal> = ({\n credential,\n issueeOverride,\n issuerOverride,\n className = '',\n loading = false,\n verification = [],\n hideProfileBubbles = false,\n subjectImageComponent,\n issuerImageComponent,\n overrideDetailsComponent,\n overrideCardTitle,\n overrideCardImageComponent,\n customHeaderComponent,\n}) => {\n const [flipState, setFlipState] = useState(FRONT_FACE);\n const {\n title,\n createdAt,\n issuer: _issuer,\n issuee: _issuee,\n credentialSubject,\n } = getInfoFromCredential(credential);\n const issuee = issueeOverride || _issuee;\n const issuer = issuerOverride || _issuer;\n\n const handleFlip = () => {\n if (flipState === FRONT_FACE) {\n setFlipState(BACK_FACE);\n }\n if (flipState === BACK_FACE) {\n setFlipState(FRONT_FACE);\n }\n };\n\n return (\n <FlippyCard flipState={flipState}>\n <VCDisplayFrontFace\n title={title}\n credentialSubject={credentialSubject}\n customHeaderComponent={customHeaderComponent}\n issuer={issuer}\n issuee={issuee}\n subjectImageComponent={subjectImageComponent}\n issuerImageComponent={issuerImageComponent}\n overrideCardImageComponent={overrideCardImageComponent}\n overrideCardTitle={overrideCardTitle}\n hideProfileBubbles={hideProfileBubbles}\n createdAt={createdAt}\n className={className}\n loading={loading}\n handleClick={handleFlip}\n />\n <VCDisplayBackFace\n title={title}\n credentialSubject={credentialSubject}\n overrideDetailsComponent={overrideDetailsComponent}\n issuer={issuer}\n issuee={issuee}\n createdAt={createdAt}\n className={className}\n loading={loading}\n verification={verification}\n handleClick={handleFlip}\n />\n </FlippyCard>\n );\n};\n\nexport default VCDisplayCard;\n"],"names":["getNameFromProfile","getImageFromProfile","React","UserProfilePicture","FatArrow","VCVerificationCheckWithText","useState","getInfoFromCredential","FlippyCard","VCDisplayBackFace"],"mappings":";;;;;;;;;;;;;;;AAQA,MAAM,qBAAmD,CAAC;AAAA,EACtD,KAAA;AAAA,EACA,SAAA;AAAA,EACA,MAAA;AAAA,EACA,MAAA;AAAA,EACA,qBAAA;AAAA,EACA,oBAAA;AAAA,EACA,kBAAqB,GAAA,KAAA;AAAA,EACrB,iBAAA;AAAA,EACA,SAAY,GAAA,EAAA;AAAA,EACZ,OAAA;AAAA,EACA,WAAA;AAAA,EACA,0BAAA;AAAA,EACA,iBAAA;AAAA,EACA,qBAAA;AACJ,CAAM,KAAA;AAvBN,EAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,CAAA;AAwBI,EAAM,MAAA,0BAAA,GAAA,CAAA,CACF,kEAAmB,WAAnB,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAgC,UAAhC,IAAuC,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,EAAA,MAAA,CAAM,EAAmB,GAAA,iBAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,iBAAA,CAAA,WAAA,KAAnB,IAAgC,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,KAAA,CAAA,CAAA;AACjF,EAAM,MAAA,UAAA,GAAaA,qCAAmB,CAAA,MAAA,IAAA,IAAA,GAAA,MAAA,GAAU,EAAE,CAAA,CAAA;AAClD,EAAM,MAAA,UAAA,GAAaA,qCAAmB,CAAA,MAAA,IAAA,IAAA,GAAA,MAAA,GAAU,EAAE,CAAA,CAAA;AAClD,EAAM,MAAA,WAAA,GAAcC,sCAAoB,CAAA,MAAA,IAAA,IAAA,GAAA,MAAA,GAAU,EAAE,CAAA,CAAA;AACpD,EAAM,MAAA,WAAA,GAAcA,sCAAoB,CAAA,MAAA,IAAA,IAAA,GAAA,MAAA,GAAU,EAAE,CAAA,CAAA;AAEpD,EAAA,IAAI,aAAwC,GAAA,IAAA,CAAA;AAC5C,EAAA,IAAI,qBAAuB,EAAA;AACvB,IAAgB,aAAA,GAAA,qBAAA,CAAA;AAAA,GACb,MAAA;AACH,IACI,aAAA,mBAAAC,yBAAA,CAAA,aAAA;AAAA,MAACC,qCAAA;AAAA,MAAA;AAAA,QACG,oBAAsB,EAAA,CAAA,oCAAA,EAClB,CAAC,WAAA,GAAc,aAAa,EAChC,CAAA,CAAA;AAAA,QACA,IAAM,EAAA,EAAE,KAAO,EAAA,WAAA,EAAa,MAAM,UAAW,EAAA;AAAA,QAC7C,GAAI,EAAA,cAAA;AAAA,OAAA;AAAA,KACR,CAAA;AAAA,GAER;AAEA,EAAA,IAAI,aAAwC,GAAA,IAAA,CAAA;AAE5C,EAAA,IAAI,oBAAsB,EAAA;AACtB,IAAgB,aAAA,GAAA,oBAAA,CAAA;AAAA,GACb,MAAA;AACH,IACI,aAAA,mBAAAD,yBAAA,CAAA,aAAA;AAAA,MAACC,qCAAA;AAAA,MAAA;AAAA,QACG,oBAAsB,EAAA,CAAA,oCAAA,EAClB,CAAC,WAAA,GAAc,aAAa,EAChC,CAAA,CAAA;AAAA,QACA,IAAM,EAAA,EAAE,KAAO,EAAA,WAAA,EAAa,MAAM,UAAW,EAAA;AAAA,QAC7C,GAAI,EAAA,cAAA;AAAA,OAAA;AAAA,KACR,CAAA;AAAA,GAER;AAEA,EAAA,MAAM,UAAU,0BACZ,mBAAAD,yBAAA,CAAA,aAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACG,SAAU,EAAA,4BAAA;AAAA,MACV,KAAK,0BAA8B,IAAA,IAAA,GAAA,0BAAA,GAAA,EAAA;AAAA,MACnC,GAAI,EAAA,8BAAA;AAAA,KAAA;AAAA,sBAGNA,yBAAA,CAAA,aAAA,CAAAA,yBAAA,CAAA,QAAA,EAAA,IAAA,CAAA,CAAA;AAGN,EAAM,MAAA,aAAA,GAAgB,6BAA6B,0BAA6B,GAAA,OAAA,CAAA;AAChF,EAAM,MAAA,SAAA,GAAY,oBAAoB,iBAAoB,GAAA,KAAA,CAAA;AAE1D,EACI,uBAAAA,yBAAA,CAAA,aAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACG,SAAA,EAAW,sNAAsN,SAAS,CAAA,CAAA;AAAA,KAAA;AAAA,oBAE1OA,yBAAA,CAAA,aAAA,CAAC,SAAQ,EAAA,EAAA,SAAA,EAAU,4EAA6E,EAAA,CAAA;AAAA,4DAC/F,SAAQ,EAAA,EAAA,SAAA,EAAU,iFACf,EAAA,kBAAAA,yBAAA,CAAA,aAAA,CAAC,aAAQ,SAAU,EAAA,6BAAA,EAAA,EAA+B,aAAc,CAAA,0DAE/D,SAAQ,EAAA,EAAA,SAAA,EAAU,wDACdA,yBAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAI,WAAU,oEACX,EAAA,kBAAAA,yBAAA,CAAA,aAAA;AAAA,MAAC,IAAA;AAAA,MAAA;AAAA,QACG,SAAU,EAAA,mIAAA;AAAA,QACV,aAAY,EAAA,oBAAA;AAAA,OAAA;AAAA,MAEX,SAAa,IAAA,IAAA,GAAA,SAAA,GAAA,EAAA;AAAA,KAEtB,CAEC,EAAA,qBAAA,IAAyB,qBAC9B,CAAA,0DAEC,SAAQ,EAAA,EAAA,SAAA,EAAU,kFACd,EAAA,EAAA,CAAC,sCAEMA,yBAAA,CAAA,aAAA,CAAAA,yBAAA,CAAA,QAAA,EAAA,IAAA,kBAAAA,yBAAA,CAAA,aAAA,CAAC,SAAI,SAAU,EAAA,6FAAA,EAAA,EACV,aACL,CACA,kBAAAA,yBAAA,CAAA,aAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACG,SAAU,EAAA,mBAAA;AAAA,QACV,MAAK,EAAY,GAAAE,4BAAA,KAAA,IAAA,GAAA,EAAA,GAAA,EAAA;AAAA,QACjB,GAAI,EAAA,gBAAA;AAAA,OAAA;AAAA,KAER,kBAAAF,yBAAA,CAAA,aAAA,CAAC,KAAI,EAAA,EAAA,SAAA,EAAU,6FACV,EAAA,EAAA,aACL,CACJ,CAER,CAEA,kBAAAA,yBAAA,CAAA,aAAA,CAAC,KAAI,EAAA,EAAA,SAAA,EAAU,oCACX,EAAA,kBAAAA,yBAAA,CAAA,aAAA;AAAA,MAAC,GAAA;AAAA,MAAA;AAAA,QACG,SAAU,EAAA,oFAAA;AAAA,QACV,aAAY,EAAA,wBAAA;AAAA,OAAA;AAAA,MACf,YAAA;AAAA,sBACcA,yBAAA,CAAA,aAAA,CAAA,MAAA,EAAA,EAAK,SAAU,EAAA,yBAAA,EAAA,EAA2B,UAAW,CAAA;AAAA,MAAO,KAAA;AAAA,MAAI,GAAA;AAAA,MAC1E,SAAa,IAAA,IAAA,GAAA,SAAA,GAAA,EAAA;AAAA,MAAG,KAAA;AAAA,MAAI,GAAA;AAAA,sBACpBA,yBAAA,CAAA,aAAA,CAAA,MAAA,EAAA,EAAK,SAAU,EAAA,yBAAA,EAAA,EAA0B,KAAE,UAAW,CAAA;AAAA,KAE/D,CAEA,kBAAAA,yBAAA,CAAA,aAAA;AAAA,MAAC,QAAA;AAAA,MAAA;AAAA,QACG,OAAS,EAAA,WAAA;AAAA,QACT,SAAU,EAAA,gFAAA;AAAA,OAAA;AAAA,sBAEVA,yBAAA,CAAA,aAAA,CAAC,UAAK,SAAU,EAAA,qBAAA,EAAA,0DACX,GAAE,EAAA,EAAA,SAAA,EAAU,mBAAoB,EAAA,EAAA,cAAY,CACjD,CAAA;AAAA,KAER,CAAA;AAAA,4DAEC,KAAI,EAAA,EAAA,SAAA,EAAU,6DACVA,yBAAA,CAAA,aAAA,CAAAG,+CAAA,EAAA,EAA4B,SAAkB,CACnD,CAAA;AAAA,GACJ,CAAA;AAER,CAAA;;ACnIA,MAAM,UAAa,GAAA,OAAA,CAAA;AACnB,MAAM,SAAY,GAAA,MAAA,CAAA;AAkBX,MAAM,gBAAkD,CAAC;AAAA,EAC5D,UAAA;AAAA,EACA,cAAA;AAAA,EACA,cAAA;AAAA,EACA,SAAY,GAAA,EAAA;AAAA,EACZ,OAAU,GAAA,KAAA;AAAA,EACV,eAAe,EAAC;AAAA,EAChB,kBAAqB,GAAA,KAAA;AAAA,EACrB,qBAAA;AAAA,EACA,oBAAA;AAAA,EACA,wBAAA;AAAA,EACA,iBAAA;AAAA,EACA,0BAAA;AAAA,EACA,qBAAA;AACJ,CAAM,KAAA;AACF,EAAA,MAAM,CAAC,SAAA,EAAW,YAAY,CAAA,GAAIC,eAAS,UAAU,CAAA,CAAA;AACrD,EAAM,MAAA;AAAA,IACF,KAAA;AAAA,IACA,SAAA;AAAA,IACA,MAAQ,EAAA,OAAA;AAAA,IACR,MAAQ,EAAA,OAAA;AAAA,IACR,iBAAA;AAAA,GACJ,GAAIC,yCAAsB,UAAU,CAAA,CAAA;AACpC,EAAA,MAAM,SAAS,cAAkB,IAAA,OAAA,CAAA;AACjC,EAAA,MAAM,SAAS,cAAkB,IAAA,OAAA,CAAA;AAEjC,EAAA,MAAM,aAAa,MAAM;AACrB,IAAA,IAAI,cAAc,UAAY,EAAA;AAC1B,MAAA,YAAA,CAAa,SAAS,CAAA,CAAA;AAAA,KAC1B;AACA,IAAA,IAAI,cAAc,SAAW,EAAA;AACzB,MAAA,YAAA,CAAa,UAAU,CAAA,CAAA;AAAA,KAC3B;AAAA,GACJ,CAAA;AAEA,EACI,uBAAAL,yBAAA,CAAA,aAAA,CAACM,yBAAW,SACR,EAAA,kBAAAN,yBAAA,CAAA,aAAA;AAAA,IAAC,kBAAA;AAAA,IAAA;AAAA,MACG,KAAA;AAAA,MACA,iBAAA;AAAA,MACA,qBAAA;AAAA,MACA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,qBAAA;AAAA,MACA,oBAAA;AAAA,MACA,0BAAA;AAAA,MACA,iBAAA;AAAA,MACA,kBAAA;AAAA,MACA,SAAA;AAAA,MACA,SAAA;AAAA,MACA,OAAA;AAAA,MACA,WAAa,EAAA,UAAA;AAAA,KAAA;AAAA,GAEjB,kBAAAA,yBAAA,CAAA,aAAA;AAAA,IAACO,mCAAA;AAAA,IAAA;AAAA,MACG,KAAA;AAAA,MACA,iBAAA;AAAA,MACA,wBAAA;AAAA,MACA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,MACA,SAAA;AAAA,MACA,OAAA;AAAA,MACA,YAAA;AAAA,MACA,WAAa,EAAA,UAAA;AAAA,KAAA;AAAA,GAErB,CAAA,CAAA;AAER;;;;"}
|
|
@@ -1,20 +1,21 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var React = require('react');
|
|
4
|
+
require('./index-47efbf5b.js');
|
|
4
5
|
var VCVerificationCheck = require('./VCVerificationCheck-92198135.js');
|
|
5
6
|
var UserProfilePicture = require('./UserProfilePicture-80675455.js');
|
|
6
|
-
var credential_helpers = require('./credential.helpers-
|
|
7
|
-
var VerifierStateBadgeAndText = require('./VerifierStateBadgeAndText-
|
|
7
|
+
var credential_helpers = require('./credential.helpers-17a10601.js');
|
|
8
|
+
var VerifierStateBadgeAndText = require('./VerifierStateBadgeAndText-934239ab.js');
|
|
8
9
|
require('./index-da255c9a.js');
|
|
9
|
-
var Lightbox = require('./Lightbox-
|
|
10
|
-
var types_esm = require('./types.esm-
|
|
11
|
-
var i18n = require('./i18n-
|
|
12
|
-
var CertificateDisplayCard = require('./CertificateDisplayCard-
|
|
10
|
+
var Lightbox = require('./Lightbox-e2996736.js');
|
|
11
|
+
var types_esm = require('./types.esm-73624b33.js');
|
|
12
|
+
var i18n = require('./i18n-8fd90b2f.js');
|
|
13
|
+
var CertificateDisplayCard = require('./CertificateDisplayCard-f10b46b1.js');
|
|
13
14
|
var QRCodeIcon = require('./QRCodeIcon-3021a53b.js');
|
|
14
15
|
var index = require('./index-5488badc.js');
|
|
15
16
|
var PuzzlePiece = require('./PuzzlePiece-e64f4596.js');
|
|
16
17
|
var IDSleeve = require('./id-sleeve.png');
|
|
17
|
-
var MeritBadgeDisplayCard = require('./MeritBadgeDisplayCard-
|
|
18
|
+
var MeritBadgeDisplayCard = require('./MeritBadgeDisplayCard-d50cfb5e.js');
|
|
18
19
|
|
|
19
20
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
20
21
|
|
|
@@ -55,6 +56,7 @@ const RoundedX = ({ className = "" }) => {
|
|
|
55
56
|
);
|
|
56
57
|
};
|
|
57
58
|
|
|
59
|
+
const FIT_GUTTER_PX = 12;
|
|
58
60
|
const FitText = ({
|
|
59
61
|
text,
|
|
60
62
|
width,
|
|
@@ -62,56 +64,61 @@ const FitText = ({
|
|
|
62
64
|
minFontSize = 10,
|
|
63
65
|
maxFontSize = 100
|
|
64
66
|
}) => {
|
|
67
|
+
const containerRef = React.useRef(null);
|
|
65
68
|
const textRef = React.useRef(null);
|
|
66
|
-
|
|
67
|
-
const adjustFontSize = () => {
|
|
69
|
+
React.useLayoutEffect(() => {
|
|
68
70
|
var _a;
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
71
|
+
const container = containerRef.current;
|
|
72
|
+
const textElement = textRef.current;
|
|
73
|
+
if (!container || !textElement) return;
|
|
74
|
+
const fitText = () => {
|
|
75
|
+
textElement.style.fontSize = `${maxFontSize}px`;
|
|
76
|
+
textElement.style.whiteSpace = "nowrap";
|
|
77
|
+
const availableWidth = Math.max(container.clientWidth - FIT_GUTTER_PX, 0);
|
|
78
|
+
const requiredWidth = textElement.scrollWidth;
|
|
79
|
+
if (!availableWidth || !requiredWidth) return;
|
|
80
|
+
let fittedFontSize = Math.min(
|
|
81
|
+
maxFontSize,
|
|
82
|
+
Math.max(minFontSize, Math.floor(availableWidth / requiredWidth * maxFontSize))
|
|
72
83
|
);
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
if (animationFrameId !== null) {
|
|
78
|
-
cancelAnimationFrame(animationFrameId);
|
|
79
|
-
}
|
|
80
|
-
animationFrameId = requestAnimationFrame(adjustFontSize);
|
|
81
|
-
return;
|
|
84
|
+
textElement.style.fontSize = `${fittedFontSize}px`;
|
|
85
|
+
while (textElement.scrollWidth > availableWidth && fittedFontSize > minFontSize) {
|
|
86
|
+
fittedFontSize -= 1;
|
|
87
|
+
textElement.style.fontSize = `${fittedFontSize}px`;
|
|
82
88
|
}
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
89
|
+
textElement.style.whiteSpace = fittedFontSize === minFontSize && textElement.scrollWidth > availableWidth ? "normal" : "nowrap";
|
|
90
|
+
};
|
|
91
|
+
fitText();
|
|
92
|
+
let resizeObserver;
|
|
93
|
+
if (typeof ResizeObserver !== "undefined") {
|
|
94
|
+
let lastObservedWidth;
|
|
95
|
+
resizeObserver = new ResizeObserver(([entry]) => {
|
|
96
|
+
const observedWidth = entry == null ? void 0 : entry.contentRect.width;
|
|
97
|
+
if (observedWidth === void 0 || observedWidth === lastObservedWidth) return;
|
|
98
|
+
lastObservedWidth = observedWidth;
|
|
99
|
+
fitText();
|
|
100
|
+
});
|
|
101
|
+
resizeObserver.observe(container);
|
|
94
102
|
}
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
103
|
+
let isMounted = true;
|
|
104
|
+
(_a = document.fonts) == null ? void 0 : _a.ready.then(() => {
|
|
105
|
+
if (isMounted) fitText();
|
|
106
|
+
}).catch(() => {
|
|
107
|
+
});
|
|
100
108
|
return () => {
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
cancelAnimationFrame(animationFrameId);
|
|
104
|
-
}
|
|
109
|
+
isMounted = false;
|
|
110
|
+
resizeObserver == null ? void 0 : resizeObserver.disconnect();
|
|
105
111
|
};
|
|
106
|
-
}, [text]);
|
|
107
|
-
return /* @__PURE__ */ React__default["default"].createElement(
|
|
108
|
-
"
|
|
112
|
+
}, [maxFontSize, minFontSize, text, width]);
|
|
113
|
+
return /* @__PURE__ */ React__default["default"].createElement(
|
|
114
|
+
"div",
|
|
109
115
|
{
|
|
110
|
-
|
|
111
|
-
|
|
116
|
+
ref: containerRef,
|
|
117
|
+
style: { width, maxWidth: "100%" },
|
|
118
|
+
className: `text-center ${className}`
|
|
112
119
|
},
|
|
113
|
-
text
|
|
114
|
-
)
|
|
120
|
+
/* @__PURE__ */ React__default["default"].createElement("span", { className: "inline-block max-w-full whitespace-nowrap", ref: textRef }, text)
|
|
121
|
+
);
|
|
115
122
|
};
|
|
116
123
|
|
|
117
124
|
const InfoBox = ({ text, handleClose, backgroundColor = "#6366F1" }) => {
|
|
@@ -690,6 +697,7 @@ const MESSAGE_KEYS = {
|
|
|
690
697
|
Invalid: "invalid",
|
|
691
698
|
"Not Revoked": "notRevoked",
|
|
692
699
|
Revoked: "revoked",
|
|
700
|
+
Suspended: "suspended",
|
|
693
701
|
"Does Not Expire": "doesNotExpire",
|
|
694
702
|
Expired: "expired",
|
|
695
703
|
Active: "active",
|
|
@@ -1187,6 +1195,16 @@ const VCIDDisplayCard = ({
|
|
|
1187
1195
|
};
|
|
1188
1196
|
|
|
1189
1197
|
const Flipped = v;
|
|
1198
|
+
const getVCDisplayCardVariant = (credential, categoryType, formattedDisplayType) => {
|
|
1199
|
+
var _a, _b, _c;
|
|
1200
|
+
const resolvedDisplayType = (_c = (_b = (_a = credential == null ? void 0 : credential.display) == null ? void 0 : _a.displayType) != null ? _b : formattedDisplayType) == null ? void 0 : _c.toLocaleLowerCase();
|
|
1201
|
+
if (categoryType === index.LCCategoryEnum.meritBadge || resolvedDisplayType === "award") {
|
|
1202
|
+
return "award";
|
|
1203
|
+
}
|
|
1204
|
+
if (resolvedDisplayType === "certificate") return "certificate";
|
|
1205
|
+
if (resolvedDisplayType === "id" || categoryType === index.LCCategoryEnum.id) return "id";
|
|
1206
|
+
return "ribbon";
|
|
1207
|
+
};
|
|
1190
1208
|
const VCDisplayCard2 = ({
|
|
1191
1209
|
categoryType,
|
|
1192
1210
|
credential,
|
|
@@ -1235,7 +1253,7 @@ const VCDisplayCard2 = ({
|
|
|
1235
1253
|
hideFrontFaceDetails,
|
|
1236
1254
|
onVerifierClick
|
|
1237
1255
|
}) => {
|
|
1238
|
-
var _a, _b, _c, _d, _e
|
|
1256
|
+
var _a, _b, _c, _d, _e;
|
|
1239
1257
|
const {
|
|
1240
1258
|
title = "",
|
|
1241
1259
|
createdAt,
|
|
@@ -1248,16 +1266,19 @@ const VCDisplayCard2 = ({
|
|
|
1248
1266
|
const [_isFront, _setIsFront] = React.useState(isFrontOverride != null ? isFrontOverride : true);
|
|
1249
1267
|
const isFront = isFrontOverride != null ? isFrontOverride : _isFront;
|
|
1250
1268
|
const setIsFront = setIsFrontOverride != null ? setIsFrontOverride : _setIsFront;
|
|
1251
|
-
const [headerHeight, setHeaderHeight] = React.useState(
|
|
1252
|
-
const [headerWidth, setHeaderWidth] = React.useState(0);
|
|
1269
|
+
const [headerHeight, setHeaderHeight] = React.useState(79);
|
|
1253
1270
|
const headerRef = React.useRef(null);
|
|
1254
1271
|
React.useLayoutEffect(() => {
|
|
1255
|
-
|
|
1256
|
-
|
|
1257
|
-
|
|
1258
|
-
|
|
1259
|
-
|
|
1260
|
-
|
|
1272
|
+
const header = headerRef.current;
|
|
1273
|
+
if (!header) return;
|
|
1274
|
+
const updateHeaderHeight = () => setHeaderHeight(header.clientHeight || 79);
|
|
1275
|
+
updateHeaderHeight();
|
|
1276
|
+
if (typeof ResizeObserver === "undefined") return;
|
|
1277
|
+
const resizeObserver = new ResizeObserver(updateHeaderHeight);
|
|
1278
|
+
resizeObserver.observe(header);
|
|
1279
|
+
return () => resizeObserver.disconnect();
|
|
1280
|
+
}, []);
|
|
1281
|
+
const ribbonEndHeight = Math.max(headerHeight - 4, 75).toString();
|
|
1261
1282
|
let worstVerificationStatus = verificationItems.reduce(
|
|
1262
1283
|
(currentWorst, verification) => {
|
|
1263
1284
|
switch (currentWorst) {
|
|
@@ -1280,8 +1301,12 @@ const VCDisplayCard2 = ({
|
|
|
1280
1301
|
backgroundAttachment: "fixed"
|
|
1281
1302
|
};
|
|
1282
1303
|
const _title = titleOverride || title;
|
|
1283
|
-
const
|
|
1284
|
-
|
|
1304
|
+
const displayCardVariant = getVCDisplayCardVariant(
|
|
1305
|
+
credential,
|
|
1306
|
+
categoryType,
|
|
1307
|
+
formattedDisplayType
|
|
1308
|
+
);
|
|
1309
|
+
if (displayCardVariant === "award") {
|
|
1285
1310
|
return /* @__PURE__ */ React__default["default"].createElement(
|
|
1286
1311
|
MeritBadgeDisplayCard.MeritBadgeDisplayCard,
|
|
1287
1312
|
{
|
|
@@ -1315,7 +1340,7 @@ const VCDisplayCard2 = ({
|
|
|
1315
1340
|
}
|
|
1316
1341
|
);
|
|
1317
1342
|
}
|
|
1318
|
-
if (
|
|
1343
|
+
if (displayCardVariant === "certificate") {
|
|
1319
1344
|
return /* @__PURE__ */ React__default["default"].createElement(
|
|
1320
1345
|
CertificateDisplayCard.CertificateDisplayCard,
|
|
1321
1346
|
{
|
|
@@ -1348,7 +1373,7 @@ const VCDisplayCard2 = ({
|
|
|
1348
1373
|
onVerifierClick
|
|
1349
1374
|
}
|
|
1350
1375
|
);
|
|
1351
|
-
} else if (
|
|
1376
|
+
} else if (displayCardVariant === "id") {
|
|
1352
1377
|
return /* @__PURE__ */ React__default["default"].createElement("div", null, /* @__PURE__ */ React__default["default"].createElement(
|
|
1353
1378
|
VCIDDisplayCard,
|
|
1354
1379
|
{
|
|
@@ -1382,7 +1407,7 @@ const VCDisplayCard2 = ({
|
|
|
1382
1407
|
}
|
|
1383
1408
|
const headerClassName = "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";
|
|
1384
1409
|
const headerFitTextClassName = "vc-card-header-main-title text-[#18224E] pt-[3px] leading-[80%] text-[32px]";
|
|
1385
|
-
return /* @__PURE__ */ React__default["default"].createElement(h, { className: "w-full", flipKey: isFront }, /* @__PURE__ */ React__default["default"].createElement(Flipped, { flipId: "card" }, /* @__PURE__ */ React__default["default"].createElement(
|
|
1410
|
+
return /* @__PURE__ */ React__default["default"].createElement(h, { className: "vc-display-card-ribbon-safe-area w-full", flipKey: isFront }, /* @__PURE__ */ React__default["default"].createElement(Flipped, { flipId: "card" }, /* @__PURE__ */ React__default["default"].createElement(
|
|
1386
1411
|
"section",
|
|
1387
1412
|
{
|
|
1388
1413
|
className: "vc-display-card font-poppins flex flex-col items-center border-solid border-[5px] border-white rounded-[30px] z-10 min-h-[800px] max-w-[400px] relative bg-white shadow-3xl",
|
|
@@ -1394,7 +1419,7 @@ const VCDisplayCard2 = ({
|
|
|
1394
1419
|
{
|
|
1395
1420
|
side: "left",
|
|
1396
1421
|
className: "absolute left-[-30px] top-[50px] z-0",
|
|
1397
|
-
height:
|
|
1422
|
+
height: ribbonEndHeight
|
|
1398
1423
|
}
|
|
1399
1424
|
)),
|
|
1400
1425
|
/* @__PURE__ */ React__default["default"].createElement(Flipped, { inverseFlipId: "card" }, /* @__PURE__ */ React__default["default"].createElement(
|
|
@@ -1402,7 +1427,7 @@ const VCDisplayCard2 = ({
|
|
|
1402
1427
|
{
|
|
1403
1428
|
side: "right",
|
|
1404
1429
|
className: "absolute right-[-30px] top-[50px] z-0",
|
|
1405
|
-
height:
|
|
1430
|
+
height: ribbonEndHeight
|
|
1406
1431
|
}
|
|
1407
1432
|
)),
|
|
1408
1433
|
/* @__PURE__ */ React__default["default"].createElement(Flipped, { inverseFlipId: "card" }, /* @__PURE__ */ React__default["default"].createElement(
|
|
@@ -1420,7 +1445,7 @@ const VCDisplayCard2 = ({
|
|
|
1420
1445
|
text: _title != null ? _title : "",
|
|
1421
1446
|
maxFontSize: 32,
|
|
1422
1447
|
minFontSize: 20,
|
|
1423
|
-
width:
|
|
1448
|
+
width: "100%",
|
|
1424
1449
|
className: headerFitTextClassName
|
|
1425
1450
|
}
|
|
1426
1451
|
)
|
|
@@ -1453,7 +1478,7 @@ const VCDisplayCard2 = ({
|
|
|
1453
1478
|
text: _title != null ? _title : "",
|
|
1454
1479
|
maxFontSize: 32,
|
|
1455
1480
|
minFontSize: 20,
|
|
1456
|
-
width:
|
|
1481
|
+
width: "100%",
|
|
1457
1482
|
className: headerFitTextClassName
|
|
1458
1483
|
}
|
|
1459
1484
|
)
|
|
@@ -1536,10 +1561,10 @@ const VCDisplayCard2 = ({
|
|
|
1536
1561
|
{
|
|
1537
1562
|
className: "vc-footer-icon rounded-[20px] h-[40px] w-[40px] flex items-center justify-center overflow-hidden",
|
|
1538
1563
|
style: {
|
|
1539
|
-
backgroundColor: (
|
|
1564
|
+
backgroundColor: (_d = bottomRightIcon == null ? void 0 : bottomRightIcon.color) != null ? _d : "#6366F1"
|
|
1540
1565
|
}
|
|
1541
1566
|
},
|
|
1542
|
-
(
|
|
1567
|
+
(_e = bottomRightIcon == null ? void 0 : bottomRightIcon.image) != null ? _e : /* @__PURE__ */ React__default["default"].createElement(QRCodeIcon.AwardRibbon, null)
|
|
1543
1568
|
))))
|
|
1544
1569
|
)));
|
|
1545
1570
|
};
|
|
@@ -1547,4 +1572,5 @@ const VCDisplayCard2 = ({
|
|
|
1547
1572
|
exports.VCDisplayCard2 = VCDisplayCard2;
|
|
1548
1573
|
exports.VCDisplayCardSkillsCount = VCDisplayCardSkillsCount;
|
|
1549
1574
|
exports.VCIDDisplayCard = VCIDDisplayCard;
|
|
1550
|
-
|
|
1575
|
+
exports.getVCDisplayCardVariant = getVCDisplayCardVariant;
|
|
1576
|
+
//# sourceMappingURL=VCDisplayCard2-4a201a8a.js.map
|