@learncard/react 2.12.2 → 2.12.4

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 (128) hide show
  1. package/dist/cjs/{BoostGenericCard-06bedec7.js → BoostGenericCard-8e8598eb.js} +2 -2
  2. package/dist/cjs/{BoostGenericCard-06bedec7.js.map → BoostGenericCard-8e8598eb.js.map} +1 -1
  3. package/dist/cjs/{BoostSmallCard-ece8f97e.js → BoostSmallCard-ac8ab73d.js} +2 -2
  4. package/dist/cjs/{BoostSmallCard-ece8f97e.js.map → BoostSmallCard-ac8ab73d.js.map} +1 -1
  5. package/dist/cjs/{CertificateDisplayCard-9c1d58da.js → CertificateDisplayCard-91331ab3.js} +7 -6
  6. package/dist/cjs/{CertificateDisplayCard-9c1d58da.js.map → CertificateDisplayCard-91331ab3.js.map} +1 -1
  7. package/dist/cjs/{MeritBadgeDisplayCard-201bf5ad.js → MeritBadgeDisplayCard-e95c03aa.js} +7 -6
  8. package/dist/cjs/MeritBadgeDisplayCard-e95c03aa.js.map +1 -0
  9. package/dist/cjs/{MeritBadgeSkillsCount-ef283e0d.js → MeritBadgeSkillsCount-cb61b87f.js} +2 -2
  10. package/dist/cjs/{MeritBadgeSkillsCount-ef283e0d.js.map → MeritBadgeSkillsCount-cb61b87f.js.map} +1 -1
  11. package/dist/cjs/{NotificationBoostCard-3ed9ec86.js → NotificationBoostCard-04dd2405.js} +2 -2
  12. package/dist/cjs/{NotificationBoostCard-3ed9ec86.js.map → NotificationBoostCard-04dd2405.js.map} +1 -1
  13. package/dist/cjs/{UserProfilePicture-80675455.js → UserProfilePicture-61571db9.js} +8 -4
  14. package/dist/cjs/UserProfilePicture-61571db9.js.map +1 -0
  15. package/dist/cjs/{VCCard-d72176f3.js → VCCard-4120d521.js} +3 -3
  16. package/dist/cjs/{VCCard-d72176f3.js.map → VCCard-4120d521.js.map} +1 -1
  17. package/dist/cjs/{VCDisplayBackFace-27460538.js → VCDisplayBackFace-3a62c8f7.js} +3 -3
  18. package/dist/cjs/{VCDisplayBackFace-27460538.js.map → VCDisplayBackFace-3a62c8f7.js.map} +1 -1
  19. package/dist/cjs/{VCDisplayCard-b05125ab.js → VCDisplayCard-3f6937c3.js} +4 -4
  20. package/dist/cjs/{VCDisplayCard-b05125ab.js.map → VCDisplayCard-3f6937c3.js.map} +1 -1
  21. package/dist/cjs/{VCDisplayCard2-78d4cc3f.js → VCDisplayCard2-695c8060.js} +23 -22
  22. package/dist/cjs/VCDisplayCard2-695c8060.js.map +1 -0
  23. package/dist/cjs/{VCVerificationPill-3c130965.js → VCVerificationPill-cf4353f2.js} +2 -2
  24. package/dist/cjs/{VCVerificationPill-3c130965.js.map → VCVerificationPill-cf4353f2.js.map} +1 -1
  25. package/dist/cjs/VerifierStateBadgeAndText-3d7977c9.js +2575 -0
  26. package/dist/cjs/VerifierStateBadgeAndText-3d7977c9.js.map +1 -0
  27. package/dist/cjs/{credential.helpers-3d0256cf.js → credential.helpers-f2da12b7.js} +2 -2
  28. package/dist/cjs/{credential.helpers-3d0256cf.js.map → credential.helpers-f2da12b7.js.map} +1 -1
  29. package/dist/cjs/index.js +16 -15
  30. package/dist/cjs/index.js.map +1 -1
  31. package/dist/cjs/index14.js +16 -15
  32. package/dist/cjs/index14.js.map +1 -1
  33. package/dist/cjs/index22.js +7 -6
  34. package/dist/cjs/index22.js.map +1 -1
  35. package/dist/cjs/index25.js +3 -2
  36. package/dist/cjs/index25.js.map +1 -1
  37. package/dist/cjs/index38.js +2 -1
  38. package/dist/cjs/index38.js.map +1 -1
  39. package/dist/cjs/index39.js +12 -11
  40. package/dist/cjs/index39.js.map +1 -1
  41. package/dist/cjs/index4.js +3 -3
  42. package/dist/cjs/index40.js +4 -4
  43. package/dist/cjs/index41.js +7 -6
  44. package/dist/cjs/index41.js.map +1 -1
  45. package/dist/cjs/index42.js +8 -7
  46. package/dist/cjs/index42.js.map +1 -1
  47. package/dist/cjs/index43.js +2 -1
  48. package/dist/cjs/index43.js.map +1 -1
  49. package/dist/cjs/index46.js +2 -2
  50. package/dist/cjs/index5.js +3 -2
  51. package/dist/cjs/index5.js.map +1 -1
  52. package/dist/cjs/index7.js +6 -5
  53. package/dist/cjs/index7.js.map +1 -1
  54. package/dist/cjs/{types.esm-228757cd.js → types.esm-39ee5677.js} +3 -7
  55. package/dist/cjs/types.esm-39ee5677.js.map +1 -0
  56. package/dist/esm/{BoostGenericCard-d4ea46de.js → BoostGenericCard-bd7c9207.js} +2 -2
  57. package/dist/esm/{BoostGenericCard-d4ea46de.js.map → BoostGenericCard-bd7c9207.js.map} +1 -1
  58. package/dist/esm/{BoostSmallCard-3dedb5ae.js → BoostSmallCard-35b0290d.js} +2 -2
  59. package/dist/esm/{BoostSmallCard-3dedb5ae.js.map → BoostSmallCard-35b0290d.js.map} +1 -1
  60. package/dist/esm/{CertificateDisplayCard-487a3b4e.js → CertificateDisplayCard-d247bd74.js} +6 -5
  61. package/dist/esm/{CertificateDisplayCard-487a3b4e.js.map → CertificateDisplayCard-d247bd74.js.map} +1 -1
  62. package/dist/esm/{MeritBadgeDisplayCard-13622cd4.js → MeritBadgeDisplayCard-f58ddda8.js} +6 -5
  63. package/dist/esm/MeritBadgeDisplayCard-f58ddda8.js.map +1 -0
  64. package/dist/esm/{MeritBadgeSkillsCount-11bd0ae3.js → MeritBadgeSkillsCount-f15bd544.js} +2 -2
  65. package/dist/esm/{MeritBadgeSkillsCount-11bd0ae3.js.map → MeritBadgeSkillsCount-f15bd544.js.map} +1 -1
  66. package/dist/esm/{NotificationBoostCard-cfebc09e.js → NotificationBoostCard-73efea2d.js} +2 -2
  67. package/dist/esm/{NotificationBoostCard-cfebc09e.js.map → NotificationBoostCard-73efea2d.js.map} +1 -1
  68. package/dist/esm/{UserProfilePicture-50c34186.js → UserProfilePicture-4a00d151.js} +8 -4
  69. package/dist/esm/UserProfilePicture-4a00d151.js.map +1 -0
  70. package/dist/esm/{VCCard-7fa8f15b.js → VCCard-37b09661.js} +3 -3
  71. package/dist/esm/{VCCard-7fa8f15b.js.map → VCCard-37b09661.js.map} +1 -1
  72. package/dist/esm/{VCDisplayBackFace-314c1107.js → VCDisplayBackFace-acc9c9f1.js} +3 -3
  73. package/dist/esm/{VCDisplayBackFace-314c1107.js.map → VCDisplayBackFace-acc9c9f1.js.map} +1 -1
  74. package/dist/esm/{VCDisplayCard-652910f5.js → VCDisplayCard-f630aa6b.js} +4 -4
  75. package/dist/esm/{VCDisplayCard-652910f5.js.map → VCDisplayCard-f630aa6b.js.map} +1 -1
  76. package/dist/esm/{VCDisplayCard2-a8b9a519.js → VCDisplayCard2-e896785c.js} +21 -20
  77. package/dist/esm/VCDisplayCard2-e896785c.js.map +1 -0
  78. package/dist/esm/{VCVerificationPill-be1140c5.js → VCVerificationPill-a9fd20a4.js} +2 -2
  79. package/dist/esm/{VCVerificationPill-be1140c5.js.map → VCVerificationPill-a9fd20a4.js.map} +1 -1
  80. package/dist/esm/VerifierStateBadgeAndText-f2bbd9fd.js +2533 -0
  81. package/dist/esm/VerifierStateBadgeAndText-f2bbd9fd.js.map +1 -0
  82. package/dist/esm/{credential.helpers-3dfe6b60.js → credential.helpers-1a7bbdca.js} +2 -2
  83. package/dist/esm/{credential.helpers-3dfe6b60.js.map → credential.helpers-1a7bbdca.js.map} +1 -1
  84. package/dist/esm/index.js +16 -15
  85. package/dist/esm/index.js.map +1 -1
  86. package/dist/esm/index14.js +16 -15
  87. package/dist/esm/index14.js.map +1 -1
  88. package/dist/esm/index22.js +7 -6
  89. package/dist/esm/index22.js.map +1 -1
  90. package/dist/esm/index25.js +3 -2
  91. package/dist/esm/index25.js.map +1 -1
  92. package/dist/esm/index38.js +2 -1
  93. package/dist/esm/index38.js.map +1 -1
  94. package/dist/esm/index39.js +12 -11
  95. package/dist/esm/index39.js.map +1 -1
  96. package/dist/esm/index4.js +3 -3
  97. package/dist/esm/index40.js +4 -4
  98. package/dist/esm/index41.js +7 -6
  99. package/dist/esm/index41.js.map +1 -1
  100. package/dist/esm/index42.js +8 -7
  101. package/dist/esm/index42.js.map +1 -1
  102. package/dist/esm/index43.js +2 -1
  103. package/dist/esm/index43.js.map +1 -1
  104. package/dist/esm/index46.js +2 -2
  105. package/dist/esm/index5.js +3 -2
  106. package/dist/esm/index5.js.map +1 -1
  107. package/dist/esm/index7.js +6 -5
  108. package/dist/esm/index7.js.map +1 -1
  109. package/dist/esm/{types.esm-a67e86b1.js → types.esm-acda6d63.js} +4 -3
  110. package/dist/esm/types.esm-acda6d63.js.map +1 -0
  111. package/dist/index.d.ts +20 -2
  112. package/package.json +4 -3
  113. package/src/assets/styles/main.css +24 -18
  114. package/src/components/MeritBadgeDisplayCard/MediaAttachmentsBox.tsx +3 -2
  115. package/src/components/UserProfilePicture/UserProfilePicture.tsx +8 -3
  116. package/src/components/VCDisplayCard2/VC2FrontFaceInfo.tsx +19 -21
  117. package/dist/cjs/MeritBadgeDisplayCard-201bf5ad.js.map +0 -1
  118. package/dist/cjs/UserProfilePicture-80675455.js.map +0 -1
  119. package/dist/cjs/VCDisplayCard2-78d4cc3f.js.map +0 -1
  120. package/dist/cjs/VerifierStateBadgeAndText-57a7b85f.js +0 -21713
  121. package/dist/cjs/VerifierStateBadgeAndText-57a7b85f.js.map +0 -1
  122. package/dist/cjs/types.esm-228757cd.js.map +0 -1
  123. package/dist/esm/MeritBadgeDisplayCard-13622cd4.js.map +0 -1
  124. package/dist/esm/UserProfilePicture-50c34186.js.map +0 -1
  125. package/dist/esm/VCDisplayCard2-a8b9a519.js.map +0 -1
  126. package/dist/esm/VerifierStateBadgeAndText-97117c5d.js +0 -21670
  127. package/dist/esm/VerifierStateBadgeAndText-97117c5d.js.map +0 -1
  128. package/dist/esm/types.esm-a67e86b1.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"VCDisplayCard-652910f5.js","sources":["../../src/components/VCDisplayFrontFace/VCDisplayFrontFace.tsx","../../src/components/VCDisplayCard/VCDisplayCard.tsx"],"sourcesContent":["import React from 'react';\nimport FatArrow from '../../assets/images/icon.green.fat-arrow.png';\nimport UserProfilePicture from '../UserProfilePicture/UserProfilePicture';\nimport { VCVerificationCheckWithText } from '../VCVerificationCheck/VCVerificationCheck';\nimport { getImageFromProfile, getNameFromProfile } from '../../helpers/credential.helpers';\n\nimport { VCDisplayCardProps } from '../../types';\n\nconst VCDisplayFrontFace: React.FC<VCDisplayCardProps> = ({\n title,\n createdAt,\n issuer,\n issuee,\n subjectImageComponent,\n issuerImageComponent,\n hideProfileBubbles = false,\n credentialSubject,\n className = '',\n loading,\n handleClick,\n overrideCardImageComponent,\n overrideCardTitle,\n customHeaderComponent,\n}) => {\n const credentialAchievementImage =\n credentialSubject?.achievement?.image?.id || credentialSubject?.achievement?.image;\n const issuerName = getNameFromProfile(issuer ?? '');\n const issueeName = getNameFromProfile(issuee ?? '');\n const issuerImage = getImageFromProfile(issuer ?? '');\n const issueeImage = getImageFromProfile(issuee ?? '');\n\n let issueeImageEl: React.ReactNode | null = null;\n if (subjectImageComponent) {\n issueeImageEl = subjectImageComponent;\n } else {\n issueeImageEl = (\n <UserProfilePicture\n customContainerClass={`object-cover h-full w-full text-4xl ${\n !issueeImage ? 'pt-[8px]' : ''\n }`}\n user={{ image: issueeImage, name: issueeName }}\n alt=\"Issuee image\"\n />\n );\n }\n\n let issuerImageEl: React.ReactNode | null = null;\n\n if (issuerImageComponent) {\n issuerImageEl = issuerImageComponent;\n } else {\n issuerImageEl = (\n <UserProfilePicture\n customContainerClass={`object-cover h-full w-full text-4xl ${\n !issuerImage ? 'pt-[8px]' : ''\n }`}\n user={{ image: issuerImage, name: issuerName }}\n alt=\"Issuer image\"\n />\n );\n }\n\n const credImg = credentialAchievementImage ? (\n <img\n className=\"h-full w-full object-cover\"\n src={credentialAchievementImage ?? ''}\n alt=\"Credential Achievement Image\"\n />\n ) : (\n <></>\n );\n\n const renderCardImg = overrideCardImageComponent ? overrideCardImageComponent : credImg;\n const cardTitle = overrideCardTitle ? overrideCardTitle : title;\n\n return (\n <div\n className={`z-[9] vc-display-main-card-front flex overflow-hidden flex-col items-center justify-between relative max-w-[400px] h-[100%] min-h-[600px] p-7 rounded-3xl shadow-3xl bg-emerald-700 vc-display-card-full-container ${className}`}\n >\n <section className=\"bg-white rounded-bl-[50%] rounded-br-[50%] absolute top-0 w-[110%] h-[77%]\"></section>\n <section className=\"flex flex-col items-center justify-center z-10 text-center credential-thumb-img\">\n <section className=\"max-w-[100px] max-h-[100px]\">{renderCardImg}</section>\n\n <section className=\"flex flex-row w-full line-clamp-2\">\n <div className=\"flex flex-row w-full line-clamp-2 py-4 vc-flippy-card-title-front \">\n <h3\n className=\"vc-thumbnail-title w-full text-2xl line-clamp-2 tracking-wide leading-snug text-center vc-display-title text-gray-900 font-medium\"\n data-testid=\"vc-thumbnail-title\"\n >\n {cardTitle ?? ''}\n </h3>\n </div>\n\n {customHeaderComponent && customHeaderComponent}\n </section>\n\n <section className=\"flex flex-row items-center justify-center mt-2 w-full my-2 vc-card-issuer-thumbs\">\n {!hideProfileBubbles && (\n <>\n <div className=\"flex items-center justify-center h-16 w-16 shadow-3xl rounded-full overflow-hidden bg-white\">\n {issuerImageEl}\n </div>\n <img\n className=\"h-8 w-8 my-0 mx-4\"\n src={FatArrow ?? ''}\n alt=\"fat arrow icon\"\n />\n <div className=\"flex items-center justify-center h-16 w-16 shadow-3xl rounded-full overflow-hidden bg-white\">\n {issueeImageEl}\n </div>\n </>\n )}\n </section>\n\n <div className=\"w-full mt-2 vc-card-issued-to-info\">\n <p\n className=\"text-sm font-light text-center line-clamp-2 vc-display-issue-details text-gray-900\"\n data-testid=\"vc-thumbnail-createdAt\"\n >\n Issued to <span className=\"font-bold text-gray-900\">{issueeName}</span> on{' '}\n {createdAt ?? ''} by{' '}\n <span className=\"font-bold text-gray-900\"> {issuerName}</span>\n </p>\n </div>\n\n <button\n onClick={handleClick}\n className=\"cursor-alias bg-white my-3 border-0 text-indigo-500 font-semibold py-2 px-4 sl\"\n >\n <span className=\"flex justify-center\">\n <p className=\"flex items-center\">View Details</p>\n </span>\n </button>\n </section>\n\n <div className=\"flex items-center justify-center w-full\">\n <VCVerificationCheckWithText loading={loading} />\n </div>\n </div>\n );\n};\n\nexport default VCDisplayFrontFace;\n","import React, { useState } from 'react';\nimport { AchievementCredential, VC, Profile, VerificationItem } from '@learncard/types';\n\nimport FlippyCard from '../FlippyCard/FlippyCard';\nimport VCDisplayFrontFace from '../VCDisplayFrontFace/VCDisplayFrontFace';\nimport VCDisplayBackFace from '../VCDisplayBackFace/VCDisplayBackFace';\n\nimport { getInfoFromCredential } from '../../helpers/credential.helpers';\n\nconst FRONT_FACE = 'front';\nconst BACK_FACE = 'back';\n\nexport type VCDisplayCardPropsReal = {\n credential: VC | AchievementCredential;\n issueeOverride?: Profile;\n issuerOverride?: Profile;\n className?: string;\n hideProfileBubbles?: boolean;\n loading?: boolean;\n verification?: VerificationItem[];\n subjectImageComponent?: React.ReactNode;\n issuerImageComponent?: React.ReactNode;\n overrideDetailsComponent?: React.ReactNode;\n overrideCardTitle?: string;\n overrideCardImageComponent?: React.ReactNode;\n customHeaderComponent?: React.ReactNode;\n};\n\nexport const VCDisplayCard: React.FC<VCDisplayCardPropsReal> = ({\n credential,\n issueeOverride,\n issuerOverride,\n className = '',\n loading = false,\n verification = [],\n hideProfileBubbles = false,\n subjectImageComponent,\n issuerImageComponent,\n overrideDetailsComponent,\n overrideCardTitle,\n overrideCardImageComponent,\n customHeaderComponent,\n}) => {\n const [flipState, setFlipState] = useState(FRONT_FACE);\n const {\n title,\n createdAt,\n issuer: _issuer,\n issuee: _issuee,\n credentialSubject,\n } = getInfoFromCredential(credential);\n const issuee = issueeOverride || _issuee;\n const issuer = issuerOverride || _issuer;\n\n const handleFlip = () => {\n if (flipState === FRONT_FACE) {\n setFlipState(BACK_FACE);\n }\n if (flipState === BACK_FACE) {\n setFlipState(FRONT_FACE);\n }\n };\n\n return (\n <FlippyCard flipState={flipState}>\n <VCDisplayFrontFace\n title={title}\n credentialSubject={credentialSubject}\n customHeaderComponent={customHeaderComponent}\n issuer={issuer}\n issuee={issuee}\n subjectImageComponent={subjectImageComponent}\n issuerImageComponent={issuerImageComponent}\n overrideCardImageComponent={overrideCardImageComponent}\n overrideCardTitle={overrideCardTitle}\n hideProfileBubbles={hideProfileBubbles}\n createdAt={createdAt}\n className={className}\n loading={loading}\n handleClick={handleFlip}\n />\n <VCDisplayBackFace\n title={title}\n credentialSubject={credentialSubject}\n overrideDetailsComponent={overrideDetailsComponent}\n issuer={issuer}\n issuee={issuee}\n createdAt={createdAt}\n className={className}\n loading={loading}\n verification={verification}\n handleClick={handleFlip}\n />\n </FlippyCard>\n );\n};\n\nexport default VCDisplayCard;\n"],"names":[],"mappings":";;;;;;;;AAQA,MAAM,qBAAmD,CAAC;AAAA,EACtD,KAAA;AAAA,EACA,SAAA;AAAA,EACA,MAAA;AAAA,EACA,MAAA;AAAA,EACA,qBAAA;AAAA,EACA,oBAAA;AAAA,EACA,kBAAqB,GAAA,KAAA;AAAA,EACrB,iBAAA;AAAA,EACA,SAAY,GAAA,EAAA;AAAA,EACZ,OAAA;AAAA,EACA,WAAA;AAAA,EACA,0BAAA;AAAA,EACA,iBAAA;AAAA,EACA,qBAAA;AACJ,CAAM,KAAA;AAvBN,EAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,CAAA;AAwBI,EAAM,MAAA,0BAAA,GAAA,CAAA,CACF,kEAAmB,WAAnB,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAgC,UAAhC,IAAuC,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,EAAA,MAAA,CAAM,EAAmB,GAAA,iBAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,iBAAA,CAAA,WAAA,KAAnB,IAAgC,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,KAAA,CAAA,CAAA;AACjF,EAAM,MAAA,UAAA,GAAa,kBAAmB,CAAA,MAAA,IAAA,IAAA,GAAA,MAAA,GAAU,EAAE,CAAA,CAAA;AAClD,EAAM,MAAA,UAAA,GAAa,kBAAmB,CAAA,MAAA,IAAA,IAAA,GAAA,MAAA,GAAU,EAAE,CAAA,CAAA;AAClD,EAAM,MAAA,WAAA,GAAc,mBAAoB,CAAA,MAAA,IAAA,IAAA,GAAA,MAAA,GAAU,EAAE,CAAA,CAAA;AACpD,EAAM,MAAA,WAAA,GAAc,mBAAoB,CAAA,MAAA,IAAA,IAAA,GAAA,MAAA,GAAU,EAAE,CAAA,CAAA;AAEpD,EAAA,IAAI,aAAwC,GAAA,IAAA,CAAA;AAC5C,EAAA,IAAI,qBAAuB,EAAA;AACvB,IAAgB,aAAA,GAAA,qBAAA,CAAA;AAAA,GACb,MAAA;AACH,IACI,aAAA,mBAAA,KAAA,CAAA,aAAA;AAAA,MAAC,kBAAA;AAAA,MAAA;AAAA,QACG,oBAAsB,EAAA,CAAA,oCAAA,EAClB,CAAC,WAAA,GAAc,aAAa,EAChC,CAAA,CAAA;AAAA,QACA,IAAM,EAAA,EAAE,KAAO,EAAA,WAAA,EAAa,MAAM,UAAW,EAAA;AAAA,QAC7C,GAAI,EAAA,cAAA;AAAA,OAAA;AAAA,KACR,CAAA;AAAA,GAER;AAEA,EAAA,IAAI,aAAwC,GAAA,IAAA,CAAA;AAE5C,EAAA,IAAI,oBAAsB,EAAA;AACtB,IAAgB,aAAA,GAAA,oBAAA,CAAA;AAAA,GACb,MAAA;AACH,IACI,aAAA,mBAAA,KAAA,CAAA,aAAA;AAAA,MAAC,kBAAA;AAAA,MAAA;AAAA,QACG,oBAAsB,EAAA,CAAA,oCAAA,EAClB,CAAC,WAAA,GAAc,aAAa,EAChC,CAAA,CAAA;AAAA,QACA,IAAM,EAAA,EAAE,KAAO,EAAA,WAAA,EAAa,MAAM,UAAW,EAAA;AAAA,QAC7C,GAAI,EAAA,cAAA;AAAA,OAAA;AAAA,KACR,CAAA;AAAA,GAER;AAEA,EAAA,MAAM,UAAU,0BACZ,mBAAA,KAAA,CAAA,aAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACG,SAAU,EAAA,4BAAA;AAAA,MACV,KAAK,0BAA8B,IAAA,IAAA,GAAA,0BAAA,GAAA,EAAA;AAAA,MACnC,GAAI,EAAA,8BAAA;AAAA,KAAA;AAAA,sBAGN,KAAA,CAAA,aAAA,CAAA,KAAA,CAAA,QAAA,EAAA,IAAA,CAAA,CAAA;AAGN,EAAM,MAAA,aAAA,GAAgB,6BAA6B,0BAA6B,GAAA,OAAA,CAAA;AAChF,EAAM,MAAA,SAAA,GAAY,oBAAoB,iBAAoB,GAAA,KAAA,CAAA;AAE1D,EACI,uBAAA,KAAA,CAAA,aAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACG,SAAA,EAAW,sNAAsN,SAAS,CAAA,CAAA;AAAA,KAAA;AAAA,oBAE1O,KAAA,CAAA,aAAA,CAAC,SAAQ,EAAA,EAAA,SAAA,EAAU,4EAA6E,EAAA,CAAA;AAAA,wCAC/F,SAAQ,EAAA,EAAA,SAAA,EAAU,iFACf,EAAA,kBAAA,KAAA,CAAA,aAAA,CAAC,aAAQ,SAAU,EAAA,6BAAA,EAAA,EAA+B,aAAc,CAAA,sCAE/D,SAAQ,EAAA,EAAA,SAAA,EAAU,wDACd,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAI,WAAU,oEACX,EAAA,kBAAA,KAAA,CAAA,aAAA;AAAA,MAAC,IAAA;AAAA,MAAA;AAAA,QACG,SAAU,EAAA,mIAAA;AAAA,QACV,aAAY,EAAA,oBAAA;AAAA,OAAA;AAAA,MAEX,SAAa,IAAA,IAAA,GAAA,SAAA,GAAA,EAAA;AAAA,KAEtB,CAEC,EAAA,qBAAA,IAAyB,qBAC9B,CAAA,sCAEC,SAAQ,EAAA,EAAA,SAAA,EAAU,kFACd,EAAA,EAAA,CAAC,sCAEM,KAAA,CAAA,aAAA,CAAA,KAAA,CAAA,QAAA,EAAA,IAAA,kBAAA,KAAA,CAAA,aAAA,CAAC,SAAI,SAAU,EAAA,6FAAA,EAAA,EACV,aACL,CACA,kBAAA,KAAA,CAAA,aAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACG,SAAU,EAAA,mBAAA;AAAA,QACV,MAAK,EAAY,GAAA,QAAA,KAAA,IAAA,GAAA,EAAA,GAAA,EAAA;AAAA,QACjB,GAAI,EAAA,gBAAA;AAAA,OAAA;AAAA,KAER,kBAAA,KAAA,CAAA,aAAA,CAAC,KAAI,EAAA,EAAA,SAAA,EAAU,6FACV,EAAA,EAAA,aACL,CACJ,CAER,CAEA,kBAAA,KAAA,CAAA,aAAA,CAAC,KAAI,EAAA,EAAA,SAAA,EAAU,oCACX,EAAA,kBAAA,KAAA,CAAA,aAAA;AAAA,MAAC,GAAA;AAAA,MAAA;AAAA,QACG,SAAU,EAAA,oFAAA;AAAA,QACV,aAAY,EAAA,wBAAA;AAAA,OAAA;AAAA,MACf,YAAA;AAAA,sBACc,KAAA,CAAA,aAAA,CAAA,MAAA,EAAA,EAAK,SAAU,EAAA,yBAAA,EAAA,EAA2B,UAAW,CAAA;AAAA,MAAO,KAAA;AAAA,MAAI,GAAA;AAAA,MAC1E,SAAa,IAAA,IAAA,GAAA,SAAA,GAAA,EAAA;AAAA,MAAG,KAAA;AAAA,MAAI,GAAA;AAAA,sBACpB,KAAA,CAAA,aAAA,CAAA,MAAA,EAAA,EAAK,SAAU,EAAA,yBAAA,EAAA,EAA0B,KAAE,UAAW,CAAA;AAAA,KAE/D,CAEA,kBAAA,KAAA,CAAA,aAAA;AAAA,MAAC,QAAA;AAAA,MAAA;AAAA,QACG,OAAS,EAAA,WAAA;AAAA,QACT,SAAU,EAAA,gFAAA;AAAA,OAAA;AAAA,sBAEV,KAAA,CAAA,aAAA,CAAC,UAAK,SAAU,EAAA,qBAAA,EAAA,sCACX,GAAE,EAAA,EAAA,SAAA,EAAU,mBAAoB,EAAA,EAAA,cAAY,CACjD,CAAA;AAAA,KAER,CAAA;AAAA,wCAEC,KAAI,EAAA,EAAA,SAAA,EAAU,6DACV,KAAA,CAAA,aAAA,CAAA,2BAAA,EAAA,EAA4B,SAAkB,CACnD,CAAA;AAAA,GACJ,CAAA;AAER,CAAA;;ACnIA,MAAM,UAAa,GAAA,OAAA,CAAA;AACnB,MAAM,SAAY,GAAA,MAAA,CAAA;AAkBX,MAAM,gBAAkD,CAAC;AAAA,EAC5D,UAAA;AAAA,EACA,cAAA;AAAA,EACA,cAAA;AAAA,EACA,SAAY,GAAA,EAAA;AAAA,EACZ,OAAU,GAAA,KAAA;AAAA,EACV,eAAe,EAAC;AAAA,EAChB,kBAAqB,GAAA,KAAA;AAAA,EACrB,qBAAA;AAAA,EACA,oBAAA;AAAA,EACA,wBAAA;AAAA,EACA,iBAAA;AAAA,EACA,0BAAA;AAAA,EACA,qBAAA;AACJ,CAAM,KAAA;AACF,EAAA,MAAM,CAAC,SAAA,EAAW,YAAY,CAAA,GAAI,SAAS,UAAU,CAAA,CAAA;AACrD,EAAM,MAAA;AAAA,IACF,KAAA;AAAA,IACA,SAAA;AAAA,IACA,MAAQ,EAAA,OAAA;AAAA,IACR,MAAQ,EAAA,OAAA;AAAA,IACR,iBAAA;AAAA,GACJ,GAAI,sBAAsB,UAAU,CAAA,CAAA;AACpC,EAAA,MAAM,SAAS,cAAkB,IAAA,OAAA,CAAA;AACjC,EAAA,MAAM,SAAS,cAAkB,IAAA,OAAA,CAAA;AAEjC,EAAA,MAAM,aAAa,MAAM;AACrB,IAAA,IAAI,cAAc,UAAY,EAAA;AAC1B,MAAA,YAAA,CAAa,SAAS,CAAA,CAAA;AAAA,KAC1B;AACA,IAAA,IAAI,cAAc,SAAW,EAAA;AACzB,MAAA,YAAA,CAAa,UAAU,CAAA,CAAA;AAAA,KAC3B;AAAA,GACJ,CAAA;AAEA,EACI,uBAAA,KAAA,CAAA,aAAA,CAAC,cAAW,SACR,EAAA,kBAAA,KAAA,CAAA,aAAA;AAAA,IAAC,kBAAA;AAAA,IAAA;AAAA,MACG,KAAA;AAAA,MACA,iBAAA;AAAA,MACA,qBAAA;AAAA,MACA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,qBAAA;AAAA,MACA,oBAAA;AAAA,MACA,0BAAA;AAAA,MACA,iBAAA;AAAA,MACA,kBAAA;AAAA,MACA,SAAA;AAAA,MACA,SAAA;AAAA,MACA,OAAA;AAAA,MACA,WAAa,EAAA,UAAA;AAAA,KAAA;AAAA,GAEjB,kBAAA,KAAA,CAAA,aAAA;AAAA,IAAC,iBAAA;AAAA,IAAA;AAAA,MACG,KAAA;AAAA,MACA,iBAAA;AAAA,MACA,wBAAA;AAAA,MACA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,MACA,SAAA;AAAA,MACA,OAAA;AAAA,MACA,YAAA;AAAA,MACA,WAAa,EAAA,UAAA;AAAA,KAAA;AAAA,GAErB,CAAA,CAAA;AAER;;;;"}
