@learncard/react 2.6.63 → 2.6.65

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 (147) hide show
  1. package/dist/cjs/Accommodation-Hands.png +0 -0
  2. package/dist/cjs/{AchievementCard-a52e4f25.js → AchievementCard-040be8e5.js} +2 -2
  3. package/dist/cjs/{AchievementCard-a52e4f25.js.map → AchievementCard-040be8e5.js.map} +1 -1
  4. package/dist/cjs/{BoostGenericCard-7426cbea.js → BoostGenericCard-227b905d.js} +2 -2
  5. package/dist/cjs/{BoostGenericCard-7426cbea.js.map → BoostGenericCard-227b905d.js.map} +1 -1
  6. package/dist/cjs/{BoostSmallCard-0b3a3dd8.js → BoostSmallCard-1818c2a8.js} +2 -2
  7. package/dist/cjs/{BoostSmallCard-0b3a3dd8.js.map → BoostSmallCard-1818c2a8.js.map} +1 -1
  8. package/dist/cjs/{CertificateDisplayCard-eb505657.js → CertificateDisplayCard-07e6a4e9.js} +39 -25
  9. package/dist/cjs/{CertificateDisplayCard-eb505657.js.map → CertificateDisplayCard-07e6a4e9.js.map} +1 -1
  10. package/dist/cjs/{GenericCard-6f8770f5.js → GenericCard-42a558e2.js} +2 -2
  11. package/dist/cjs/{GenericCard-6f8770f5.js.map → GenericCard-42a558e2.js.map} +1 -1
  12. package/dist/cjs/{JobListCard-ccc86b2e.js → JobListCard-ce1ffea5.js} +2 -2
  13. package/dist/cjs/{JobListCard-ccc86b2e.js.map → JobListCard-ce1ffea5.js.map} +1 -1
  14. package/dist/cjs/{LearnPill-0ca6cc11.js → LearnPill-7c351a33.js} +2 -2
  15. package/dist/cjs/{LearnPill-0ca6cc11.js.map → LearnPill-7c351a33.js.map} +1 -1
  16. package/dist/cjs/{Lightbulb-1c28af02.js → Lightbulb-19c89d3c.js} +16 -1
  17. package/dist/cjs/Lightbulb-19c89d3c.js.map +1 -0
  18. package/dist/cjs/{AwardRibbon-14ba45fb.js → QRCodeIcon-81c6e96b.js} +64 -1
  19. package/dist/cjs/QRCodeIcon-81c6e96b.js.map +1 -0
  20. package/dist/cjs/{RoundedSquare-caa49231.js → RoundedSquare-898fd68c.js} +2 -2
  21. package/dist/cjs/{RoundedSquare-caa49231.js.map → RoundedSquare-898fd68c.js.map} +1 -1
  22. package/dist/cjs/{VCCard-e9147997.js → VCCard-835b3132.js} +8 -6
  23. package/dist/cjs/{VCCard-e9147997.js.map → VCCard-835b3132.js.map} +1 -1
  24. package/dist/cjs/{VCDisplayBackFace-3d2ef528.js → VCDisplayBackFace-7df2a29d.js} +2 -2
  25. package/dist/cjs/{VCDisplayBackFace-3d2ef528.js.map → VCDisplayBackFace-7df2a29d.js.map} +1 -1
  26. package/dist/cjs/{VCDisplayCard-244451a9.js → VCDisplayCard-c54d55b9.js} +3 -3
  27. package/dist/cjs/{VCDisplayCard-244451a9.js.map → VCDisplayCard-c54d55b9.js.map} +1 -1
  28. package/dist/cjs/{VCDisplayCard2-159e6248.js → VCDisplayCard2-b016c80e.js} +202 -21
  29. package/dist/cjs/VCDisplayCard2-b016c80e.js.map +1 -0
  30. package/dist/cjs/apple.png +0 -0
  31. package/dist/cjs/{constants-bf970829.js → constants-93a826a5.js} +5 -5
  32. package/dist/cjs/constants-93a826a5.js.map +1 -0
  33. package/dist/cjs/{credential.helpers-69dff6ee.js → credential.helpers-da2a9c40.js} +6 -5
  34. package/dist/{esm/credential.helpers-7658d821.js.map → cjs/credential.helpers-da2a9c40.js.map} +1 -1
  35. package/dist/cjs/id-sleeve.png +0 -0
  36. package/dist/cjs/{index-c570c8fb.js → index-810a6027.js} +5 -5
  37. package/dist/cjs/index-810a6027.js.map +1 -0
  38. package/dist/cjs/{index.es-f433af46.js → index.es-fd7e56d1.js} +1 -1
  39. package/dist/cjs/index.es-fd7e56d1.js.map +1 -0
  40. package/dist/cjs/index.js +45 -38
  41. package/dist/cjs/index.js.map +1 -1
  42. package/dist/cjs/index12.js +4 -4
  43. package/dist/cjs/index13.js +45 -38
  44. package/dist/cjs/index13.js.map +1 -1
  45. package/dist/cjs/index15.js +4 -4
  46. package/dist/cjs/index18.js +4 -4
  47. package/dist/cjs/index2.js +4 -4
  48. package/dist/cjs/index28.js +5 -5
  49. package/dist/cjs/index3.js +4 -4
  50. package/dist/cjs/index35.js +6 -3
  51. package/dist/cjs/index35.js.map +1 -1
  52. package/dist/cjs/index36.js +14 -13
  53. package/dist/cjs/index36.js.map +1 -1
  54. package/dist/cjs/index37.js +9 -8
  55. package/dist/cjs/index37.js.map +1 -1
  56. package/dist/cjs/index38.js +10 -9
  57. package/dist/cjs/index38.js.map +1 -1
  58. package/dist/cjs/index39.js +12 -10
  59. package/dist/cjs/index39.js.map +1 -1
  60. package/dist/cjs/index4.js +4 -4
  61. package/dist/cjs/index40.js +7 -6
  62. package/dist/cjs/index40.js.map +1 -1
  63. package/dist/cjs/index6.js +15 -12
  64. package/dist/cjs/index6.js.map +1 -1
  65. package/dist/esm/Accommodation-Hands.png +0 -0
  66. package/dist/esm/{AchievementCard-e83fb98a.js → AchievementCard-6a2e0157.js} +2 -2
  67. package/dist/esm/{AchievementCard-e83fb98a.js.map → AchievementCard-6a2e0157.js.map} +1 -1
  68. package/dist/esm/{BoostGenericCard-d691d173.js → BoostGenericCard-819edafe.js} +2 -2
  69. package/dist/esm/{BoostGenericCard-d691d173.js.map → BoostGenericCard-819edafe.js.map} +1 -1
  70. package/dist/esm/{BoostSmallCard-ece551a1.js → BoostSmallCard-7397a49f.js} +2 -2
  71. package/dist/esm/{BoostSmallCard-ece551a1.js.map → BoostSmallCard-7397a49f.js.map} +1 -1
  72. package/dist/esm/{CertificateDisplayCard-c957fc65.js → CertificateDisplayCard-17349700.js} +34 -26
  73. package/dist/esm/{CertificateDisplayCard-c957fc65.js.map → CertificateDisplayCard-17349700.js.map} +1 -1
  74. package/dist/esm/{GenericCard-a4de814a.js → GenericCard-f2ca2e70.js} +2 -2
  75. package/dist/esm/{GenericCard-a4de814a.js.map → GenericCard-f2ca2e70.js.map} +1 -1
  76. package/dist/esm/{JobListCard-c0e65ce0.js → JobListCard-8eb5c695.js} +2 -2
  77. package/dist/esm/{JobListCard-c0e65ce0.js.map → JobListCard-8eb5c695.js.map} +1 -1
  78. package/dist/esm/{LearnPill-c3773645.js → LearnPill-45f11cf2.js} +2 -2
  79. package/dist/esm/{LearnPill-c3773645.js.map → LearnPill-45f11cf2.js.map} +1 -1
  80. package/dist/esm/{Lightbulb-a3c1679f.js → Lightbulb-b6eca510.js} +16 -2
  81. package/dist/esm/Lightbulb-b6eca510.js.map +1 -0
  82. package/dist/esm/{AwardRibbon-3e682281.js → QRCodeIcon-e9569804.js} +63 -2
  83. package/dist/esm/QRCodeIcon-e9569804.js.map +1 -0
  84. package/dist/esm/{RoundedSquare-80a5d236.js → RoundedSquare-bd85712f.js} +2 -2
  85. package/dist/esm/{RoundedSquare-80a5d236.js.map → RoundedSquare-bd85712f.js.map} +1 -1
  86. package/dist/esm/{VCCard-b2d4987a.js → VCCard-c4f21ead.js} +8 -6
  87. package/dist/esm/{VCCard-b2d4987a.js.map → VCCard-c4f21ead.js.map} +1 -1
  88. package/dist/esm/{VCDisplayBackFace-2c25ac06.js → VCDisplayBackFace-5bc37282.js} +2 -2
  89. package/dist/esm/{VCDisplayBackFace-2c25ac06.js.map → VCDisplayBackFace-5bc37282.js.map} +1 -1
  90. package/dist/esm/{VCDisplayCard-0dffb43a.js → VCDisplayCard-316b0158.js} +3 -3
  91. package/dist/esm/{VCDisplayCard-0dffb43a.js.map → VCDisplayCard-316b0158.js.map} +1 -1
  92. package/dist/esm/{VCDisplayCard2-0f7dc0fa.js → VCDisplayCard2-807ce71f.js} +201 -22
  93. package/dist/esm/VCDisplayCard2-807ce71f.js.map +1 -0
  94. package/dist/esm/apple.png +0 -0
  95. package/dist/esm/{constants-acd78b79.js → constants-ee2b8bc3.js} +4 -4
  96. package/dist/esm/constants-ee2b8bc3.js.map +1 -0
  97. package/dist/esm/{credential.helpers-7658d821.js → credential.helpers-ca3bdf87.js} +6 -5
  98. package/dist/{cjs/credential.helpers-69dff6ee.js.map → esm/credential.helpers-ca3bdf87.js.map} +1 -1
  99. package/dist/esm/id-sleeve.png +0 -0
  100. package/dist/esm/{index-1a9a2345.js → index-5ebb2b5d.js} +4 -4
  101. package/dist/esm/index-5ebb2b5d.js.map +1 -0
  102. package/dist/esm/{index.es-76d64136.js → index.es-e74617b9.js} +1 -1
  103. package/dist/esm/index.es-e74617b9.js.map +1 -0
  104. package/dist/esm/index.js +35 -34
  105. package/dist/esm/index.js.map +1 -1
  106. package/dist/esm/index12.js +4 -4
  107. package/dist/esm/index13.js +35 -34
  108. package/dist/esm/index13.js.map +1 -1
  109. package/dist/esm/index15.js +4 -4
  110. package/dist/esm/index18.js +4 -4
  111. package/dist/esm/index2.js +4 -4
  112. package/dist/esm/index28.js +5 -5
  113. package/dist/esm/index3.js +4 -4
  114. package/dist/esm/index35.js +2 -2
  115. package/dist/esm/index36.js +14 -13
  116. package/dist/esm/index36.js.map +1 -1
  117. package/dist/esm/index37.js +9 -8
  118. package/dist/esm/index37.js.map +1 -1
  119. package/dist/esm/index38.js +10 -9
  120. package/dist/esm/index38.js.map +1 -1
  121. package/dist/esm/index39.js +11 -10
  122. package/dist/esm/index39.js.map +1 -1
  123. package/dist/esm/index4.js +4 -4
  124. package/dist/esm/index40.js +7 -6
  125. package/dist/esm/index40.js.map +1 -1
  126. package/dist/esm/index6.js +13 -12
  127. package/dist/esm/index6.js.map +1 -1
  128. package/dist/index.d.ts +66 -1
  129. package/dist/main.css +1 -1
  130. package/dist/main.js +1 -1
  131. package/package.json +2 -1
  132. package/dist/cjs/AwardRibbon-14ba45fb.js.map +0 -1
  133. package/dist/cjs/Lightbulb-1c28af02.js.map +0 -1
  134. package/dist/cjs/VCDisplayCard2-159e6248.js.map +0 -1
  135. package/dist/cjs/accommodation-hands.svg +0 -19
  136. package/dist/cjs/constants-bf970829.js.map +0 -1
  137. package/dist/cjs/index-c570c8fb.js.map +0 -1
  138. package/dist/cjs/index.es-f433af46.js.map +0 -1
  139. package/dist/cjs/ladder.svg +0 -9
  140. package/dist/esm/AwardRibbon-3e682281.js.map +0 -1
  141. package/dist/esm/Lightbulb-a3c1679f.js.map +0 -1
  142. package/dist/esm/VCDisplayCard2-0f7dc0fa.js.map +0 -1
  143. package/dist/esm/accommodation-hands.svg +0 -19
  144. package/dist/esm/constants-acd78b79.js.map +0 -1
  145. package/dist/esm/index-1a9a2345.js.map +0 -1
  146. package/dist/esm/index.es-76d64136.js.map +0 -1
  147. package/dist/esm/ladder.svg +0 -9
