@learncard/react 2.12.0 → 2.12.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/{BoostGenericCard-71899305.js → BoostGenericCard-06bedec7.js} +3 -3
- package/dist/cjs/{BoostGenericCard-71899305.js.map → BoostGenericCard-06bedec7.js.map} +1 -1
- package/dist/cjs/{CertificateDisplayCard-f10b46b1.js → CertificateDisplayCard-9c1d58da.js} +20 -14
- package/dist/cjs/CertificateDisplayCard-9c1d58da.js.map +1 -0
- package/dist/cjs/{MeritBadgeDisplayCard-d50cfb5e.js → MeritBadgeDisplayCard-201bf5ad.js} +4 -4
- package/dist/cjs/{MeritBadgeDisplayCard-d50cfb5e.js.map → MeritBadgeDisplayCard-201bf5ad.js.map} +1 -1
- package/dist/cjs/{MeritBadgeSkillsCount-e46503f5.js → MeritBadgeSkillsCount-ef283e0d.js} +2 -2
- package/dist/cjs/{MeritBadgeSkillsCount-e46503f5.js.map → MeritBadgeSkillsCount-ef283e0d.js.map} +1 -1
- package/dist/cjs/{SchoolIDCard-2d3cbb2c.js → SchoolIDCard-10796199.js} +1184 -3
- package/dist/cjs/SchoolIDCard-10796199.js.map +1 -0
- package/dist/cjs/{VCCard-42479c97.js → VCCard-d72176f3.js} +3 -3
- package/dist/cjs/{VCCard-42479c97.js.map → VCCard-d72176f3.js.map} +1 -1
- package/dist/cjs/{VCDisplayBackFace-d1cf9f73.js → VCDisplayBackFace-27460538.js} +3 -3
- package/dist/cjs/{VCDisplayBackFace-d1cf9f73.js.map → VCDisplayBackFace-27460538.js.map} +1 -1
- package/dist/cjs/{VCDisplayCard-cf46c224.js → VCDisplayCard-b05125ab.js} +3 -3
- package/dist/cjs/{VCDisplayCard-cf46c224.js.map → VCDisplayCard-b05125ab.js.map} +1 -1
- package/dist/cjs/{VCDisplayCard2-4a201a8a.js → VCDisplayCard2-78d4cc3f.js} +26 -18
- package/dist/cjs/VCDisplayCard2-78d4cc3f.js.map +1 -0
- package/dist/cjs/{VCVerificationPill-6c9dcf80.js → VCVerificationPill-3c130965.js} +2 -2
- package/dist/cjs/{VCVerificationPill-6c9dcf80.js.map → VCVerificationPill-3c130965.js.map} +1 -1
- package/dist/cjs/{VerifierStateBadgeAndText-934239ab.js → VerifierStateBadgeAndText-57a7b85f.js} +41 -4
- package/dist/cjs/VerifierStateBadgeAndText-57a7b85f.js.map +1 -0
- package/dist/cjs/{credential.helpers-17a10601.js → credential.helpers-3d0256cf.js} +2 -2
- package/dist/cjs/{credential.helpers-17a10601.js.map → credential.helpers-3d0256cf.js.map} +1 -1
- package/dist/cjs/{i18n-8fd90b2f.js → i18n-ddbb18e7.js} +12 -1
- package/dist/cjs/{i18n-8fd90b2f.js.map → i18n-ddbb18e7.js.map} +1 -1
- package/dist/cjs/index.js +14 -15
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/index14.js +14 -15
- package/dist/cjs/index14.js.map +1 -1
- package/dist/cjs/index22.js +6 -6
- package/dist/cjs/index31.js +1 -2
- package/dist/cjs/index31.js.map +1 -1
- package/dist/cjs/index39.js +11 -12
- package/dist/cjs/index39.js.map +1 -1
- package/dist/cjs/index4.js +4 -4
- package/dist/cjs/index40.js +4 -4
- package/dist/cjs/index41.js +5 -5
- package/dist/cjs/index42.js +7 -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 -4
- package/dist/cjs/index7.js.map +1 -1
- package/dist/cjs/{types.esm-73624b33.js → types.esm-228757cd.js} +30 -2
- package/dist/cjs/types.esm-228757cd.js.map +1 -0
- package/dist/esm/{BoostGenericCard-3b3ff784.js → BoostGenericCard-d4ea46de.js} +3 -3
- package/dist/esm/{BoostGenericCard-3b3ff784.js.map → BoostGenericCard-d4ea46de.js.map} +1 -1
- package/dist/esm/{CertificateDisplayCard-f26ef278.js → CertificateDisplayCard-487a3b4e.js} +20 -14
- package/dist/esm/CertificateDisplayCard-487a3b4e.js.map +1 -0
- package/dist/esm/{MeritBadgeDisplayCard-0d0b28c7.js → MeritBadgeDisplayCard-13622cd4.js} +4 -4
- package/dist/esm/{MeritBadgeDisplayCard-0d0b28c7.js.map → MeritBadgeDisplayCard-13622cd4.js.map} +1 -1
- package/dist/esm/{MeritBadgeSkillsCount-09e211fc.js → MeritBadgeSkillsCount-11bd0ae3.js} +2 -2
- package/dist/esm/{MeritBadgeSkillsCount-09e211fc.js.map → MeritBadgeSkillsCount-11bd0ae3.js.map} +1 -1
- package/dist/esm/{SchoolIDCard-fbd1cf6c.js → SchoolIDCard-f82e40bc.js} +1183 -2
- package/dist/esm/SchoolIDCard-f82e40bc.js.map +1 -0
- package/dist/esm/{VCCard-7e5e00d7.js → VCCard-7fa8f15b.js} +3 -3
- package/dist/esm/{VCCard-7e5e00d7.js.map → VCCard-7fa8f15b.js.map} +1 -1
- package/dist/esm/{VCDisplayBackFace-ae74476d.js → VCDisplayBackFace-314c1107.js} +3 -3
- package/dist/esm/{VCDisplayBackFace-ae74476d.js.map → VCDisplayBackFace-314c1107.js.map} +1 -1
- package/dist/esm/{VCDisplayCard-ac1f367a.js → VCDisplayCard-652910f5.js} +3 -3
- package/dist/esm/{VCDisplayCard-ac1f367a.js.map → VCDisplayCard-652910f5.js.map} +1 -1
- package/dist/esm/{VCDisplayCard2-7011596e.js → VCDisplayCard2-a8b9a519.js} +26 -18
- package/dist/esm/VCDisplayCard2-a8b9a519.js.map +1 -0
- package/dist/esm/{VCVerificationPill-04ffdf56.js → VCVerificationPill-be1140c5.js} +2 -2
- package/dist/esm/{VCVerificationPill-04ffdf56.js.map → VCVerificationPill-be1140c5.js.map} +1 -1
- package/dist/esm/{VerifierStateBadgeAndText-750a6c24.js → VerifierStateBadgeAndText-97117c5d.js} +41 -4
- package/dist/{cjs/VerifierStateBadgeAndText-934239ab.js.map → esm/VerifierStateBadgeAndText-97117c5d.js.map} +1 -1
- package/dist/esm/{credential.helpers-4fbdd8e8.js → credential.helpers-3dfe6b60.js} +2 -2
- package/dist/esm/{credential.helpers-4fbdd8e8.js.map → credential.helpers-3dfe6b60.js.map} +1 -1
- package/dist/esm/{i18n-08b606cb.js → i18n-35209bfa.js} +12 -1
- package/dist/esm/{i18n-08b606cb.js.map → i18n-35209bfa.js.map} +1 -1
- package/dist/esm/index.js +14 -15
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/index14.js +14 -15
- package/dist/esm/index14.js.map +1 -1
- package/dist/esm/index22.js +6 -6
- package/dist/esm/index31.js +1 -2
- package/dist/esm/index31.js.map +1 -1
- package/dist/esm/index39.js +11 -12
- package/dist/esm/index39.js.map +1 -1
- package/dist/esm/index4.js +4 -4
- package/dist/esm/index40.js +4 -4
- package/dist/esm/index41.js +5 -5
- package/dist/esm/index42.js +7 -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/index7.js +5 -4
- package/dist/esm/index7.js.map +1 -1
- package/dist/esm/{types.esm-5f75bd4a.js → types.esm-a67e86b1.js} +30 -2
- package/dist/esm/types.esm-a67e86b1.js.map +1 -0
- package/dist/main.css +1 -1
- package/dist/main.js +1 -1
- package/package.json +6 -10
- package/src/components/CertificateDisplayCard/AlignmentRow.tsx +4 -2
- package/src/components/CertificateDisplayCard/AlignmentsBox.tsx +12 -9
- package/src/components/CertificateDisplayCard/InfoBox.tsx +3 -1
- package/src/components/CertificateDisplayCard/VerifierStateBadgeAndText.tsx +10 -6
- package/src/components/CircleIcon/__tests__/CircleIcon.test.tsx +1 -1
- package/src/components/VCDisplayCard2/InfoBox.tsx +3 -1
- package/src/components/VCDisplayCard2/TruncateTextBox.tsx +4 -2
- package/src/components/VCDisplayCard2/VC2BackFace.tsx +6 -4
- package/src/components/VCDisplayCard2/VC2FrontFaceInfo.tsx +3 -1
- package/src/components/VCDisplayCard2/VCDisplayCard2.tsx +10 -2
- package/src/components/VCDisplayCard2/__tests__/VC2LocalizedLabels.test.tsx +122 -0
- package/src/helpers/credential.helpers.test.ts +1 -1
- package/src/i18n/index.tsx +12 -0
- package/dist/cjs/CertificateDisplayCard-f10b46b1.js.map +0 -1
- package/dist/cjs/SchoolIDCard-2d3cbb2c.js.map +0 -1
- package/dist/cjs/VCDisplayCard2-4a201a8a.js.map +0 -1
- package/dist/cjs/index-47efbf5b.js +0 -1186
- package/dist/cjs/index-47efbf5b.js.map +0 -1
- package/dist/cjs/types.esm-73624b33.js.map +0 -1
- package/dist/esm/CertificateDisplayCard-f26ef278.js.map +0 -1
- package/dist/esm/SchoolIDCard-fbd1cf6c.js.map +0 -1
- package/dist/esm/VCDisplayCard2-7011596e.js.map +0 -1
- package/dist/esm/VerifierStateBadgeAndText-750a6c24.js.map +0 -1
- package/dist/esm/index-cbd2e9db.js +0 -1184
- package/dist/esm/index-cbd2e9db.js.map +0 -1
- package/dist/esm/types.esm-5f75bd4a.js.map +0 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React, { useState, useEffect } from 'react';
|
|
2
2
|
import { initLearnCard } from '@learncard/init';
|
|
3
|
-
import { V as VCDisplayCard } from './VCDisplayCard-
|
|
4
|
-
import { V as VCDisplayCard2 } from './VCDisplayCard2-
|
|
3
|
+
import { V as VCDisplayCard } from './VCDisplayCard-652910f5.js';
|
|
4
|
+
import { V as VCDisplayCard2 } from './VCDisplayCard2-a8b9a519.js';
|
|
5
5
|
|
|
6
6
|
var __async = (__this, __arguments, generator) => {
|
|
7
7
|
return new Promise((resolve, reject) => {
|
|
@@ -77,4 +77,4 @@ const VCCard = ({
|
|
|
77
77
|
};
|
|
78
78
|
|
|
79
79
|
export { VCCard as V };
|
|
80
|
-
//# sourceMappingURL=VCCard-
|
|
80
|
+
//# sourceMappingURL=VCCard-7fa8f15b.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VCCard-
|
|
1
|
+
{"version":3,"file":"VCCard-7fa8f15b.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":[],"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,GAAI,SAAS,IAAI,CAAA,CAAA;AAC3C,EAAA,MAAM,CAAC,cAAgB,EAAA,iBAAiB,CAAI,GAAA,QAAA,CAA6B,EAAE,CAAA,CAAA;AAE3E,EAAA,SAAA,CAAU,MAAM;AACZ,IAAA,MAAM,SAAS,MAAY,OAAA,CAAA,IAAA,EAAA,IAAA,EAAA,aAAA;AACvB,MAAM,MAAA,MAAA,GAAS,MAAM,aAAc,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,uBAAA,KAAA,CAAA,aAAA;AAAA,MAAC,aAAA;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,uBAAA,KAAA,CAAA,aAAA;AAAA,IAAC,cAAA;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;;;;"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { b as VCVerificationCheckWithText } from './VCVerificationCheck-8b8b7a76.js';
|
|
3
|
-
import { a as VCVerificationPill } from './VCVerificationPill-
|
|
3
|
+
import { a as VCVerificationPill } from './VCVerificationPill-be1140c5.js';
|
|
4
4
|
import FlipArrowRight from './ArrowArcRight.svg';
|
|
5
|
-
import { i as getNameFromProfile } from './credential.helpers-
|
|
5
|
+
import { i as getNameFromProfile } from './credential.helpers-3dfe6b60.js';
|
|
6
6
|
|
|
7
7
|
const VCDisplayBackFace = ({
|
|
8
8
|
issuer,
|
|
@@ -60,4 +60,4 @@ const VCDisplayBackFace = ({
|
|
|
60
60
|
};
|
|
61
61
|
|
|
62
62
|
export { VCDisplayBackFace as V };
|
|
63
|
-
//# sourceMappingURL=VCDisplayBackFace-
|
|
63
|
+
//# sourceMappingURL=VCDisplayBackFace-314c1107.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VCDisplayBackFace-
|
|
1
|
+
{"version":3,"file":"VCDisplayBackFace-314c1107.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":[],"mappings":"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"}
|
|
@@ -3,8 +3,8 @@ import { F as FlippyCard } from './FlippyCard-458dc9b1.js';
|
|
|
3
3
|
import FatArrow from './icon.green.fat-arrow.png';
|
|
4
4
|
import { U as UserProfilePicture } from './UserProfilePicture-50c34186.js';
|
|
5
5
|
import { b as VCVerificationCheckWithText } from './VCVerificationCheck-8b8b7a76.js';
|
|
6
|
-
import { i as getNameFromProfile, h as getImageFromProfile, b as getInfoFromCredential } from './credential.helpers-
|
|
7
|
-
import { V as VCDisplayBackFace } from './VCDisplayBackFace-
|
|
6
|
+
import { i as getNameFromProfile, h as getImageFromProfile, b as getInfoFromCredential } from './credential.helpers-3dfe6b60.js';
|
|
7
|
+
import { V as VCDisplayBackFace } from './VCDisplayBackFace-314c1107.js';
|
|
8
8
|
|
|
9
9
|
const VCDisplayFrontFace = ({
|
|
10
10
|
title,
|
|
@@ -181,4 +181,4 @@ const VCDisplayCard = ({
|
|
|
181
181
|
};
|
|
182
182
|
|
|
183
183
|
export { VCDisplayCard as V };
|
|
184
|
-
//# sourceMappingURL=VCDisplayCard-
|
|
184
|
+
//# sourceMappingURL=VCDisplayCard-652910f5.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VCDisplayCard-ac1f367a.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":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"VCDisplayCard-652910f5.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":[],"mappings":"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"}
|
|
@@ -1,19 +1,18 @@
|
|
|
1
1
|
import React, { useRef, useLayoutEffect, useState, useEffect, createContext, Component, Children, cloneElement } from 'react';
|
|
2
|
-
import './index-cbd2e9db.js';
|
|
3
2
|
import { a as VCVerificationCheckWithSpinner } from './VCVerificationCheck-8b8b7a76.js';
|
|
4
3
|
import { U as UserProfilePicture } from './UserProfilePicture-50c34186.js';
|
|
5
|
-
import { a as getColorForVerificationStatus, j as format$1, h as getImageFromProfile, b as getInfoFromCredential, k as getCategoryColor, g as getTotalCountOfSkills, c as categorizeSkills } from './credential.helpers-
|
|
6
|
-
import { d as getBaseUrl, e as VideoIcon, C as Camera, G as GenericDocumentIcon, L as LinkIcon, p as prettyBytes, c as capitalize, E as ExclamationPoint, A as AcuteCheckmark, I as InfoIcon, h as LeftArrow, j as SkillsBox, r as resolveProfileDisplay, l as isAppDidWeb, V as VERIFIER_STATES, m as VerifierStateBadgeAndText, P as PersonBadge, n as VerifiedBadge, U as UnknownVerifierBadge, o as RedFlag } from './VerifierStateBadgeAndText-
|
|
4
|
+
import { a as getColorForVerificationStatus, j as format$1, h as getImageFromProfile, b as getInfoFromCredential, k as getCategoryColor, g as getTotalCountOfSkills, c as categorizeSkills } from './credential.helpers-3dfe6b60.js';
|
|
5
|
+
import { d as getBaseUrl, e as VideoIcon, C as Camera, G as GenericDocumentIcon, L as LinkIcon, p as prettyBytes, c as capitalize, E as ExclamationPoint, A as AcuteCheckmark, I as InfoIcon, h as LeftArrow, j as SkillsBox, r as resolveProfileDisplay, l as isAppDidWeb, V as VERIFIER_STATES, m as VerifierStateBadgeAndText, P as PersonBadge, n as VerifiedBadge, U as UnknownVerifierBadge, o as RedFlag } from './VerifierStateBadgeAndText-97117c5d.js';
|
|
6
|
+
import { u as useT } from './i18n-35209bfa.js';
|
|
7
7
|
import './index-cb3a593b.js';
|
|
8
8
|
import { L as Lightbox, X } from './Lightbox-11f4888d.js';
|
|
9
|
-
import { V as VerificationStatusEnum } from './types.esm-
|
|
10
|
-
import {
|
|
11
|
-
import { A as AlignmentsBox, b as CertificateDisplayCard } from './CertificateDisplayCard-f26ef278.js';
|
|
9
|
+
import { V as VerificationStatusEnum } from './types.esm-a67e86b1.js';
|
|
10
|
+
import { A as AlignmentsBox, b as CertificateDisplayCard } from './CertificateDisplayCard-487a3b4e.js';
|
|
12
11
|
import { I as IDIcon, Q as QRCodeIcon, A as AwardRibbon } from './QRCodeIcon-8eef4f7c.js';
|
|
13
12
|
import { a as LCCategoryEnum } from './index-28917993.js';
|
|
14
13
|
import { P as PuzzlePiece } from './PuzzlePiece-a3d9cc62.js';
|
|
15
14
|
import IDSleeve from './id-sleeve.png';
|
|
16
|
-
import { a as MeritBadgeDisplayCard } from './MeritBadgeDisplayCard-
|
|
15
|
+
import { a as MeritBadgeDisplayCard } from './MeritBadgeDisplayCard-13622cd4.js';
|
|
17
16
|
|
|
18
17
|
const RoundedX = ({ className = "" }) => {
|
|
19
18
|
return /* @__PURE__ */ React.createElement(
|
|
@@ -115,6 +114,7 @@ const FitText = ({
|
|
|
115
114
|
};
|
|
116
115
|
|
|
117
116
|
const InfoBox = ({ text, handleClose, backgroundColor = "#6366F1" }) => {
|
|
117
|
+
const t = useT();
|
|
118
118
|
const bgColorWithOpacity = `${backgroundColor}1F`;
|
|
119
119
|
return /* @__PURE__ */ React.createElement(
|
|
120
120
|
"div",
|
|
@@ -133,7 +133,7 @@ const InfoBox = ({ text, handleClose, backgroundColor = "#6366F1" }) => {
|
|
|
133
133
|
},
|
|
134
134
|
className: "text-indigo-500 font-[700] select-none"
|
|
135
135
|
},
|
|
136
|
-
"
|
|
136
|
+
t("credential.close")
|
|
137
137
|
)
|
|
138
138
|
);
|
|
139
139
|
};
|
|
@@ -459,6 +459,7 @@ const TruncateTextBox = ({
|
|
|
459
459
|
containerClassName = "",
|
|
460
460
|
textClassName = ""
|
|
461
461
|
}) => {
|
|
462
|
+
const t = useT();
|
|
462
463
|
const needsTruncate = (text == null ? void 0 : text.length) > truncateThreshold;
|
|
463
464
|
const [showFullText, setShowFullText] = useState(false);
|
|
464
465
|
const truncated = needsTruncate && !showFullText;
|
|
@@ -485,7 +486,7 @@ const TruncateTextBox = ({
|
|
|
485
486
|
setShowFullText(true);
|
|
486
487
|
}
|
|
487
488
|
},
|
|
488
|
-
"
|
|
489
|
+
t("credential.more")
|
|
489
490
|
)),
|
|
490
491
|
needsTruncate && showFullText && /* @__PURE__ */ React.createElement(React.Fragment, null, " ", /* @__PURE__ */ React.createElement(
|
|
491
492
|
"button",
|
|
@@ -496,7 +497,7 @@ const TruncateTextBox = ({
|
|
|
496
497
|
setShowFullText(false);
|
|
497
498
|
}
|
|
498
499
|
},
|
|
499
|
-
"
|
|
500
|
+
t("credential.close")
|
|
500
501
|
))
|
|
501
502
|
),
|
|
502
503
|
children
|
|
@@ -779,6 +780,7 @@ const VC2BackFace = ({
|
|
|
779
780
|
customLinkedCredentialsComponent
|
|
780
781
|
}) => {
|
|
781
782
|
var _a, _b, _c, _d;
|
|
783
|
+
const t = useT();
|
|
782
784
|
const expiration = credential.expirationDate ? format$1(new Date(credential.expirationDate), "MMM dd, yyyy") : void 0;
|
|
783
785
|
const isExpired = credential.expirationDate && Number(new Date(credential.expirationDate)) < Number(/* @__PURE__ */ new Date());
|
|
784
786
|
const achievement = "achievement" in credential.credentialSubject ? credential.credentialSubject.achievement : void 0;
|
|
@@ -796,7 +798,7 @@ const VC2BackFace = ({
|
|
|
796
798
|
)), customDescription && /* @__PURE__ */ React.createElement(
|
|
797
799
|
TruncateTextBox,
|
|
798
800
|
{
|
|
799
|
-
headerText: "
|
|
801
|
+
headerText: t("credential.about"),
|
|
800
802
|
text: description,
|
|
801
803
|
className: "description-box"
|
|
802
804
|
},
|
|
@@ -804,7 +806,7 @@ const VC2BackFace = ({
|
|
|
804
806
|
), !customDescription && (description || expiration) && /* @__PURE__ */ React.createElement(
|
|
805
807
|
TruncateTextBox,
|
|
806
808
|
{
|
|
807
|
-
headerText: "
|
|
809
|
+
headerText: t("credential.about"),
|
|
808
810
|
text: description,
|
|
809
811
|
className: "description-box"
|
|
810
812
|
},
|
|
@@ -812,7 +814,7 @@ const VC2BackFace = ({
|
|
|
812
814
|
), customCriteria && /* @__PURE__ */ React.createElement(
|
|
813
815
|
TruncateTextBox,
|
|
814
816
|
{
|
|
815
|
-
headerText: "
|
|
817
|
+
headerText: t("credential.criteria"),
|
|
816
818
|
text: description,
|
|
817
819
|
className: "description-box"
|
|
818
820
|
},
|
|
@@ -820,7 +822,7 @@ const VC2BackFace = ({
|
|
|
820
822
|
), !customCriteria && criteria && /* @__PURE__ */ React.createElement(
|
|
821
823
|
TruncateTextBox,
|
|
822
824
|
{
|
|
823
|
-
headerText: "
|
|
825
|
+
headerText: t("credential.criteria"),
|
|
824
826
|
text: criteria,
|
|
825
827
|
className: "criteria-box"
|
|
826
828
|
}
|
|
@@ -887,6 +889,7 @@ const VC2FrontFaceInfo = ({
|
|
|
887
889
|
unknownVerifierTitle,
|
|
888
890
|
onVerifierClick
|
|
889
891
|
}) => {
|
|
892
|
+
const t = useT();
|
|
890
893
|
const issuerImage = getImageFromProfile(issuer != null ? issuer : "");
|
|
891
894
|
const issueeImage = getImageFromProfile(issuee != null ? issuee : "");
|
|
892
895
|
const [thumbErrored, setThumbErrored] = React.useState(false);
|
|
@@ -964,7 +967,7 @@ const VC2FrontFaceInfo = ({
|
|
|
964
967
|
alt: "credential thumbnail",
|
|
965
968
|
onError: () => setThumbErrored(true)
|
|
966
969
|
}
|
|
967
|
-
)), customThumbComponent && customThumbComponent, /* @__PURE__ */ React.createElement("div", { className: "vc-issue-info-box bg-white flex flex-col items-center gap-[5px] rounded-[20px] shadow-bottom px-[15px] py-[20px] w-full" }, customBodyCardComponent && customBodyCardComponent, !customBodyCardComponent && /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement("h3", { className: "flex flex-col text-center leading-[130%] w-full" }, !issueeDisplay.isMissing && issueeDisplay.isDidValue && /* @__PURE__ */ React.createElement("span", { className: "flex flex-wrap items-baseline justify-center gap-x-1 text-[17px] leading-normal font-[600] font-poppins max-w-full break-words" }, /* @__PURE__ */ React.createElement("span", { className: "text-grayscale-900" }, "Digital ID:"), /* @__PURE__ */ React.createElement("span", { className: "text-grayscale-500 underline" }, issueeDisplay.displayName)), !issueeDisplay.isMissing && !issueeDisplay.isDidValue && /* @__PURE__ */ React.createElement("span", { className: "font-poppins font-semibold text-[20px] leading-[130%] max-w-full line-clamp-2 break-words text-grayscale-900" }, issueeDisplay.displayName), subjectDID && !issueeDisplay.isDidValue && !issueeDisplay.isLCNetwork && /* @__PURE__ */ React.createElement("span", { className: "text-[12px] text-grayscale-500 leading-[18px] font-poppins font-normal m-0 p-0" }, subjectDID)), /* @__PURE__ */ React.createElement("div", { className: "relative" }, /* @__PURE__ */ React.createElement("div", { className: "vc-issuee-image h-[60px] w-[60px] rounded-full overflow-hidden bg-white" }, issueeImageEl), /* @__PURE__ */ React.createElement("div", { className: "vc-issuer-image h-[30px] w-[30px] rounded-full overflow-hidden absolute bottom-[-12px] right-[-12px] bg-white" }, issuerImageEl)), /* @__PURE__ */ React.createElement("div", { className: "flex flex-col gap-[13px]" }, /* @__PURE__ */ React.createElement("div", { className: "vc-issue-details mt-[10px] flex flex-col items-center font-poppins text-[14px] leading-[20px]" }, /* @__PURE__ */ React.createElement("span", { className: "created-at text-grayscale-700" }, createdAt), !issuerDisplay.isMissing && /* @__PURE__ */ React.createElement("span", { className: "issued-by max-w-full break-words text-center line-clamp-2 text-[14px]" }, /* @__PURE__ */ React.createElement("span", { className: "font-medium text-grayscale-900" }, "
|
|
970
|
+
)), customThumbComponent && customThumbComponent, /* @__PURE__ */ React.createElement("div", { className: "vc-issue-info-box bg-white flex flex-col items-center gap-[5px] rounded-[20px] shadow-bottom px-[15px] py-[20px] w-full" }, customBodyCardComponent && customBodyCardComponent, !customBodyCardComponent && /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement("h3", { className: "flex flex-col text-center leading-[130%] w-full" }, !issueeDisplay.isMissing && issueeDisplay.isDidValue && /* @__PURE__ */ React.createElement("span", { className: "flex flex-wrap items-baseline justify-center gap-x-1 text-[17px] leading-normal font-[600] font-poppins max-w-full break-words" }, /* @__PURE__ */ React.createElement("span", { className: "text-grayscale-900" }, "Digital ID:"), /* @__PURE__ */ React.createElement("span", { className: "text-grayscale-500 underline" }, issueeDisplay.displayName)), !issueeDisplay.isMissing && !issueeDisplay.isDidValue && /* @__PURE__ */ React.createElement("span", { className: "font-poppins font-semibold text-[20px] leading-[130%] max-w-full line-clamp-2 break-words text-grayscale-900" }, issueeDisplay.displayName), subjectDID && !issueeDisplay.isDidValue && !issueeDisplay.isLCNetwork && /* @__PURE__ */ React.createElement("span", { className: "text-[12px] text-grayscale-500 leading-[18px] font-poppins font-normal m-0 p-0" }, subjectDID)), /* @__PURE__ */ React.createElement("div", { className: "relative" }, /* @__PURE__ */ React.createElement("div", { className: "vc-issuee-image h-[60px] w-[60px] rounded-full overflow-hidden bg-white" }, issueeImageEl), /* @__PURE__ */ React.createElement("div", { className: "vc-issuer-image h-[30px] w-[30px] rounded-full overflow-hidden absolute bottom-[-12px] right-[-12px] bg-white" }, issuerImageEl)), /* @__PURE__ */ React.createElement("div", { className: "flex flex-col gap-[13px]" }, /* @__PURE__ */ React.createElement("div", { className: "vc-issue-details mt-[10px] flex flex-col items-center font-poppins text-[14px] leading-[20px]" }, /* @__PURE__ */ React.createElement("span", { className: "created-at text-grayscale-700" }, createdAt), !issuerDisplay.isMissing && /* @__PURE__ */ React.createElement("span", { className: "issued-by max-w-full break-words text-center line-clamp-2 text-[14px]" }, /* @__PURE__ */ React.createElement("span", { className: "font-medium text-grayscale-900" }, t("credential.by")), " ", issuerDisplay.isDidValue ? /* @__PURE__ */ React.createElement("span", { className: "font-[600] font-poppins break-words" }, /* @__PURE__ */ React.createElement("span", { className: "text-grayscale-900" }, "Digital ID:"), " ", /* @__PURE__ */ React.createElement("span", { className: "text-grayscale-500 underline" }, issuerDisplay.displayName)) : /* @__PURE__ */ React.createElement("strong", { className: "font-bold text-grayscale-900 break-words" }, issuerDisplay.displayName))), /* @__PURE__ */ React.createElement(
|
|
968
971
|
VerifierStateBadgeAndText,
|
|
969
972
|
{
|
|
970
973
|
verifierState,
|
|
@@ -1247,6 +1250,7 @@ const VCDisplayCard2 = ({
|
|
|
1247
1250
|
onVerifierClick
|
|
1248
1251
|
}) => {
|
|
1249
1252
|
var _a, _b, _c, _d, _e;
|
|
1253
|
+
const t = useT();
|
|
1250
1254
|
const {
|
|
1251
1255
|
title = "",
|
|
1252
1256
|
createdAt,
|
|
@@ -1542,13 +1546,17 @@ const VCDisplayCard2 = ({
|
|
|
1542
1546
|
size: "32px",
|
|
1543
1547
|
loading: verificationInProgress
|
|
1544
1548
|
}
|
|
1545
|
-
), /* @__PURE__ */ React.createElement("div", { className: "vc-footer-text font-montserrat flex flex-col items-center justify-center text-[12px] font-[700] leading-[15px] select-none" }, /* @__PURE__ */ React.createElement("span", { className: "text-[#4F4F4F]" }, "
|
|
1549
|
+
), /* @__PURE__ */ React.createElement("div", { className: "vc-footer-text font-montserrat flex flex-col items-center justify-center text-[12px] font-[700] leading-[15px] select-none" }, /* @__PURE__ */ React.createElement("span", { className: "text-[#4F4F4F]" }, t("credential.verified")), /* @__PURE__ */ React.createElement(
|
|
1546
1550
|
"span",
|
|
1547
1551
|
{
|
|
1548
1552
|
className: "vc-footer-status uppercase",
|
|
1549
1553
|
style: { color: statusColor }
|
|
1550
1554
|
},
|
|
1551
|
-
|
|
1555
|
+
t(
|
|
1556
|
+
`verification.status.${String(
|
|
1557
|
+
worstVerificationStatus
|
|
1558
|
+
).toLowerCase()}`
|
|
1559
|
+
)
|
|
1552
1560
|
)), /* @__PURE__ */ React.createElement(
|
|
1553
1561
|
"div",
|
|
1554
1562
|
{
|
|
@@ -1563,4 +1571,4 @@ const VCDisplayCard2 = ({
|
|
|
1563
1571
|
};
|
|
1564
1572
|
|
|
1565
1573
|
export { VCDisplayCard2 as V, VCDisplayCardSkillsCount as a, VCIDDisplayCard as b, getVCDisplayCardVariant as g };
|
|
1566
|
-
//# sourceMappingURL=VCDisplayCard2-
|
|
1574
|
+
//# sourceMappingURL=VCDisplayCard2-a8b9a519.js.map
|