1
+ {"version":3,"file":"VCDisplayCard-f630aa6b.js","sources":["../../src/components/VCDisplayFrontFace/VCDisplayFrontFace.tsx","../../src/components/VCDisplayCard/VCDisplayCard.tsx"],"sourcesContent":["import React from 'react';\nimport FatArrow from '../../assets/images/icon.green.fat-arrow.png';\nimport UserProfilePicture from '../UserProfilePicture/UserProfilePicture';\nimport { VCVerificationCheckWithText } from '../VCVerificationCheck/VCVerificationCheck';\nimport { getImageFromProfile, getNameFromProfile } from '../../helpers/credential.helpers';\n\nimport { VCDisplayCardProps } from '../../types';\n\nconst VCDisplayFrontFace: React.FC<VCDisplayCardProps> = ({\n title,\n createdAt,\n issuer,\n issuee,\n subjectImageComponent,\n issuerImageComponent,\n hideProfileBubbles = false,\n credentialSubject,\n className = '',\n loading,\n handleClick,\n overrideCardImageComponent,\n overrideCardTitle,\n customHeaderComponent,\n}) => {\n const credentialAchievementImage =\n credentialSubject?.achievement?.image?.id || credentialSubject?.achievement?.image;\n const issuerName = getNameFromProfile(issuer ?? '');\n const issueeName = getNameFromProfile(issuee ?? '');\n const issuerImage = getImageFromProfile(issuer ?? '');\n const issueeImage = getImageFromProfile(issuee ?? '');\n\n let issueeImageEl: React.ReactNode | null = null;\n if (subjectImageComponent) {\n issueeImageEl = subjectImageComponent;\n } else {\n issueeImageEl = (\n <UserProfilePicture\n customContainerClass={`object-cover h-full w-full text-4xl ${\n !issueeImage ? 'pt-[8px]' : ''\n }`}\n user={{ image: issueeImage, name: issueeName }}\n alt=\"Issuee image\"\n />\n );\n }\n\n let issuerImageEl: React.ReactNode | null = null;\n\n if (issuerImageComponent) {\n issuerImageEl = issuerImageComponent;\n } else {\n issuerImageEl = (\n <UserProfilePicture\n customContainerClass={`object-cover h-full w-full text-4xl ${\n !issuerImage ? 'pt-[8px]' : ''\n }`}\n user={{ image: issuerImage, name: issuerName }}\n alt=\"Issuer image\"\n />\n );\n }\n\n const credImg = credentialAchievementImage ? (\n <img\n className=\"h-full w-full object-cover\"\n src={credentialAchievementImage ?? ''}\n alt=\"Credential Achievement Image\"\n />\n ) : (\n <></>\n );\n\n const renderCardImg = overrideCardImageComponent ? overrideCardImageComponent : credImg;\n const cardTitle = overrideCardTitle ? overrideCardTitle : title;\n\n return (\n <div\n className={`z-[9] vc-display-main-card-front flex overflow-hidden flex-col items-center justify-between relative max-w-[400px] h-[100%] min-h-[600px] p-7 rounded-3xl shadow-3xl bg-emerald-700 vc-display-card-full-container ${className}`}\n >\n <section className=\"bg-white rounded-bl-[50%] rounded-br-[50%] absolute top-0 w-[110%] h-[77%]\"></section>\n <section className=\"flex flex-col items-center justify-center z-10 text-center credential-thumb-img\">\n <section className=\"max-w-[100px] max-h-[100px]\">{renderCardImg}</section>\n\n <section className=\"flex flex-row w-full line-clamp-2\">\n <div className=\"flex flex-row w-full line-clamp-2 py-4 vc-flippy-card-title-front \">\n <h3\n className=\"vc-thumbnail-title w-full text-2xl line-clamp-2 tracking-wide leading-snug text-center vc-display-title text-gray-900 font-medium\"\n data-testid=\"vc-thumbnail-title\"\n >\n {cardTitle ?? ''}\n </h3>\n </div>\n\n {customHeaderComponent && customHeaderComponent}\n </section>\n\n <section className=\"flex flex-row items-center justify-center mt-2 w-full my-2 vc-card-issuer-thumbs\">\n {!hideProfileBubbles && (\n <>\n <div className=\"flex items-center justify-center h-16 w-16 shadow-3xl rounded-full overflow-hidden bg-white\">\n {issuerImageEl}\n </div>\n <img\n className=\"h-8 w-8 my-0 mx-4\"\n src={FatArrow ?? ''}\n alt=\"fat arrow icon\"\n />\n <div className=\"flex items-center justify-center h-16 w-16 shadow-3xl rounded-full overflow-hidden bg-white\">\n {issueeImageEl}\n </div>\n </>\n )}\n </section>\n\n <div className=\"w-full mt-2 vc-card-issued-to-info\">\n <p\n className=\"text-sm font-light text-center line-clamp-2 vc-display-issue-details text-gray-900\"\n data-testid=\"vc-thumbnail-createdAt\"\n >\n Issued to <span className=\"font-bold text-gray-900\">{issueeName}</span> on{' '}\n {createdAt ?? ''} by{' '}\n <span className=\"font-bold text-gray-900\"> {issuerName}</span>\n </p>\n </div>\n\n <button\n onClick={handleClick}\n className=\"cursor-alias bg-white my-3 border-0 text-indigo-500 font-semibold py-2 px-4 sl\"\n >\n <span className=\"flex justify-center\">\n <p className=\"flex items-center\">View Details</p>\n </span>\n </button>\n </section>\n\n <div className=\"flex items-center justify-center w-full\">\n <VCVerificationCheckWithText loading={loading} />\n </div>\n </div>\n );\n};\n\nexport default VCDisplayFrontFace;\n","import React, { useState } from 'react';\nimport { AchievementCredential, VC, Profile, VerificationItem } from '@learncard/types';\n\nimport FlippyCard from '../FlippyCard/FlippyCard';\nimport VCDisplayFrontFace from '../VCDisplayFrontFace/VCDisplayFrontFace';\nimport VCDisplayBackFace from '../VCDisplayBackFace/VCDisplayBackFace';\n\nimport { getInfoFromCredential } from '../../helpers/credential.helpers';\n\nconst FRONT_FACE = 'front';\nconst BACK_FACE = 'back';\n\nexport type VCDisplayCardPropsReal = {\n credential: VC | AchievementCredential;\n issueeOverride?: Profile;\n issuerOverride?: Profile;\n className?: string;\n hideProfileBubbles?: boolean;\n loading?: boolean;\n verification?: VerificationItem[];\n subjectImageComponent?: React.ReactNode;\n issuerImageComponent?: React.ReactNode;\n overrideDetailsComponent?: React.ReactNode;\n overrideCardTitle?: string;\n overrideCardImageComponent?: React.ReactNode;\n customHeaderComponent?: React.ReactNode;\n};\n\nexport const VCDisplayCard: React.FC<VCDisplayCardPropsReal> = ({\n credential,\n issueeOverride,\n issuerOverride,\n className = '',\n loading = false,\n verification = [],\n hideProfileBubbles = false,\n subjectImageComponent,\n issuerImageComponent,\n overrideDetailsComponent,\n overrideCardTitle,\n overrideCardImageComponent,\n customHeaderComponent,\n}) => {\n const [flipState, setFlipState] = useState(FRONT_FACE);\n const {\n title,\n createdAt,\n issuer: _issuer,\n issuee: _issuee,\n credentialSubject,\n } = getInfoFromCredential(credential);\n const issuee = issueeOverride || _issuee;\n const issuer = issuerOverride || _issuer;\n\n const handleFlip = () => {\n if (flipState === FRONT_FACE) {\n setFlipState(BACK_FACE);\n }\n if (flipState === BACK_FACE) {\n setFlipState(FRONT_FACE);\n }\n };\n\n return (\n <FlippyCard flipState={flipState}>\n <VCDisplayFrontFace\n title={title}\n credentialSubject={credentialSubject}\n customHeaderComponent={customHeaderComponent}\n issuer={issuer}\n issuee={issuee}\n subjectImageComponent={subjectImageComponent}\n issuerImageComponent={issuerImageComponent}\n overrideCardImageComponent={overrideCardImageComponent}\n overrideCardTitle={overrideCardTitle}\n hideProfileBubbles={hideProfileBubbles}\n createdAt={createdAt}\n className={className}\n loading={loading}\n handleClick={handleFlip}\n />\n <VCDisplayBackFace\n title={title}\n credentialSubject={credentialSubject}\n overrideDetailsComponent={overrideDetailsComponent}\n issuer={issuer}\n issuee={issuee}\n createdAt={createdAt}\n className={className}\n loading={loading}\n verification={verification}\n handleClick={handleFlip}\n />\n </FlippyCard>\n );\n};\n\nexport default VCDisplayCard;\n"],"names":[],"mappings":"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"}
@@ -1,18 +1,19 @@
1
1
  import React, { useRef, useLayoutEffect, useState, useEffect, createContext, Component, Children, cloneElement } from 'react';
