@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.
Files changed (131) hide show
  1. package/dist/cjs/{AchievementCard-040be8e5.js → AchievementCard-27fc10b5.js} +2 -2
  2. package/dist/cjs/{AchievementCard-040be8e5.js.map → AchievementCard-27fc10b5.js.map} +1 -1
  3. package/dist/cjs/{BoostGenericCard-227b905d.js → BoostGenericCard-924e41e7.js} +2 -2
  4. package/dist/cjs/{BoostGenericCard-227b905d.js.map → BoostGenericCard-924e41e7.js.map} +1 -1
  5. package/dist/cjs/{BoostSmallCard-1818c2a8.js → BoostSmallCard-28401cef.js} +2 -2
  6. package/dist/cjs/{BoostSmallCard-1818c2a8.js.map → BoostSmallCard-28401cef.js.map} +1 -1
  7. package/dist/cjs/{CertificateDisplayCard-b4a7587d.js → CertificateDisplayCard-054609a1.js} +7 -2
  8. package/dist/cjs/{CertificateDisplayCard-b4a7587d.js.map → CertificateDisplayCard-054609a1.js.map} +1 -1
  9. package/dist/cjs/{GenericCard-42a558e2.js → GenericCard-6ac2620f.js} +2 -2
  10. package/dist/cjs/{GenericCard-42a558e2.js.map → GenericCard-6ac2620f.js.map} +1 -1
  11. package/dist/cjs/{JobListCard-ce1ffea5.js → JobListCard-cdb1aa2f.js} +2 -2
  12. package/dist/cjs/{JobListCard-ce1ffea5.js.map → JobListCard-cdb1aa2f.js.map} +1 -1
  13. package/dist/cjs/{LearnPill-7c351a33.js → LearnPill-64fbabc8.js} +2 -2
  14. package/dist/cjs/{LearnPill-7c351a33.js.map → LearnPill-64fbabc8.js.map} +1 -1
  15. package/dist/cjs/{Lightbulb-1c28af02.js → Lightbulb-19c89d3c.js} +16 -1
  16. package/dist/cjs/Lightbulb-19c89d3c.js.map +1 -0
  17. package/dist/cjs/{AwardRibbon-14ba45fb.js → QRCodeIcon-81c6e96b.js} +64 -1
  18. package/dist/cjs/QRCodeIcon-81c6e96b.js.map +1 -0
  19. package/dist/cjs/{RoundedSquare-898fd68c.js → RoundedSquare-fc16f13f.js} +2 -2
  20. package/dist/cjs/{RoundedSquare-898fd68c.js.map → RoundedSquare-fc16f13f.js.map} +1 -1
  21. package/dist/cjs/{VCCard-19048947.js → VCCard-a968d699.js} +7 -5
  22. package/dist/cjs/{VCCard-19048947.js.map → VCCard-a968d699.js.map} +1 -1
  23. package/dist/cjs/{VCDisplayBackFace-7925c808.js → VCDisplayBackFace-48b87fdd.js} +2 -2
  24. package/dist/cjs/{VCDisplayBackFace-7925c808.js.map → VCDisplayBackFace-48b87fdd.js.map} +1 -1
  25. package/dist/cjs/{VCDisplayCard-044fd719.js → VCDisplayCard-717d89ae.js} +3 -3
  26. package/dist/cjs/{VCDisplayCard-044fd719.js.map → VCDisplayCard-717d89ae.js.map} +1 -1
  27. package/dist/cjs/{VCDisplayCard2-98b48b6f.js → VCDisplayCard2-474c0055.js} +194 -15
  28. package/dist/cjs/VCDisplayCard2-474c0055.js.map +1 -0
  29. package/dist/cjs/{credential.helpers-7705d2b9.js → credential.helpers-bcb06444.js} +4 -3
  30. package/dist/{esm/credential.helpers-d78f00fd.js.map → cjs/credential.helpers-bcb06444.js.map} +1 -1
  31. package/dist/cjs/id-purple.png +0 -0
  32. package/dist/cjs/id-sleeve.png +0 -0
  33. package/dist/cjs/{index-810a6027.js → index-503d0d98.js} +7 -7
  34. package/dist/cjs/index-503d0d98.js.map +1 -0
  35. package/dist/cjs/index.js +24 -18
  36. package/dist/cjs/index.js.map +1 -1
  37. package/dist/cjs/index12.js +3 -3
  38. package/dist/cjs/index13.js +24 -18
  39. package/dist/cjs/index13.js.map +1 -1
  40. package/dist/cjs/index15.js +3 -3
  41. package/dist/cjs/index18.js +3 -3
  42. package/dist/cjs/index2.js +3 -3
  43. package/dist/cjs/index28.js +4 -3
  44. package/dist/cjs/index28.js.map +1 -1
  45. package/dist/cjs/index3.js +3 -3
  46. package/dist/cjs/index35.js +6 -3
  47. package/dist/cjs/index35.js.map +1 -1
  48. package/dist/cjs/index36.js +12 -10
  49. package/dist/cjs/index36.js.map +1 -1
  50. package/dist/cjs/index37.js +7 -5
  51. package/dist/cjs/index37.js.map +1 -1
  52. package/dist/cjs/index38.js +8 -6
  53. package/dist/cjs/index38.js.map +1 -1
  54. package/dist/cjs/index39.js +10 -7
  55. package/dist/cjs/index39.js.map +1 -1
  56. package/dist/cjs/index4.js +3 -3
  57. package/dist/cjs/index40.js +5 -3
  58. package/dist/cjs/index40.js.map +1 -1
  59. package/dist/cjs/index6.js +7 -5
  60. package/dist/cjs/index6.js.map +1 -1
  61. package/dist/esm/{AchievementCard-6a2e0157.js → AchievementCard-36de6ca1.js} +2 -2
  62. package/dist/esm/{AchievementCard-6a2e0157.js.map → AchievementCard-36de6ca1.js.map} +1 -1
  63. package/dist/esm/{BoostGenericCard-819edafe.js → BoostGenericCard-09f3bd8a.js} +2 -2
  64. package/dist/esm/{BoostGenericCard-819edafe.js.map → BoostGenericCard-09f3bd8a.js.map} +1 -1
  65. package/dist/esm/{BoostSmallCard-7397a49f.js → BoostSmallCard-d33208f5.js} +2 -2
  66. package/dist/esm/{BoostSmallCard-7397a49f.js.map → BoostSmallCard-d33208f5.js.map} +1 -1
  67. package/dist/esm/{CertificateDisplayCard-ca9fba32.js → CertificateDisplayCard-2d4eb309.js} +4 -3
  68. package/dist/esm/{CertificateDisplayCard-ca9fba32.js.map → CertificateDisplayCard-2d4eb309.js.map} +1 -1
  69. package/dist/esm/{GenericCard-f2ca2e70.js → GenericCard-9b48aec8.js} +2 -2
  70. package/dist/esm/{GenericCard-f2ca2e70.js.map → GenericCard-9b48aec8.js.map} +1 -1
  71. package/dist/esm/{JobListCard-8eb5c695.js → JobListCard-afc060d7.js} +2 -2
  72. package/dist/esm/{JobListCard-8eb5c695.js.map → JobListCard-afc060d7.js.map} +1 -1
  73. package/dist/esm/{LearnPill-45f11cf2.js → LearnPill-ebb251f6.js} +2 -2
  74. package/dist/esm/{LearnPill-45f11cf2.js.map → LearnPill-ebb251f6.js.map} +1 -1
  75. package/dist/esm/{Lightbulb-a3c1679f.js → Lightbulb-b6eca510.js} +16 -2
  76. package/dist/esm/Lightbulb-b6eca510.js.map +1 -0
  77. package/dist/esm/{AwardRibbon-3e682281.js → QRCodeIcon-e9569804.js} +63 -2
  78. package/dist/esm/QRCodeIcon-e9569804.js.map +1 -0
  79. package/dist/esm/{RoundedSquare-bd85712f.js → RoundedSquare-0d25f9ef.js} +2 -2
  80. package/dist/esm/{RoundedSquare-bd85712f.js.map → RoundedSquare-0d25f9ef.js.map} +1 -1
  81. package/dist/esm/{VCCard-03f463db.js → VCCard-c8ef35ec.js} +7 -5
  82. package/dist/esm/{VCCard-03f463db.js.map → VCCard-c8ef35ec.js.map} +1 -1
  83. package/dist/esm/{VCDisplayBackFace-3ea4aacf.js → VCDisplayBackFace-4ded34ef.js} +2 -2
  84. package/dist/esm/{VCDisplayBackFace-3ea4aacf.js.map → VCDisplayBackFace-4ded34ef.js.map} +1 -1
  85. package/dist/esm/{VCDisplayCard-e8755402.js → VCDisplayCard-2fc36a72.js} +3 -3
  86. package/dist/esm/{VCDisplayCard-e8755402.js.map → VCDisplayCard-2fc36a72.js.map} +1 -1
  87. package/dist/esm/{VCDisplayCard2-04957dca.js → VCDisplayCard2-f0baf63f.js} +193 -16
  88. package/dist/esm/VCDisplayCard2-f0baf63f.js.map +1 -0
  89. package/dist/esm/{credential.helpers-d78f00fd.js → credential.helpers-f9e6b1cf.js} +4 -3
  90. package/dist/{cjs/credential.helpers-7705d2b9.js.map → esm/credential.helpers-f9e6b1cf.js.map} +1 -1
  91. package/dist/esm/id-purple.png +0 -0
  92. package/dist/esm/id-sleeve.png +0 -0
  93. package/dist/esm/{index-5ebb2b5d.js → index-09573aa0.js} +6 -6
  94. package/dist/esm/index-09573aa0.js.map +1 -0
  95. package/dist/esm/index.js +19 -17
  96. package/dist/esm/index.js.map +1 -1
  97. package/dist/esm/index12.js +3 -3
  98. package/dist/esm/index13.js +19 -17
  99. package/dist/esm/index13.js.map +1 -1
  100. package/dist/esm/index15.js +3 -3
  101. package/dist/esm/index18.js +3 -3
  102. package/dist/esm/index2.js +3 -3
  103. package/dist/esm/index28.js +4 -3
  104. package/dist/esm/index28.js.map +1 -1
  105. package/dist/esm/index3.js +3 -3
  106. package/dist/esm/index35.js +2 -2
  107. package/dist/esm/index36.js +12 -10
  108. package/dist/esm/index36.js.map +1 -1
  109. package/dist/esm/index37.js +7 -5
  110. package/dist/esm/index37.js.map +1 -1
  111. package/dist/esm/index38.js +8 -6
  112. package/dist/esm/index38.js.map +1 -1
  113. package/dist/esm/index39.js +9 -7
  114. package/dist/esm/index39.js.map +1 -1
  115. package/dist/esm/index4.js +3 -3
  116. package/dist/esm/index40.js +5 -3
  117. package/dist/esm/index40.js.map +1 -1
  118. package/dist/esm/index6.js +7 -5
  119. package/dist/esm/index6.js.map +1 -1
  120. package/dist/index.d.ts +36 -1
  121. package/dist/main.css +1 -1
  122. package/dist/main.js +1 -1
  123. package/package.json +1 -1
  124. package/dist/cjs/AwardRibbon-14ba45fb.js.map +0 -1
  125. package/dist/cjs/Lightbulb-1c28af02.js.map +0 -1
  126. package/dist/cjs/VCDisplayCard2-98b48b6f.js.map +0 -1
  127. package/dist/cjs/index-810a6027.js.map +0 -1
  128. package/dist/esm/AwardRibbon-3e682281.js.map +0 -1
  129. package/dist/esm/Lightbulb-a3c1679f.js.map +0 -1
  130. package/dist/esm/VCDisplayCard2-04957dca.js.map +0 -1
  131. 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":"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"}
