@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-0dffb43a.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-316b0158.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,13 +1,14 @@
1
1
  import React, { useRef, useEffect, useState, useLayoutEffect } from 'react';
2
- import { h, y } from './index.es-76d64136.js';
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-7658d821.js';
6
- import { g as getBaseUrl, a as VideoIcon, b as Camera, G as GenericDocumentIcon, L as LinkIcon, p as prettyBytes, c as capitalize, X, E as ExclamationPoint, A as AcuteCheckmark, I as InfoIcon, d as SkillsBox, e as AlignmentsBox, t as truncateWithEllipsis, C as CertificateDisplayCard, V as VCDisplayCardSkillsCount } from './CertificateDisplayCard-c957fc65.js';
5
+ import { g as getColorForVerificationStatus, j as format, h as getNameFromProfile, i as getImageFromProfile, k as getCategoryColor, a as getInfoFromCredential } from './credential.helpers-ca3bdf87.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-17349700.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,153 @@ 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
+ }) => {
649
+ var _a;
650
+ const { credentialSubject } = getInfoFromCredential(credential, "MMM dd, yyyy", {
651
+ uppercaseDate: false
652
+ });
653
+ const issuerDid = typeof credential.issuer === "string" ? credential.issuer : credential.issuer.id;
654
+ let verifierState;
655
+ if ((credentialSubject == null ? void 0 : credentialSubject.id) === issuerDid && issuerDid && issuerDid !== "did:example:123") {
656
+ verifierState = VERIFIER_STATES.selfVerified;
657
+ } else {
658
+ const appRegistryEntry = trustedAppRegistry == null ? void 0 : trustedAppRegistry.find((registryEntry) => registryEntry.did === issuerDid);
659
+ if (appRegistryEntry) {
660
+ verifierState = appRegistryEntry.isTrusted ? VERIFIER_STATES.trustedVerifier : VERIFIER_STATES.untrustedVerifier;
661
+ } else {
662
+ verifierState = VERIFIER_STATES.unknownVerifier;
663
+ }
664
+ }
665
+ const isSelfVerified = verifierState === VERIFIER_STATES.selfVerified;
666
+ const achievement = "achievement" in (credential == null ? void 0 : credential.credentialSubject) ? (_a = credential == null ? void 0 : credential.credentialSubject) == null ? void 0 : _a.achievement : void 0;
667
+ const description = achievement == null ? void 0 : achievement.description;
668
+ return /* @__PURE__ */ React.createElement("section", {
669
+ className: "vc-front-face w-full flex flex-col items-center gap-[15px]"
670
+ }, customThumbComponent && customThumbComponent, /* @__PURE__ */ React.createElement("div", {
671
+ className: "text-white w-full flex items-center justify-center font-poppins"
672
+ }, /* @__PURE__ */ React.createElement(IDIcon, {
673
+ className: "text-white mr-1"
674
+ }), " ID"), /* @__PURE__ */ React.createElement("div", {
675
+ className: "w-full relative"
676
+ }, /* @__PURE__ */ React.createElement("button", {
677
+ className: "text-grayscale-900 bg-white rounded-full p-[10px] absolute top-[-10px] right-[45%]"
678
+ }, /* @__PURE__ */ React.createElement(QRCodeIcon, {
679
+ className: "text-grayscale-900 "
680
+ })), /* @__PURE__ */ React.createElement("img", {
681
+ src: IDSleeve,
682
+ alt: "id-sleeve",
683
+ className: "w-full object-cover"
684
+ })), /* @__PURE__ */ React.createElement("div", {
685
+ className: "w-full bg-white relative mt-[-70px] px-6 pb-4 pt-4"
686
+ }, description && /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(TruncateTextBox, {
687
+ text: description,
688
+ className: "description-box",
689
+ containerClassName: "!p-0 !shadow-none !text-center !w-full",
690
+ textClassName: "!font-poppins !text-base !text-grayscale-700 !text-center !w-full",
691
+ truncateThreshold: 204
692
+ }), /* @__PURE__ */ React.createElement("div", {
693
+ className: "w-full flex items-center justify-center mt-4"
694
+ }, /* @__PURE__ */ React.createElement("div", {
695
+ className: "h-[2px] w-full bg-gray-200"
696
+ }))), /* @__PURE__ */ React.createElement("div", {
697
+ className: "w-full flex items-center justify-center mt-2"
698
+ }, isSelfVerified && /* @__PURE__ */ React.createElement("span", {
699
+ className: "uppercase font-poppins text-base font-[500] text-green-dark flex gap-[3px] items-center"
700
+ }, /* @__PURE__ */ React.createElement(PersonBadge, {
701
+ className: "w-[20px] h-[20px]"
702
+ }), "Self Verified"), verifierState === VERIFIER_STATES.trustedVerifier && /* @__PURE__ */ React.createElement("span", {
703
+ className: "uppercase font-poppins text-base font-[500] text-blue-light flex gap-[3px] items-center"
704
+ }, /* @__PURE__ */ React.createElement(VerifiedBadge, {
705
+ className: "w-[20px] h-[20px]"
706
+ }), "Trusted Verifier"), verifierState === VERIFIER_STATES.unknownVerifier && /* @__PURE__ */ React.createElement("span", {
707
+ className: "uppercase font-poppins text-base font-[500] text-orange-500 flex gap-[3px] items-center"
708
+ }, /* @__PURE__ */ React.createElement(UnknownVerifierBadge, {
709
+ className: "w-[20px] h-[20px]"
710
+ }), "Unknown Verifier"), verifierState === VERIFIER_STATES.untrustedVerifier && /* @__PURE__ */ React.createElement("span", {
711
+ className: "uppercase font-poppins text-base font-[500] text-red-mastercard flex gap-[3px] items-center"
712
+ }, /* @__PURE__ */ React.createElement(RedFlag, {
713
+ className: "w-[20px] h-[20px]"
714
+ }), "Untrusted Verifier"))));
715
+ };
716
+
717
+ const VCIDDisplayCard = ({
718
+ credential,
719
+ verificationItems,
720
+ getFileMetadata,
721
+ getVideoMetadata,
722
+ onMediaAttachmentClick,
723
+ customThumbComponent,
724
+ customCriteria,
725
+ customDescription,
726
+ customIssueHistoryComponent,
727
+ issueHistory,
728
+ showBackButton = true,
729
+ enableLightbox,
730
+ trustedAppRegistry,
731
+ customSkillsComponent,
732
+ isFrontOverride,
733
+ setIsFrontOverride,
734
+ hideNavButtons
735
+ }) => {
736
+ const [_isFront, _setIsFront] = useState(isFrontOverride != null ? isFrontOverride : true);
737
+ const isFront = isFrontOverride != null ? isFrontOverride : _isFront;
738
+ const setIsFront = setIsFrontOverride != null ? setIsFrontOverride : _setIsFront;
739
+ const backgroundStyle = {
740
+ backgroundColor: "linear-gradient(180deg, rgba(255,208,71,1) 0%, rgba(234,179,8,1) 100%)",
741
+ backgroundImage: "linear-gradient(180deg, rgba(255,208,71,1) 0%, rgba(234,179,8,1) 100%)",
742
+ backgroundSize: "cover",
743
+ backgroundPosition: "center",
744
+ backgroundAttachment: "fixed"
745
+ };
746
+ return /* @__PURE__ */ React.createElement(h, {
747
+ className: "w-full",
748
+ flipKey: isFront
749
+ }, /* @__PURE__ */ React.createElement(y, {
750
+ flipId: "card"
751
+ }, /* @__PURE__ */ React.createElement("section", {
752
+ 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]"}`
753
+ }, /* @__PURE__ */ React.createElement("div", {
754
+ 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",
755
+ style: backgroundStyle
756
+ }, /* @__PURE__ */ React.createElement(y, {
757
+ flipId: "scroll-container"
758
+ }, /* @__PURE__ */ React.createElement("div", {
759
+ 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]"
760
+ }, isFront && /* @__PURE__ */ React.createElement(y, {
761
+ flipId: "face"
762
+ }, /* @__PURE__ */ React.createElement(VCIDDisplayFrontFace, {
763
+ customThumbComponent,
764
+ credential,
765
+ trustedAppRegistry
766
+ })), !isFront && /* @__PURE__ */ React.createElement(y, {
767
+ flipId: "face"
768
+ }, /* @__PURE__ */ React.createElement(VC2BackFace, {
769
+ credential,
770
+ verificationItems,
771
+ issueHistory,
772
+ getFileMetadata,
773
+ getVideoMetadata,
774
+ onMediaAttachmentClick,
775
+ showBackButton: showBackButton && !hideNavButtons,
776
+ showFrontFace: () => setIsFront(true),
777
+ customDescription,
778
+ customCriteria,
779
+ customIssueHistoryComponent,
780
+ enableLightbox,
781
+ customSkillsComponent
782
+ }))))))));
783
+ };
784
+
634
785
  const VCDisplayCard2 = ({
635
786
  categoryType,
636
787
  credential,
@@ -661,9 +812,12 @@ const VCDisplayCard2 = ({
661
812
  trustedAppRegistry,
662
813
  hideIssueDate,
663
814
  onDotsClick,
664
- customSkillsComponent
815
+ customSkillsComponent,
816
+ isFrontOverride,
817
+ setIsFrontOverride,
818
+ hideNavButtons
665
819
  }) => {
666
- var _a, _b, _c, _d, _e, _f;
820
+ var _a, _b, _c, _d, _e;
667
821
  const {
668
822
  title = "",
669
823
  createdAt,
@@ -673,7 +827,9 @@ const VCDisplayCard2 = ({
673
827
  } = getInfoFromCredential(credential, "MMM dd, yyyy");
674
828
  const issuee = issueeOverride || _issuee;
675
829
  const issuer = issuerOverride || _issuer;
676
- const [isFront, setIsFront] = useState(true);
830
+ const [_isFront, _setIsFront] = useState(isFrontOverride != null ? isFrontOverride : true);
831
+ const isFront = isFrontOverride != null ? isFrontOverride : _isFront;
832
+ const setIsFront = setIsFrontOverride != null ? setIsFrontOverride : _setIsFront;
677
833
  const [headerHeight, setHeaderHeight] = useState(100);
678
834
  const [headerWidth, setHeaderWidth] = useState(0);
679
835
  const headerRef = useRef(null);
@@ -697,13 +853,13 @@ const VCDisplayCard2 = ({
697
853
  const statusColor = getColorForVerificationStatus(worstVerificationStatus);
698
854
  const backgroundStyle = {
699
855
  backgroundColor: (_a = credential == null ? void 0 : credential.display) == null ? void 0 : _a.backgroundColor,
700
- 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,
856
+ backgroundImage: void 0,
701
857
  backgroundSize: "cover",
702
858
  backgroundPosition: "center",
703
859
  backgroundAttachment: "fixed"
704
860
  };
705
861
  const _title = titleOverride || title;
706
- if (((_d = credential == null ? void 0 : credential.display) == null ? void 0 : _d.displayType) === "certificate") {
862
+ if (((_b = credential == null ? void 0 : credential.display) == null ? void 0 : _b.displayType) === "certificate") {
707
863
  return /* @__PURE__ */ React.createElement(CertificateDisplayCard, {
708
864
  credential,
709
865
  categoryType,
@@ -720,7 +876,30 @@ const VCDisplayCard2 = ({
720
876
  issuerImageComponent,
721
877
  customBodyCardComponent,
722
878
  hideIssueDate,
723
- onDotsClick
879
+ onDotsClick,
880
+ isFrontOverride,
881
+ setIsFrontOverride,
882
+ hideNavButtons
883
+ });
884
+ } else if (((_c = credential == null ? void 0 : credential.display) == null ? void 0 : _c.displayType) === "id" || categoryType === "ID") {
885
+ return /* @__PURE__ */ React.createElement(VCIDDisplayCard, {
886
+ credential,
887
+ verificationItems,
888
+ getFileMetadata,
889
+ getVideoMetadata,
890
+ onMediaAttachmentClick,
891
+ customThumbComponent,
892
+ customCriteria,
893
+ customDescription,
894
+ customIssueHistoryComponent,
895
+ issueHistory,
896
+ showBackButton,
897
+ enableLightbox,
898
+ trustedAppRegistry,
899
+ customSkillsComponent,
900
+ isFrontOverride,
901
+ setIsFrontOverride,
902
+ hideNavButtons
724
903
  });
725
904
  }
726
905
  return /* @__PURE__ */ React.createElement(h, {
@@ -782,7 +961,7 @@ const VCDisplayCard2 = ({
782
961
  getFileMetadata,
783
962
  getVideoMetadata,
784
963
  onMediaAttachmentClick,
785
- showBackButton,
964
+ showBackButton: showBackButton && !hideNavButtons,
786
965
  showFrontFace: () => setIsFront(true),
787
966
  customDescription,
788
967
  customCriteria,
@@ -792,7 +971,7 @@ const VCDisplayCard2 = ({
792
971
  })), isFront && /* @__PURE__ */ React.createElement(VCDisplayCardSkillsCount, {
793
972
  skills: credential == null ? void 0 : credential.skills,
794
973
  onClick: () => setIsFront(!isFront)
795
- }), isFront && customFrontButton, isFront && !customFrontButton && /* @__PURE__ */ React.createElement(y, {
974
+ }), !hideNavButtons && /* @__PURE__ */ React.createElement(React.Fragment, null, isFront && customFrontButton, isFront && !customFrontButton && /* @__PURE__ */ React.createElement(y, {
796
975
  flipId: "details-back-button"
797
976
  }, /* @__PURE__ */ React.createElement("button", {
798
977
  type: "button",
@@ -806,7 +985,7 @@ const VCDisplayCard2 = ({
806
985
  onClick: () => setIsFront(!isFront)
807
986
  }, /* @__PURE__ */ React.createElement("span", {
808
987
  className: "flex gap-[10px] items-center"
809
- }, /* @__PURE__ */ React.createElement(LeftArrow, null), "Back")))))), /* @__PURE__ */ React.createElement("footer", {
988
+ }, /* @__PURE__ */ React.createElement(LeftArrow, null), "Back"))))))), /* @__PURE__ */ React.createElement("footer", {
810
989
  className: "vc-card-footer w-full flex justify-between p-[5px] mt-[5px]"
811
990
  }, customFooterComponent && customFooterComponent, !customFooterComponent && /* @__PURE__ */ React.createElement(React.Fragment, null, worstVerificationStatus === VerificationStatusEnum.Failed ? /* @__PURE__ */ React.createElement("div", {
812
991
  className: "w-[40px]",
@@ -824,9 +1003,9 @@ const VCDisplayCard2 = ({
824
1003
  style: { color: statusColor }
825
1004
  }, worstVerificationStatus)), /* @__PURE__ */ React.createElement("div", {
826
1005
  className: "vc-footer-icon rounded-[20px] h-[40px] w-[40px] flex items-center justify-center overflow-hidden",
827
- style: { backgroundColor: (_e = bottomRightIcon == null ? void 0 : bottomRightIcon.color) != null ? _e : "#6366F1" }
828
- }, (_f = bottomRightIcon == null ? void 0 : bottomRightIcon.image) != null ? _f : /* @__PURE__ */ React.createElement(AwardRibbon, null)))))));
1006
+ style: { backgroundColor: (_d = bottomRightIcon == null ? void 0 : bottomRightIcon.color) != null ? _d : "#6366F1" }
1007
+ }, (_e = bottomRightIcon == null ? void 0 : bottomRightIcon.image) != null ? _e : /* @__PURE__ */ React.createElement(AwardRibbon, null)))))));
829
1008
  };
830
1009
 
831
- export { VCDisplayCard2 as V };
832
- //# sourceMappingURL=VCDisplayCard2-0f7dc0fa.js.map
1010
+ export { VCDisplayCard2 as V, VCIDDisplayCard as a };
1011
+ //# sourceMappingURL=VCDisplayCard2-807ce71f.js.map