@learncard/react 2.8.62 → 2.9.3

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 (411) hide show
  1. package/dist/cjs/AchievementCard-c43817f2.js +87 -0
  2. package/dist/cjs/{AchievementCard-dd332f3f.js.map → AchievementCard-c43817f2.js.map} +1 -1
  3. package/dist/cjs/BoostGenericCard-a239e89c.js +180 -0
  4. package/dist/cjs/{BoostGenericCard-55f710ad.js.map → BoostGenericCard-a239e89c.js.map} +1 -1
  5. package/dist/cjs/BoostSmallCard-3e303698.js +165 -0
  6. package/dist/cjs/{BoostSmallCard-dd1cbd51.js.map → BoostSmallCard-3e303698.js.map} +1 -1
  7. package/dist/cjs/{Button-a7af702b.js → Button-9ebe120c.js} +10 -6
  8. package/dist/cjs/{Button-a7af702b.js.map → Button-9ebe120c.js.map} +1 -1
  9. package/dist/cjs/CertificateDisplayCard-b299f7fd.js +891 -0
  10. package/dist/cjs/{CertificateDisplayCard-9f619468.js.map → CertificateDisplayCard-b299f7fd.js.map} +1 -1
  11. package/dist/cjs/Checkmark-74444a78.js +79 -0
  12. package/dist/cjs/{Checkmark-f611aa4d.js.map → Checkmark-74444a78.js.map} +1 -1
  13. package/dist/cjs/{CircleCheckButton-82d47ee2.js → CircleCheckButton-f76e5b5d.js} +11 -9
  14. package/dist/cjs/{CircleCheckButton-82d47ee2.js.map → CircleCheckButton-f76e5b5d.js.map} +1 -1
  15. package/dist/cjs/{CircleIcon-617c38fa.js → CircleIcon-f0fa68c7.js} +14 -30
  16. package/dist/cjs/{CircleIcon-617c38fa.js.map → CircleIcon-f0fa68c7.js.map} +1 -1
  17. package/dist/cjs/{CircleSpinner-093cce04.js → CircleSpinner-f518569a.js} +2 -13
  18. package/dist/cjs/{CircleSpinner-093cce04.js.map → CircleSpinner-f518569a.js.map} +1 -1
  19. package/dist/cjs/Coins-1f33b7ad.js +20 -0
  20. package/dist/cjs/{Coins-acd63f46.js.map → Coins-1f33b7ad.js.map} +1 -1
  21. package/dist/cjs/CourseCard-bc699307.js +88 -0
  22. package/dist/cjs/{CourseCard-338a32ee.js.map → CourseCard-bc699307.js.map} +1 -1
  23. package/dist/cjs/CourseVerticalCard-554ff1b7.js +116 -0
  24. package/dist/cjs/{CourseVerticalCard-841960b1.js.map → CourseVerticalCard-554ff1b7.js.map} +1 -1
  25. package/dist/cjs/{FlippyCard-209549c5.js → FlippyCard-bf0fd493.js} +3 -16
  26. package/dist/cjs/{FlippyCard-209549c5.js.map → FlippyCard-bf0fd493.js.map} +1 -1
  27. package/dist/cjs/GenericArrow-5c392276.js +34 -0
  28. package/dist/cjs/{GenericArrow-8dfb261d.js.map → GenericArrow-5c392276.js.map} +1 -1
  29. package/dist/cjs/GenericCard-2b20ab4b.js +66 -0
  30. package/dist/cjs/{GenericCard-ad18c4c3.js.map → GenericCard-2b20ab4b.js.map} +1 -1
  31. package/dist/cjs/IDDisplayIcon-4b6ce62f.js +234 -0
  32. package/dist/cjs/{IDDisplayIcon-62993df0.js.map → IDDisplayIcon-4b6ce62f.js.map} +1 -1
  33. package/dist/cjs/JobHistoryCard-e9ac7a1a.js +35 -0
  34. package/dist/cjs/{JobHistoryCard-05a3f98b.js.map → JobHistoryCard-e9ac7a1a.js.map} +1 -1
  35. package/dist/cjs/JobListCard-c53660e8.js +124 -0
  36. package/dist/cjs/{JobListCard-f74f0302.js.map → JobListCard-c53660e8.js.map} +1 -1
  37. package/dist/cjs/LearnCardCreditCardBackFace-62330eea.js +83 -0
  38. package/dist/cjs/{LearnCardCreditCardBackFace-87cc8b9f.js.map → LearnCardCreditCardBackFace-62330eea.js.map} +1 -1
  39. package/dist/cjs/LearnCardCreditCardFrontFace-aca1b7bc.js +89 -0
  40. package/dist/cjs/{LearnCardCreditCardFrontFace-39eeb89a.js.map → LearnCardCreditCardFrontFace-aca1b7bc.js.map} +1 -1
  41. package/dist/cjs/{LearnPill-d80ba2e6.js → LearnPill-da2d2a8e.js} +10 -10
  42. package/dist/cjs/{LearnPill-d80ba2e6.js.map → LearnPill-da2d2a8e.js.map} +1 -1
  43. package/dist/cjs/{Lightbox-9aeb2f7b.js → Lightbox-d72e19ba.js} +70 -58
  44. package/dist/cjs/{Lightbox-9aeb2f7b.js.map → Lightbox-d72e19ba.js.map} +1 -1
  45. package/dist/cjs/Lightbulb-82cec354.js +42 -0
  46. package/dist/cjs/{Lightbulb-19c89d3c.js.map → Lightbulb-82cec354.js.map} +1 -1
  47. package/dist/cjs/MeritBadgeDisplayCard-531dbb15.js +947 -0
  48. package/dist/cjs/{MeritBadgeDisplayCard-81bd14b8.js.map → MeritBadgeDisplayCard-531dbb15.js.map} +1 -1
  49. package/dist/cjs/MeritBadgeSkillsCount-4ffd9166.js +36 -0
  50. package/dist/cjs/{MeritBadgeSkillsCount-85cf4a91.js.map → MeritBadgeSkillsCount-4ffd9166.js.map} +1 -1
  51. package/dist/cjs/MiniVCThumbnail-9c510f51.js +85 -0
  52. package/dist/cjs/{MiniVCThumbnail-a78e44f2.js.map → MiniVCThumbnail-9c510f51.js.map} +1 -1
  53. package/dist/cjs/Notification-24d4de25.js +123 -0
  54. package/dist/cjs/{Notification-3fe4a359.js.map → Notification-24d4de25.js.map} +1 -1
  55. package/dist/cjs/NotificationBoostCard-abb23722.js +142 -0
  56. package/dist/cjs/{NotificationBoostCard-be514ddb.js.map → NotificationBoostCard-abb23722.js.map} +1 -1
  57. package/dist/cjs/NotificationUserAcceptedBoostCard-31d8a89e.js +98 -0
  58. package/dist/cjs/{NotificationUserAcceptedBoostCard-423b9320.js.map → NotificationUserAcceptedBoostCard-31d8a89e.js.map} +1 -1
  59. package/dist/cjs/NotificationUserCard-59431df3.js +121 -0
  60. package/dist/cjs/{NotificationUserCard-d4dab06c.js.map → NotificationUserCard-59431df3.js.map} +1 -1
  61. package/dist/cjs/PuzzlePiece-e64f4596.js +97 -0
  62. package/dist/cjs/{PuzzlePiece-088d2b00.js.map → PuzzlePiece-e64f4596.js.map} +1 -1
  63. package/dist/cjs/QRCodeCard-f0079bd9.js +49 -0
  64. package/dist/cjs/{QRCodeCard-b56c11cc.js.map → QRCodeCard-f0079bd9.js.map} +1 -1
  65. package/dist/cjs/QRCodeIcon-3021a53b.js +137 -0
  66. package/dist/cjs/{QRCodeIcon-81c6e96b.js.map → QRCodeIcon-3021a53b.js.map} +1 -1
  67. package/dist/cjs/RoundedPill-b54f3ac1.js +134 -0
  68. package/dist/cjs/{RoundedPill-bda7c067.js.map → RoundedPill-b54f3ac1.js.map} +1 -1
  69. package/dist/cjs/{SchoolIDCard-42d7c96f.js → SchoolIDCard-e22d0d80.js} +34 -34
  70. package/dist/cjs/{SchoolIDCard-42d7c96f.js.map → SchoolIDCard-e22d0d80.js.map} +1 -1
  71. package/dist/cjs/SkillTabCard-efade17a.js +44 -0
  72. package/dist/cjs/{SkillTabCard-66677f3c.js.map → SkillTabCard-efade17a.js.map} +1 -1
  73. package/dist/cjs/SkillVerticalCard-62e308b4.js +37 -0
  74. package/dist/cjs/{SkillVerticalCard-3eb3a8e9.js.map → SkillVerticalCard-62e308b4.js.map} +1 -1
  75. package/dist/cjs/SkillsCard-dae73a71.js +57 -0
  76. package/dist/cjs/{SkillsCard-4b6dbb4f.js.map → SkillsCard-dae73a71.js.map} +1 -1
  77. package/dist/cjs/SkillsStatsCard-aeef796c.js +57 -0
  78. package/dist/cjs/{SkillsStatsCard-97a35a88.js.map → SkillsStatsCard-aeef796c.js.map} +1 -1
  79. package/dist/cjs/SmallAchievementCard-d22a4d25.js +53 -0
  80. package/dist/cjs/{SmallAchievementCard-a1fa862b.js.map → SmallAchievementCard-d22a4d25.js.map} +1 -1
  81. package/dist/cjs/ThreeDotVertical-dda0e747.js +57 -0
  82. package/dist/cjs/{ThreeDotVertical-1d221fc8.js.map → ThreeDotVertical-dda0e747.js.map} +1 -1
  83. package/dist/cjs/Trophy-9758f0cf.js +35 -0
  84. package/dist/cjs/{Trophy-3d323be3.js.map → Trophy-9758f0cf.js.map} +1 -1
  85. package/dist/cjs/User-54049eba.js +130 -0
  86. package/dist/cjs/{User-301088ac.js.map → User-54049eba.js.map} +1 -1
  87. package/dist/cjs/{UserProfilePicture-16b97343.js → UserProfilePicture-d69fe4f0.js} +18 -12
  88. package/dist/cjs/{UserProfilePicture-16b97343.js.map → UserProfilePicture-d69fe4f0.js.map} +1 -1
  89. package/dist/cjs/{VCCard-f5bc1db8.js → VCCard-2683c65c.js} +29 -22
  90. package/dist/cjs/{VCCard-f5bc1db8.js.map → VCCard-2683c65c.js.map} +1 -1
  91. package/dist/cjs/VCDisplayBackFace-a7428833.js +70 -0
  92. package/dist/cjs/{VCDisplayBackFace-6000a58b.js.map → VCDisplayBackFace-a7428833.js.map} +1 -1
  93. package/dist/cjs/VCDisplayCard-b8882c8e.js +191 -0
  94. package/dist/cjs/{VCDisplayCard-9512d8f2.js.map → VCDisplayCard-b8882c8e.js.map} +1 -1
  95. package/dist/cjs/{VCDisplayCard2-2a1d5f57.js → VCDisplayCard2-28f7df8e.js} +724 -695
  96. package/dist/cjs/{VCDisplayCard2-2a1d5f57.js.map → VCDisplayCard2-28f7df8e.js.map} +1 -1
  97. package/dist/cjs/VCThumbnail-f84d0d01.js +148 -0
  98. package/dist/cjs/{VCThumbnail-6bf86bb2.js.map → VCThumbnail-f84d0d01.js.map} +1 -1
  99. package/dist/cjs/VCVerificationCheck-92198135.js +78 -0
  100. package/dist/cjs/{VCVerificationCheck-46fa75d3.js.map → VCVerificationCheck-92198135.js.map} +1 -1
  101. package/dist/cjs/{VCVerificationPill-d6303ad0.js → VCVerificationPill-729ac239.js} +11 -26
  102. package/dist/cjs/{VCVerificationPill-d6303ad0.js.map → VCVerificationPill-729ac239.js.map} +1 -1
  103. package/dist/cjs/{VerifierStateBadgeAndText-67eddbaf.js → VerifierStateBadgeAndText-e46d8393.js} +420 -338
  104. package/dist/cjs/{VerifierStateBadgeAndText-67eddbaf.js.map → VerifierStateBadgeAndText-e46d8393.js.map} +1 -1
  105. package/dist/cjs/{constants-cd049889.js → constants-2430d4bc.js} +22 -30
  106. package/dist/cjs/{constants-cd049889.js.map → constants-2430d4bc.js.map} +1 -1
  107. package/dist/cjs/{credential.helpers-60b421b9.js → credential.helpers-4f806327.js} +196 -155
  108. package/dist/cjs/{credential.helpers-60b421b9.js.map → credential.helpers-4f806327.js.map} +1 -1
  109. package/dist/cjs/{icons-0404f605.js → icons-857d4be1.js} +2 -1
  110. package/dist/cjs/{icons-0404f605.js.map → icons-857d4be1.js.map} +1 -1
  111. package/dist/cjs/{index-08002ab6.js → index-ba659c28.js} +9 -1
  112. package/dist/cjs/{index-08002ab6.js.map → index-ba659c28.js.map} +1 -1
  113. package/dist/cjs/index.js +58 -58
  114. package/dist/cjs/index10.js +4 -4
  115. package/dist/cjs/index11.js +1 -1
  116. package/dist/cjs/index12.js +5 -5
  117. package/dist/cjs/index13.js +58 -58
  118. package/dist/cjs/index14.js +2 -2
  119. package/dist/cjs/index15.js +2 -2
  120. package/dist/cjs/index16.js +1 -1
  121. package/dist/cjs/index17.js +1 -1
  122. package/dist/cjs/index18.js +2 -2
  123. package/dist/cjs/index19.js +1 -1
  124. package/dist/cjs/index2.js +6 -6
  125. package/dist/cjs/index20.js +1 -1
  126. package/dist/cjs/index21.js +10 -10
  127. package/dist/cjs/index22.js +1 -1
  128. package/dist/cjs/index23.js +7 -7
  129. package/dist/cjs/index24.js +8 -8
  130. package/dist/cjs/index25.js +1 -1
  131. package/dist/cjs/index26.js +2 -2
  132. package/dist/cjs/index27.js +1 -1
  133. package/dist/cjs/index28.js +2 -2
  134. package/dist/cjs/index29.js +5 -5
  135. package/dist/cjs/index3.js +12 -12
  136. package/dist/cjs/index30.js +1 -1
  137. package/dist/cjs/index31.js +1 -1
  138. package/dist/cjs/index32.js +1 -1
  139. package/dist/cjs/index33.js +4 -4
  140. package/dist/cjs/index34.js +1 -1
  141. package/dist/cjs/index35.js +2 -2
  142. package/dist/cjs/index36.js +9 -9
  143. package/dist/cjs/index37.js +1 -1
  144. package/dist/cjs/index38.js +19 -19
  145. package/dist/cjs/index39.js +9 -9
  146. package/dist/cjs/index4.js +7 -7
  147. package/dist/cjs/index40.js +12 -12
  148. package/dist/cjs/index41.js +14 -14
  149. package/dist/cjs/index42.js +1 -1
  150. package/dist/cjs/index43.js +1 -1
  151. package/dist/cjs/index44.js +2 -2
  152. package/dist/cjs/index45.js +2 -2
  153. package/dist/cjs/index5.js +1 -1
  154. package/dist/cjs/index6.js +9 -9
  155. package/dist/cjs/index7.js +3 -3
  156. package/dist/cjs/index8.js +3 -3
  157. package/dist/cjs/index9.js +1 -1
  158. package/dist/cjs/{types-f01c65d1.js → types-91d0677b.js} +24 -23
  159. package/dist/cjs/{types-f01c65d1.js.map → types-91d0677b.js.map} +1 -1
  160. package/dist/cjs/types-e4d9a257.js.map +1 -1
  161. package/dist/cjs/types.esm-beffa54c.js +5386 -0
  162. package/dist/cjs/types.esm-beffa54c.js.map +1 -0
  163. package/dist/esm/AchievementCard-e80836dd.js +81 -0
  164. package/dist/esm/{AchievementCard-d179d041.js.map → AchievementCard-e80836dd.js.map} +1 -1
  165. package/dist/esm/BoostGenericCard-b5e522ea.js +174 -0
  166. package/dist/esm/{BoostGenericCard-4cfa6556.js.map → BoostGenericCard-b5e522ea.js.map} +1 -1
  167. package/dist/esm/BoostSmallCard-ddefe808.js +157 -0
  168. package/dist/esm/{BoostSmallCard-42980ebc.js.map → BoostSmallCard-ddefe808.js.map} +1 -1
  169. package/dist/esm/Button-70eedbf6.js +16 -0
  170. package/dist/esm/{Button-5f805204.js.map → Button-70eedbf6.js.map} +1 -1
  171. package/dist/esm/CertificateDisplayCard-0ceeb71a.js +879 -0
  172. package/dist/esm/{CertificateDisplayCard-58c52cdb.js.map → CertificateDisplayCard-0ceeb71a.js.map} +1 -1
  173. package/dist/esm/Checkmark-724d5d17.js +73 -0
  174. package/dist/esm/{Checkmark-d8b8f43d.js.map → Checkmark-724d5d17.js.map} +1 -1
  175. package/dist/esm/CircleCheckButton-23a9c7d4.js +26 -0
  176. package/dist/esm/{CircleCheckButton-5a97f071.js.map → CircleCheckButton-23a9c7d4.js.map} +1 -1
  177. package/dist/esm/{CircleIcon-4200733b.js → CircleIcon-abd5ff06.js} +14 -30
  178. package/dist/esm/{CircleIcon-4200733b.js.map → CircleIcon-abd5ff06.js.map} +1 -1
  179. package/dist/esm/{CircleSpinner-9b8b1a6b.js → CircleSpinner-03a329fc.js} +2 -13
  180. package/dist/esm/{CircleSpinner-9b8b1a6b.js.map → CircleSpinner-03a329fc.js.map} +1 -1
  181. package/dist/esm/Coins-e9f35519.js +14 -0
  182. package/dist/esm/{Coins-ed119ec6.js.map → Coins-e9f35519.js.map} +1 -1
  183. package/dist/esm/CourseCard-990fdc99.js +78 -0
  184. package/dist/esm/{CourseCard-663ff174.js.map → CourseCard-990fdc99.js.map} +1 -1
  185. package/dist/esm/CourseVerticalCard-aae0c030.js +106 -0
  186. package/dist/esm/{CourseVerticalCard-130b0d91.js.map → CourseVerticalCard-aae0c030.js.map} +1 -1
  187. package/dist/esm/FlippyCard-458dc9b1.js +15 -0
  188. package/dist/esm/{FlippyCard-a2de5cf1.js.map → FlippyCard-458dc9b1.js.map} +1 -1
  189. package/dist/esm/GenericArrow-b2822cf6.js +28 -0
  190. package/dist/esm/{GenericArrow-0dba1707.js.map → GenericArrow-b2822cf6.js.map} +1 -1
  191. package/dist/esm/GenericCard-24648e62.js +60 -0
  192. package/dist/esm/{GenericCard-4bb4220a.js.map → GenericCard-24648e62.js.map} +1 -1
  193. package/dist/esm/IDDisplayIcon-d87174fd.js +224 -0
  194. package/dist/esm/{IDDisplayIcon-82a851e7.js.map → IDDisplayIcon-d87174fd.js.map} +1 -1
  195. package/dist/esm/JobHistoryCard-e71ab2c7.js +29 -0
  196. package/dist/esm/{JobHistoryCard-80d4ef27.js.map → JobHistoryCard-e71ab2c7.js.map} +1 -1
  197. package/dist/esm/JobListCard-e8b4ab33.js +117 -0
  198. package/dist/esm/{JobListCard-0d1c4184.js.map → JobListCard-e8b4ab33.js.map} +1 -1
  199. package/dist/esm/LearnCardCreditCardBackFace-56642837.js +76 -0
  200. package/dist/esm/{LearnCardCreditCardBackFace-9baa9e6b.js.map → LearnCardCreditCardBackFace-56642837.js.map} +1 -1
  201. package/dist/esm/LearnCardCreditCardFrontFace-b7c917f5.js +81 -0
  202. package/dist/esm/{LearnCardCreditCardFrontFace-d50efb25.js.map → LearnCardCreditCardFrontFace-b7c917f5.js.map} +1 -1
  203. package/dist/esm/{LearnPill-74bcb08c.js → LearnPill-e0720485.js} +10 -10
  204. package/dist/esm/{LearnPill-74bcb08c.js.map → LearnPill-e0720485.js.map} +1 -1
  205. package/dist/esm/{Lightbox-2ae83d79.js → Lightbox-f0338a0c.js} +70 -58
  206. package/dist/esm/{Lightbox-2ae83d79.js.map → Lightbox-f0338a0c.js.map} +1 -1
  207. package/dist/esm/Lightbulb-7e24711e.js +35 -0
  208. package/dist/esm/{Lightbulb-b6eca510.js.map → Lightbulb-7e24711e.js.map} +1 -1
  209. package/dist/esm/MeritBadgeDisplayCard-4b8fe8e4.js +937 -0
  210. package/dist/esm/{MeritBadgeDisplayCard-c87b0271.js.map → MeritBadgeDisplayCard-4b8fe8e4.js.map} +1 -1
  211. package/dist/esm/MeritBadgeSkillsCount-cd2f3f6d.js +30 -0
  212. package/dist/esm/{MeritBadgeSkillsCount-77ceb64c.js.map → MeritBadgeSkillsCount-cd2f3f6d.js.map} +1 -1
  213. package/dist/esm/MiniVCThumbnail-cc05e1f8.js +78 -0
  214. package/dist/esm/{MiniVCThumbnail-6a07e810.js.map → MiniVCThumbnail-cc05e1f8.js.map} +1 -1
  215. package/dist/esm/Notification-279ba207.js +117 -0
  216. package/dist/esm/{Notification-76adb92c.js.map → Notification-279ba207.js.map} +1 -1
  217. package/dist/esm/NotificationBoostCard-cf11d747.js +134 -0
  218. package/dist/esm/{NotificationBoostCard-e6f1ab86.js.map → NotificationBoostCard-cf11d747.js.map} +1 -1
  219. package/dist/esm/NotificationUserAcceptedBoostCard-a1269382.js +90 -0
  220. package/dist/esm/{NotificationUserAcceptedBoostCard-8c13bd3f.js.map → NotificationUserAcceptedBoostCard-a1269382.js.map} +1 -1
  221. package/dist/esm/NotificationUserCard-c109c442.js +113 -0
  222. package/dist/esm/{NotificationUserCard-dbcc80f9.js.map → NotificationUserCard-c109c442.js.map} +1 -1
  223. package/dist/esm/PuzzlePiece-a3d9cc62.js +91 -0
  224. package/dist/esm/{PuzzlePiece-4541648e.js.map → PuzzlePiece-a3d9cc62.js.map} +1 -1
  225. package/dist/esm/QRCodeCard-8f29c3c7.js +43 -0
  226. package/dist/esm/{QRCodeCard-aa2b9967.js.map → QRCodeCard-8f29c3c7.js.map} +1 -1
  227. package/dist/esm/QRCodeIcon-8eef4f7c.js +129 -0
  228. package/dist/esm/{QRCodeIcon-e9569804.js.map → QRCodeIcon-8eef4f7c.js.map} +1 -1
  229. package/dist/esm/RoundedPill-50279e5d.js +127 -0
  230. package/dist/esm/{RoundedPill-6a6e8aaf.js.map → RoundedPill-50279e5d.js.map} +1 -1
  231. package/dist/esm/{SchoolIDCard-7c3ba74c.js → SchoolIDCard-8b151cd3.js} +34 -34
  232. package/dist/esm/{SchoolIDCard-7c3ba74c.js.map → SchoolIDCard-8b151cd3.js.map} +1 -1
  233. package/dist/esm/SkillTabCard-f2edb3fc.js +38 -0
  234. package/dist/esm/{SkillTabCard-cfe117a2.js.map → SkillTabCard-f2edb3fc.js.map} +1 -1
  235. package/dist/esm/SkillVerticalCard-045169f9.js +30 -0
  236. package/dist/esm/{SkillVerticalCard-108f49bb.js.map → SkillVerticalCard-045169f9.js.map} +1 -1
  237. package/dist/esm/SkillsCard-5279aac9.js +50 -0
  238. package/dist/esm/{SkillsCard-92a51db2.js.map → SkillsCard-5279aac9.js.map} +1 -1
  239. package/dist/esm/SkillsStatsCard-e0cd6137.js +50 -0
  240. package/dist/esm/{SkillsStatsCard-1628fe9c.js.map → SkillsStatsCard-e0cd6137.js.map} +1 -1
  241. package/dist/esm/SmallAchievementCard-24dfa453.js +47 -0
  242. package/dist/esm/{SmallAchievementCard-d0220751.js.map → SmallAchievementCard-24dfa453.js.map} +1 -1
  243. package/dist/esm/ThreeDotVertical-ccbbc8ef.js +51 -0
  244. package/dist/esm/{ThreeDotVertical-08294477.js.map → ThreeDotVertical-ccbbc8ef.js.map} +1 -1
  245. package/dist/esm/Trophy-fc7fdec4.js +29 -0
  246. package/dist/esm/{Trophy-ad67f46a.js.map → Trophy-fc7fdec4.js.map} +1 -1
  247. package/dist/esm/User-f5ea0f01.js +122 -0
  248. package/dist/esm/{User-161c7f37.js.map → User-f5ea0f01.js.map} +1 -1
  249. package/dist/esm/{UserProfilePicture-ecc82a6c.js → UserProfilePicture-7b950437.js} +18 -12
  250. package/dist/esm/{UserProfilePicture-ecc82a6c.js.map → UserProfilePicture-7b950437.js.map} +1 -1
  251. package/dist/esm/{VCCard-a5dda1f4.js → VCCard-04ecb3db.js} +29 -22
  252. package/dist/esm/{VCCard-a5dda1f4.js.map → VCCard-04ecb3db.js.map} +1 -1
  253. package/dist/esm/VCDisplayBackFace-1760601a.js +63 -0
  254. package/dist/esm/{VCDisplayBackFace-af01c8b3.js.map → VCDisplayBackFace-1760601a.js.map} +1 -1
  255. package/dist/esm/VCDisplayCard-3d67e2bc.js +184 -0
  256. package/dist/esm/{VCDisplayCard-36f34504.js.map → VCDisplayCard-3d67e2bc.js.map} +1 -1
  257. package/dist/esm/{VCDisplayCard2-04e304db.js → VCDisplayCard2-fb8abe89.js} +724 -695
  258. package/dist/esm/{VCDisplayCard2-04e304db.js.map → VCDisplayCard2-fb8abe89.js.map} +1 -1
  259. package/dist/esm/VCThumbnail-835921dd.js +140 -0
  260. package/dist/esm/{VCThumbnail-3c254bda.js.map → VCThumbnail-835921dd.js.map} +1 -1
  261. package/dist/esm/VCVerificationCheck-8b8b7a76.js +69 -0
  262. package/dist/esm/{VCVerificationCheck-80249524.js.map → VCVerificationCheck-8b8b7a76.js.map} +1 -1
  263. package/dist/esm/VCVerificationPill-77596013.js +50 -0
  264. package/dist/esm/{VCVerificationPill-0e2c1172.js.map → VCVerificationPill-77596013.js.map} +1 -1
  265. package/dist/esm/{VerifierStateBadgeAndText-2e5414f4.js → VerifierStateBadgeAndText-490c08dc.js} +420 -338
  266. package/dist/esm/{VerifierStateBadgeAndText-2e5414f4.js.map → VerifierStateBadgeAndText-490c08dc.js.map} +1 -1
  267. package/dist/esm/{constants-20055f35.js → constants-f1ed610c.js} +22 -30
  268. package/dist/esm/{constants-20055f35.js.map → constants-f1ed610c.js.map} +1 -1
  269. package/dist/esm/{credential.helpers-97c7e3d4.js → credential.helpers-1b1ff55e.js} +196 -155
  270. package/dist/esm/{credential.helpers-97c7e3d4.js.map → credential.helpers-1b1ff55e.js.map} +1 -1
  271. package/dist/esm/{icons-03afd795.js → icons-fdd35170.js} +2 -1
  272. package/dist/esm/{icons-03afd795.js.map → icons-fdd35170.js.map} +1 -1
  273. package/dist/esm/{index-b102febc.js → index-cbe3a76a.js} +9 -1
  274. package/dist/esm/{index-b102febc.js.map → index-cbe3a76a.js.map} +1 -1
  275. package/dist/esm/index.js +58 -58
  276. package/dist/esm/index10.js +4 -4
  277. package/dist/esm/index11.js +1 -1
  278. package/dist/esm/index12.js +5 -5
  279. package/dist/esm/index13.js +58 -58
  280. package/dist/esm/index14.js +2 -2
  281. package/dist/esm/index15.js +2 -2
  282. package/dist/esm/index16.js +1 -1
  283. package/dist/esm/index17.js +1 -1
  284. package/dist/esm/index18.js +2 -2
  285. package/dist/esm/index19.js +1 -1
  286. package/dist/esm/index2.js +6 -6
  287. package/dist/esm/index20.js +1 -1
  288. package/dist/esm/index21.js +10 -10
  289. package/dist/esm/index22.js +1 -1
  290. package/dist/esm/index23.js +7 -7
  291. package/dist/esm/index24.js +8 -8
  292. package/dist/esm/index25.js +1 -1
  293. package/dist/esm/index26.js +2 -2
  294. package/dist/esm/index27.js +1 -1
  295. package/dist/esm/index28.js +2 -2
  296. package/dist/esm/index29.js +5 -5
  297. package/dist/esm/index3.js +12 -12
  298. package/dist/esm/index30.js +1 -1
  299. package/dist/esm/index31.js +1 -1
  300. package/dist/esm/index32.js +1 -1
  301. package/dist/esm/index33.js +4 -4
  302. package/dist/esm/index34.js +1 -1
  303. package/dist/esm/index35.js +2 -2
  304. package/dist/esm/index36.js +9 -9
  305. package/dist/esm/index37.js +1 -1
  306. package/dist/esm/index38.js +19 -19
  307. package/dist/esm/index39.js +9 -9
  308. package/dist/esm/index4.js +7 -7
  309. package/dist/esm/index40.js +12 -12
  310. package/dist/esm/index41.js +14 -14
  311. package/dist/esm/index42.js +1 -1
  312. package/dist/esm/index43.js +1 -1
  313. package/dist/esm/index44.js +2 -2
  314. package/dist/esm/index45.js +2 -2
  315. package/dist/esm/index5.js +1 -1
  316. package/dist/esm/index6.js +9 -9
  317. package/dist/esm/index7.js +3 -3
  318. package/dist/esm/index8.js +3 -3
  319. package/dist/esm/index9.js +1 -1
  320. package/dist/esm/types-b32d28d5.js.map +1 -1
  321. package/dist/esm/{types-05bc737d.js → types-c765e2a4.js} +24 -23
  322. package/dist/esm/{types-05bc737d.js.map → types-c765e2a4.js.map} +1 -1
  323. package/dist/esm/types.esm-8798df50.js +5384 -0
  324. package/dist/esm/types.esm-8798df50.js.map +1 -0
  325. package/package.json +4 -4
  326. package/dist/cjs/AchievementCard-dd332f3f.js +0 -67
  327. package/dist/cjs/BoostGenericCard-55f710ad.js +0 -162
  328. package/dist/cjs/BoostSmallCard-dd1cbd51.js +0 -164
  329. package/dist/cjs/CertificateDisplayCard-9f619468.js +0 -866
  330. package/dist/cjs/Checkmark-f611aa4d.js +0 -58
  331. package/dist/cjs/Coins-acd63f46.js +0 -22
  332. package/dist/cjs/CourseCard-338a32ee.js +0 -92
  333. package/dist/cjs/CourseVerticalCard-841960b1.js +0 -98
  334. package/dist/cjs/GenericArrow-8dfb261d.js +0 -27
  335. package/dist/cjs/GenericCard-ad18c4c3.js +0 -60
  336. package/dist/cjs/IDDisplayIcon-62993df0.js +0 -226
  337. package/dist/cjs/JobHistoryCard-05a3f98b.js +0 -43
  338. package/dist/cjs/JobListCard-f74f0302.js +0 -127
  339. package/dist/cjs/LearnCardCreditCardBackFace-87cc8b9f.js +0 -72
  340. package/dist/cjs/LearnCardCreditCardFrontFace-39eeb89a.js +0 -78
  341. package/dist/cjs/Lightbulb-19c89d3c.js +0 -37
  342. package/dist/cjs/MeritBadgeDisplayCard-81bd14b8.js +0 -912
  343. package/dist/cjs/MeritBadgeSkillsCount-85cf4a91.js +0 -40
  344. package/dist/cjs/MiniVCThumbnail-a78e44f2.js +0 -69
  345. package/dist/cjs/Notification-3fe4a359.js +0 -94
  346. package/dist/cjs/NotificationBoostCard-be514ddb.js +0 -120
  347. package/dist/cjs/NotificationUserAcceptedBoostCard-423b9320.js +0 -74
  348. package/dist/cjs/NotificationUserCard-d4dab06c.js +0 -94
  349. package/dist/cjs/PuzzlePiece-088d2b00.js +0 -77
  350. package/dist/cjs/QRCodeCard-b56c11cc.js +0 -42
  351. package/dist/cjs/QRCodeIcon-81c6e96b.js +0 -96
  352. package/dist/cjs/RoundedPill-bda7c067.js +0 -106
  353. package/dist/cjs/SkillTabCard-66677f3c.js +0 -42
  354. package/dist/cjs/SkillVerticalCard-3eb3a8e9.js +0 -35
  355. package/dist/cjs/SkillsCard-4b6dbb4f.js +0 -66
  356. package/dist/cjs/SkillsStatsCard-97a35a88.js +0 -77
  357. package/dist/cjs/SmallAchievementCard-a1fa862b.js +0 -43
  358. package/dist/cjs/ThreeDotVertical-1d221fc8.js +0 -42
  359. package/dist/cjs/Trophy-3d323be3.js +0 -28
  360. package/dist/cjs/User-301088ac.js +0 -93
  361. package/dist/cjs/VCDisplayBackFace-6000a58b.js +0 -87
  362. package/dist/cjs/VCDisplayCard-9512d8f2.js +0 -180
  363. package/dist/cjs/VCThumbnail-6bf86bb2.js +0 -143
  364. package/dist/cjs/VCVerificationCheck-46fa75d3.js +0 -81
  365. package/dist/cjs/types.esm-ae4cdf49.js +0 -5729
  366. package/dist/cjs/types.esm-ae4cdf49.js.map +0 -1
  367. package/dist/esm/AchievementCard-d179d041.js +0 -61
  368. package/dist/esm/BoostGenericCard-4cfa6556.js +0 -156
  369. package/dist/esm/BoostSmallCard-42980ebc.js +0 -156
  370. package/dist/esm/Button-5f805204.js +0 -12
  371. package/dist/esm/CertificateDisplayCard-58c52cdb.js +0 -854
  372. package/dist/esm/Checkmark-d8b8f43d.js +0 -52
  373. package/dist/esm/CircleCheckButton-5a97f071.js +0 -24
  374. package/dist/esm/Coins-ed119ec6.js +0 -16
  375. package/dist/esm/CourseCard-663ff174.js +0 -82
  376. package/dist/esm/CourseVerticalCard-130b0d91.js +0 -88
  377. package/dist/esm/FlippyCard-a2de5cf1.js +0 -28
  378. package/dist/esm/GenericArrow-0dba1707.js +0 -21
  379. package/dist/esm/GenericCard-4bb4220a.js +0 -54
  380. package/dist/esm/IDDisplayIcon-82a851e7.js +0 -216
  381. package/dist/esm/JobHistoryCard-80d4ef27.js +0 -37
  382. package/dist/esm/JobListCard-0d1c4184.js +0 -120
  383. package/dist/esm/LearnCardCreditCardBackFace-9baa9e6b.js +0 -65
  384. package/dist/esm/LearnCardCreditCardFrontFace-d50efb25.js +0 -70
  385. package/dist/esm/Lightbulb-b6eca510.js +0 -30
  386. package/dist/esm/MeritBadgeDisplayCard-c87b0271.js +0 -902
  387. package/dist/esm/MeritBadgeSkillsCount-77ceb64c.js +0 -34
  388. package/dist/esm/MiniVCThumbnail-6a07e810.js +0 -62
  389. package/dist/esm/Notification-76adb92c.js +0 -88
  390. package/dist/esm/NotificationBoostCard-e6f1ab86.js +0 -112
  391. package/dist/esm/NotificationUserAcceptedBoostCard-8c13bd3f.js +0 -66
  392. package/dist/esm/NotificationUserCard-dbcc80f9.js +0 -86
  393. package/dist/esm/PuzzlePiece-4541648e.js +0 -71
  394. package/dist/esm/QRCodeCard-aa2b9967.js +0 -36
  395. package/dist/esm/QRCodeIcon-e9569804.js +0 -88
  396. package/dist/esm/RoundedPill-6a6e8aaf.js +0 -99
  397. package/dist/esm/SkillTabCard-cfe117a2.js +0 -36
  398. package/dist/esm/SkillVerticalCard-108f49bb.js +0 -28
  399. package/dist/esm/SkillsCard-92a51db2.js +0 -59
  400. package/dist/esm/SkillsStatsCard-1628fe9c.js +0 -70
  401. package/dist/esm/SmallAchievementCard-d0220751.js +0 -37
  402. package/dist/esm/ThreeDotVertical-08294477.js +0 -36
  403. package/dist/esm/Trophy-ad67f46a.js +0 -22
  404. package/dist/esm/User-161c7f37.js +0 -85
  405. package/dist/esm/VCDisplayBackFace-af01c8b3.js +0 -80
  406. package/dist/esm/VCDisplayCard-36f34504.js +0 -173
  407. package/dist/esm/VCThumbnail-3c254bda.js +0 -135
  408. package/dist/esm/VCVerificationCheck-80249524.js +0 -72
  409. package/dist/esm/VCVerificationPill-0e2c1172.js +0 -65
  410. package/dist/esm/types.esm-c7016566.js +0 -5727
  411. package/dist/esm/types.esm-c7016566.js.map +0 -1