2
2
  import { a as VCVerificationCheckWithSpinner } from './VCVerificationCheck-8b8b7a76.js';
3
- import { U as UserProfilePicture } from './UserProfilePicture-50c34186.js';
4
- import { a as getColorForVerificationStatus, j as format$1, h as getImageFromProfile, b as getInfoFromCredential, k as getCategoryColor, g as getTotalCountOfSkills, c as categorizeSkills } from './credential.helpers-3dfe6b60.js';
5
- import { d as getBaseUrl, e as VideoIcon, C as Camera, G as GenericDocumentIcon, L as LinkIcon, p as prettyBytes, c as capitalize, E as ExclamationPoint, A as AcuteCheckmark, I as InfoIcon, h as LeftArrow, j as SkillsBox, r as resolveProfileDisplay, l as isAppDidWeb, V as VERIFIER_STATES, m as VerifierStateBadgeAndText, P as PersonBadge, n as VerifiedBadge, U as UnknownVerifierBadge, o as RedFlag } from './VerifierStateBadgeAndText-97117c5d.js';
3
+ import { U as UserProfilePicture } from './UserProfilePicture-4a00d151.js';
4
+ import { a as getColorForVerificationStatus, j as format$1, h as getImageFromProfile, b as getInfoFromCredential, k as getCategoryColor, g as getTotalCountOfSkills, c as categorizeSkills } from './credential.helpers-1a7bbdca.js';
5
+ import { d as getBaseUrl, e as VideoIcon, C as Camera, G as GenericDocumentIcon, L as LinkIcon, p as prettyBytes, c as capitalize, E as ExclamationPoint, A as AcuteCheckmark, I as InfoIcon, h as LeftArrow, j as SkillsBox, r as resolveProfileDisplay, V as VERIFIER_STATES, l as VerifierStateBadgeAndText, P as PersonBadge, m as VerifiedBadge, U as UnknownVerifierBadge, n as RedFlag } from './VerifierStateBadgeAndText-f2bbd9fd.js';
6
+ import { isAppDidWeb } from '@learncard/helpers';
6
7
  import { u as useT } from './i18n-35209bfa.js';