@@ -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-d78f00fd.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, a as CertificateDisplayCard, V as VCDisplayCardSkillsCount } from './CertificateDisplayCard-ca9fba32.js';
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 './AwardRibbon-3e682281.js';
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] shadow-bottom px-[15px] py-[20px] w-full"`
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: "text-[12px] text-grayscale-700 leading-[18px] font-poppins font-[400] mb-0"
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, _f;
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: ((_b = credential == null ? void 0 : credential.display) == null ? void 0 : _b.backgroundImage) ? `linear-gradient(to bottom, rgba(0, 0, 0, 0.15), rgba(0, 0, 0, 0.25)), url(${(_c = credential.display) == null ? void 0 : _c.backgroundImage})` : void 0,
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 (((_d = credential == null ? void 0 : credential.display) == null ? void 0 : _d.displayType) === "certificate") {
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: (_e = bottomRightIcon == null ? void 0 : bottomRightIcon.color) != null ? _e : "#6366F1" }
836
- }, (_f = bottomRightIcon == null ? void 0 : bottomRightIcon.image) != null ? _f : /* @__PURE__ */ React.createElement(AwardRibbon, null)))))));
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-04957dca.js.map
1016
+ export { VCDisplayCard2 as V, VCIDDisplayCard as a };
1017
+ //# sourceMappingURL=VCDisplayCard2-f0baf63f.js.map