@@ -1,912 +0,0 @@
1
- 'use strict';
2
-
3
- var React = require('react');
4
- var VerifierStateBadgeAndText = require('./VerifierStateBadgeAndText-67eddbaf.js');
5
- var credential_helpers = require('./credential.helpers-60b421b9.js');
6
- var UserProfilePicture = require('./UserProfilePicture-16b97343.js');
7
- var index = require('./index-5488badc.js');
8
- var types_esm = require('./types.esm-ae4cdf49.js');
9
- var Lightbox = require('./Lightbox-9aeb2f7b.js');
10
- var CaretRightFilled = require('./CaretRightFilled.svg');
11
- var ThreeDots = require('./DotsThreeOutline.svg');
12
-
13
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
14
-
15
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
16
- var CaretRightFilled__default = /*#__PURE__*/_interopDefaultLegacy(CaretRightFilled);
17
- var ThreeDots__default = /*#__PURE__*/_interopDefaultLegacy(ThreeDots);
18
-
19
- const Smiley = ({ className = "" }) => {
20
- return /* @__PURE__ */ React__default["default"].createElement("svg", {
21
- width: "35",
22
- height: "36",
23
- viewBox: "0 0 35 36",
24
- fill: "none",
25
- xmlns: "http://www.w3.org/2000/svg",
26
- className
27
- }, /* @__PURE__ */ React__default["default"].createElement("path", {
28
- d: "M17.5 30.7008C24.7487 30.7008 30.625 24.8245 30.625 17.5758C30.625 10.3271 24.7487 4.45081 17.5 4.45081C10.2513 4.45081 4.375 10.3271 4.375 17.5758C4.375 24.8245 10.2513 30.7008 17.5 30.7008Z",
29
- stroke: "#FBFBFC",
30
- strokeWidth: "1.5",
31
- strokeLinecap: "round",
32
- strokeLinejoin: "round"
33
- }), /* @__PURE__ */ React__default["default"].createElement("path", {
34
- d: "M23.1846 20.8566C22.608 21.8538 21.7792 22.6818 20.7815 23.2575C19.7837 23.8332 18.652 24.1362 17.5001 24.1362C16.3482 24.1363 15.2165 23.8332 14.2187 23.2576C13.2209 22.6819 12.3921 21.8539 11.8156 20.8567",
35
- stroke: "#FBFBFC",
36
- strokeWidth: "1.5",
37
- strokeLinecap: "round",
38
- strokeLinejoin: "round"
39
- }), /* @__PURE__ */ React__default["default"].createElement("path", {
40
- d: "M12.5781 16.2086C13.3332 16.2086 13.9453 15.5965 13.9453 14.8414C13.9453 14.0864 13.3332 13.4742 12.5781 13.4742C11.823 13.4742 11.2109 14.0864 11.2109 14.8414C11.2109 15.5965 11.823 16.2086 12.5781 16.2086Z",
41
- fill: "#FBFBFC"
42
- }), /* @__PURE__ */ React__default["default"].createElement("path", {
43
- d: "M22.4219 16.2086C23.177 16.2086 23.7891 15.5965 23.7891 14.8414C23.7891 14.0864 23.177 13.4742 22.4219 13.4742C21.6668 13.4742 21.0547 14.0864 21.0547 14.8414C21.0547 15.5965 21.6668 16.2086 22.4219 16.2086Z",
44
- fill: "#FBFBFC"
45
- }));
46
- };
47
-
48
- const AlignmentRow = ({
49
- url,
50
- name,
51
- framework
52
- }) => {
53
- return /* @__PURE__ */ React__default["default"].createElement("div", {
54
- className: "flex flex-col gap-[5px] font-poppins text-[12px] bg-[#DBEAFE] rounded-[15px] border-b-[1px] border-grayscale-200 border-solid w-full p-[10px] last:border-0"
55
- }, /* @__PURE__ */ React__default["default"].createElement("h1", {
56
- className: "text-blue-800 font-semibold uppercase"
57
- }, framework), /* @__PURE__ */ React__default["default"].createElement("button", {
58
- className: "flex",
59
- onClick: () => window.open(url)
60
- }, /* @__PURE__ */ React__default["default"].createElement("span", {
61
- className: "text-left"
62
- }, name), /* @__PURE__ */ React__default["default"].createElement("img", {
63
- className: "w-[20px] self-end",
64
- src: CaretRightFilled__default["default"],
65
- alt: "right-caret"
66
- })));
67
- };
68
-
69
- const InfoBox = ({ text, handleClose, backgroundColor = "#6366F1" }) => {
70
- const bgColorWithOpacity = `${backgroundColor}1F`;
71
- return /* @__PURE__ */ React__default["default"].createElement("div", {
72
- className: "info-box p-[10px] rounded-[10px] w-full font-poppins text-[12px] leading[18px]",
73
- style: { backgroundColor: bgColorWithOpacity }
74
- }, text, " ", /* @__PURE__ */ React__default["default"].createElement("button", {
75
- onClick: (e) => {
76
- e.stopPropagation();
77
- handleClose();
78
- },
79
- className: "text-indigo-500 font-[700] select-none"
80
- }, "Close"));
81
- };
82
-
83
- const AlignmentsBox = ({ alignment, style }) => {
84
- const [showInfo, setShowInfo] = React.useState(false);
85
- const alignmentText = `
86
- Alignments in your Open Badge credential link your achievement to established frameworks, standards, or competencies.
87
- Each alignment shows how your boost directly relates to skills, knowledge areas, and professional standards that are recognized in your field.
88
- `;
89
- const alignments = Array.isArray(alignment) ? alignment.map((object, index) => /* @__PURE__ */ React__default["default"].createElement(AlignmentRow, {
90
- key: index,
91
- url: object.targetUrl,
92
- name: object.targetName,
93
- framework: object.targetFramework
94
- })) : alignment && /* @__PURE__ */ React__default["default"].createElement(AlignmentRow, {
95
- url: alignment.targetUrl,
96
- name: alignment.targetName,
97
- framework: alignment.targetFramework
98
- });
99
- return /* @__PURE__ */ React__default["default"].createElement("div", {
100
- className: "bg-white flex flex-col items-start gap-[10px] rounded-[20px] shadow-bottom p-[15px] w-full"
101
- }, /* @__PURE__ */ React__default["default"].createElement("div", {
102
- className: "flex w-full items-center"
103
- }, /* @__PURE__ */ React__default["default"].createElement("h3", {
104
- className: style === "MeritBadge" ? "text-[17px] text-grayscale-900 font-poppins" : "text-[22px] font-mouse"
105
- }, "Alignments"), /* @__PURE__ */ React__default["default"].createElement("button", {
106
- className: "ml-auto",
107
- onClick: (e) => {
108
- e.stopPropagation();
109
- setShowInfo(!showInfo);
110
- }
111
- }, /* @__PURE__ */ React__default["default"].createElement(VerifierStateBadgeAndText.InfoIcon, {
112
- color: showInfo ? "#6366F1" : void 0
113
- }))), showInfo && /* @__PURE__ */ React__default["default"].createElement(InfoBox, {
114
- text: alignmentText,
115
- handleClose: () => setShowInfo(false)
116
- }), alignments);
117
- };
118
-
119
- var __async = (__this, __arguments, generator) => {
120
- return new Promise((resolve, reject) => {
121
- var fulfilled = (value) => {
122
- try {
123
- step(generator.next(value));
124
- } catch (e) {
125
- reject(e);
126
- }
127
- };
128
- var rejected = (value) => {
129
- try {
130
- step(generator.throw(value));
131
- } catch (e) {
132
- reject(e);
133
- }
134
- };
135
- var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
136
- step((generator = generator.apply(__this, __arguments)).next());
137
- });
138
- };
139
- const defaultGetFileMetadata = (url) => __async(void 0, null, function* () {
140
- var _a;
141
- console.log({ url });
142
- const isFilestack = url.includes("filestack");
143
- if (!isFilestack)
144
- return;
145
- const urlParams = (_a = url.split(".com/")[1]) == null ? void 0 : _a.split("/");
146
- if (!urlParams)
147
- return;
148
- const handle = urlParams[urlParams.length - 1];
149
- let fetchFailed = false;
150
- const data = yield fetch(`https://cdn.filestackcontent.com/${handle}/metadata`).then((res) => res.json()).catch(() => fetchFailed = true);
151
- if (fetchFailed)
152
- return;
153
- const fileExtension = data.filename.split(".")[1];
154
- return {
155
- fileExtension,
156
- sizeInBytes: data.size,
157
- numberOfPages: void 0
158
- };
159
- });
160
- const isYoutubeUrl = (url) => {
161
- const youtubeUrl = new URL(url);
162
- return youtubeUrl.hostname === "www.youtube.com";
163
- };
164
- const getYoutubeVideoId = (url) => {
165
- const regex = /(?:\?v=|\.com\/embed\/)([^&]+)/;
166
- const match = url.match(regex);
167
- return match ? match[1] : "";
168
- };
169
- const getCoverImageUrl = (youtubeWatchUrl) => {
170
- if (!isYoutubeUrl(youtubeWatchUrl)) {
171
- return "";
172
- }
173
- const videoId = getYoutubeVideoId(youtubeWatchUrl);
174
- return videoId ? `https://img.youtube.com/vi/${videoId}/maxresdefault.jpg` : "";
175
- };
176
- const defaultGetVideoMetadata = (url) => __async(void 0, null, function* () {
177
- const isYoutube = isYoutubeUrl(url);
178
- if (!isYoutube)
179
- return;
180
- const metadataUrl = `http://youtube.com/oembed?url=${url}&format=json`;
181
- let fetchFailed = false;
182
- const metadata = yield fetch(metadataUrl).then((res) => res.json()).catch(() => fetchFailed = true);
183
- const coverImageUrl = getCoverImageUrl(url);
184
- if (fetchFailed)
185
- return { imageUrl: coverImageUrl };
186
- return {
187
- title: metadata.title,
188
- imageUrl: coverImageUrl,
189
- videoLength: ""
190
- };
191
- });
192
- const MediaAttachmentsBox = ({
193
- attachments,
194
- getFileMetadata = defaultGetFileMetadata,
195
- getVideoMetadata = defaultGetVideoMetadata,
196
- onMediaAttachmentClick,
197
- enableLightbox = false
198
- }) => {
199
- const [documentMetadata, setDocumentMetadata] = React.useState({});
200
- const [videoMetadata, setVideoMetadata] = React.useState({});
201
- const mediaAttachments = [];
202
- const documentsAndLinks = [];
203
- attachments.forEach((a) => {
204
- switch (a.type) {
205
- case "document":
206
- case "link":
207
- documentsAndLinks.push(a);
208
- break;
209
- case "photo":
210
- case "video":
211
- mediaAttachments.push(a);
212
- break;
213
- }
214
- });
215
- React.useEffect(() => {
216
- const getMetadata = (attachments2) => __async(void 0, null, function* () {
217
- const docMetadata = {};
218
- const videoMetadata2 = {};
219
- yield Promise.all(
220
- attachments2.map((attachment) => __async(void 0, null, function* () {
221
- if (attachment.type === "document") {
222
- docMetadata[attachment.url] = yield getFileMetadata(attachment.url);
223
- } else if (attachment.type === "video") {
224
- videoMetadata2[attachment.url] = yield getVideoMetadata(attachment.url);
225
- }
226
- }))
227
- );
228
- setVideoMetadata(videoMetadata2);
229
- setDocumentMetadata(docMetadata);
230
- });
231
- const videos = attachments.filter((a) => a.type === "video");
232
- getMetadata([...documentsAndLinks, ...videos]);
233
- }, []);
234
- const [currentLightboxUrl, setCurrentLightboxUrl] = React.useState(void 0);
235
- const lightboxItems = mediaAttachments.filter(
236
- (a) => a.type === "photo" || a.type === "video"
237
- );
238
- const handleMediaAttachmentClick = (url, type) => {
239
- if (type === "photo" || type === "video") {
240
- setCurrentLightboxUrl(url);
241
- }
242
- onMediaAttachmentClick == null ? void 0 : onMediaAttachmentClick(url, type);
243
- };
244
- return /* @__PURE__ */ React__default["default"].createElement("div", {
245
- className: "bg-white flex flex-col items-start gap-[10px] rounded-[20px] shadow-bottom px-[15px] py-[20px] w-full"
246
- }, /* @__PURE__ */ React__default["default"].createElement("h3", {
247
- className: "text-[17px] text-grayscale-900 font-poppins"
248
- }, "Attachments"), mediaAttachments.length > 0 && /* @__PURE__ */ React__default["default"].createElement("div", {
249
- className: "flex gap-[5px] justify-between flex-wrap w-full"
250
- }, enableLightbox && /* @__PURE__ */ React__default["default"].createElement(Lightbox.Lightbox, {
251
- items: lightboxItems,
252
- currentUrl: currentLightboxUrl,
253
- setCurrentUrl: setCurrentLightboxUrl
254
- }), mediaAttachments.map((media, index) => {
255
- var _a, _b;
256
- let innerContent;
257
- let title = media.title;
258
- if (media.type === "video") {
259
- const metadata = videoMetadata[media.url];
260
- title = (_a = title || (metadata == null ? void 0 : metadata.title)) != null ? _a : "";
261
- VerifierStateBadgeAndText.getBaseUrl(media.url);
262
- innerContent = /* @__PURE__ */ React__default["default"].createElement("div", {
263
- className: "bg-cover bg-no-repeat bg-center relative font-poppins text-white text-[12px] font-[400] leading-[17px] flex flex-col justify-end items-start p-[10px] text-left bg-rose-600 rounded-[15px] h-full",
264
- style: {
265
- backgroundImage: (metadata == null ? void 0 : metadata.imageUrl) ? `linear-gradient(180deg, rgba(0, 0, 0, 0) 44.20%, rgba(0, 0, 0, 0.6) 69%), url(${(_b = metadata == null ? void 0 : metadata.imageUrl) != null ? _b : ""})` : void 0
266
- }
267
- }, !(metadata == null ? void 0 : metadata.imageUrl) && /* @__PURE__ */ React__default["default"].createElement(VerifierStateBadgeAndText.VideoIcon, {
268
- size: "60",
269
- className: "m-auto"
270
- }), /* @__PURE__ */ React__default["default"].createElement("div", {
271
- className: "absolute bottom-[10px] left-[10px] z-10 flex items-center gap-[5px]"
272
- }, (metadata == null ? void 0 : metadata.imageUrl) && /* @__PURE__ */ React__default["default"].createElement(VerifierStateBadgeAndText.VideoIcon, null), (metadata == null ? void 0 : metadata.videoLength) && /* @__PURE__ */ React__default["default"].createElement("span", {
273
- className: "leading-[23px]"
274
- }, metadata.videoLength)));
275
- } else {
276
- innerContent = /* @__PURE__ */ React__default["default"].createElement("div", {
277
- className: "h-full w-full flex items-center justify-center"
278
- }, /* @__PURE__ */ React__default["default"].createElement("img", {
279
- className: "object-cover h-full w-full",
280
- src: media.url
281
- }), /* @__PURE__ */ React__default["default"].createElement(VerifierStateBadgeAndText.Camera, {
282
- className: "absolute bottom-[10px] left-[10px] z-10"
283
- }));
284
- }
285
- const className = `media-attachment ${media.type} w-[49%] pt-[49%] overflow-hidden relative`;
286
- if (onMediaAttachmentClick || enableLightbox) {
287
- return /* @__PURE__ */ React__default["default"].createElement("div", {
288
- key: index,
289
- className: "flex media-attachment-box bg-grayscale-100 items-center rounded-[15px] w-full"
290
- }, /* @__PURE__ */ React__default["default"].createElement("button", {
291
- className: "relative h-[80px] w-[80px] rounded-[15px] overflow-hidden flex-shrink-0",
292
- onClick: (e) => {
293
- e.stopPropagation();
294
- handleMediaAttachmentClick(media.url, media.type);
295
- }
296
- }, innerContent), title && /* @__PURE__ */ React__default["default"].createElement("div", {
297
- className: "text-[12px] text-grayscale-900 font-poppins px-[10px] line-clamp-3"
298
- }, title));
299
- }
300
- return /* @__PURE__ */ React__default["default"].createElement("div", {
301
- key: index,
302
- className
303
- }, innerContent);
304
- })), documentsAndLinks.length > 0 && /* @__PURE__ */ React__default["default"].createElement("div", {
305
- className: "w-full flex flex-col gap-[5px]"
306
- }, documentsAndLinks.map((docOrLink, index) => {
307
- var _a;
308
- const metadata = docOrLink.type === "document" ? documentMetadata[docOrLink.url] : void 0;
309
- const { fileExtension, sizeInBytes, numberOfPages } = metadata != null ? metadata : {};
310
- let baseUrl = "";
311
- if (docOrLink.type === "link") {
312
- baseUrl = VerifierStateBadgeAndText.getBaseUrl(docOrLink.url);
313
- }
314
- const innerContent = /* @__PURE__ */ React__default["default"].createElement("div", {
315
- className: "flex flex-col gap-[5px]"
316
- }, /* @__PURE__ */ React__default["default"].createElement("div", {
317
- className: "flex gap-[5px] items-center"
318
- }, docOrLink.type === "document" && /* @__PURE__ */ React__default["default"].createElement(VerifierStateBadgeAndText.GenericDocumentIcon, {
319
- className: "shrink-0"
320
- }), docOrLink.type === "link" && /* @__PURE__ */ React__default["default"].createElement(VerifierStateBadgeAndText.LinkIcon, {
321
- className: "shrink-0"
322
- }), /* @__PURE__ */ React__default["default"].createElement("div", {
323
- className: "flex flex-col"
324
- }, /* @__PURE__ */ React__default["default"].createElement("span", {
325
- className: "text-grayscale-900 font-[400]"
326
- }, (_a = docOrLink.title) != null ? _a : "No title"), docOrLink.type === "document" && metadata && /* @__PURE__ */ React__default["default"].createElement("a", {
327
- href: docOrLink.url,
328
- target: "_blank",
329
- rel: "noreferrer",
330
- className: "text-grayscale-700 font-[500] text-[12px] font-poppins hover:underline",
331
- onClick: (e) => e.stopPropagation()
332
- }, fileExtension && /* @__PURE__ */ React__default["default"].createElement("span", {
333
- className: "uppercase"
334
- }, fileExtension), fileExtension && (numberOfPages || sizeInBytes) && " \u2022 ", numberOfPages && /* @__PURE__ */ React__default["default"].createElement("span", null, numberOfPages, " page", numberOfPages === 1 ? "" : "s"), numberOfPages && sizeInBytes && " \u2022 ", sizeInBytes && /* @__PURE__ */ React__default["default"].createElement("span", null, VerifierStateBadgeAndText.prettyBytes(sizeInBytes))), docOrLink.type === "link" && /* @__PURE__ */ React__default["default"].createElement("a", {
335
- href: docOrLink.url,
336
- target: "_blank",
337
- rel: "noreferrer",
338
- className: "text-indigo-500 font-[500] text-[12px] font-poppins hover:underline",
339
- onClick: (e) => e.stopPropagation()
340
- }, baseUrl))));
341
- const className = `row-attachment ${docOrLink.type} bg-grayscale-100 rounded-[15px] p-[10px] w-full font-poppins text-[12px] leading-[18px] tracking-[-0.33px] text-left`;
342
- if (onMediaAttachmentClick) {
343
- return /* @__PURE__ */ React__default["default"].createElement("button", {
344
- key: index,
345
- className,
346
- onClick: (e) => {
347
- e.stopPropagation();
348
- handleMediaAttachmentClick(docOrLink.url, docOrLink.type);
349
- }
350
- }, innerContent);
351
- }
352
- return /* @__PURE__ */ React__default["default"].createElement("div", {
353
- key: index,
354
- className
355
- }, innerContent);
356
- })));
357
- };
358
-
359
- const VerificationRow = ({ verification }) => {
360
- var _a, _b;
361
- const [showInfo, setShowInfo] = React.useState(false);
362
- const statusColor = credential_helpers.getColorForVerificationStatus(verification.status);
363
- const getIcon = () => {
364
- switch (verification.status) {
365
- case types_esm.VerificationStatusEnum.Success:
366
- return /* @__PURE__ */ React__default["default"].createElement(VerifierStateBadgeAndText.AcuteCheckmark, null);
367
- case types_esm.VerificationStatusEnum.Error:
368
- return /* @__PURE__ */ React__default["default"].createElement(VerifierStateBadgeAndText.ExclamationPoint, null);
369
- case types_esm.VerificationStatusEnum.Failed:
370
- return /* @__PURE__ */ React__default["default"].createElement(Lightbox.X, {
371
- className: "w-[15px] h-[15px]"
372
- });
373
- }
374
- };
375
- let primaryText = verification.check ? `${verification.check}: ${verification.message}` : verification.message;
376
- if (verification.status === types_esm.VerificationStatusEnum.Failed) {
377
- primaryText = (_b = (_a = verification.message) != null ? _a : verification.details) != null ? _b : "";
378
- }
379
- primaryText = VerifierStateBadgeAndText.capitalize(primaryText);
380
- const infoText = "";
381
- return /* @__PURE__ */ React__default["default"].createElement("div", {
382
- className: "verification-row flex flex-col gap-[5px] font-poppins border-b-[1px] border-grayscale-200 border-solid w-full py-[10px] last:border-0 last:pb-0"
383
- }, /* @__PURE__ */ React__default["default"].createElement("span", {
384
- className: "font-[700] text-[11px] uppercase flex items-center gap-[3px] select-none",
385
- style: { color: statusColor }
386
- }, getIcon(), verification.status, infoText ), showInfo && infoText && /* @__PURE__ */ React__default["default"].createElement(InfoBox, {
387
- text: infoText,
388
- handleClose: () => setShowInfo(false),
389
- backgroundColor: statusColor
390
- }), /* @__PURE__ */ React__default["default"].createElement("span", {
391
- className: "text-[14px] text-grayscale-900 font-poppins"
392
- }, primaryText));
393
- };
394
-
395
- const VerificationsBox = ({ verificationItems }) => {
396
- const [showInfo, setShowInfo] = React.useState(false);
397
- return /* @__PURE__ */ React__default["default"].createElement("div", {
398
- className: "bg-white flex flex-col items-start gap-[10px] rounded-[20px] shadow-bottom p-[15px] w-full"
399
- }, /* @__PURE__ */ React__default["default"].createElement("div", {
400
- className: "flex w-full items-center"
401
- }, /* @__PURE__ */ React__default["default"].createElement("h3", {
402
- className: "text-[17px] text-grayscale-900 font-poppins"
403
- }, "Verifications"), /* @__PURE__ */ React__default["default"].createElement("button", {
404
- className: "ml-auto",
405
- onClick: (e) => {
406
- e.stopPropagation();
407
- setShowInfo(!showInfo);
408
- }
409
- }, /* @__PURE__ */ React__default["default"].createElement(VerifierStateBadgeAndText.InfoIcon, {
410
- color: showInfo ? "#6366F1" : void 0
411
- }))), showInfo && /* @__PURE__ */ React__default["default"].createElement(InfoBox, {
412
- text: "Credential verifications check the cryptographic proof of digital credentials to ensure their authenticity and accuracy.",
413
- handleClose: () => setShowInfo(false)
414
- }), verificationItems.map((verification, index) => /* @__PURE__ */ React__default["default"].createElement(VerificationRow, {
415
- key: index,
416
- verification
417
- })));
418
- };
419
-
420
- const TruncateTextBox = ({
421
- headerText,
422
- headerClassName = "",
423
- text,
424
- truncateThreshold = 132,
425
- children,
426
- className = "truncate-text-box"
427
- }) => {
428
- const needsTruncate = (text == null ? void 0 : text.length) > truncateThreshold;
429
- const [showFullText, setShowFullText] = React.useState(false);
430
- const truncated = needsTruncate && !showFullText;
431
- const displayText = truncated ? text.substring(0, truncateThreshold) : text;
432
- return /* @__PURE__ */ React__default["default"].createElement("div", {
433
- className: `${className} w-full bg-white flex flex-col items-start gap-[10px] rounded-[20px] shadow-bottom p-[15px]`
434
- }, /* @__PURE__ */ React__default["default"].createElement("h3", {
435
- className: `${headerClassName} text-[17px] text-grayscale-900 font-poppins`
436
- }, headerText), /* @__PURE__ */ React__default["default"].createElement("p", {
437
- className: "text-[12px] text-grayscale-700 font-poppins mb-0 flex flex-col items-start"
438
- }, displayText, truncated && /* @__PURE__ */ React__default["default"].createElement(React__default["default"].Fragment, null, "...", /* @__PURE__ */ React__default["default"].createElement("button", {
439
- className: "text-indigo-500 text-[12px]",
440
- onClick: (e) => {
441
- e.stopPropagation();
442
- setShowFullText(true);
443
- }
444
- }, "Show more")), needsTruncate && showFullText && /* @__PURE__ */ React__default["default"].createElement("button", {
445
- className: "text-indigo-500 text-[12px]",
446
- onClick: (e) => {
447
- e.stopPropagation();
448
- setShowFullText(false);
449
- }
450
- }, "Show less")), children);
451
- };
452
-
453
- const MeritBadgeBackFace = ({
454
- credential,
455
- categoryType,
456
- verificationItems,
457
- customSkillsComponent,
458
- getFileMetadata,
459
- getVideoMetadata,
460
- onMediaAttachmentClick,
461
- enableLightbox,
462
- showBackButton,
463
- handleViewFrontFace,
464
- customLinkedCredentialsComponent
465
- }) => {
466
- var _a, _b, _c, _d, _e, _f, _g;
467
- const { createdAt, credentialSubject } = credential_helpers.getInfoFromCredential(credential, "MMM dd, yyyy", {
468
- uppercaseDate: false
469
- });
470
- const { description } = (_a = credentialSubject == null ? void 0 : credentialSubject.achievement) != null ? _a : {};
471
- const criteria = (_c = (_b = credentialSubject == null ? void 0 : credentialSubject.achievement) == null ? void 0 : _b.criteria) == null ? void 0 : _c.narrative;
472
- const alignment = (_d = credentialSubject == null ? void 0 : credentialSubject.achievement) == null ? void 0 : _d.alignment;
473
- const credentialDarkColor = credential_helpers.getCategoryDarkColor(categoryType);
474
- let bgColor = `bg-${credentialDarkColor}`;
475
- if (categoryType === index.LCCategoryEnum.accommodations) {
476
- bgColor = "bg-amber-700";
477
- } else if (categoryType === index.LCCategoryEnum.accomplishments) {
478
- bgColor = "bg-lime-700";
479
- }
480
- return /* @__PURE__ */ React__default["default"].createElement("div", {
481
- role: "button",
482
- onClick: () => handleViewFrontFace == null ? void 0 : handleViewFrontFace(),
483
- className: `flex flex-col gap-[15px] items-center border-[5px] border-solid border-grayscale-200 py-[30px] px-[20px] rounded-[25px] max-w-[400px] ${bgColor}`
484
- }, showBackButton ? /* @__PURE__ */ React__default["default"].createElement("div", {
485
- className: "w-full"
486
- }, /* @__PURE__ */ React__default["default"].createElement("button", {
487
- className: "vc-card-back-button rounded-full h-[50px] px-[15px] flex items-center justify-center gap-[5px] z-50 text-[30px] text-white select-none",
488
- onClick: () => handleViewFrontFace == null ? void 0 : handleViewFrontFace()
489
- }, /* @__PURE__ */ React__default["default"].createElement(VerifierStateBadgeAndText.LeftArrow, {
490
- className: "text-white",
491
- size: "25"
492
- }), "Details")) : /* @__PURE__ */ React__default["default"].createElement("h1", {
493
- className: "text-white text-center text-[22px] font-jacques"
494
- }, "Details"), /* @__PURE__ */ React__default["default"].createElement(TruncateTextBox, {
495
- headerText: "About",
496
- text: description
497
- }, /* @__PURE__ */ React__default["default"].createElement("span", {
498
- className: `text-grayscale-600 font-poppins text-[12px] font-[600] w-full ${description ? "pt-[10px] border-t-[1px] border-solid border-grayscale-200" : ""}`
499
- }, "Awarded on ", createdAt)), criteria && /* @__PURE__ */ React__default["default"].createElement(TruncateTextBox, {
500
- headerText: "Criteria",
501
- text: criteria
502
- }), customLinkedCredentialsComponent && customLinkedCredentialsComponent, ((_f = (_e = credential.skills) == null ? void 0 : _e.length) != null ? _f : 0) > 0 && (customSkillsComponent ? customSkillsComponent : /* @__PURE__ */ React__default["default"].createElement(VerifierStateBadgeAndText.SkillsBox, {
503
- skills: (_g = credential.skills) != null ? _g : []
504
- })), credential.attachments && credential.attachments.length > 0 && /* @__PURE__ */ React__default["default"].createElement(MediaAttachmentsBox, {
505
- attachments: credential.attachments,
506
- getFileMetadata,
507
- getVideoMetadata,
508
- onMediaAttachmentClick,
509
- enableLightbox
510
- }), alignment && /* @__PURE__ */ React__default["default"].createElement(AlignmentsBox, {
511
- alignment,
512
- style: "MeritBadge"
513
- }), verificationItems && verificationItems.length > 0 && /* @__PURE__ */ React__default["default"].createElement(VerificationsBox, {
514
- verificationItems
515
- }), /* @__PURE__ */ React__default["default"].createElement("span", {
516
- className: "hidden bg-amber-700 bg-spice-700 bg-rose-700 bg-yellow-700 bg-teal-700"
517
- }));
518
- };
519
-
520
- const MeritBadgeCornerIcon = ({ categoryType, position }) => {
521
- const credentialPrimaryColor = credential_helpers.getCategoryLightColor(categoryType);
522
- const credentialIcon = credential_helpers.getCategoryIcon(categoryType, "25");
523
- let iconPositionClassName, cornerPositionClassName;
524
- switch (position) {
525
- case "top-left":
526
- iconPositionClassName = "top-[3px] left-[3px] pb-[10px] pr-[10px] pl-[4px] pt-[4px]";
527
- cornerPositionClassName = "bottom-[-1px] right-0";
528
- break;
529
- case "top-right":
530
- iconPositionClassName = "top-[3px] right-[3px] pl-[10px] pb-[10px] pr-[4px] pt-[4px]";
531
- cornerPositionClassName = "bottom-[-1px] left-0 rotate-90";
532
- break;
533
- case "bottom-left":
534
- iconPositionClassName = "bottom-[3px] left-[3px] pr-[10px] pt-[10px] pl-[4px] pb-[4px]";
535
- cornerPositionClassName = "top-0 right-0 rotate-[270deg]";
536
- break;
537
- case "bottom-right":
538
- iconPositionClassName = "bottom-[3px] right-[3px] pl-[10px] pt-[10px] pr-[4px] pb-[4px]";
539
- cornerPositionClassName = "top-[-1px] left-0 rotate-180";
540
- break;
541
- }
542
- return /* @__PURE__ */ React__default["default"].createElement("div", {
543
- className: `text-${credentialPrimaryColor} rounded-full bg-white absolute ${iconPositionClassName}`
544
- }, credentialIcon, /* @__PURE__ */ React__default["default"].createElement(VerifierStateBadgeAndText.RoundedCorner, {
545
- className: `absolute ${cornerPositionClassName}`
546
- }));
547
- };
548
-
549
- const MeritBadgeRibbon = ({ className = "", image }) => {
550
- return /* @__PURE__ */ React__default["default"].createElement("svg", {
551
- width: "207",
552
- height: "170",
553
- viewBox: "0 0 207 170",
554
- fill: "none",
555
- xmlns: "http://www.w3.org/2000/svg",
556
- className
557
- }, /* @__PURE__ */ React__default["default"].createElement("g", {
558
- filter: "url(#filter0_d_10755_290433)"
559
- }, /* @__PURE__ */ React__default["default"].createElement("circle", {
560
- cx: "102.988",
561
- cy: "83",
562
- r: "81.5",
563
- fill: "white",
564
- stroke: "white",
565
- strokeWidth: "3"
566
- }), /* @__PURE__ */ React__default["default"].createElement("path", {
567
- d: "M3.94446 50C3.41654 50 2.92748 50.2775 2.65674 50.7307C2.38599 51.1839 2.37343 51.7461 2.62365 52.211L19.4659 83.5L2.62365 114.789C2.37343 115.254 2.386 115.816 2.65674 116.269C2.92748 116.722 3.41654 117 3.94446 117L203.056 117C203.583 117 204.073 116.722 204.343 116.269C204.614 115.816 204.627 115.254 204.376 114.789L187.534 83.5L204.376 52.211C204.627 51.7461 204.614 51.1839 204.343 50.7307C204.073 50.2775 203.583 50 203.056 50L3.94446 50Z",
568
- fill: "currentColor",
569
- stroke: "white",
570
- strokeWidth: "3",
571
- strokeLinejoin: "round"
572
- }), /* @__PURE__ */ React__default["default"].createElement("rect", {
573
- x: "25.3273",
574
- y: "5.34741",
575
- width: "156.6",
576
- height: "156.6",
577
- rx: "78.2999",
578
- fill: "#FBFBFC"
579
- }), /* @__PURE__ */ React__default["default"].createElement("rect", {
580
- x: "25.3273",
581
- y: "5.34741",
582
- width: "156.6",
583
- height: "156.6",
584
- rx: "78.2999",
585
- stroke: "currentColor",
586
- strokeWidth: "3"
587
- }), /* @__PURE__ */ React__default["default"].createElement("rect", {
588
- x: "29.8273",
589
- y: "9.84741",
590
- width: "147.6",
591
- height: "147.6",
592
- fill: "none"
593
- })), /* @__PURE__ */ React__default["default"].createElement("clipPath", {
594
- id: "circleClip"
595
- }, /* @__PURE__ */ React__default["default"].createElement("circle", {
596
- cx: "103.5",
597
- cy: "84",
598
- r: "75"
599
- })), /* @__PURE__ */ React__default["default"].createElement("image", {
600
- xlinkHref: image,
601
- x: "28.5",
602
- y: "9",
603
- width: "150",
604
- height: "150",
605
- clipPath: "url(#circleClip)"
606
- }), /* @__PURE__ */ React__default["default"].createElement("defs", null, /* @__PURE__ */ React__default["default"].createElement("filter", {
607
- id: "filter0_d_10755_290433",
608
- x: "0.944458",
609
- y: "0",
610
- width: "205.111",
611
- height: "170",
612
- filterUnits: "userSpaceOnUse",
613
- colorInterpolationFilters: "sRGB"
614
- }, /* @__PURE__ */ React__default["default"].createElement("feFlood", {
615
- floodOpacity: "0",
616
- result: "BackgroundImageFix"
617
- }), /* @__PURE__ */ React__default["default"].createElement("feColorMatrix", {
618
- in: "SourceAlpha",
619
- type: "matrix",
620
- values: "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0",
621
- result: "hardAlpha"
622
- }), /* @__PURE__ */ React__default["default"].createElement("feOffset", {
623
- dy: "4"
624
- }), /* @__PURE__ */ React__default["default"].createElement("feComposite", {
625
- in2: "hardAlpha",
626
- operator: "out"
627
- }), /* @__PURE__ */ React__default["default"].createElement("feColorMatrix", {
628
- type: "matrix",
629
- values: "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.2 0"
630
- }), /* @__PURE__ */ React__default["default"].createElement("feBlend", {
631
- mode: "normal",
632
- in2: "BackgroundImageFix",
633
- result: "effect1_dropShadow_10755_290433"
634
- }), /* @__PURE__ */ React__default["default"].createElement("feBlend", {
635
- mode: "normal",
636
- in: "SourceGraphic",
637
- in2: "effect1_dropShadow_10755_290433",
638
- result: "shape"
639
- }))));
640
- };
641
-
642
- const MeritBadgeImageDisplay = ({
643
- imageUrl,
644
- className = ""
645
- }) => {
646
- return /* @__PURE__ */ React__default["default"].createElement("div", {
647
- className: `flex items-center justify-center w-[176px] h-[176px] rounded-full bg-white z-50 ${className}`
648
- }, /* @__PURE__ */ React__default["default"].createElement(MeritBadgeRibbon, {
649
- className: "absolute z-[1]",
650
- image: imageUrl
651
- }));
652
- };
653
-
654
- const MeritBadgeProfileImageDisplay = ({
655
- imageUrl,
656
- showSeal = false,
657
- className = "",
658
- imageComponent,
659
- size = "big",
660
- userName
661
- }) => {
662
- const imageClassName = `${size === "big" ? "h-[60px] w-[60px]" : "h-[39px] w-[39px]"} rounded-full overflow-hidden ${showSeal ? "absolute border-[2px] border-solid border-grayscale-200" : ""}`;
663
- return /* @__PURE__ */ React__default["default"].createElement("div", {
664
- className
665
- }, showSeal && /* @__PURE__ */ React__default["default"].createElement("div", {
666
- className: "bg-white rounded-full p-[5px]"
667
- }, /* @__PURE__ */ React__default["default"].createElement(VerifierStateBadgeAndText.IssuerSeal, {
668
- size: "58"
669
- })), imageComponent && /* @__PURE__ */ React__default["default"].createElement("div", {
670
- className: imageClassName
671
- }, imageComponent), !imageComponent && /* @__PURE__ */ React__default["default"].createElement(UserProfilePicture.UserProfilePicture, {
672
- customContainerClass: `${imageClassName} ${!imageUrl ? "pt-[6px]" : ""}`,
673
- customImageClass: "h-full w-full object-cover",
674
- user: { image: imageUrl, name: userName }
675
- }));
676
- };
677
-
678
- const MeritBadgeFrontFace = ({
679
- isFront,
680
- credential,
681
- categoryType,
682
- issuerOverride,
683
- issueeOverride,
684
- knownDIDRegistry,
685
- subjectImageComponent,
686
- issuerImageComponent,
687
- customBodyCardComponent,
688
- hideIssueDate,
689
- handleViewBackFace,
690
- showDetailsBtn = false,
691
- formattedDisplayType,
692
- customBodyContentSlot
693
- }) => {
694
- var _a;
695
- const {
696
- title = "",
697
- createdAt,
698
- issuer: _issuer = "",
699
- issuee: _issuee = "",
700
- credentialSubject,
701
- imageUrl
702
- } = credential_helpers.getInfoFromCredential(credential, "MMM dd, yyyy", { uppercaseDate: false });
703
- const issuee = issueeOverride || _issuee;
704
- const issuer = issuerOverride || _issuer;
705
- (_a = credentialSubject == null ? void 0 : credentialSubject.achievement) != null ? _a : {};
706
- const credentialLightColor = credential_helpers.getCategoryLightColor(categoryType);
707
- const credentialDarkColor = credential_helpers.getCategoryDarkColor(categoryType);
708
- let categoryTitle = categoryType;
709
- let textLightColor = `text-${credentialLightColor}`;
710
- let textDarkColor = `text-${credentialDarkColor}`;
711
- let borderColor = `border-${credentialLightColor}`;
712
- if (categoryType === index.LCCategoryEnum.accommodations) {
713
- textLightColor = "text-violet-500";
714
- textDarkColor = "text-violet-700";
715
- borderColor = "border-violet-500";
716
- } else if (categoryType === index.LCCategoryEnum.accomplishments) {
717
- textLightColor = "text-yellow-500";
718
- textDarkColor = "text-yellow-700";
719
- borderColor = "border-yellow-500";
720
- categoryTitle = "Portfolio";
721
- } else if (categoryType === index.LCCategoryEnum.learningHistory) {
722
- categoryTitle = "Study";
723
- } else if (categoryType === index.LCCategoryEnum.workHistory) {
724
- categoryTitle = "Experiences";
725
- textLightColor = "text-cyan-500";
726
- textDarkColor = "text-cyan-700";
727
- borderColor = "border-cyan-500";
728
- }
729
- const issuerName = credential_helpers.getNameFromProfile(issuer != null ? issuer : "");
730
- const issueeName = credential_helpers.getNameFromProfile(issuee != null ? issuee : "");
731
- const issuerImage = credential_helpers.getImageFromProfile(issuer != null ? issuer : "");
732
- const issueeImage = credential_helpers.getImageFromProfile(issuee != null ? issuee : "");
733
- const issuerDid = typeof credential.issuer === "string" ? credential.issuer : credential.issuer.id;
734
- let verifierState;
735
- if ((credentialSubject == null ? void 0 : credentialSubject.id) === issuerDid && issuerDid && issuerDid !== "did:example:123") {
736
- verifierState = VerifierStateBadgeAndText.VERIFIER_STATES.selfVerified;
737
- } else {
738
- if ((knownDIDRegistry == null ? void 0 : knownDIDRegistry.source) === "trusted") {
739
- verifierState = VerifierStateBadgeAndText.VERIFIER_STATES.trustedVerifier;
740
- } else if ((knownDIDRegistry == null ? void 0 : knownDIDRegistry.source) === "untrusted") {
741
- verifierState = VerifierStateBadgeAndText.VERIFIER_STATES.untrustedVerifier;
742
- } else if ((knownDIDRegistry == null ? void 0 : knownDIDRegistry.source) === "unknown") {
743
- verifierState = VerifierStateBadgeAndText.VERIFIER_STATES.unknownVerifier;
744
- } else {
745
- verifierState = VerifierStateBadgeAndText.VERIFIER_STATES.unknownVerifier;
746
- }
747
- }
748
- verifierState === VerifierStateBadgeAndText.VERIFIER_STATES.selfVerified;
749
- const issueeImageExists = issueeImage || subjectImageComponent;
750
- return /* @__PURE__ */ React__default["default"].createElement("section", {
751
- role: "button",
752
- onClick: () => handleViewBackFace == null ? void 0 : handleViewBackFace(),
753
- className: "relative p-[13px] mt-[68px] bg-white border-[5px] rounded-[30px] border-soid border-grayscale-200 min-w-[295px]"
754
- }, /* @__PURE__ */ React__default["default"].createElement("div", {
755
- className: "w-[calc(100%-26px)] absolute top-[-72px]"
756
- }, /* @__PURE__ */ React__default["default"].createElement(MeritBadgeImageDisplay, {
757
- imageUrl: imageUrl != null ? imageUrl : "",
758
- className: `mx-auto ${textLightColor}`
759
- })), /* @__PURE__ */ React__default["default"].createElement("div", {
760
- className: `flex flex-col gap-[15px] items-center px-[20px] pt-[92px] pb-[19px] border-solid border-[4px] ${borderColor} rounded-[30px]`
761
- }, /* @__PURE__ */ React__default["default"].createElement("div", {
762
- className: "flex flex-col gap-[5px] w-full"
763
- }, /* @__PURE__ */ React__default["default"].createElement("div", {
764
- className: "flex flex-col items-center text-grayscale-900"
765
- }, /* @__PURE__ */ React__default["default"].createElement("span", {
766
- className: "text-[16px] leading-[150%] font-jacques"
767
- }, issueeName || /* @__PURE__ */ React__default["default"].createElement(VerifierStateBadgeAndText.Line, {
768
- width: "60"
769
- })), /* @__PURE__ */ React__default["default"].createElement("span", {
770
- className: "text-[14px] leading-[150%] font-jacques"
771
- }, "has met the requirements for")), /* @__PURE__ */ React__default["default"].createElement("div", {
772
- className: "flex flex-col items-center"
773
- }, /* @__PURE__ */ React__default["default"].createElement("h1", {
774
- className: "text-grayscale-900 text-center text-[25px] font-jacques w-full"
775
- }, title), /* @__PURE__ */ React__default["default"].createElement("div", {
776
- className: `${textLightColor} uppercase text-[14px] font-notoSans font-[600]`
777
- }, formattedDisplayType))), customBodyCardComponent, issueeImageExists && !customBodyCardComponent && /* @__PURE__ */ React__default["default"].createElement(MeritBadgeProfileImageDisplay, {
778
- imageUrl: issueeImage,
779
- imageComponent: subjectImageComponent,
780
- className: `flex justify-center items-center ${textDarkColor}`
781
- }), !issueeImageExists && !customBodyCardComponent && /* @__PURE__ */ React__default["default"].createElement("div", {
782
- className: "h-[50px] w-[50px] rounded-full bg-grayscale-500 flex items-center justify-center"
783
- }, /* @__PURE__ */ React__default["default"].createElement(Smiley, null)), /* @__PURE__ */ React__default["default"].createElement("div", {
784
- className: "flex flex-col w-full"
785
- }, /* @__PURE__ */ React__default["default"].createElement("div", {
786
- className: "text-[14px] text-grayscale-900 flex flex-col items-center w-full mb-[10px]"
787
- }, /* @__PURE__ */ React__default["default"].createElement("span", {
788
- className: "font-jacques flex gap-[5px] items-center w-full overflow-ellipsis whitespace-nowrap overflow-hidden justify-center"
789
- }, issueeName === "0 person" ? "Not yet awarded" : /* @__PURE__ */ React__default["default"].createElement(React__default["default"].Fragment, null, "Awarded on ", createdAt, " by"))), /* @__PURE__ */ React__default["default"].createElement("div", {
790
- className: "flex flex-col gap-[5px] items-center w-full"
791
- }, /* @__PURE__ */ React__default["default"].createElement("span", {
792
- className: "mb-[3px] pt-[3px] text-grayscale-900 text-[25px] leading-[90%] font-sacramento border-b-[1px] border-solid border-grayscale-200 w-full text-center overflow-ellipsis whitespace-normal scrollbar-hide"
793
- }, issuerName))), /* @__PURE__ */ React__default["default"].createElement(MeritBadgeProfileImageDisplay, {
794
- imageUrl: issuerImage,
795
- userName: issuerName,
796
- imageComponent: issuerImageComponent,
797
- className: `w-[calc(100%-26px)] flex justify-center items-center ${textLightColor}`,
798
- size: "small",
799
- showSeal: true
800
- }), customBodyContentSlot && customBodyContentSlot, /* @__PURE__ */ React__default["default"].createElement("div", {
801
- className: `${textLightColor} uppercase text-[14px] font-notoSans font-[600]`
802
- }, categoryTitle)), categoryType && /* @__PURE__ */ React__default["default"].createElement(React__default["default"].Fragment, null, /* @__PURE__ */ React__default["default"].createElement(MeritBadgeCornerIcon, {
803
- categoryType,
804
- position: "top-left"
805
- }), /* @__PURE__ */ React__default["default"].createElement(MeritBadgeCornerIcon, {
806
- categoryType,
807
- position: "top-right"
808
- }), /* @__PURE__ */ React__default["default"].createElement(MeritBadgeCornerIcon, {
809
- categoryType,
810
- position: "bottom-left"
811
- }), /* @__PURE__ */ React__default["default"].createElement(MeritBadgeCornerIcon, {
812
- categoryType,
813
- position: "bottom-right"
814
- })), /* @__PURE__ */ React__default["default"].createElement("div", {
815
- className: "absolute bottom-0 w-[calc(100%-26px)] flex justify-center"
816
- }, /* @__PURE__ */ React__default["default"].createElement(VerifierStateBadgeAndText.VerifierStateBadgeAndText, {
817
- verifierState,
818
- className: "bg-white px-[5px] pb-[5px]"
819
- })), /* @__PURE__ */ React__default["default"].createElement("span", {
820
- className: "hidden border-rose-500 text-spice-500 border-spice-500 border-cyan-500 text-cyan-500 border-indigo-500 border-sp-purple-base"
821
- }));
822
- };
823
-
824
- const MeritBadgeDisplayCard = ({
825
- credential,
826
- categoryType,
827
- verificationItems,
828
- issuerOverride,
829
- issueeOverride,
830
- subjectImageComponent,
831
- issuerImageComponent,
832
- customBodyCardComponent,
833
- knownDIDRegistry,
834
- hideIssueDate,
835
- customSkillsComponent,
836
- getFileMetadata,
837
- getVideoMetadata,
838
- onMediaAttachmentClick,
839
- enableLightbox,
840
- handleXClick,
841
- onDotsClick,
842
- isFrontOverride,
843
- setIsFrontOverride,
844
- hideNavButtons,
845
- showBackButton = false,
846
- showDetailsBtn = false,
847
- formattedDisplayType,
848
- customLinkedCredentialsComponent,
849
- customBodyContentSlot
850
- }) => {
851
- const [_isFront, _setIsFront] = React.useState(isFrontOverride != null ? isFrontOverride : true);
852
- const isFront = isFrontOverride != null ? isFrontOverride : _isFront;
853
- const setIsFront = setIsFrontOverride != null ? setIsFrontOverride : _setIsFront;
854
- return /* @__PURE__ */ React__default["default"].createElement("section", {
855
- className: "w-full flex flex-col gap-[15px] items-center justify-center relative min-w-[220px]"
856
- }, /* @__PURE__ */ React__default["default"].createElement("section", {
857
- className: "max-w-[350px] w-full"
858
- }, isFront && /* @__PURE__ */ React__default["default"].createElement(MeritBadgeFrontFace, {
859
- credential,
860
- categoryType,
861
- issuerOverride,
862
- issueeOverride,
863
- knownDIDRegistry,
864
- subjectImageComponent,
865
- issuerImageComponent,
866
- customBodyCardComponent,
867
- hideIssueDate,
868
- handleViewBackFace: () => setIsFront(!isFront),
869
- isFront,
870
- showDetailsBtn,
871
- formattedDisplayType,
872
- customBodyContentSlot
873
- }), !isFront && /* @__PURE__ */ React__default["default"].createElement(MeritBadgeBackFace, {
874
- credential,
875
- categoryType,
876
- verificationItems,
877
- getFileMetadata,
878
- getVideoMetadata,
879
- onMediaAttachmentClick,
880
- enableLightbox,
881
- showBackButton: showBackButton && !hideNavButtons || showDetailsBtn,
882
- handleViewFrontFace: () => setIsFront(!isFront),
883
- customLinkedCredentialsComponent
884
- }), onDotsClick && /* @__PURE__ */ React__default["default"].createElement("button", {
885
- className: "absolute right-[-20px] top-[-52px] bg-white rounded-full p-[10px] shadow-bottom",
886
- onClick: onDotsClick
887
- }, /* @__PURE__ */ React__default["default"].createElement("img", {
888
- alt: "Menu dropdown icon",
889
- className: "h-[20px] w-[20px]",
890
- src: ThreeDots__default["default"]
891
- }))), !hideNavButtons && /* @__PURE__ */ React__default["default"].createElement("div", {
892
- className: "flex gap-[10px] font-mouse text-[30px] leading-[28px] tracking-[0.75px] relative top-[-10px] left-0 w-full"
893
- }, !isFront && /* @__PURE__ */ React__default["default"].createElement("button", {
894
- className: "bg-grayscale-900 text-white py-[15px] px-[20px] rounded-[20px] flex mx-auto justify-center items-center gap-[5px] border-[3px] border-solid border-white",
895
- onClick: () => setIsFront(!isFront)
896
- }, /* @__PURE__ */ React__default["default"].createElement(VerifierStateBadgeAndText.FatArrow, {
897
- direction: "left"
898
- }), " Back"), handleXClick && /* @__PURE__ */ React__default["default"].createElement("button", {
899
- onClick: handleXClick,
900
- className: "bg-white text-grayscale-900 rounded-[20px] py-[15px] px-[20px] grow"
901
- }, "Close"), isFront && /* @__PURE__ */ React__default["default"].createElement("button", {
902
- className: "bg-grayscale-900 text-white py-[15px] px-[20px] rounded-[20px] mx-auto flex justify-center items-center gap-[5px] border-[3px] border-solid border-white",
903
- onClick: () => setIsFront(!isFront)
904
- }, "Details ", /* @__PURE__ */ React__default["default"].createElement(VerifierStateBadgeAndText.FatArrow, {
905
- direction: "right"
906
- }))));
907
- };
908
-
909
- exports.MeritBadgeBackFace = MeritBadgeBackFace;
910
- exports.MeritBadgeDisplayCard = MeritBadgeDisplayCard;
911
- exports.MeritBadgeFrontFace = MeritBadgeFrontFace;
912
- //# sourceMappingURL=MeritBadgeDisplayCard-81bd14b8.js.map