7
8
  import './index-cb3a593b.js';
8
9
  import { L as Lightbox, X } from './Lightbox-11f4888d.js';
9
- import { V as VerificationStatusEnum } from './types.esm-a67e86b1.js';
10
- import { A as AlignmentsBox, b as CertificateDisplayCard } from './CertificateDisplayCard-487a3b4e.js';
10
+ import { V as VerificationStatusEnum } from './types.esm-acda6d63.js';
11
+ import { A as AlignmentsBox, b as CertificateDisplayCard } from './CertificateDisplayCard-d247bd74.js';
11
12
  import { I as IDIcon, Q as QRCodeIcon, A as AwardRibbon } from './QRCodeIcon-8eef4f7c.js';
12
13
  import { a as LCCategoryEnum } from './index-28917993.js';
13
14
  import { P as PuzzlePiece } from './PuzzlePiece-a3d9cc62.js';
14
15
  import IDSleeve from './id-sleeve.png';
15
- import { a as MeritBadgeDisplayCard } from './MeritBadgeDisplayCard-13622cd4.js';
16
+ import { a as MeritBadgeDisplayCard } from './MeritBadgeDisplayCard-f58ddda8.js';
16
17
 
17
18
  const RoundedX = ({ className = "" }) => {
18
19
  return /* @__PURE__ */ React.createElement(
@@ -873,6 +874,18 @@ const BadgeThumbnailPlaceholder = () => /* @__PURE__ */ React.createElement(
873
874
  }
874
875
  )
875
876
  );