@@ -1 +1 @@
1
- {"version":3,"file":"VCDisplayCard-244451a9.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":["getNameFromProfile","getImageFromProfile","React","DefaultFace","FatArrow","VCVerificationCheckWithText","useState","getInfoFromCredential","FlippyCard","VCDisplayBackFace"],"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,GAAGA,qCAAkB,CAAC,MAAM,IAAI,IAAI,GAAG,MAAM,GAAG,EAAE,CAAC,CAAC;AACtE,EAAE,MAAM,UAAU,GAAGA,qCAAkB,CAAC,MAAM,IAAI,IAAI,GAAG,MAAM,GAAG,EAAE,CAAC,CAAC;AACtE,EAAE,MAAM,WAAW,GAAGC,sCAAmB,CAAC,MAAM,IAAI,IAAI,GAAG,MAAM,GAAG,EAAE,CAAC,CAAC;AACxE,EAAE,MAAM,WAAW,GAAGA,sCAAmB,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,mBAAmBC,yBAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AAC/D,MAAM,SAAS,EAAE,kIAAkI;AACnJ,KAAK,kBAAkBA,yBAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AAClD,MAAM,SAAS,EAAE,4BAA4B;AAC7C,MAAM,GAAG,EAAE,WAAW,IAAIC,+BAAW;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,mBAAmBD,yBAAK,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,mBAAmBA,yBAAK,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,mBAAmBA,yBAAK,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,mBAAmBA,yBAAK,CAAC,aAAa,CAACA,yBAAK,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,uBAAuBA,yBAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AACpD,IAAI,SAAS,EAAE,CAAC,mNAAmN,EAAE,SAAS,CAAC,CAAC;AAChP,GAAG,kBAAkBA,yBAAK,CAAC,aAAa,CAAC,SAAS,EAAE;AACpD,IAAI,SAAS,EAAE,4EAA4E;AAC3F,GAAG,CAAC,kBAAkBA,yBAAK,CAAC,aAAa,CAAC,SAAS,EAAE;AACrD,IAAI,SAAS,EAAE,iFAAiF;AAChG,GAAG,kBAAkBA,yBAAK,CAAC,aAAa,CAAC,SAAS,EAAE;AACpD,IAAI,SAAS,EAAE,6BAA6B;AAC5C,GAAG,EAAE,aAAa,CAAC,kBAAkBA,yBAAK,CAAC,aAAa,CAAC,SAAS,EAAE;AACpE,IAAI,SAAS,EAAE,oCAAoC;AACnD,GAAG,kBAAkBA,yBAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AAChD,IAAI,SAAS,EAAE,oEAAoE;AACnF,GAAG,kBAAkBA,yBAAK,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,kBAAkBA,yBAAK,CAAC,aAAa,CAAC,SAAS,EAAE;AAC3I,IAAI,SAAS,EAAE,kFAAkF;AACjG,GAAG,EAAE,CAAC,kBAAkB,oBAAoBA,yBAAK,CAAC,aAAa,CAACA,yBAAK,CAAC,QAAQ,EAAE,IAAI,kBAAkBA,yBAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AACjI,IAAI,SAAS,EAAE,6FAA6F;AAC5G,GAAG,EAAE,aAAa,CAAC,kBAAkBA,yBAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AAChE,IAAI,SAAS,EAAE,mBAAmB;AAClC,IAAI,GAAG,EAAE,CAAC,EAAE,GAAGE,4BAAQ,KAAK,IAAI,GAAG,EAAE,GAAG,EAAE;AAC1C,IAAI,GAAG,EAAE,gBAAgB;AACzB,GAAG,CAAC,kBAAkBF,yBAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AACjD,IAAI,SAAS,EAAE,6FAA6F;AAC5G,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC,kBAAkBA,yBAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AAClE,IAAI,SAAS,EAAE,oCAAoC;AACnD,GAAG,kBAAkBA,yBAAK,CAAC,aAAa,CAAC,GAAG,EAAE;AAC9C,IAAI,SAAS,EAAE,oFAAoF;AACnG,IAAI,aAAa,EAAE,wBAAwB;AAC3C,GAAG,EAAE,YAAY,kBAAkBA,yBAAK,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,kBAAkBA,yBAAK,CAAC,aAAa,CAAC,MAAM,EAAE;AAC1H,IAAI,SAAS,EAAE,yBAAyB;AACxC,GAAG,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,kBAAkBA,yBAAK,CAAC,aAAa,CAAC,QAAQ,EAAE;AACvE,IAAI,OAAO,EAAE,WAAW;AACxB,IAAI,SAAS,EAAE,gFAAgF;AAC/F,GAAG,kBAAkBA,yBAAK,CAAC,aAAa,CAAC,MAAM,EAAE;AACjD,IAAI,SAAS,EAAE,qBAAqB;AACpC,GAAG,kBAAkBA,yBAAK,CAAC,aAAa,CAAC,GAAG,EAAE;AAC9C,IAAI,SAAS,EAAE,mBAAmB;AAClC,GAAG,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,kBAAkBA,yBAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AACpE,IAAI,SAAS,EAAE,yCAAyC;AACxD,GAAG,kBAAkBA,yBAAK,CAAC,aAAa,CAACG,+CAA2B,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,GAAGC,cAAQ,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,GAAGC,wCAAqB,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,uBAAuBL,yBAAK,CAAC,aAAa,CAACM,qBAAU,EAAE;AACzD,IAAI,SAAS;AACb,GAAG,kBAAkBN,yBAAK,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,kBAAkBA,yBAAK,CAAC,aAAa,CAACO,mCAAiB,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;;;;"}
1
+ {"version":3,"file":"VCDisplayCard-c54d55b9.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":["getNameFromProfile","getImageFromProfile","React","DefaultFace","FatArrow","VCVerificationCheckWithText","useState","getInfoFromCredential","FlippyCard","VCDisplayBackFace"],"mappings":"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"}
@@ -1,15 +1,16 @@
1
1
  'use strict';
