@learncard/react 2.6.64 → 2.6.66
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/{AchievementCard-040be8e5.js → AchievementCard-27fc10b5.js} +2 -2
- package/dist/cjs/{AchievementCard-040be8e5.js.map → AchievementCard-27fc10b5.js.map} +1 -1
- package/dist/cjs/{BoostGenericCard-227b905d.js → BoostGenericCard-924e41e7.js} +2 -2
- package/dist/cjs/{BoostGenericCard-227b905d.js.map → BoostGenericCard-924e41e7.js.map} +1 -1
- package/dist/cjs/{BoostSmallCard-1818c2a8.js → BoostSmallCard-28401cef.js} +2 -2
- package/dist/cjs/{BoostSmallCard-1818c2a8.js.map → BoostSmallCard-28401cef.js.map} +1 -1
- package/dist/cjs/{CertificateDisplayCard-b4a7587d.js → CertificateDisplayCard-054609a1.js} +7 -2
- package/dist/cjs/{CertificateDisplayCard-b4a7587d.js.map → CertificateDisplayCard-054609a1.js.map} +1 -1
- package/dist/cjs/{GenericCard-42a558e2.js → GenericCard-6ac2620f.js} +2 -2
- package/dist/cjs/{GenericCard-42a558e2.js.map → GenericCard-6ac2620f.js.map} +1 -1
- package/dist/cjs/{JobListCard-ce1ffea5.js → JobListCard-cdb1aa2f.js} +2 -2
- package/dist/cjs/{JobListCard-ce1ffea5.js.map → JobListCard-cdb1aa2f.js.map} +1 -1
- package/dist/cjs/{LearnPill-7c351a33.js → LearnPill-64fbabc8.js} +2 -2
- package/dist/cjs/{LearnPill-7c351a33.js.map → LearnPill-64fbabc8.js.map} +1 -1
- package/dist/cjs/{Lightbulb-1c28af02.js → Lightbulb-19c89d3c.js} +16 -1
- package/dist/cjs/Lightbulb-19c89d3c.js.map +1 -0
- package/dist/cjs/{AwardRibbon-14ba45fb.js → QRCodeIcon-81c6e96b.js} +64 -1
- package/dist/cjs/QRCodeIcon-81c6e96b.js.map +1 -0
- package/dist/cjs/{RoundedSquare-898fd68c.js → RoundedSquare-fc16f13f.js} +2 -2
- package/dist/cjs/{RoundedSquare-898fd68c.js.map → RoundedSquare-fc16f13f.js.map} +1 -1
- package/dist/cjs/{VCCard-19048947.js → VCCard-a968d699.js} +7 -5
- package/dist/cjs/{VCCard-19048947.js.map → VCCard-a968d699.js.map} +1 -1
- package/dist/cjs/{VCDisplayBackFace-7925c808.js → VCDisplayBackFace-48b87fdd.js} +2 -2
- package/dist/cjs/{VCDisplayBackFace-7925c808.js.map → VCDisplayBackFace-48b87fdd.js.map} +1 -1
- package/dist/cjs/{VCDisplayCard-044fd719.js → VCDisplayCard-717d89ae.js} +3 -3
- package/dist/cjs/{VCDisplayCard-044fd719.js.map → VCDisplayCard-717d89ae.js.map} +1 -1
- package/dist/cjs/{VCDisplayCard2-98b48b6f.js → VCDisplayCard2-474c0055.js} +194 -15
- package/dist/cjs/VCDisplayCard2-474c0055.js.map +1 -0
- package/dist/cjs/{credential.helpers-7705d2b9.js → credential.helpers-bcb06444.js} +4 -3
- package/dist/{esm/credential.helpers-d78f00fd.js.map → cjs/credential.helpers-bcb06444.js.map} +1 -1
- package/dist/cjs/id-purple.png +0 -0
- package/dist/cjs/id-sleeve.png +0 -0
- package/dist/cjs/{index-810a6027.js → index-503d0d98.js} +7 -7
- package/dist/cjs/index-503d0d98.js.map +1 -0
- package/dist/cjs/index.js +24 -18
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/index12.js +3 -3
- package/dist/cjs/index13.js +24 -18
- package/dist/cjs/index13.js.map +1 -1
- package/dist/cjs/index15.js +3 -3
- package/dist/cjs/index18.js +3 -3
- package/dist/cjs/index2.js +3 -3
- package/dist/cjs/index28.js +4 -3
- package/dist/cjs/index28.js.map +1 -1
- package/dist/cjs/index3.js +3 -3
- package/dist/cjs/index35.js +6 -3
- package/dist/cjs/index35.js.map +1 -1
- package/dist/cjs/index36.js +12 -10
- package/dist/cjs/index36.js.map +1 -1
- package/dist/cjs/index37.js +7 -5
- package/dist/cjs/index37.js.map +1 -1
- package/dist/cjs/index38.js +8 -6
- package/dist/cjs/index38.js.map +1 -1
- package/dist/cjs/index39.js +10 -7
- package/dist/cjs/index39.js.map +1 -1
- package/dist/cjs/index4.js +3 -3
- package/dist/cjs/index40.js +5 -3
- package/dist/cjs/index40.js.map +1 -1
- package/dist/cjs/index6.js +7 -5
- package/dist/cjs/index6.js.map +1 -1
- package/dist/esm/{AchievementCard-6a2e0157.js → AchievementCard-36de6ca1.js} +2 -2
- package/dist/esm/{AchievementCard-6a2e0157.js.map → AchievementCard-36de6ca1.js.map} +1 -1
- package/dist/esm/{BoostGenericCard-819edafe.js → BoostGenericCard-09f3bd8a.js} +2 -2
- package/dist/esm/{BoostGenericCard-819edafe.js.map → BoostGenericCard-09f3bd8a.js.map} +1 -1
- package/dist/esm/{BoostSmallCard-7397a49f.js → BoostSmallCard-d33208f5.js} +2 -2
- package/dist/esm/{BoostSmallCard-7397a49f.js.map → BoostSmallCard-d33208f5.js.map} +1 -1
- package/dist/esm/{CertificateDisplayCard-ca9fba32.js → CertificateDisplayCard-2d4eb309.js} +4 -3
- package/dist/esm/{CertificateDisplayCard-ca9fba32.js.map → CertificateDisplayCard-2d4eb309.js.map} +1 -1
- package/dist/esm/{GenericCard-f2ca2e70.js → GenericCard-9b48aec8.js} +2 -2
- package/dist/esm/{GenericCard-f2ca2e70.js.map → GenericCard-9b48aec8.js.map} +1 -1
- package/dist/esm/{JobListCard-8eb5c695.js → JobListCard-afc060d7.js} +2 -2
- package/dist/esm/{JobListCard-8eb5c695.js.map → JobListCard-afc060d7.js.map} +1 -1
- package/dist/esm/{LearnPill-45f11cf2.js → LearnPill-ebb251f6.js} +2 -2
- package/dist/esm/{LearnPill-45f11cf2.js.map → LearnPill-ebb251f6.js.map} +1 -1
- package/dist/esm/{Lightbulb-a3c1679f.js → Lightbulb-b6eca510.js} +16 -2
- package/dist/esm/Lightbulb-b6eca510.js.map +1 -0
- package/dist/esm/{AwardRibbon-3e682281.js → QRCodeIcon-e9569804.js} +63 -2
- package/dist/esm/QRCodeIcon-e9569804.js.map +1 -0
- package/dist/esm/{RoundedSquare-bd85712f.js → RoundedSquare-0d25f9ef.js} +2 -2
- package/dist/esm/{RoundedSquare-bd85712f.js.map → RoundedSquare-0d25f9ef.js.map} +1 -1
- package/dist/esm/{VCCard-03f463db.js → VCCard-c8ef35ec.js} +7 -5
- package/dist/esm/{VCCard-03f463db.js.map → VCCard-c8ef35ec.js.map} +1 -1
- package/dist/esm/{VCDisplayBackFace-3ea4aacf.js → VCDisplayBackFace-4ded34ef.js} +2 -2
- package/dist/esm/{VCDisplayBackFace-3ea4aacf.js.map → VCDisplayBackFace-4ded34ef.js.map} +1 -1
- package/dist/esm/{VCDisplayCard-e8755402.js → VCDisplayCard-2fc36a72.js} +3 -3
- package/dist/esm/{VCDisplayCard-e8755402.js.map → VCDisplayCard-2fc36a72.js.map} +1 -1
- package/dist/esm/{VCDisplayCard2-04957dca.js → VCDisplayCard2-f0baf63f.js} +193 -16
- package/dist/esm/VCDisplayCard2-f0baf63f.js.map +1 -0
- package/dist/esm/{credential.helpers-d78f00fd.js → credential.helpers-f9e6b1cf.js} +4 -3
- package/dist/{cjs/credential.helpers-7705d2b9.js.map → esm/credential.helpers-f9e6b1cf.js.map} +1 -1
- package/dist/esm/id-purple.png +0 -0
- package/dist/esm/id-sleeve.png +0 -0
- package/dist/esm/{index-5ebb2b5d.js → index-09573aa0.js} +6 -6
- package/dist/esm/index-09573aa0.js.map +1 -0
- package/dist/esm/index.js +19 -17
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/index12.js +3 -3
- package/dist/esm/index13.js +19 -17
- package/dist/esm/index13.js.map +1 -1
- package/dist/esm/index15.js +3 -3
- package/dist/esm/index18.js +3 -3
- package/dist/esm/index2.js +3 -3
- package/dist/esm/index28.js +4 -3
- package/dist/esm/index28.js.map +1 -1
- package/dist/esm/index3.js +3 -3
- package/dist/esm/index35.js +2 -2
- package/dist/esm/index36.js +12 -10
- package/dist/esm/index36.js.map +1 -1
- package/dist/esm/index37.js +7 -5
- package/dist/esm/index37.js.map +1 -1
- package/dist/esm/index38.js +8 -6
- package/dist/esm/index38.js.map +1 -1
- package/dist/esm/index39.js +9 -7
- package/dist/esm/index39.js.map +1 -1
- package/dist/esm/index4.js +3 -3
- package/dist/esm/index40.js +5 -3
- package/dist/esm/index40.js.map +1 -1
- package/dist/esm/index6.js +7 -5
- package/dist/esm/index6.js.map +1 -1
- package/dist/index.d.ts +36 -1
- package/dist/main.css +1 -1
- package/dist/main.js +1 -1
- package/package.json +1 -1
- package/dist/cjs/AwardRibbon-14ba45fb.js.map +0 -1
- package/dist/cjs/Lightbulb-1c28af02.js.map +0 -1
- package/dist/cjs/VCDisplayCard2-98b48b6f.js.map +0 -1
- package/dist/cjs/index-810a6027.js.map +0 -1
- package/dist/esm/AwardRibbon-3e682281.js.map +0 -1
- package/dist/esm/Lightbulb-a3c1679f.js.map +0 -1
- package/dist/esm/VCDisplayCard2-04957dca.js.map +0 -1
- package/dist/esm/index-5ebb2b5d.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VCDisplayCard-e8755402.js","sources":["../../src/components/VCDisplayFrontFace/VCDisplayFrontFace.tsx","../../src/components/VCDisplayCard/VCDisplayCard.tsx"],"sourcesContent":["import React from 'react';\nimport { VCDisplayCardProps } from '../../types';\nimport FatArrow from '../../assets/images/icon.green.fat-arrow.png';\nimport FlipArrowRight from '../../assets/images/ArrowArcRight.svg';\nimport DefaultFace from '../../assets/images/default-face.jpeg';\nimport { VCVerificationCheckWithText } from '../VCVerificationCheck/VCVerificationCheck';\nimport { getImageFromProfile, getNameFromProfile } from '../../helpers/credential.helpers';\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 const issuerNameAbr = issuerName?.slice(0, 1) ?? '';\n\n let issueeImageEl: React.ReactNode | null = null;\n const issuerImgExists = issuerImage && issuerImage !== '';\n const issueeImgExists = issueeImage && issueeImage !== '';\n if (issueeImgExists) {\n issueeImageEl = (\n <div className=\"flex flex-row items-center justify-center h-full w-full rounded-full border-solid border-4 border-white overflow-hidden bg-white\">\n <img\n className=\"h-full w-full object-cover\"\n src={issueeImage || DefaultFace}\n alt=\"Issuee image\"\n />\n </div>\n );\n } else if (!issueeImgExists && subjectImageComponent) {\n issueeImageEl = subjectImageComponent;\n }\n\n let issuerImageEl: React.ReactNode | null = null;\n\n if (issuerImgExists) {\n issuerImageEl = (\n <img className=\"w-4/6 h-4/6 object-cover\" src={issuerImage} alt=\"Issuer image\" />\n );\n } else {\n issuerImageEl = (\n <div className=\"flex flex-row items-center justify-center h-full w-full overflow-hidden bg-emerald-700 text-white font-medium text-3xl\">\n {issuerNameAbr}\n </div>\n );\n }\n\n if (issuerImageComponent) {\n issuerImageEl = issuerImageComponent;\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-2fc36a72.js","sources":["../../src/components/VCDisplayFrontFace/VCDisplayFrontFace.tsx","../../src/components/VCDisplayCard/VCDisplayCard.tsx"],"sourcesContent":["import React from 'react';\nimport { VCDisplayCardProps } from '../../types';\nimport FatArrow from '../../assets/images/icon.green.fat-arrow.png';\nimport FlipArrowRight from '../../assets/images/ArrowArcRight.svg';\nimport DefaultFace from '../../assets/images/default-face.jpeg';\nimport { VCVerificationCheckWithText } from '../VCVerificationCheck/VCVerificationCheck';\nimport { getImageFromProfile, getNameFromProfile } from '../../helpers/credential.helpers';\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 const issuerNameAbr = issuerName?.slice(0, 1) ?? '';\n\n let issueeImageEl: React.ReactNode | null = null;\n const issuerImgExists = issuerImage && issuerImage !== '';\n const issueeImgExists = issueeImage && issueeImage !== '';\n if (issueeImgExists) {\n issueeImageEl = (\n <div className=\"flex flex-row items-center justify-center h-full w-full rounded-full border-solid border-4 border-white overflow-hidden bg-white\">\n <img\n className=\"h-full w-full object-cover\"\n src={issueeImage || DefaultFace}\n alt=\"Issuee image\"\n />\n </div>\n );\n } else if (!issueeImgExists && subjectImageComponent) {\n issueeImageEl = subjectImageComponent;\n }\n\n let issuerImageEl: React.ReactNode | null = null;\n\n if (issuerImgExists) {\n issuerImageEl = (\n <img className=\"w-4/6 h-4/6 object-cover\" src={issuerImage} alt=\"Issuer image\" />\n );\n } else {\n issuerImageEl = (\n <div className=\"flex flex-row items-center justify-center h-full w-full overflow-hidden bg-emerald-700 text-white font-medium text-3xl\">\n {issuerNameAbr}\n </div>\n );\n }\n\n if (issuerImageComponent) {\n issuerImageEl = issuerImageComponent;\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":";;;;;;;;AAKA,MAAM,kBAAkB,GAAG,CAAC;AAC5B,EAAE,KAAK;AACP,EAAE,SAAS;AACX,EAAE,MAAM;AACR,EAAE,MAAM;AACR,EAAE,qBAAqB;AACvB,EAAE,oBAAoB;AACtB,EAAE,kBAAkB,GAAG,KAAK;AAC5B,EAAE,iBAAiB;AACnB,EAAE,SAAS,GAAG,EAAE;AAChB,EAAE,OAAO;AACT,EAAE,WAAW;AACb,EAAE,0BAA0B;AAC5B,EAAE,iBAAiB;AACnB,EAAE,qBAAqB;AACvB,CAAC,KAAK;AACN,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;AACzB,EAAE,MAAM,0BAA0B,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,iBAAiB,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,iBAAiB,CAAC,WAAW,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,GAAG,iBAAiB,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,iBAAiB,CAAC,WAAW,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;AACxR,EAAE,MAAM,UAAU,GAAG,kBAAkB,CAAC,MAAM,IAAI,IAAI,GAAG,MAAM,GAAG,EAAE,CAAC,CAAC;AACtE,EAAE,MAAM,UAAU,GAAG,kBAAkB,CAAC,MAAM,IAAI,IAAI,GAAG,MAAM,GAAG,EAAE,CAAC,CAAC;AACtE,EAAE,MAAM,WAAW,GAAG,mBAAmB,CAAC,MAAM,IAAI,IAAI,GAAG,MAAM,GAAG,EAAE,CAAC,CAAC;AACxE,EAAE,MAAM,WAAW,GAAG,mBAAmB,CAAC,MAAM,IAAI,IAAI,GAAG,MAAM,GAAG,EAAE,CAAC,CAAC;AACxE,EAAE,MAAM,aAAa,GAAG,CAAC,EAAE,GAAG,UAAU,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,GAAG,EAAE,GAAG,EAAE,CAAC;AACtG,EAAE,IAAI,aAAa,GAAG,IAAI,CAAC;AAC3B,EAAE,MAAM,eAAe,GAAG,WAAW,IAAI,WAAW,KAAK,EAAE,CAAC;AAC5D,EAAE,MAAM,eAAe,GAAG,WAAW,IAAI,WAAW,KAAK,EAAE,CAAC;AAC5D,EAAE,IAAI,eAAe,EAAE;AACvB,IAAI,aAAa,mBAAmB,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AAC/D,MAAM,SAAS,EAAE,kIAAkI;AACnJ,KAAK,kBAAkB,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AAClD,MAAM,SAAS,EAAE,4BAA4B;AAC7C,MAAM,GAAG,EAAE,WAAW,IAAI,WAAW;AACrC,MAAM,GAAG,EAAE,cAAc;AACzB,KAAK,CAAC,CAAC,CAAC;AACR,GAAG,MAAM,IAAI,CAAC,eAAe,IAAI,qBAAqB,EAAE;AACxD,IAAI,aAAa,GAAG,qBAAqB,CAAC;AAC1C,GAAG;AACH,EAAE,IAAI,aAAa,GAAG,IAAI,CAAC;AAC3B,EAAE,IAAI,eAAe,EAAE;AACvB,IAAI,aAAa,mBAAmB,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AAC/D,MAAM,SAAS,EAAE,0BAA0B;AAC3C,MAAM,GAAG,EAAE,WAAW;AACtB,MAAM,GAAG,EAAE,cAAc;AACzB,KAAK,CAAC,CAAC;AACP,GAAG,MAAM;AACT,IAAI,aAAa,mBAAmB,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AAC/D,MAAM,SAAS,EAAE,wHAAwH;AACzI,KAAK,EAAE,aAAa,CAAC,CAAC;AACtB,GAAG;AACH,EAAE,IAAI,oBAAoB,EAAE;AAC5B,IAAI,aAAa,GAAG,oBAAoB,CAAC;AACzC,GAAG;AACH,EAAE,MAAM,OAAO,GAAG,0BAA0B,mBAAmB,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AAC1F,IAAI,SAAS,EAAE,4BAA4B;AAC3C,IAAI,GAAG,EAAE,0BAA0B,IAAI,IAAI,GAAG,0BAA0B,GAAG,EAAE;AAC7E,IAAI,GAAG,EAAE,8BAA8B;AACvC,GAAG,CAAC,mBAAmB,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AACjE,EAAE,MAAM,aAAa,GAAG,0BAA0B,GAAG,0BAA0B,GAAG,OAAO,CAAC;AAC1F,EAAE,MAAM,SAAS,GAAG,iBAAiB,GAAG,iBAAiB,GAAG,KAAK,CAAC;AAClE,EAAE,uBAAuB,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AACpD,IAAI,SAAS,EAAE,CAAC,mNAAmN,EAAE,SAAS,CAAC,CAAC;AAChP,GAAG,kBAAkB,KAAK,CAAC,aAAa,CAAC,SAAS,EAAE;AACpD,IAAI,SAAS,EAAE,4EAA4E;AAC3F,GAAG,CAAC,kBAAkB,KAAK,CAAC,aAAa,CAAC,SAAS,EAAE;AACrD,IAAI,SAAS,EAAE,iFAAiF;AAChG,GAAG,kBAAkB,KAAK,CAAC,aAAa,CAAC,SAAS,EAAE;AACpD,IAAI,SAAS,EAAE,6BAA6B;AAC5C,GAAG,EAAE,aAAa,CAAC,kBAAkB,KAAK,CAAC,aAAa,CAAC,SAAS,EAAE;AACpE,IAAI,SAAS,EAAE,oCAAoC;AACnD,GAAG,kBAAkB,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AAChD,IAAI,SAAS,EAAE,oEAAoE;AACnF,GAAG,kBAAkB,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE;AAC/C,IAAI,SAAS,EAAE,mIAAmI;AAClJ,IAAI,aAAa,EAAE,oBAAoB;AACvC,GAAG,EAAE,SAAS,IAAI,IAAI,GAAG,SAAS,GAAG,EAAE,CAAC,CAAC,EAAE,qBAAqB,IAAI,qBAAqB,CAAC,kBAAkB,KAAK,CAAC,aAAa,CAAC,SAAS,EAAE;AAC3I,IAAI,SAAS,EAAE,kFAAkF;AACjG,GAAG,EAAE,CAAC,kBAAkB,oBAAoB,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,kBAAkB,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AACjI,IAAI,SAAS,EAAE,6FAA6F;AAC5G,GAAG,EAAE,aAAa,CAAC,kBAAkB,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AAChE,IAAI,SAAS,EAAE,mBAAmB;AAClC,IAAI,GAAG,EAAE,CAAC,EAAE,GAAG,QAAQ,KAAK,IAAI,GAAG,EAAE,GAAG,EAAE;AAC1C,IAAI,GAAG,EAAE,gBAAgB;AACzB,GAAG,CAAC,kBAAkB,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AACjD,IAAI,SAAS,EAAE,6FAA6F;AAC5G,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC,kBAAkB,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AAClE,IAAI,SAAS,EAAE,oCAAoC;AACnD,GAAG,kBAAkB,KAAK,CAAC,aAAa,CAAC,GAAG,EAAE;AAC9C,IAAI,SAAS,EAAE,oFAAoF;AACnG,IAAI,aAAa,EAAE,wBAAwB;AAC3C,GAAG,EAAE,YAAY,kBAAkB,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE;AAC/D,IAAI,SAAS,EAAE,yBAAyB;AACxC,GAAG,EAAE,UAAU,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,IAAI,IAAI,GAAG,SAAS,GAAG,EAAE,EAAE,KAAK,EAAE,GAAG,kBAAkB,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE;AAC1H,IAAI,SAAS,EAAE,yBAAyB;AACxC,GAAG,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,kBAAkB,KAAK,CAAC,aAAa,CAAC,QAAQ,EAAE;AACvE,IAAI,OAAO,EAAE,WAAW;AACxB,IAAI,SAAS,EAAE,gFAAgF;AAC/F,GAAG,kBAAkB,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE;AACjD,IAAI,SAAS,EAAE,qBAAqB;AACpC,GAAG,kBAAkB,KAAK,CAAC,aAAa,CAAC,GAAG,EAAE;AAC9C,IAAI,SAAS,EAAE,mBAAmB;AAClC,GAAG,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,kBAAkB,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AACpE,IAAI,SAAS,EAAE,yCAAyC;AACxD,GAAG,kBAAkB,KAAK,CAAC,aAAa,CAAC,2BAA2B,EAAE;AACtE,IAAI,OAAO;AACX,GAAG,CAAC,CAAC,CAAC,CAAC;AACP,CAAC;;ACzGD,MAAM,UAAU,GAAG,OAAO,CAAC;AAC3B,MAAM,SAAS,GAAG,MAAM,CAAC;AACb,MAAC,aAAa,GAAG,CAAC;AAC9B,EAAE,UAAU;AACZ,EAAE,cAAc;AAChB,EAAE,cAAc;AAChB,EAAE,SAAS,GAAG,EAAE;AAChB,EAAE,OAAO,GAAG,KAAK;AACjB,EAAE,YAAY,GAAG,EAAE;AACnB,EAAE,kBAAkB,GAAG,KAAK;AAC5B,EAAE,qBAAqB;AACvB,EAAE,oBAAoB;AACtB,EAAE,wBAAwB;AAC1B,EAAE,iBAAiB;AACnB,EAAE,0BAA0B;AAC5B,EAAE,qBAAqB;AACvB,CAAC,KAAK;AACN,EAAE,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;AACzD,EAAE,MAAM;AACR,IAAI,KAAK;AACT,IAAI,SAAS;AACb,IAAI,MAAM,EAAE,OAAO;AACnB,IAAI,MAAM,EAAE,OAAO;AACnB,IAAI,iBAAiB;AACrB,GAAG,GAAG,qBAAqB,CAAC,UAAU,CAAC,CAAC;AACxC,EAAE,MAAM,MAAM,GAAG,cAAc,IAAI,OAAO,CAAC;AAC3C,EAAE,MAAM,MAAM,GAAG,cAAc,IAAI,OAAO,CAAC;AAC3C,EAAE,MAAM,UAAU,GAAG,MAAM;AAC3B,IAAI,IAAI,SAAS,KAAK,UAAU,EAAE;AAClC,MAAM,YAAY,CAAC,SAAS,CAAC,CAAC;AAC9B,KAAK;AACL,IAAI,IAAI,SAAS,KAAK,SAAS,EAAE;AACjC,MAAM,YAAY,CAAC,UAAU,CAAC,CAAC;AAC/B,KAAK;AACL,GAAG,CAAC;AACJ,EAAE,uBAAuB,KAAK,CAAC,aAAa,CAAC,UAAU,EAAE;AACzD,IAAI,SAAS;AACb,GAAG,kBAAkB,KAAK,CAAC,aAAa,CAAC,kBAAkB,EAAE;AAC7D,IAAI,KAAK;AACT,IAAI,iBAAiB;AACrB,IAAI,qBAAqB;AACzB,IAAI,MAAM;AACV,IAAI,MAAM;AACV,IAAI,qBAAqB;AACzB,IAAI,oBAAoB;AACxB,IAAI,0BAA0B;AAC9B,IAAI,iBAAiB;AACrB,IAAI,kBAAkB;AACtB,IAAI,SAAS;AACb,IAAI,SAAS;AACb,IAAI,OAAO;AACX,IAAI,WAAW,EAAE,UAAU;AAC3B,GAAG,CAAC,kBAAkB,KAAK,CAAC,aAAa,CAAC,iBAAiB,EAAE;AAC7D,IAAI,KAAK;AACT,IAAI,iBAAiB;AACrB,IAAI,wBAAwB;AAC5B,IAAI,MAAM;AACV,IAAI,MAAM;AACV,IAAI,SAAS;AACb,IAAI,SAAS;AACb,IAAI,OAAO;AACX,IAAI,YAAY;AAChB,IAAI,WAAW,EAAE,UAAU;AAC3B,GAAG,CAAC,CAAC,CAAC;AACN;;;;"}
|
|
@@ -2,12 +2,13 @@ import React, { useRef, useEffect, useState, useLayoutEffect } from 'react';
|
|
|
2
2
|
import { h, y } from './index.es-e74617b9.js';
|
|
3
3
|
import { a as VCVerificationCheckWithSpinner } from './VCVerificationCheck-80249524.js';
|
|
4
4
|
import DefaultFace from './default-face.jpeg';
|
|
5
|
-
import { g as getColorForVerificationStatus, j as format, h as getNameFromProfile, i as getImageFromProfile, k as getCategoryColor, a as getInfoFromCredential } from './credential.helpers-
|
|
6
|
-
import { g as getBaseUrl, c as VideoIcon, d as Camera, G as GenericDocumentIcon, L as LinkIcon, p as prettyBytes, e as capitalize, X, E as ExclamationPoint, A as AcuteCheckmark, I as InfoIcon, f as SkillsBox, h as AlignmentsBox, t as truncateWithEllipsis, a as CertificateDisplayCard, V as VCDisplayCardSkillsCount } from './CertificateDisplayCard-
|
|
5
|
+
import { g as getColorForVerificationStatus, j as format, h as getNameFromProfile, i as getImageFromProfile, k as getCategoryColor, a as getInfoFromCredential } from './credential.helpers-f9e6b1cf.js';
|
|
6
|
+
import { g as getBaseUrl, c as VideoIcon, d as Camera, G as GenericDocumentIcon, L as LinkIcon, p as prettyBytes, e as capitalize, X, E as ExclamationPoint, A as AcuteCheckmark, I as InfoIcon, f as SkillsBox, h as AlignmentsBox, t as truncateWithEllipsis, P as PersonBadge, i as VerifiedBadge, U as UnknownVerifierBadge, R as RedFlag, a as CertificateDisplayCard, V as VCDisplayCardSkillsCount } from './CertificateDisplayCard-2d4eb309.js';
|
|
7
7
|
import { L as Lightbox } from './Lightbox-a1aab9ea.js';
|
|
8
8
|
import { a as VerificationStatusEnum } from './VCVerificationPill-2297bb5c.js';
|
|
9
|
-
import { A as AwardRibbon } from './
|
|
9
|
+
import { I as IDIcon, Q as QRCodeIcon, A as AwardRibbon } from './QRCodeIcon-e9569804.js';
|
|
10
10
|
import { a as LCCategoryEnum } from './index-43f63ea7.js';
|
|
11
|
+
import IDSleeve from './id-sleeve.png';
|
|
11
12
|
import './CaretRightFilled.svg';
|
|
12
13
|
import 'react-dom';
|
|
13
14
|
import './athletics.svg';
|
|
@@ -419,23 +420,26 @@ const RibbonEnd = ({
|
|
|
419
420
|
};
|
|
420
421
|
|
|
421
422
|
const TruncateTextBox = ({
|
|
422
|
-
headerText,
|
|
423
|
+
headerText = "",
|
|
423
424
|
headerClassName = "",
|
|
424
425
|
text,
|
|
425
426
|
truncateThreshold = 132,
|
|
426
427
|
children,
|
|
427
|
-
className = "truncate-text-box"
|
|
428
|
+
className = "truncate-text-box",
|
|
429
|
+
containerClassName = "",
|
|
430
|
+
textClassName = ""
|
|
428
431
|
}) => {
|
|
429
432
|
const needsTruncate = (text == null ? void 0 : text.length) > truncateThreshold;
|
|
430
433
|
const [showFullText, setShowFullText] = useState(false);
|
|
431
434
|
const truncated = needsTruncate && !showFullText;
|
|
432
435
|
const displayText = truncated ? text.substring(0, truncateThreshold) : text;
|
|
436
|
+
const defaultStyles = "shadow-bottom px-[15px] py-[20px]";
|
|
433
437
|
return /* @__PURE__ */ React.createElement("div", {
|
|
434
|
-
className: `${className} bg-white flex flex-col items-start gap-[10px] rounded-[20px]
|
|
435
|
-
}, /* @__PURE__ */ React.createElement("h3", {
|
|
438
|
+
className: `${className} ${defaultStyles} bg-white flex flex-col items-start gap-[10px] rounded-[20px] w-full ${containerClassName}`
|
|
439
|
+
}, headerText && /* @__PURE__ */ React.createElement("h3", {
|
|
436
440
|
className: `${headerClassName} text-[20px] leading-[20px] text-grayscale-900`
|
|
437
441
|
}, headerText), /* @__PURE__ */ React.createElement("p", {
|
|
438
|
-
className:
|
|
442
|
+
className: `text-[12px] text-grayscale-700 leading-[18px] font-poppins font-[400] mb-0 ${textClassName}`
|
|
439
443
|
}, displayText, truncated && /* @__PURE__ */ React.createElement(React.Fragment, null, "...", " ", /* @__PURE__ */ React.createElement("button", {
|
|
440
444
|
className: "text-indigo-500 font-[700]",
|
|
441
445
|
onClick: () => setShowFullText(true)
|
|
@@ -631,6 +635,157 @@ const VCDisplayCardCategoryType = ({
|
|
|
631
635
|
}, categoryType);
|
|
632
636
|
};
|
|
633
637
|
|
|
638
|
+
const VERIFIER_STATES = {
|
|
639
|
+
selfVerified: "Self Verified",
|
|
640
|
+
trustedVerifier: "Trusted Verifier",
|
|
641
|
+
unknownVerifier: "Unknown Verifier",
|
|
642
|
+
untrustedVerifier: "Untrusted Verifier"
|
|
643
|
+
};
|
|
644
|
+
const VCIDDisplayFrontFace = ({
|
|
645
|
+
credential,
|
|
646
|
+
trustedAppRegistry,
|
|
647
|
+
customThumbComponent,
|
|
648
|
+
qrCodeOnClick
|
|
649
|
+
}) => {
|
|
650
|
+
var _a;
|
|
651
|
+
const { credentialSubject } = getInfoFromCredential(credential, "MMM dd, yyyy", {
|
|
652
|
+
uppercaseDate: false
|
|
653
|
+
});
|
|
654
|
+
const issuerDid = typeof credential.issuer === "string" ? credential.issuer : credential.issuer.id;
|
|
655
|
+
let verifierState;
|
|
656
|
+
if ((credentialSubject == null ? void 0 : credentialSubject.id) === issuerDid && issuerDid && issuerDid !== "did:example:123") {
|
|
657
|
+
verifierState = VERIFIER_STATES.selfVerified;
|
|
658
|
+
} else {
|
|
659
|
+
const appRegistryEntry = trustedAppRegistry == null ? void 0 : trustedAppRegistry.find((registryEntry) => registryEntry.did === issuerDid);
|
|
660
|
+
if (appRegistryEntry) {
|
|
661
|
+
verifierState = appRegistryEntry.isTrusted ? VERIFIER_STATES.trustedVerifier : VERIFIER_STATES.untrustedVerifier;
|
|
662
|
+
} else {
|
|
663
|
+
verifierState = VERIFIER_STATES.unknownVerifier;
|
|
664
|
+
}
|
|
665
|
+
}
|
|
666
|
+
const isSelfVerified = verifierState === VERIFIER_STATES.selfVerified;
|
|
667
|
+
const achievement = "achievement" in (credential == null ? void 0 : credential.credentialSubject) ? (_a = credential == null ? void 0 : credential.credentialSubject) == null ? void 0 : _a.achievement : void 0;
|
|
668
|
+
const description = achievement == null ? void 0 : achievement.description;
|
|
669
|
+
return /* @__PURE__ */ React.createElement("section", {
|
|
670
|
+
className: "vc-front-face w-full flex flex-col items-center gap-[15px]"
|
|
671
|
+
}, customThumbComponent && customThumbComponent, /* @__PURE__ */ React.createElement("div", {
|
|
672
|
+
className: "text-white w-full flex items-center justify-center font-poppins"
|
|
673
|
+
}, /* @__PURE__ */ React.createElement(IDIcon, {
|
|
674
|
+
className: "text-white mr-1"
|
|
675
|
+
}), " ID"), /* @__PURE__ */ React.createElement("div", {
|
|
676
|
+
className: "w-full relative"
|
|
677
|
+
}, /* @__PURE__ */ React.createElement("button", {
|
|
678
|
+
onClick: () => qrCodeOnClick == null ? void 0 : qrCodeOnClick(),
|
|
679
|
+
className: "text-grayscale-900 bg-white rounded-full p-[10px] absolute top-[-10px] right-[45%]"
|
|
680
|
+
}, /* @__PURE__ */ React.createElement(QRCodeIcon, {
|
|
681
|
+
className: "text-grayscale-900 "
|
|
682
|
+
})), /* @__PURE__ */ React.createElement("img", {
|
|
683
|
+
src: IDSleeve,
|
|
684
|
+
alt: "id-sleeve",
|
|
685
|
+
className: "w-full object-cover"
|
|
686
|
+
})), /* @__PURE__ */ React.createElement("div", {
|
|
687
|
+
className: "w-full bg-white relative mt-[-70px] px-6 pb-4 pt-4"
|
|
688
|
+
}, description && /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(TruncateTextBox, {
|
|
689
|
+
text: description,
|
|
690
|
+
className: "description-box",
|
|
691
|
+
containerClassName: "!p-0 !shadow-none !text-center !w-full",
|
|
692
|
+
textClassName: "!font-poppins !text-base !text-grayscale-700 !text-center !w-full",
|
|
693
|
+
truncateThreshold: 204
|
|
694
|
+
}), /* @__PURE__ */ React.createElement("div", {
|
|
695
|
+
className: "w-full flex items-center justify-center mt-4"
|
|
696
|
+
}, /* @__PURE__ */ React.createElement("div", {
|
|
697
|
+
className: "h-[2px] w-full bg-gray-200"
|
|
698
|
+
}))), /* @__PURE__ */ React.createElement("div", {
|
|
699
|
+
className: "w-full flex items-center justify-center mt-2"
|
|
700
|
+
}, isSelfVerified && /* @__PURE__ */ React.createElement("span", {
|
|
701
|
+
className: "uppercase font-poppins text-base font-[500] text-green-dark flex gap-[3px] items-center"
|
|
702
|
+
}, /* @__PURE__ */ React.createElement(PersonBadge, {
|
|
703
|
+
className: "w-[20px] h-[20px]"
|
|
704
|
+
}), "Self Verified"), verifierState === VERIFIER_STATES.trustedVerifier && /* @__PURE__ */ React.createElement("span", {
|
|
705
|
+
className: "uppercase font-poppins text-base font-[500] text-blue-light flex gap-[3px] items-center"
|
|
706
|
+
}, /* @__PURE__ */ React.createElement(VerifiedBadge, {
|
|
707
|
+
className: "w-[20px] h-[20px]"
|
|
708
|
+
}), "Trusted Verifier"), verifierState === VERIFIER_STATES.unknownVerifier && /* @__PURE__ */ React.createElement("span", {
|
|
709
|
+
className: "uppercase font-poppins text-base font-[500] text-orange-500 flex gap-[3px] items-center"
|
|
710
|
+
}, /* @__PURE__ */ React.createElement(UnknownVerifierBadge, {
|
|
711
|
+
className: "w-[20px] h-[20px]"
|
|
712
|
+
}), "Unknown Verifier"), verifierState === VERIFIER_STATES.untrustedVerifier && /* @__PURE__ */ React.createElement("span", {
|
|
713
|
+
className: "uppercase font-poppins text-base font-[500] text-red-mastercard flex gap-[3px] items-center"
|
|
714
|
+
}, /* @__PURE__ */ React.createElement(RedFlag, {
|
|
715
|
+
className: "w-[20px] h-[20px]"
|
|
716
|
+
}), "Untrusted Verifier"))));
|
|
717
|
+
};
|
|
718
|
+
|
|
719
|
+
const VCIDDisplayCard = ({
|
|
720
|
+
credential,
|
|
721
|
+
verificationItems,
|
|
722
|
+
getFileMetadata,
|
|
723
|
+
getVideoMetadata,
|
|
724
|
+
onMediaAttachmentClick,
|
|
725
|
+
customThumbComponent,
|
|
726
|
+
customCriteria,
|
|
727
|
+
customDescription,
|
|
728
|
+
customIssueHistoryComponent,
|
|
729
|
+
issueHistory,
|
|
730
|
+
showBackButton = true,
|
|
731
|
+
enableLightbox,
|
|
732
|
+
trustedAppRegistry,
|
|
733
|
+
customSkillsComponent,
|
|
734
|
+
isFrontOverride,
|
|
735
|
+
setIsFrontOverride,
|
|
736
|
+
hideNavButtons,
|
|
737
|
+
qrCodeOnClick
|
|
738
|
+
}) => {
|
|
739
|
+
const [_isFront, _setIsFront] = useState(isFrontOverride != null ? isFrontOverride : true);
|
|
740
|
+
const isFront = isFrontOverride != null ? isFrontOverride : _isFront;
|
|
741
|
+
const setIsFront = setIsFrontOverride != null ? setIsFrontOverride : _setIsFront;
|
|
742
|
+
const backgroundStyle = {
|
|
743
|
+
backgroundColor: "linear-gradient(180deg, rgba(139,145,167,1) 0%, rgba(24,34,78,1) 100%)",
|
|
744
|
+
backgroundImage: "linear-gradient(180deg, rgba(139,145,167,1) 0%, rgba(24,34,78,1) 100%)",
|
|
745
|
+
backgroundSize: "cover",
|
|
746
|
+
backgroundPosition: "center",
|
|
747
|
+
backgroundAttachment: "fixed"
|
|
748
|
+
};
|
|
749
|
+
return /* @__PURE__ */ React.createElement(h, {
|
|
750
|
+
className: "w-full",
|
|
751
|
+
flipKey: isFront
|
|
752
|
+
}, /* @__PURE__ */ React.createElement(y, {
|
|
753
|
+
flipId: "card"
|
|
754
|
+
}, /* @__PURE__ */ React.createElement("section", {
|
|
755
|
+
className: `vc-display-card font-mouse flex flex-col items-center border-solid border-white rounded-[30px] z-10 max-w-[400px] relative bg-white shadow-3xl ${isFront ? "" : "min-h-[800px]"}`
|
|
756
|
+
}, /* @__PURE__ */ React.createElement("div", {
|
|
757
|
+
className: "relative vc-card-content-container flex flex-col items-center grow min-h-0 w-full rounded-t-[30px] rounded-b-[30px] overflow-hidden",
|
|
758
|
+
style: backgroundStyle
|
|
759
|
+
}, /* @__PURE__ */ React.createElement(y, {
|
|
760
|
+
flipId: "scroll-container"
|
|
761
|
+
}, /* @__PURE__ */ React.createElement("div", {
|
|
762
|
+
className: "vc-card-content-scroll-container w-full min-h-full flex flex-col justify-start items-center rounded-t-[30px] rounded-b-[30px] scrollbar-hide pt-[20px]"
|
|
763
|
+
}, isFront && /* @__PURE__ */ React.createElement(y, {
|
|
764
|
+
flipId: "face"
|
|
765
|
+
}, /* @__PURE__ */ React.createElement(VCIDDisplayFrontFace, {
|
|
766
|
+
customThumbComponent,
|
|
767
|
+
credential,
|
|
768
|
+
trustedAppRegistry,
|
|
769
|
+
qrCodeOnClick
|
|
770
|
+
})), !isFront && /* @__PURE__ */ React.createElement(y, {
|
|
771
|
+
flipId: "face"
|
|
772
|
+
}, /* @__PURE__ */ React.createElement(VC2BackFace, {
|
|
773
|
+
credential,
|
|
774
|
+
verificationItems,
|
|
775
|
+
issueHistory,
|
|
776
|
+
getFileMetadata,
|
|
777
|
+
getVideoMetadata,
|
|
778
|
+
onMediaAttachmentClick,
|
|
779
|
+
showBackButton: showBackButton && !hideNavButtons,
|
|
780
|
+
showFrontFace: () => setIsFront(true),
|
|
781
|
+
customDescription,
|
|
782
|
+
customCriteria,
|
|
783
|
+
customIssueHistoryComponent,
|
|
784
|
+
enableLightbox,
|
|
785
|
+
customSkillsComponent
|
|
786
|
+
}))))))));
|
|
787
|
+
};
|
|
788
|
+
|
|
634
789
|
const VCDisplayCard2 = ({
|
|
635
790
|
categoryType,
|
|
636
791
|
credential,
|
|
@@ -664,9 +819,10 @@ const VCDisplayCard2 = ({
|
|
|
664
819
|
customSkillsComponent,
|
|
665
820
|
isFrontOverride,
|
|
666
821
|
setIsFrontOverride,
|
|
667
|
-
hideNavButtons
|
|
822
|
+
hideNavButtons,
|
|
823
|
+
qrCodeOnClick
|
|
668
824
|
}) => {
|
|
669
|
-
var _a, _b, _c, _d, _e
|
|
825
|
+
var _a, _b, _c, _d, _e;
|
|
670
826
|
const {
|
|
671
827
|
title = "",
|
|
672
828
|
createdAt,
|
|
@@ -702,13 +858,13 @@ const VCDisplayCard2 = ({
|
|
|
702
858
|
const statusColor = getColorForVerificationStatus(worstVerificationStatus);
|
|
703
859
|
const backgroundStyle = {
|
|
704
860
|
backgroundColor: (_a = credential == null ? void 0 : credential.display) == null ? void 0 : _a.backgroundColor,
|
|
705
|
-
backgroundImage:
|
|
861
|
+
backgroundImage: void 0,
|
|
706
862
|
backgroundSize: "cover",
|
|
707
863
|
backgroundPosition: "center",
|
|
708
864
|
backgroundAttachment: "fixed"
|
|
709
865
|
};
|
|
710
866
|
const _title = titleOverride || title;
|
|
711
|
-
if (((
|
|
867
|
+
if (((_b = credential == null ? void 0 : credential.display) == null ? void 0 : _b.displayType) === "certificate") {
|
|
712
868
|
return /* @__PURE__ */ React.createElement(CertificateDisplayCard, {
|
|
713
869
|
credential,
|
|
714
870
|
categoryType,
|
|
@@ -730,6 +886,27 @@ const VCDisplayCard2 = ({
|
|
|
730
886
|
setIsFrontOverride,
|
|
731
887
|
hideNavButtons
|
|
732
888
|
});
|
|
889
|
+
} else if (((_c = credential == null ? void 0 : credential.display) == null ? void 0 : _c.displayType) === "id" || categoryType === "ID") {
|
|
890
|
+
return /* @__PURE__ */ React.createElement(VCIDDisplayCard, {
|
|
891
|
+
credential,
|
|
892
|
+
verificationItems,
|
|
893
|
+
getFileMetadata,
|
|
894
|
+
getVideoMetadata,
|
|
895
|
+
onMediaAttachmentClick,
|
|
896
|
+
customThumbComponent,
|
|
897
|
+
customCriteria,
|
|
898
|
+
customDescription,
|
|
899
|
+
customIssueHistoryComponent,
|
|
900
|
+
issueHistory,
|
|
901
|
+
showBackButton,
|
|
902
|
+
enableLightbox,
|
|
903
|
+
trustedAppRegistry,
|
|
904
|
+
customSkillsComponent,
|
|
905
|
+
isFrontOverride,
|
|
906
|
+
setIsFrontOverride,
|
|
907
|
+
hideNavButtons,
|
|
908
|
+
qrCodeOnClick
|
|
909
|
+
});
|
|
733
910
|
}
|
|
734
911
|
return /* @__PURE__ */ React.createElement(h, {
|
|
735
912
|
className: "w-full",
|
|
@@ -832,9 +1009,9 @@ const VCDisplayCard2 = ({
|
|
|
832
1009
|
style: { color: statusColor }
|
|
833
1010
|
}, worstVerificationStatus)), /* @__PURE__ */ React.createElement("div", {
|
|
834
1011
|
className: "vc-footer-icon rounded-[20px] h-[40px] w-[40px] flex items-center justify-center overflow-hidden",
|
|
835
|
-
style: { backgroundColor: (
|
|
836
|
-
}, (
|
|
1012
|
+
style: { backgroundColor: (_d = bottomRightIcon == null ? void 0 : bottomRightIcon.color) != null ? _d : "#6366F1" }
|
|
1013
|
+
}, (_e = bottomRightIcon == null ? void 0 : bottomRightIcon.image) != null ? _e : /* @__PURE__ */ React.createElement(AwardRibbon, null)))))));
|
|
837
1014
|
};
|
|
838
1015
|
|
|
839
|
-
export { VCDisplayCard2 as V };
|
|
840
|
-
//# sourceMappingURL=VCDisplayCard2-
|
|
1016
|
+
export { VCDisplayCard2 as V, VCIDDisplayCard as a };
|
|
1017
|
+
//# sourceMappingURL=VCDisplayCard2-f0baf63f.js.map
|