877
+ const BadgeThumbnail = ({ imageUrl }) => {
878
+ const [errored, setErrored] = React.useState(false);
879
+ return errored ? /* @__PURE__ */ React.createElement("div", { className: "vc-front-image h-[130px] w-[130px] rounded-[10px] bg-grayscale-100 flex items-center justify-center" }, /* @__PURE__ */ React.createElement(BadgeThumbnailPlaceholder, null)) : /* @__PURE__ */ React.createElement(
880
+ "img",
881
+ {
882
+ className: "vc-front-image h-[130px] w-[130px] rounded-[10px] bg-white object-cover",
883
+ src: imageUrl,
884
+ alt: "credential thumbnail",
885
+ onError: () => setErrored(true)
886
+ }
887
+ );
888
+ };
876
889
  const VC2FrontFaceInfo = ({
877
890
  credential,
878
891
  issuee,
@@ -892,10 +905,6 @@ const VC2FrontFaceInfo = ({
892
905
  const t = useT();
893
906
  const issuerImage = getImageFromProfile(issuer != null ? issuer : "");
894
907
  const issueeImage = getImageFromProfile(issuee != null ? issuee : "");
895
- const [thumbErrored, setThumbErrored] = React.useState(false);
896
- React.useEffect(() => {
897
- setThumbErrored(false);
898
- }, [imageUrl]);
899
908
  const issueeDisplay = resolveProfileDisplay(issuee, "");
900
909
  const issuerDisplay = resolveProfileDisplay(issuer, "");
901
910
  const { credentialSubject } = getInfoFromCredential(credential, "MMM dd, yyyy", {
@@ -959,15 +968,7 @@ const VC2FrontFaceInfo = ({
959
968
  verifierState = isAppIssuerDid ? VERIFIER_STATES.appIssuer : VERIFIER_STATES.unknownVerifier;
960
969
  }
961
970
  }
962
- return /* @__PURE__ */ React.createElement(Flipped$3, { inverseFlipId: "card" }, /* @__PURE__ */ React.createElement("section", { className: "vc-front-face w-full px-[15px] flex flex-col items-center gap-[15px]" }, imageUrl && !customThumbComponent && (thumbErrored ? /* @__PURE__ */ React.createElement("div", { className: "vc-front-image h-[130px] w-[130px] rounded-[10px] bg-grayscale-100 flex items-center justify-center" }, /* @__PURE__ */ React.createElement(BadgeThumbnailPlaceholder, null)) : /* @__PURE__ */ React.createElement(
963
- "img",
964
- {
965
- className: "vc-front-image h-[130px] w-[130px] rounded-[10px] bg-white object-cover",
966
- src: imageUrl,
967
- alt: "credential thumbnail",
968
- onError: () => setThumbErrored(true)
969
- }
970
- )), customThumbComponent && customThumbComponent, /* @__PURE__ */ React.createElement("div", { className: "vc-issue-info-box bg-white flex flex-col items-center gap-[5px] rounded-[20px] shadow-bottom px-[15px] py-[20px] w-full" }, customBodyCardComponent && customBodyCardComponent, !customBodyCardComponent && /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement("h3", { className: "flex flex-col text-center leading-[130%] w-full" }, !issueeDisplay.isMissing && issueeDisplay.isDidValue && /* @__PURE__ */ React.createElement("span", { className: "flex flex-wrap items-baseline justify-center gap-x-1 text-[17px] leading-normal font-[600] font-poppins max-w-full break-words" }, /* @__PURE__ */ React.createElement("span", { className: "text-grayscale-900" }, "Digital ID:"), /* @__PURE__ */ React.createElement("span", { className: "text-grayscale-500 underline" }, issueeDisplay.displayName)), !issueeDisplay.isMissing && !issueeDisplay.isDidValue && /* @__PURE__ */ React.createElement("span", { className: "font-poppins font-semibold text-[20px] leading-[130%] max-w-full line-clamp-2 break-words text-grayscale-900" }, issueeDisplay.displayName), subjectDID && !issueeDisplay.isDidValue && !issueeDisplay.isLCNetwork && /* @__PURE__ */ React.createElement("span", { className: "text-[12px] text-grayscale-500 leading-[18px] font-poppins font-normal m-0 p-0" }, subjectDID)), /* @__PURE__ */ React.createElement("div", { className: "relative" }, /* @__PURE__ */ React.createElement("div", { className: "vc-issuee-image h-[60px] w-[60px] rounded-full overflow-hidden bg-white" }, issueeImageEl), /* @__PURE__ */ React.createElement("div", { className: "vc-issuer-image h-[30px] w-[30px] rounded-full overflow-hidden absolute bottom-[-12px] right-[-12px] bg-white" }, issuerImageEl)), /* @__PURE__ */ React.createElement("div", { className: "flex flex-col gap-[13px]" }, /* @__PURE__ */ React.createElement("div", { className: "vc-issue-details mt-[10px] flex flex-col items-center font-poppins text-[14px] leading-[20px]" }, /* @__PURE__ */ React.createElement("span", { className: "created-at text-grayscale-700" }, createdAt), !issuerDisplay.isMissing && /* @__PURE__ */ React.createElement("span", { className: "issued-by max-w-full break-words text-center line-clamp-2 text-[14px]" }, /* @__PURE__ */ React.createElement("span", { className: "font-medium text-grayscale-900" }, t("credential.by")), " ", issuerDisplay.isDidValue ? /* @__PURE__ */ React.createElement("span", { className: "font-[600] font-poppins break-words" }, /* @__PURE__ */ React.createElement("span", { className: "text-grayscale-900" }, "Digital ID:"), " ", /* @__PURE__ */ React.createElement("span", { className: "text-grayscale-500 underline" }, issuerDisplay.displayName)) : /* @__PURE__ */ React.createElement("strong", { className: "font-bold text-grayscale-900 break-words" }, issuerDisplay.displayName))), /* @__PURE__ */ React.createElement(
971
+ return /* @__PURE__ */ React.createElement(Flipped$3, { inverseFlipId: "card" }, /* @__PURE__ */ React.createElement("section", { className: "vc-front-face w-full px-[15px] flex flex-col items-center gap-[15px]" }, imageUrl && !customThumbComponent && /* @__PURE__ */ React.createElement(BadgeThumbnail, { key: imageUrl, imageUrl }), customThumbComponent && customThumbComponent, /* @__PURE__ */ React.createElement("div", { className: "vc-issue-info-box bg-white flex flex-col items-center gap-[5px] rounded-[20px] shadow-bottom px-[15px] py-[20px] w-full" }, customBodyCardComponent && customBodyCardComponent, !customBodyCardComponent && /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement("h3", { className: "flex flex-col text-center leading-[130%] w-full" }, !issueeDisplay.isMissing && issueeDisplay.isDidValue && /* @__PURE__ */ React.createElement("span", { className: "flex flex-wrap items-baseline justify-center gap-x-1 text-[17px] leading-normal font-[600] font-poppins max-w-full break-words" }, /* @__PURE__ */ React.createElement("span", { className: "text-grayscale-900" }, "Digital ID:"), /* @__PURE__ */ React.createElement("span", { className: "text-grayscale-500 underline" }, issueeDisplay.displayName)), !issueeDisplay.isMissing && !issueeDisplay.isDidValue && /* @__PURE__ */ React.createElement("span", { className: "font-poppins font-semibold text-[20px] leading-[130%] max-w-full line-clamp-2 break-words text-grayscale-900" }, issueeDisplay.displayName), subjectDID && !issueeDisplay.isDidValue && !issueeDisplay.isLCNetwork && /* @__PURE__ */ React.createElement("span", { className: "text-[12px] text-grayscale-500 leading-[18px] font-poppins font-normal m-0 p-0" }, subjectDID)), /* @__PURE__ */ React.createElement("div", { className: "relative" }, /* @__PURE__ */ React.createElement("div", { className: "vc-issuee-image h-[60px] w-[60px] rounded-full overflow-hidden bg-white" }, issueeImageEl), /* @__PURE__ */ React.createElement("div", { className: "vc-issuer-image h-[30px] w-[30px] rounded-full overflow-hidden absolute bottom-[-12px] right-[-12px] bg-white" }, issuerImageEl)), /* @__PURE__ */ React.createElement("div", { className: "flex flex-col gap-[13px]" }, /* @__PURE__ */ React.createElement("div", { className: "vc-issue-details mt-[10px] flex flex-col items-center font-poppins text-[14px] leading-[20px]" }, /* @__PURE__ */ React.createElement("span", { className: "created-at text-grayscale-700" }, createdAt), !issuerDisplay.isMissing && /* @__PURE__ */ React.createElement("span", { className: "issued-by max-w-full break-words text-center line-clamp-2 text-[14px]" }, /* @__PURE__ */ React.createElement("span", { className: "font-medium text-grayscale-900" }, t("credential.by")), " ", issuerDisplay.isDidValue ? /* @__PURE__ */ React.createElement("span", { className: "font-[600] font-poppins break-words" }, /* @__PURE__ */ React.createElement("span", { className: "text-grayscale-900" }, "Digital ID:"), " ", /* @__PURE__ */ React.createElement("span", { className: "text-grayscale-500 underline" }, issuerDisplay.displayName)) : /* @__PURE__ */ React.createElement("strong", { className: "font-bold text-grayscale-900 break-words" }, issuerDisplay.displayName))), /* @__PURE__ */ React.createElement(
971
972
  VerifierStateBadgeAndText,
972
973
  {
973
974
  verifierState,
@@ -1571,4 +1572,4 @@ const VCDisplayCard2 = ({
1571
1572
  };
1572
1573
 
1573
1574
  export { VCDisplayCard2 as V, VCDisplayCardSkillsCount as a, VCIDDisplayCard as b, getVCDisplayCardVariant as g };
1574
- //# sourceMappingURL=VCDisplayCard2-a8b9a519.js.map
1575
+ //# sourceMappingURL=VCDisplayCard2-e896785c.js.map