2
2
 
3
3
  var React = require('react');
4
- var index_es = require('./index.es-f433af46.js');
4
+ var index_es = require('./index.es-fd7e56d1.js');
5
5
  var VCVerificationCheck = require('./VCVerificationCheck-46fa75d3.js');
6
6
  var DefaultFace = require('./default-face.jpeg');
7
- var credential_helpers = require('./credential.helpers-69dff6ee.js');
8
- var CertificateDisplayCard = require('./CertificateDisplayCard-eb505657.js');
7
+ var credential_helpers = require('./credential.helpers-da2a9c40.js');
8
+ var CertificateDisplayCard = require('./CertificateDisplayCard-07e6a4e9.js');
9
9
  var Lightbox = require('./Lightbox-f19e13d2.js');
10
10
  var VCVerificationPill = require('./VCVerificationPill-0b0f6894.js');
11
- var AwardRibbon = require('./AwardRibbon-14ba45fb.js');
11
+ var QRCodeIcon = require('./QRCodeIcon-81c6e96b.js');
12
12
  var index = require('./index-7d94d5ac.js');
13
+ var IDSleeve = require('./id-sleeve.png');
13
14
  require('./CaretRightFilled.svg');
14
15
  require('react-dom');
15
16
  require('./athletics.svg');
@@ -26,6 +27,7 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
26
27
 
27
28
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
28
29
  var DefaultFace__default = /*#__PURE__*/_interopDefaultLegacy(DefaultFace);
30
+ var IDSleeve__default = /*#__PURE__*/_interopDefaultLegacy(IDSleeve);
29
31
 
30
32
  const LeftArrow = ({ className = "", size = "20" }) => {
31
33
  return /* @__PURE__ */ React__default["default"].createElement("svg", {
@@ -426,23 +428,26 @@ const RibbonEnd = ({
426
428
  };
427
429
 
428
430
  const TruncateTextBox = ({
429
- headerText,
431
+ headerText = "",
430
432
  headerClassName = "",
431
433
  text,
432
434
  truncateThreshold = 132,
433
435
  children,
434
- className = "truncate-text-box"
436
+ className = "truncate-text-box",
437
+ containerClassName = "",
438
+ textClassName = ""
435
439
  }) => {
436
440
  const needsTruncate = (text == null ? void 0 : text.length) > truncateThreshold;
437
441
  const [showFullText, setShowFullText] = React.useState(false);
438
442
  const truncated = needsTruncate && !showFullText;
439
443
  const displayText = truncated ? text.substring(0, truncateThreshold) : text;
444
+ const defaultStyles = "shadow-bottom px-[15px] py-[20px]";
440
445
  return /* @__PURE__ */ React__default["default"].createElement("div", {
441
- className: `${className} bg-white flex flex-col items-start gap-[10px] rounded-[20px] shadow-bottom px-[15px] py-[20px] w-full"`
442
- }, /* @__PURE__ */ React__default["default"].createElement("h3", {
446
+ className: `${className} ${defaultStyles} bg-white flex flex-col items-start gap-[10px] rounded-[20px] w-full ${containerClassName}`
447
+ }, headerText && /* @__PURE__ */ React__default["default"].createElement("h3", {
443
448
  className: `${headerClassName} text-[20px] leading-[20px] text-grayscale-900`
444
449
  }, headerText), /* @__PURE__ */ React__default["default"].createElement("p", {
445
- className: "text-[12px] text-grayscale-700 leading-[18px] font-poppins font-[400] mb-0"
450
+ className: `text-[12px] text-grayscale-700 leading-[18px] font-poppins font-[400] mb-0 ${textClassName}`
446
451
  }, displayText, truncated && /* @__PURE__ */ React__default["default"].createElement(React__default["default"].Fragment, null, "...", " ", /* @__PURE__ */ React__default["default"].createElement("button", {
447
452
  className: "text-indigo-500 font-[700]",
448
453
  onClick: () => setShowFullText(true)
@@ -638,6 +643,153 @@ const VCDisplayCardCategoryType = ({
638
643
  }, categoryType);
639
644
  };
640
645
 
646
+ const VERIFIER_STATES = {
647
+ selfVerified: "Self Verified",
648
+ trustedVerifier: "Trusted Verifier",
649
+ unknownVerifier: "Unknown Verifier",
650
+ untrustedVerifier: "Untrusted Verifier"
651
+ };
652
+ const VCIDDisplayFrontFace = ({
653
+ credential,
654
+ trustedAppRegistry,
655
+ customThumbComponent
656
+ }) => {
657
+ var _a;
658
+ const { credentialSubject } = credential_helpers.getInfoFromCredential(credential, "MMM dd, yyyy", {
659
+ uppercaseDate: false
660
+ });
661
+ const issuerDid = typeof credential.issuer === "string" ? credential.issuer : credential.issuer.id;
662
+ let verifierState;
663
+ if ((credentialSubject == null ? void 0 : credentialSubject.id) === issuerDid && issuerDid && issuerDid !== "did:example:123") {
664
+ verifierState = VERIFIER_STATES.selfVerified;
665
+ } else {
666
+ const appRegistryEntry = trustedAppRegistry == null ? void 0 : trustedAppRegistry.find((registryEntry) => registryEntry.did === issuerDid);
667
+ if (appRegistryEntry) {
668
+ verifierState = appRegistryEntry.isTrusted ? VERIFIER_STATES.trustedVerifier : VERIFIER_STATES.untrustedVerifier;
669
+ } else {
670
+ verifierState = VERIFIER_STATES.unknownVerifier;
671
+ }
672
+ }
673
+ const isSelfVerified = verifierState === VERIFIER_STATES.selfVerified;
674
+ const achievement = "achievement" in (credential == null ? void 0 : credential.credentialSubject) ? (_a = credential == null ? void 0 : credential.credentialSubject) == null ? void 0 : _a.achievement : void 0;
675
+ const description = achievement == null ? void 0 : achievement.description;
676
+ return /* @__PURE__ */ React__default["default"].createElement("section", {
677
+ className: "vc-front-face w-full flex flex-col items-center gap-[15px]"
678
+ }, customThumbComponent && customThumbComponent, /* @__PURE__ */ React__default["default"].createElement("div", {
679
+ className: "text-white w-full flex items-center justify-center font-poppins"
680
+ }, /* @__PURE__ */ React__default["default"].createElement(QRCodeIcon.IDIcon, {
681
+ className: "text-white mr-1"
682
+ }), " ID"), /* @__PURE__ */ React__default["default"].createElement("div", {
683
+ className: "w-full relative"
684
+ }, /* @__PURE__ */ React__default["default"].createElement("button", {
685
+ className: "text-grayscale-900 bg-white rounded-full p-[10px] absolute top-[-10px] right-[45%]"
686
+ }, /* @__PURE__ */ React__default["default"].createElement(QRCodeIcon.QRCodeIcon, {
687
+ className: "text-grayscale-900 "
688
+ })), /* @__PURE__ */ React__default["default"].createElement("img", {
689
+ src: IDSleeve__default["default"],
690
+ alt: "id-sleeve",
691
+ className: "w-full object-cover"
692
+ })), /* @__PURE__ */ React__default["default"].createElement("div", {
693
+ className: "w-full bg-white relative mt-[-70px] px-6 pb-4 pt-4"
694
+ }, description && /* @__PURE__ */ React__default["default"].createElement(React__default["default"].Fragment, null, /* @__PURE__ */ React__default["default"].createElement(TruncateTextBox, {
695
+ text: description,
696
+ className: "description-box",
697
+ containerClassName: "!p-0 !shadow-none !text-center !w-full",
698
+ textClassName: "!font-poppins !text-base !text-grayscale-700 !text-center !w-full",
699
+ truncateThreshold: 204
700
+ }), /* @__PURE__ */ React__default["default"].createElement("div", {
701
+ className: "w-full flex items-center justify-center mt-4"
702
+ }, /* @__PURE__ */ React__default["default"].createElement("div", {
703
+ className: "h-[2px] w-full bg-gray-200"
704
+ }))), /* @__PURE__ */ React__default["default"].createElement("div", {
705
+ className: "w-full flex items-center justify-center mt-2"
706
+ }, isSelfVerified && /* @__PURE__ */ React__default["default"].createElement("span", {
707
+ className: "uppercase font-poppins text-base font-[500] text-green-dark flex gap-[3px] items-center"
708
+ }, /* @__PURE__ */ React__default["default"].createElement(CertificateDisplayCard.PersonBadge, {
709
+ className: "w-[20px] h-[20px]"
710
+ }), "Self Verified"), verifierState === VERIFIER_STATES.trustedVerifier && /* @__PURE__ */ React__default["default"].createElement("span", {
711
+ className: "uppercase font-poppins text-base font-[500] text-blue-light flex gap-[3px] items-center"
712
+ }, /* @__PURE__ */ React__default["default"].createElement(CertificateDisplayCard.VerifiedBadge, {
713
+ className: "w-[20px] h-[20px]"
714
+ }), "Trusted Verifier"), verifierState === VERIFIER_STATES.unknownVerifier && /* @__PURE__ */ React__default["default"].createElement("span", {
715
+ className: "uppercase font-poppins text-base font-[500] text-orange-500 flex gap-[3px] items-center"
716
+ }, /* @__PURE__ */ React__default["default"].createElement(CertificateDisplayCard.UnknownVerifierBadge, {
717
+ className: "w-[20px] h-[20px]"
718
+ }), "Unknown Verifier"), verifierState === VERIFIER_STATES.untrustedVerifier && /* @__PURE__ */ React__default["default"].createElement("span", {
719
+ className: "uppercase font-poppins text-base font-[500] text-red-mastercard flex gap-[3px] items-center"
720
+ }, /* @__PURE__ */ React__default["default"].createElement(CertificateDisplayCard.RedFlag, {
721
+ className: "w-[20px] h-[20px]"
722
+ }), "Untrusted Verifier"))));
723
+ };
724
+
725
+ const VCIDDisplayCard = ({
726
+ credential,
727
+ verificationItems,
728
+ getFileMetadata,
729
+ getVideoMetadata,
730
+ onMediaAttachmentClick,
731
+ customThumbComponent,
732
+ customCriteria,
733
+ customDescription,
734
+ customIssueHistoryComponent,
735
+ issueHistory,
736
+ showBackButton = true,
737
+ enableLightbox,
738
+ trustedAppRegistry,
739
+ customSkillsComponent,
740
+ isFrontOverride,
741
+ setIsFrontOverride,
742
+ hideNavButtons
743
+ }) => {
744
+ const [_isFront, _setIsFront] = React.useState(isFrontOverride != null ? isFrontOverride : true);
745
+ const isFront = isFrontOverride != null ? isFrontOverride : _isFront;
746
+ const setIsFront = setIsFrontOverride != null ? setIsFrontOverride : _setIsFront;
747
+ const backgroundStyle = {
748
+ backgroundColor: "linear-gradient(180deg, rgba(255,208,71,1) 0%, rgba(234,179,8,1) 100%)",
749
+ backgroundImage: "linear-gradient(180deg, rgba(255,208,71,1) 0%, rgba(234,179,8,1) 100%)",
750
+ backgroundSize: "cover",
751
+ backgroundPosition: "center",
752
+ backgroundAttachment: "fixed"
753
+ };
754
+ return /* @__PURE__ */ React__default["default"].createElement(index_es.h, {
755
+ className: "w-full",
756
+ flipKey: isFront
757
+ }, /* @__PURE__ */ React__default["default"].createElement(index_es.y, {
758
+ flipId: "card"
759
+ }, /* @__PURE__ */ React__default["default"].createElement("section", {
760
+ 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]"}`
761
+ }, /* @__PURE__ */ React__default["default"].createElement("div", {
762
+ 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",
763
+ style: backgroundStyle
764
+ }, /* @__PURE__ */ React__default["default"].createElement(index_es.y, {
765
+ flipId: "scroll-container"
766
+ }, /* @__PURE__ */ React__default["default"].createElement("div", {
767
+ 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]"
768
+ }, isFront && /* @__PURE__ */ React__default["default"].createElement(index_es.y, {
769
+ flipId: "face"
770
+ }, /* @__PURE__ */ React__default["default"].createElement(VCIDDisplayFrontFace, {
771
+ customThumbComponent,
772
+ credential,
773
+ trustedAppRegistry
774
+ })), !isFront && /* @__PURE__ */ React__default["default"].createElement(index_es.y, {
775
+ flipId: "face"
776
+ }, /* @__PURE__ */ React__default["default"].createElement(VC2BackFace, {
777
+ credential,
778
+ verificationItems,
779
+ issueHistory,
780
+ getFileMetadata,
781
+ getVideoMetadata,
782
+ onMediaAttachmentClick,
783
+ showBackButton: showBackButton && !hideNavButtons,
784
+ showFrontFace: () => setIsFront(true),
785
+ customDescription,
786
+ customCriteria,
787
+ customIssueHistoryComponent,
788
+ enableLightbox,
789
+ customSkillsComponent
790
+ }))))))));
791
+ };
792
+
641
793
  const VCDisplayCard2 = ({
642
794
  categoryType,
643
795
  credential,
@@ -668,9 +820,12 @@ const VCDisplayCard2 = ({
668
820
  trustedAppRegistry,
669
821
  hideIssueDate,
670
822
  onDotsClick,
671
- customSkillsComponent
823
+ customSkillsComponent,
824
+ isFrontOverride,
825
+ setIsFrontOverride,
826
+ hideNavButtons
672
827
  }) => {
673
- var _a, _b, _c, _d, _e, _f;
828
+ var _a, _b, _c, _d, _e;
674
829
  const {
675
830
  title = "",
676
831
  createdAt,
@@ -680,7 +835,9 @@ const VCDisplayCard2 = ({
680
835
  } = credential_helpers.getInfoFromCredential(credential, "MMM dd, yyyy");
681
836
  const issuee = issueeOverride || _issuee;
682
837
  const issuer = issuerOverride || _issuer;
683
- const [isFront, setIsFront] = React.useState(true);
838
+ const [_isFront, _setIsFront] = React.useState(isFrontOverride != null ? isFrontOverride : true);
839
+ const isFront = isFrontOverride != null ? isFrontOverride : _isFront;
840
+ const setIsFront = setIsFrontOverride != null ? setIsFrontOverride : _setIsFront;
684
841
  const [headerHeight, setHeaderHeight] = React.useState(100);
685
842
  const [headerWidth, setHeaderWidth] = React.useState(0);
686
843
  const headerRef = React.useRef(null);
@@ -704,13 +861,13 @@ const VCDisplayCard2 = ({
704
861
  const statusColor = credential_helpers.getColorForVerificationStatus(worstVerificationStatus);
705
862
  const backgroundStyle = {
706
863
  backgroundColor: (_a = credential == null ? void 0 : credential.display) == null ? void 0 : _a.backgroundColor,
707
- 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,
864
+ backgroundImage: void 0,
708
865
  backgroundSize: "cover",
709
866
  backgroundPosition: "center",
710
867
  backgroundAttachment: "fixed"
711
868
  };
712
869
  const _title = titleOverride || title;
713
- if (((_d = credential == null ? void 0 : credential.display) == null ? void 0 : _d.displayType) === "certificate") {
870
+ if (((_b = credential == null ? void 0 : credential.display) == null ? void 0 : _b.displayType) === "certificate") {
714
871
  return /* @__PURE__ */ React__default["default"].createElement(CertificateDisplayCard.CertificateDisplayCard, {
715
872
  credential,
716
873
  categoryType,
@@ -727,7 +884,30 @@ const VCDisplayCard2 = ({
727
884
  issuerImageComponent,
728
885
  customBodyCardComponent,
729
886
  hideIssueDate,
730
- onDotsClick
887
+ onDotsClick,
888
+ isFrontOverride,
889
+ setIsFrontOverride,
890
+ hideNavButtons
891
+ });
892
+ } else if (((_c = credential == null ? void 0 : credential.display) == null ? void 0 : _c.displayType) === "id" || categoryType === "ID") {
893
+ return /* @__PURE__ */ React__default["default"].createElement(VCIDDisplayCard, {
894
+ credential,
895
+ verificationItems,
896
+ getFileMetadata,
897
+ getVideoMetadata,
898
+ onMediaAttachmentClick,
899
+ customThumbComponent,
900
+ customCriteria,
901
+ customDescription,
902
+ customIssueHistoryComponent,
903
+ issueHistory,
904
+ showBackButton,
905
+ enableLightbox,
906
+ trustedAppRegistry,
907
+ customSkillsComponent,
908
+ isFrontOverride,
909
+ setIsFrontOverride,
910
+ hideNavButtons
731
911
  });
732
912
  }
733
913
  return /* @__PURE__ */ React__default["default"].createElement(index_es.h, {
@@ -789,7 +969,7 @@ const VCDisplayCard2 = ({
789
969
  getFileMetadata,
790
970
  getVideoMetadata,
791
971
  onMediaAttachmentClick,
792
- showBackButton,
972
+ showBackButton: showBackButton && !hideNavButtons,
793
973
  showFrontFace: () => setIsFront(true),
794
974
  customDescription,
795
975
  customCriteria,
@@ -799,7 +979,7 @@ const VCDisplayCard2 = ({
799
979
  })), isFront && /* @__PURE__ */ React__default["default"].createElement(CertificateDisplayCard.VCDisplayCardSkillsCount, {
800
980
  skills: credential == null ? void 0 : credential.skills,
801
981
  onClick: () => setIsFront(!isFront)
802
- }), isFront && customFrontButton, isFront && !customFrontButton && /* @__PURE__ */ React__default["default"].createElement(index_es.y, {
982
+ }), !hideNavButtons && /* @__PURE__ */ React__default["default"].createElement(React__default["default"].Fragment, null, isFront && customFrontButton, isFront && !customFrontButton && /* @__PURE__ */ React__default["default"].createElement(index_es.y, {
803
983
  flipId: "details-back-button"
804
984
  }, /* @__PURE__ */ React__default["default"].createElement("button", {
805
985
  type: "button",
@@ -813,7 +993,7 @@ const VCDisplayCard2 = ({
813
993
  onClick: () => setIsFront(!isFront)
814
994
  }, /* @__PURE__ */ React__default["default"].createElement("span", {
815
995
  className: "flex gap-[10px] items-center"
816
- }, /* @__PURE__ */ React__default["default"].createElement(LeftArrow, null), "Back")))))), /* @__PURE__ */ React__default["default"].createElement("footer", {
996
+ }, /* @__PURE__ */ React__default["default"].createElement(LeftArrow, null), "Back"))))))), /* @__PURE__ */ React__default["default"].createElement("footer", {
817
997
  className: "vc-card-footer w-full flex justify-between p-[5px] mt-[5px]"
818
998
  }, customFooterComponent && customFooterComponent, !customFooterComponent && /* @__PURE__ */ React__default["default"].createElement(React__default["default"].Fragment, null, worstVerificationStatus === VCVerificationPill.VerificationStatusEnum.Failed ? /* @__PURE__ */ React__default["default"].createElement("div", {
819
999
  className: "w-[40px]",
@@ -831,9 +1011,10 @@ const VCDisplayCard2 = ({
831
1011
  style: { color: statusColor }
832
1012
  }, worstVerificationStatus)), /* @__PURE__ */ React__default["default"].createElement("div", {
833
1013
  className: "vc-footer-icon rounded-[20px] h-[40px] w-[40px] flex items-center justify-center overflow-hidden",
834
- style: { backgroundColor: (_e = bottomRightIcon == null ? void 0 : bottomRightIcon.color) != null ? _e : "#6366F1" }
835
- }, (_f = bottomRightIcon == null ? void 0 : bottomRightIcon.image) != null ? _f : /* @__PURE__ */ React__default["default"].createElement(AwardRibbon.AwardRibbon, null)))))));
1014
+ style: { backgroundColor: (_d = bottomRightIcon == null ? void 0 : bottomRightIcon.color) != null ? _d : "#6366F1" }
1015
+ }, (_e = bottomRightIcon == null ? void 0 : bottomRightIcon.image) != null ? _e : /* @__PURE__ */ React__default["default"].createElement(QRCodeIcon.AwardRibbon, null)))))));
836
1016
  };
837
1017
 
838
1018
  exports.VCDisplayCard2 = VCDisplayCard2;
839
- //# sourceMappingURL=VCDisplayCard2-159e6248.js.map
1019
+ exports.VCIDDisplayCard = VCIDDisplayCard;
1020
+ //# sourceMappingURL=VCDisplayCard2-b016c80e.js.map