@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,902 +0,0 @@
1
- import React, { useState, useEffect } from 'react';
2
- import { I as InfoIcon, g as getBaseUrl, b as VideoIcon, C as Camera, G as GenericDocumentIcon, L as LinkIcon, p as prettyBytes, c as capitalize, E as ExclamationPoint, A as AcuteCheckmark, d as LeftArrow, e as SkillsBox, R as RoundedCorner, f as IssuerSeal, V as VERIFIER_STATES, h as Line, a as VerifierStateBadgeAndText, F as FatArrow } from './VerifierStateBadgeAndText-2e5414f4.js';
3
- import { a as getColorForVerificationStatus, b as getInfoFromCredential, d as getCategoryDarkColor, e as getCategoryLightColor, f as getCategoryIcon, h as getNameFromProfile, i as getImageFromProfile } from './credential.helpers-97c7e3d4.js';
4
- import { U as UserProfilePicture } from './UserProfilePicture-ecc82a6c.js';
5
- import { a as LCCategoryEnum } from './index-28917993.js';
6
- import { V as VerificationStatusEnum } from './types.esm-c7016566.js';
7
- import { L as Lightbox, X } from './Lightbox-2ae83d79.js';
8
- import CaretRightFilled from './CaretRightFilled.svg';
9
- import ThreeDots from './DotsThreeOutline.svg';
10
-
11
- const Smiley = ({ className = "" }) => {
12
- return /* @__PURE__ */ React.createElement("svg", {
13
- width: "35",
14
- height: "36",
15
- viewBox: "0 0 35 36",
16
- fill: "none",
17
- xmlns: "http://www.w3.org/2000/svg",
18
- className
19
- }, /* @__PURE__ */ React.createElement("path", {
20
- 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",
21
- stroke: "#FBFBFC",
22
- strokeWidth: "1.5",
23
- strokeLinecap: "round",
24
- strokeLinejoin: "round"
25
- }), /* @__PURE__ */ React.createElement("path", {
26
- 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",
27
- stroke: "#FBFBFC",
28
- strokeWidth: "1.5",
29
- strokeLinecap: "round",
30
- strokeLinejoin: "round"
31
- }), /* @__PURE__ */ React.createElement("path", {
32
- 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",
33
- fill: "#FBFBFC"
34
- }), /* @__PURE__ */ React.createElement("path", {
35
- 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",
36
- fill: "#FBFBFC"
37
- }));
38
- };
39
-
40
- const AlignmentRow = ({
41
- url,
42
- name,
43
- framework
44
- }) => {
45
- return /* @__PURE__ */ React.createElement("div", {
46
- 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"
47
- }, /* @__PURE__ */ React.createElement("h1", {
48
- className: "text-blue-800 font-semibold uppercase"
49
- }, framework), /* @__PURE__ */ React.createElement("button", {
50
- className: "flex",
51
- onClick: () => window.open(url)
52
- }, /* @__PURE__ */ React.createElement("span", {
53
- className: "text-left"
54
- }, name), /* @__PURE__ */ React.createElement("img", {
55
- className: "w-[20px] self-end",
56
- src: CaretRightFilled,
57
- alt: "right-caret"
58
- })));
59
- };
60
-
61
- const InfoBox = ({ text, handleClose, backgroundColor = "#6366F1" }) => {
62
- const bgColorWithOpacity = `${backgroundColor}1F`;
63
- return /* @__PURE__ */ React.createElement("div", {
64
- className: "info-box p-[10px] rounded-[10px] w-full font-poppins text-[12px] leading[18px]",
65
- style: { backgroundColor: bgColorWithOpacity }
66
- }, text, " ", /* @__PURE__ */ React.createElement("button", {
67
- onClick: (e) => {
68
- e.stopPropagation();
69
- handleClose();
70
- },
71
- className: "text-indigo-500 font-[700] select-none"
72
- }, "Close"));
73
- };
74
-
75
- const AlignmentsBox = ({ alignment, style }) => {
76
- const [showInfo, setShowInfo] = useState(false);
77
- const alignmentText = `
78
- Alignments in your Open Badge credential link your achievement to established frameworks, standards, or competencies.
79
- Each alignment shows how your boost directly relates to skills, knowledge areas, and professional standards that are recognized in your field.
80
- `;
81
- const alignments = Array.isArray(alignment) ? alignment.map((object, index) => /* @__PURE__ */ React.createElement(AlignmentRow, {
82
- key: index,
83
- url: object.targetUrl,
84
- name: object.targetName,
85
- framework: object.targetFramework
86
- })) : alignment && /* @__PURE__ */ React.createElement(AlignmentRow, {
87
- url: alignment.targetUrl,
88
- name: alignment.targetName,
89
- framework: alignment.targetFramework
90
- });
91
- return /* @__PURE__ */ React.createElement("div", {
92
- className: "bg-white flex flex-col items-start gap-[10px] rounded-[20px] shadow-bottom p-[15px] w-full"
93
- }, /* @__PURE__ */ React.createElement("div", {
94
- className: "flex w-full items-center"
95
- }, /* @__PURE__ */ React.createElement("h3", {
96
- className: style === "MeritBadge" ? "text-[17px] text-grayscale-900 font-poppins" : "text-[22px] font-mouse"
97
- }, "Alignments"), /* @__PURE__ */ React.createElement("button", {
98
- className: "ml-auto",
99
- onClick: (e) => {
100
- e.stopPropagation();
101
- setShowInfo(!showInfo);
102
- }
103
- }, /* @__PURE__ */ React.createElement(InfoIcon, {
104
- color: showInfo ? "#6366F1" : void 0
105
- }))), showInfo && /* @__PURE__ */ React.createElement(InfoBox, {
106
- text: alignmentText,
107
- handleClose: () => setShowInfo(false)
108
- }), alignments);
109
- };
110
-
111
- var __async = (__this, __arguments, generator) => {
112
- return new Promise((resolve, reject) => {
113
- var fulfilled = (value) => {
114
- try {
115
- step(generator.next(value));
116
- } catch (e) {
117
- reject(e);
118
- }
119
- };
120
- var rejected = (value) => {
121
- try {
122
- step(generator.throw(value));
123
- } catch (e) {
124
- reject(e);
125
- }
126
- };
127
- var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
128
- step((generator = generator.apply(__this, __arguments)).next());
129
- });
130
- };
131
- const defaultGetFileMetadata = (url) => __async(void 0, null, function* () {
132
- var _a;
133
- console.log({ url });
134
- const isFilestack = url.includes("filestack");
135
- if (!isFilestack)
136
- return;
137
- const urlParams = (_a = url.split(".com/")[1]) == null ? void 0 : _a.split("/");
138
- if (!urlParams)
139
- return;
140
- const handle = urlParams[urlParams.length - 1];
141
- let fetchFailed = false;
142
- const data = yield fetch(`https://cdn.filestackcontent.com/${handle}/metadata`).then((res) => res.json()).catch(() => fetchFailed = true);
143
- if (fetchFailed)
144
- return;
145
- const fileExtension = data.filename.split(".")[1];
146
- return {
147
- fileExtension,
148
- sizeInBytes: data.size,
149
- numberOfPages: void 0
150
- };
151
- });
152
- const isYoutubeUrl = (url) => {
153
- const youtubeUrl = new URL(url);
154
- return youtubeUrl.hostname === "www.youtube.com";
155
- };
156
- const getYoutubeVideoId = (url) => {
157
- const regex = /(?:\?v=|\.com\/embed\/)([^&]+)/;
158
- const match = url.match(regex);
159
- return match ? match[1] : "";
160
- };
161
- const getCoverImageUrl = (youtubeWatchUrl) => {
162
- if (!isYoutubeUrl(youtubeWatchUrl)) {
163
- return "";
164
- }
165
- const videoId = getYoutubeVideoId(youtubeWatchUrl);
166
- return videoId ? `https://img.youtube.com/vi/${videoId}/maxresdefault.jpg` : "";
167
- };
168
- const defaultGetVideoMetadata = (url) => __async(void 0, null, function* () {
169
- const isYoutube = isYoutubeUrl(url);
170
- if (!isYoutube)
171
- return;
172
- const metadataUrl = `http://youtube.com/oembed?url=${url}&format=json`;
173
- let fetchFailed = false;
174
- const metadata = yield fetch(metadataUrl).then((res) => res.json()).catch(() => fetchFailed = true);
175
- const coverImageUrl = getCoverImageUrl(url);
176
- if (fetchFailed)
177
- return { imageUrl: coverImageUrl };
178
- return {
179
- title: metadata.title,
180
- imageUrl: coverImageUrl,
181
- videoLength: ""
182
- };
183
- });
184
- const MediaAttachmentsBox = ({
185
- attachments,
186
- getFileMetadata = defaultGetFileMetadata,
187
- getVideoMetadata = defaultGetVideoMetadata,
188
- onMediaAttachmentClick,
189
- enableLightbox = false
190
- }) => {
191
- const [documentMetadata, setDocumentMetadata] = useState({});
192
- const [videoMetadata, setVideoMetadata] = useState({});
193
- const mediaAttachments = [];
194
- const documentsAndLinks = [];
195
- attachments.forEach((a) => {
196
- switch (a.type) {
197
- case "document":
198
- case "link":
199
- documentsAndLinks.push(a);
200
- break;
201
- case "photo":
202
- case "video":
203
- mediaAttachments.push(a);
204
- break;
205
- }
206
- });
207
- useEffect(() => {
208
- const getMetadata = (attachments2) => __async(void 0, null, function* () {
209
- const docMetadata = {};
210
- const videoMetadata2 = {};
211
- yield Promise.all(
212
- attachments2.map((attachment) => __async(void 0, null, function* () {
213
- if (attachment.type === "document") {
214
- docMetadata[attachment.url] = yield getFileMetadata(attachment.url);
215
- } else if (attachment.type === "video") {
216
- videoMetadata2[attachment.url] = yield getVideoMetadata(attachment.url);
217
- }
218
- }))
219
- );
220
- setVideoMetadata(videoMetadata2);
221
- setDocumentMetadata(docMetadata);
222
- });
223
- const videos = attachments.filter((a) => a.type === "video");
224
- getMetadata([...documentsAndLinks, ...videos]);
225
- }, []);
226
- const [currentLightboxUrl, setCurrentLightboxUrl] = useState(void 0);
227
- const lightboxItems = mediaAttachments.filter(
228
- (a) => a.type === "photo" || a.type === "video"
229
- );
230
- const handleMediaAttachmentClick = (url, type) => {
231
- if (type === "photo" || type === "video") {
232
- setCurrentLightboxUrl(url);
233
- }
234
- onMediaAttachmentClick == null ? void 0 : onMediaAttachmentClick(url, type);
235
- };
236
- return /* @__PURE__ */ React.createElement("div", {
237
- className: "bg-white flex flex-col items-start gap-[10px] rounded-[20px] shadow-bottom px-[15px] py-[20px] w-full"
238
- }, /* @__PURE__ */ React.createElement("h3", {
239
- className: "text-[17px] text-grayscale-900 font-poppins"
240
- }, "Attachments"), mediaAttachments.length > 0 && /* @__PURE__ */ React.createElement("div", {
241
- className: "flex gap-[5px] justify-between flex-wrap w-full"
242
- }, enableLightbox && /* @__PURE__ */ React.createElement(Lightbox, {
243
- items: lightboxItems,
244
- currentUrl: currentLightboxUrl,
245
- setCurrentUrl: setCurrentLightboxUrl
246
- }), mediaAttachments.map((media, index) => {
247
- var _a, _b;
248
- let innerContent;
249
- let title = media.title;
250
- if (media.type === "video") {
251
- const metadata = videoMetadata[media.url];
252
- title = (_a = title || (metadata == null ? void 0 : metadata.title)) != null ? _a : "";
253
- getBaseUrl(media.url);
254
- innerContent = /* @__PURE__ */ React.createElement("div", {
255
- 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",
256
- style: {
257
- 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
258
- }
259
- }, !(metadata == null ? void 0 : metadata.imageUrl) && /* @__PURE__ */ React.createElement(VideoIcon, {
260
- size: "60",
261
- className: "m-auto"
262
- }), /* @__PURE__ */ React.createElement("div", {
263
- className: "absolute bottom-[10px] left-[10px] z-10 flex items-center gap-[5px]"
264
- }, (metadata == null ? void 0 : metadata.imageUrl) && /* @__PURE__ */ React.createElement(VideoIcon, null), (metadata == null ? void 0 : metadata.videoLength) && /* @__PURE__ */ React.createElement("span", {
265
- className: "leading-[23px]"
266
- }, metadata.videoLength)));
267
- } else {
268
- innerContent = /* @__PURE__ */ React.createElement("div", {
269
- className: "h-full w-full flex items-center justify-center"
270
- }, /* @__PURE__ */ React.createElement("img", {
271
- className: "object-cover h-full w-full",
272
- src: media.url
273
- }), /* @__PURE__ */ React.createElement(Camera, {
274
- className: "absolute bottom-[10px] left-[10px] z-10"
275
- }));
276
- }
277
- const className = `media-attachment ${media.type} w-[49%] pt-[49%] overflow-hidden relative`;
278
- if (onMediaAttachmentClick || enableLightbox) {
279
- return /* @__PURE__ */ React.createElement("div", {
280
- key: index,
281
- className: "flex media-attachment-box bg-grayscale-100 items-center rounded-[15px] w-full"
282
- }, /* @__PURE__ */ React.createElement("button", {
283
- className: "relative h-[80px] w-[80px] rounded-[15px] overflow-hidden flex-shrink-0",
284
- onClick: (e) => {
285
- e.stopPropagation();
286
- handleMediaAttachmentClick(media.url, media.type);
287
- }
288
- }, innerContent), title && /* @__PURE__ */ React.createElement("div", {
289
- className: "text-[12px] text-grayscale-900 font-poppins px-[10px] line-clamp-3"
290
- }, title));
291
- }
292
- return /* @__PURE__ */ React.createElement("div", {
293
- key: index,
294
- className
295
- }, innerContent);
296
- })), documentsAndLinks.length > 0 && /* @__PURE__ */ React.createElement("div", {
297
- className: "w-full flex flex-col gap-[5px]"
298
- }, documentsAndLinks.map((docOrLink, index) => {
299
- var _a;
300
- const metadata = docOrLink.type === "document" ? documentMetadata[docOrLink.url] : void 0;
301
- const { fileExtension, sizeInBytes, numberOfPages } = metadata != null ? metadata : {};
302
- let baseUrl = "";
303
- if (docOrLink.type === "link") {
304
- baseUrl = getBaseUrl(docOrLink.url);
305
- }
306
- const innerContent = /* @__PURE__ */ React.createElement("div", {
307
- className: "flex flex-col gap-[5px]"
308
- }, /* @__PURE__ */ React.createElement("div", {
309
- className: "flex gap-[5px] items-center"
310
- }, docOrLink.type === "document" && /* @__PURE__ */ React.createElement(GenericDocumentIcon, {
311
- className: "shrink-0"
312
- }), docOrLink.type === "link" && /* @__PURE__ */ React.createElement(LinkIcon, {
313
- className: "shrink-0"
314
- }), /* @__PURE__ */ React.createElement("div", {
315
- className: "flex flex-col"
316
- }, /* @__PURE__ */ React.createElement("span", {
317
- className: "text-grayscale-900 font-[400]"
318
- }, (_a = docOrLink.title) != null ? _a : "No title"), docOrLink.type === "document" && metadata && /* @__PURE__ */ React.createElement("a", {
319
- href: docOrLink.url,
320
- target: "_blank",
321
- rel: "noreferrer",
322
- className: "text-grayscale-700 font-[500] text-[12px] font-poppins hover:underline",
323
- onClick: (e) => e.stopPropagation()
324
- }, fileExtension && /* @__PURE__ */ React.createElement("span", {
325
- className: "uppercase"
326
- }, fileExtension), fileExtension && (numberOfPages || sizeInBytes) && " \u2022 ", numberOfPages && /* @__PURE__ */ React.createElement("span", null, numberOfPages, " page", numberOfPages === 1 ? "" : "s"), numberOfPages && sizeInBytes && " \u2022 ", sizeInBytes && /* @__PURE__ */ React.createElement("span", null, prettyBytes(sizeInBytes))), docOrLink.type === "link" && /* @__PURE__ */ React.createElement("a", {
327
- href: docOrLink.url,
328
- target: "_blank",
329
- rel: "noreferrer",
330
- className: "text-indigo-500 font-[500] text-[12px] font-poppins hover:underline",
331
- onClick: (e) => e.stopPropagation()
332
- }, baseUrl))));
333
- 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`;
334
- if (onMediaAttachmentClick) {
335
- return /* @__PURE__ */ React.createElement("button", {
336
- key: index,
337
- className,
338
- onClick: (e) => {
339
- e.stopPropagation();
340
- handleMediaAttachmentClick(docOrLink.url, docOrLink.type);
341
- }
342
- }, innerContent);
343
- }
344
- return /* @__PURE__ */ React.createElement("div", {
345
- key: index,
346
- className
347
- }, innerContent);
348
- })));
349
- };
350
-
351
- const VerificationRow = ({ verification }) => {
352
- var _a, _b;
353
- const [showInfo, setShowInfo] = useState(false);
354
- const statusColor = getColorForVerificationStatus(verification.status);
355
- const getIcon = () => {
356
- switch (verification.status) {
357
- case VerificationStatusEnum.Success:
358
- return /* @__PURE__ */ React.createElement(AcuteCheckmark, null);
359
- case VerificationStatusEnum.Error:
360
- return /* @__PURE__ */ React.createElement(ExclamationPoint, null);
361
- case VerificationStatusEnum.Failed:
362
- return /* @__PURE__ */ React.createElement(X, {
363
- className: "w-[15px] h-[15px]"
364
- });
365
- }
366
- };
367
- let primaryText = verification.check ? `${verification.check}: ${verification.message}` : verification.message;
368
- if (verification.status === VerificationStatusEnum.Failed) {
369
- primaryText = (_b = (_a = verification.message) != null ? _a : verification.details) != null ? _b : "";
370
- }
371
- primaryText = capitalize(primaryText);
372
- const infoText = "";
373
- return /* @__PURE__ */ React.createElement("div", {
374
- 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"
375
- }, /* @__PURE__ */ React.createElement("span", {
376
- className: "font-[700] text-[11px] uppercase flex items-center gap-[3px] select-none",
377
- style: { color: statusColor }
378
- }, getIcon(), verification.status, infoText ), showInfo && infoText && /* @__PURE__ */ React.createElement(InfoBox, {
379
- text: infoText,
380
- handleClose: () => setShowInfo(false),
381
- backgroundColor: statusColor
382
- }), /* @__PURE__ */ React.createElement("span", {
383
- className: "text-[14px] text-grayscale-900 font-poppins"
384
- }, primaryText));
385
- };
386
-
387
- const VerificationsBox = ({ verificationItems }) => {
388
- const [showInfo, setShowInfo] = useState(false);
389
- return /* @__PURE__ */ React.createElement("div", {
390
- className: "bg-white flex flex-col items-start gap-[10px] rounded-[20px] shadow-bottom p-[15px] w-full"
391
- }, /* @__PURE__ */ React.createElement("div", {
392
- className: "flex w-full items-center"
393
- }, /* @__PURE__ */ React.createElement("h3", {
394
- className: "text-[17px] text-grayscale-900 font-poppins"
395
- }, "Verifications"), /* @__PURE__ */ React.createElement("button", {
396
- className: "ml-auto",
397
- onClick: (e) => {
398
- e.stopPropagation();
399
- setShowInfo(!showInfo);
400
- }
401
- }, /* @__PURE__ */ React.createElement(InfoIcon, {
402
- color: showInfo ? "#6366F1" : void 0
403
- }))), showInfo && /* @__PURE__ */ React.createElement(InfoBox, {
404
- text: "Credential verifications check the cryptographic proof of digital credentials to ensure their authenticity and accuracy.",
405
- handleClose: () => setShowInfo(false)
406
- }), verificationItems.map((verification, index) => /* @__PURE__ */ React.createElement(VerificationRow, {
407
- key: index,
408
- verification
409
- })));
410
- };
411
-
412
- const TruncateTextBox = ({
413
- headerText,
414
- headerClassName = "",
415
- text,
416
- truncateThreshold = 132,
417
- children,
418
- className = "truncate-text-box"
419
- }) => {
420
- const needsTruncate = (text == null ? void 0 : text.length) > truncateThreshold;
421
- const [showFullText, setShowFullText] = useState(false);
422
- const truncated = needsTruncate && !showFullText;
423
- const displayText = truncated ? text.substring(0, truncateThreshold) : text;
424
- return /* @__PURE__ */ React.createElement("div", {
425
- className: `${className} w-full bg-white flex flex-col items-start gap-[10px] rounded-[20px] shadow-bottom p-[15px]`
426
- }, /* @__PURE__ */ React.createElement("h3", {
427
- className: `${headerClassName} text-[17px] text-grayscale-900 font-poppins`
428
- }, headerText), /* @__PURE__ */ React.createElement("p", {
429
- className: "text-[12px] text-grayscale-700 font-poppins mb-0 flex flex-col items-start"
430
- }, displayText, truncated && /* @__PURE__ */ React.createElement(React.Fragment, null, "...", /* @__PURE__ */ React.createElement("button", {
431
- className: "text-indigo-500 text-[12px]",
432
- onClick: (e) => {
433
- e.stopPropagation();
434
- setShowFullText(true);
435
- }
436
- }, "Show more")), needsTruncate && showFullText && /* @__PURE__ */ React.createElement("button", {
437
- className: "text-indigo-500 text-[12px]",
438
- onClick: (e) => {
439
- e.stopPropagation();
440
- setShowFullText(false);
441
- }
442
- }, "Show less")), children);
443
- };
444
-
445
- const MeritBadgeBackFace = ({
446
- credential,
447
- categoryType,
448
- verificationItems,
449
- customSkillsComponent,
450
- getFileMetadata,
451
- getVideoMetadata,
452
- onMediaAttachmentClick,
453
- enableLightbox,
454
- showBackButton,
455
- handleViewFrontFace,
456
- customLinkedCredentialsComponent
457
- }) => {
458
- var _a, _b, _c, _d, _e, _f, _g;
459
- const { createdAt, credentialSubject } = getInfoFromCredential(credential, "MMM dd, yyyy", {
460
- uppercaseDate: false
461
- });
462
- const { description } = (_a = credentialSubject == null ? void 0 : credentialSubject.achievement) != null ? _a : {};
463
- const criteria = (_c = (_b = credentialSubject == null ? void 0 : credentialSubject.achievement) == null ? void 0 : _b.criteria) == null ? void 0 : _c.narrative;
464
- const alignment = (_d = credentialSubject == null ? void 0 : credentialSubject.achievement) == null ? void 0 : _d.alignment;
465
- const credentialDarkColor = getCategoryDarkColor(categoryType);
466
- let bgColor = `bg-${credentialDarkColor}`;
467
- if (categoryType === LCCategoryEnum.accommodations) {
468
- bgColor = "bg-amber-700";
469
- } else if (categoryType === LCCategoryEnum.accomplishments) {
470
- bgColor = "bg-lime-700";
471
- }
472
- return /* @__PURE__ */ React.createElement("div", {
473
- role: "button",
474
- onClick: () => handleViewFrontFace == null ? void 0 : handleViewFrontFace(),
475
- 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}`
476
- }, showBackButton ? /* @__PURE__ */ React.createElement("div", {
477
- className: "w-full"
478
- }, /* @__PURE__ */ React.createElement("button", {
479
- 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",
480
- onClick: () => handleViewFrontFace == null ? void 0 : handleViewFrontFace()
481
- }, /* @__PURE__ */ React.createElement(LeftArrow, {
482
- className: "text-white",
483
- size: "25"
484
- }), "Details")) : /* @__PURE__ */ React.createElement("h1", {
485
- className: "text-white text-center text-[22px] font-jacques"
486
- }, "Details"), /* @__PURE__ */ React.createElement(TruncateTextBox, {
487
- headerText: "About",
488
- text: description
489
- }, /* @__PURE__ */ React.createElement("span", {
490
- className: `text-grayscale-600 font-poppins text-[12px] font-[600] w-full ${description ? "pt-[10px] border-t-[1px] border-solid border-grayscale-200" : ""}`
491
- }, "Awarded on ", createdAt)), criteria && /* @__PURE__ */ React.createElement(TruncateTextBox, {
492
- headerText: "Criteria",
493
- text: criteria
494
- }), customLinkedCredentialsComponent && customLinkedCredentialsComponent, ((_f = (_e = credential.skills) == null ? void 0 : _e.length) != null ? _f : 0) > 0 && (customSkillsComponent ? customSkillsComponent : /* @__PURE__ */ React.createElement(SkillsBox, {
495
- skills: (_g = credential.skills) != null ? _g : []
496
- })), credential.attachments && credential.attachments.length > 0 && /* @__PURE__ */ React.createElement(MediaAttachmentsBox, {
497
- attachments: credential.attachments,
498
- getFileMetadata,
499
- getVideoMetadata,
500
- onMediaAttachmentClick,
501
- enableLightbox
502
- }), alignment && /* @__PURE__ */ React.createElement(AlignmentsBox, {
503
- alignment,
504
- style: "MeritBadge"
505
- }), verificationItems && verificationItems.length > 0 && /* @__PURE__ */ React.createElement(VerificationsBox, {
506
- verificationItems
507
- }), /* @__PURE__ */ React.createElement("span", {
508
- className: "hidden bg-amber-700 bg-spice-700 bg-rose-700 bg-yellow-700 bg-teal-700"
509
- }));
510
- };
511
-
512
- const MeritBadgeCornerIcon = ({ categoryType, position }) => {
513
- const credentialPrimaryColor = getCategoryLightColor(categoryType);
514
- const credentialIcon = getCategoryIcon(categoryType, "25");
515
- let iconPositionClassName, cornerPositionClassName;
516
- switch (position) {
517
- case "top-left":
518
- iconPositionClassName = "top-[3px] left-[3px] pb-[10px] pr-[10px] pl-[4px] pt-[4px]";
519
- cornerPositionClassName = "bottom-[-1px] right-0";
520
- break;
521
- case "top-right":
522
- iconPositionClassName = "top-[3px] right-[3px] pl-[10px] pb-[10px] pr-[4px] pt-[4px]";
523
- cornerPositionClassName = "bottom-[-1px] left-0 rotate-90";
524
- break;
525
- case "bottom-left":
526
- iconPositionClassName = "bottom-[3px] left-[3px] pr-[10px] pt-[10px] pl-[4px] pb-[4px]";
527
- cornerPositionClassName = "top-0 right-0 rotate-[270deg]";
528
- break;
529
- case "bottom-right":
530
- iconPositionClassName = "bottom-[3px] right-[3px] pl-[10px] pt-[10px] pr-[4px] pb-[4px]";
531
- cornerPositionClassName = "top-[-1px] left-0 rotate-180";
532
- break;
533
- }
534
- return /* @__PURE__ */ React.createElement("div", {
535
- className: `text-${credentialPrimaryColor} rounded-full bg-white absolute ${iconPositionClassName}`
536
- }, credentialIcon, /* @__PURE__ */ React.createElement(RoundedCorner, {
537
- className: `absolute ${cornerPositionClassName}`
538
- }));
539
- };
540
-
541
- const MeritBadgeRibbon = ({ className = "", image }) => {
542
- return /* @__PURE__ */ React.createElement("svg", {
543
- width: "207",
544
- height: "170",
545
- viewBox: "0 0 207 170",
546
- fill: "none",
547
- xmlns: "http://www.w3.org/2000/svg",
548
- className
549
- }, /* @__PURE__ */ React.createElement("g", {
550
- filter: "url(#filter0_d_10755_290433)"
551
- }, /* @__PURE__ */ React.createElement("circle", {
552
- cx: "102.988",
553
- cy: "83",
554
- r: "81.5",
555
- fill: "white",
556
- stroke: "white",
557
- strokeWidth: "3"
558
- }), /* @__PURE__ */ React.createElement("path", {
559
- 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",
560
- fill: "currentColor",
561
- stroke: "white",
562
- strokeWidth: "3",
563
- strokeLinejoin: "round"
564
- }), /* @__PURE__ */ React.createElement("rect", {
565
- x: "25.3273",
566
- y: "5.34741",
567
- width: "156.6",
568
- height: "156.6",
569
- rx: "78.2999",
570
- fill: "#FBFBFC"
571
- }), /* @__PURE__ */ React.createElement("rect", {
572
- x: "25.3273",
573
- y: "5.34741",
574
- width: "156.6",
575
- height: "156.6",
576
- rx: "78.2999",
577
- stroke: "currentColor",
578
- strokeWidth: "3"
579
- }), /* @__PURE__ */ React.createElement("rect", {
580
- x: "29.8273",
581
- y: "9.84741",
582
- width: "147.6",
583
- height: "147.6",
584
- fill: "none"
585
- })), /* @__PURE__ */ React.createElement("clipPath", {
586
- id: "circleClip"
587
- }, /* @__PURE__ */ React.createElement("circle", {
588
- cx: "103.5",
589
- cy: "84",
590
- r: "75"
591
- })), /* @__PURE__ */ React.createElement("image", {
592
- xlinkHref: image,
593
- x: "28.5",
594
- y: "9",
595
- width: "150",
596
- height: "150",
597
- clipPath: "url(#circleClip)"
598
- }), /* @__PURE__ */ React.createElement("defs", null, /* @__PURE__ */ React.createElement("filter", {
599
- id: "filter0_d_10755_290433",
600
- x: "0.944458",
601
- y: "0",
602
- width: "205.111",
603
- height: "170",
604
- filterUnits: "userSpaceOnUse",
605
- colorInterpolationFilters: "sRGB"
606
- }, /* @__PURE__ */ React.createElement("feFlood", {
607
- floodOpacity: "0",
608
- result: "BackgroundImageFix"
609
- }), /* @__PURE__ */ React.createElement("feColorMatrix", {
610
- in: "SourceAlpha",
611
- type: "matrix",
612
- values: "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0",
613
- result: "hardAlpha"
614
- }), /* @__PURE__ */ React.createElement("feOffset", {
615
- dy: "4"
616
- }), /* @__PURE__ */ React.createElement("feComposite", {
617
- in2: "hardAlpha",
618
- operator: "out"
619
- }), /* @__PURE__ */ React.createElement("feColorMatrix", {
620
- type: "matrix",
621
- values: "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.2 0"
622
- }), /* @__PURE__ */ React.createElement("feBlend", {
623
- mode: "normal",
624
- in2: "BackgroundImageFix",
625
- result: "effect1_dropShadow_10755_290433"
626
- }), /* @__PURE__ */ React.createElement("feBlend", {
627
- mode: "normal",
628
- in: "SourceGraphic",
629
- in2: "effect1_dropShadow_10755_290433",
630
- result: "shape"
631
- }))));
632
- };
633
-
634
- const MeritBadgeImageDisplay = ({
635
- imageUrl,
636
- className = ""
637
- }) => {
638
- return /* @__PURE__ */ React.createElement("div", {
639
- className: `flex items-center justify-center w-[176px] h-[176px] rounded-full bg-white z-50 ${className}`
640
- }, /* @__PURE__ */ React.createElement(MeritBadgeRibbon, {
641
- className: "absolute z-[1]",
642
- image: imageUrl
643
- }));
644
- };
645
-
646
- const MeritBadgeProfileImageDisplay = ({
647
- imageUrl,
648
- showSeal = false,
649
- className = "",
650
- imageComponent,
651
- size = "big",
652
- userName
653
- }) => {
654
- 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" : ""}`;
655
- return /* @__PURE__ */ React.createElement("div", {
656
- className
657
- }, showSeal && /* @__PURE__ */ React.createElement("div", {
658
- className: "bg-white rounded-full p-[5px]"
659
- }, /* @__PURE__ */ React.createElement(IssuerSeal, {
660
- size: "58"
661
- })), imageComponent && /* @__PURE__ */ React.createElement("div", {
662
- className: imageClassName
663
- }, imageComponent), !imageComponent && /* @__PURE__ */ React.createElement(UserProfilePicture, {
664
- customContainerClass: `${imageClassName} ${!imageUrl ? "pt-[6px]" : ""}`,
665
- customImageClass: "h-full w-full object-cover",
666
- user: { image: imageUrl, name: userName }
667
- }));
668
- };
669
-
670
- const MeritBadgeFrontFace = ({
671
- isFront,
672
- credential,
673
- categoryType,
674
- issuerOverride,
675
- issueeOverride,
676
- knownDIDRegistry,
677
- subjectImageComponent,
678
- issuerImageComponent,
679
- customBodyCardComponent,
680
- hideIssueDate,
681
- handleViewBackFace,
682
- showDetailsBtn = false,
683
- formattedDisplayType,
684
- customBodyContentSlot
685
- }) => {
686
- var _a;
687
- const {
688
- title = "",
689
- createdAt,
690
- issuer: _issuer = "",
691
- issuee: _issuee = "",
692
- credentialSubject,
693
- imageUrl
694
- } = getInfoFromCredential(credential, "MMM dd, yyyy", { uppercaseDate: false });
695
- const issuee = issueeOverride || _issuee;
696
- const issuer = issuerOverride || _issuer;
697
- (_a = credentialSubject == null ? void 0 : credentialSubject.achievement) != null ? _a : {};
698
- const credentialLightColor = getCategoryLightColor(categoryType);
699
- const credentialDarkColor = getCategoryDarkColor(categoryType);
700
- let categoryTitle = categoryType;
701
- let textLightColor = `text-${credentialLightColor}`;
702
- let textDarkColor = `text-${credentialDarkColor}`;
703
- let borderColor = `border-${credentialLightColor}`;
704
- if (categoryType === LCCategoryEnum.accommodations) {
705
- textLightColor = "text-violet-500";
706
- textDarkColor = "text-violet-700";
707
- borderColor = "border-violet-500";
708
- } else if (categoryType === LCCategoryEnum.accomplishments) {
709
- textLightColor = "text-yellow-500";
710
- textDarkColor = "text-yellow-700";
711
- borderColor = "border-yellow-500";
712
- categoryTitle = "Portfolio";
713
- } else if (categoryType === LCCategoryEnum.learningHistory) {
714
- categoryTitle = "Study";
715
- } else if (categoryType === LCCategoryEnum.workHistory) {
716
- categoryTitle = "Experiences";
717
- textLightColor = "text-cyan-500";
718
- textDarkColor = "text-cyan-700";
719
- borderColor = "border-cyan-500";
720
- }
721
- const issuerName = getNameFromProfile(issuer != null ? issuer : "");
722
- const issueeName = getNameFromProfile(issuee != null ? issuee : "");
723
- const issuerImage = getImageFromProfile(issuer != null ? issuer : "");
724
- const issueeImage = getImageFromProfile(issuee != null ? issuee : "");
725
- const issuerDid = typeof credential.issuer === "string" ? credential.issuer : credential.issuer.id;
726
- let verifierState;
727
- if ((credentialSubject == null ? void 0 : credentialSubject.id) === issuerDid && issuerDid && issuerDid !== "did:example:123") {
728
- verifierState = VERIFIER_STATES.selfVerified;
729
- } else {
730
- if ((knownDIDRegistry == null ? void 0 : knownDIDRegistry.source) === "trusted") {
731
- verifierState = VERIFIER_STATES.trustedVerifier;
732
- } else if ((knownDIDRegistry == null ? void 0 : knownDIDRegistry.source) === "untrusted") {
733
- verifierState = VERIFIER_STATES.untrustedVerifier;
734
- } else if ((knownDIDRegistry == null ? void 0 : knownDIDRegistry.source) === "unknown") {
735
- verifierState = VERIFIER_STATES.unknownVerifier;
736
- } else {
737
- verifierState = VERIFIER_STATES.unknownVerifier;
738
- }
739
- }
740
- verifierState === VERIFIER_STATES.selfVerified;
741
- const issueeImageExists = issueeImage || subjectImageComponent;
742
- return /* @__PURE__ */ React.createElement("section", {
743
- role: "button",
744
- onClick: () => handleViewBackFace == null ? void 0 : handleViewBackFace(),
745
- className: "relative p-[13px] mt-[68px] bg-white border-[5px] rounded-[30px] border-soid border-grayscale-200 min-w-[295px]"
746
- }, /* @__PURE__ */ React.createElement("div", {
747
- className: "w-[calc(100%-26px)] absolute top-[-72px]"
748
- }, /* @__PURE__ */ React.createElement(MeritBadgeImageDisplay, {
749
- imageUrl: imageUrl != null ? imageUrl : "",
750
- className: `mx-auto ${textLightColor}`
751
- })), /* @__PURE__ */ React.createElement("div", {
752
- className: `flex flex-col gap-[15px] items-center px-[20px] pt-[92px] pb-[19px] border-solid border-[4px] ${borderColor} rounded-[30px]`
753
- }, /* @__PURE__ */ React.createElement("div", {
754
- className: "flex flex-col gap-[5px] w-full"
755
- }, /* @__PURE__ */ React.createElement("div", {
756
- className: "flex flex-col items-center text-grayscale-900"
757
- }, /* @__PURE__ */ React.createElement("span", {
758
- className: "text-[16px] leading-[150%] font-jacques"
759
- }, issueeName || /* @__PURE__ */ React.createElement(Line, {
760
- width: "60"
761
- })), /* @__PURE__ */ React.createElement("span", {
762
- className: "text-[14px] leading-[150%] font-jacques"
763
- }, "has met the requirements for")), /* @__PURE__ */ React.createElement("div", {
764
- className: "flex flex-col items-center"
765
- }, /* @__PURE__ */ React.createElement("h1", {
766
- className: "text-grayscale-900 text-center text-[25px] font-jacques w-full"
767
- }, title), /* @__PURE__ */ React.createElement("div", {
768
- className: `${textLightColor} uppercase text-[14px] font-notoSans font-[600]`
769
- }, formattedDisplayType))), customBodyCardComponent, issueeImageExists && !customBodyCardComponent && /* @__PURE__ */ React.createElement(MeritBadgeProfileImageDisplay, {
770
- imageUrl: issueeImage,
771
- imageComponent: subjectImageComponent,
772
- className: `flex justify-center items-center ${textDarkColor}`
773
- }), !issueeImageExists && !customBodyCardComponent && /* @__PURE__ */ React.createElement("div", {
774
- className: "h-[50px] w-[50px] rounded-full bg-grayscale-500 flex items-center justify-center"
775
- }, /* @__PURE__ */ React.createElement(Smiley, null)), /* @__PURE__ */ React.createElement("div", {
776
- className: "flex flex-col w-full"
777
- }, /* @__PURE__ */ React.createElement("div", {
778
- className: "text-[14px] text-grayscale-900 flex flex-col items-center w-full mb-[10px]"
779
- }, /* @__PURE__ */ React.createElement("span", {
780
- className: "font-jacques flex gap-[5px] items-center w-full overflow-ellipsis whitespace-nowrap overflow-hidden justify-center"
781
- }, issueeName === "0 person" ? "Not yet awarded" : /* @__PURE__ */ React.createElement(React.Fragment, null, "Awarded on ", createdAt, " by"))), /* @__PURE__ */ React.createElement("div", {
782
- className: "flex flex-col gap-[5px] items-center w-full"
783
- }, /* @__PURE__ */ React.createElement("span", {
784
- 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"
785
- }, issuerName))), /* @__PURE__ */ React.createElement(MeritBadgeProfileImageDisplay, {
786
- imageUrl: issuerImage,
787
- userName: issuerName,
788
- imageComponent: issuerImageComponent,
789
- className: `w-[calc(100%-26px)] flex justify-center items-center ${textLightColor}`,
790
- size: "small",
791
- showSeal: true
792
- }), customBodyContentSlot && customBodyContentSlot, /* @__PURE__ */ React.createElement("div", {
793
- className: `${textLightColor} uppercase text-[14px] font-notoSans font-[600]`
794
- }, categoryTitle)), categoryType && /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(MeritBadgeCornerIcon, {
795
- categoryType,
796
- position: "top-left"
797
- }), /* @__PURE__ */ React.createElement(MeritBadgeCornerIcon, {
798
- categoryType,
799
- position: "top-right"
800
- }), /* @__PURE__ */ React.createElement(MeritBadgeCornerIcon, {
801
- categoryType,
802
- position: "bottom-left"
803
- }), /* @__PURE__ */ React.createElement(MeritBadgeCornerIcon, {
804
- categoryType,
805
- position: "bottom-right"
806
- })), /* @__PURE__ */ React.createElement("div", {
807
- className: "absolute bottom-0 w-[calc(100%-26px)] flex justify-center"
808
- }, /* @__PURE__ */ React.createElement(VerifierStateBadgeAndText, {
809
- verifierState,
810
- className: "bg-white px-[5px] pb-[5px]"
811
- })), /* @__PURE__ */ React.createElement("span", {
812
- className: "hidden border-rose-500 text-spice-500 border-spice-500 border-cyan-500 text-cyan-500 border-indigo-500 border-sp-purple-base"
813
- }));
814
- };
815
-
816
- const MeritBadgeDisplayCard = ({
817
- credential,
818
- categoryType,
819
- verificationItems,
820
- issuerOverride,
821
- issueeOverride,
822
- subjectImageComponent,
823
- issuerImageComponent,
824
- customBodyCardComponent,
825
- knownDIDRegistry,
826
- hideIssueDate,
827
- customSkillsComponent,
828
- getFileMetadata,
829
- getVideoMetadata,
830
- onMediaAttachmentClick,
831
- enableLightbox,
832
- handleXClick,
833
- onDotsClick,
834
- isFrontOverride,
835
- setIsFrontOverride,
836
- hideNavButtons,
837
- showBackButton = false,
838
- showDetailsBtn = false,
839
- formattedDisplayType,
840
- customLinkedCredentialsComponent,
841
- customBodyContentSlot
842
- }) => {
843
- const [_isFront, _setIsFront] = useState(isFrontOverride != null ? isFrontOverride : true);
844
- const isFront = isFrontOverride != null ? isFrontOverride : _isFront;
845
- const setIsFront = setIsFrontOverride != null ? setIsFrontOverride : _setIsFront;
846
- return /* @__PURE__ */ React.createElement("section", {
847
- className: "w-full flex flex-col gap-[15px] items-center justify-center relative min-w-[220px]"
848
- }, /* @__PURE__ */ React.createElement("section", {
849
- className: "max-w-[350px] w-full"
850
- }, isFront && /* @__PURE__ */ React.createElement(MeritBadgeFrontFace, {
851
- credential,
852
- categoryType,
853
- issuerOverride,
854
- issueeOverride,
855
- knownDIDRegistry,
856
- subjectImageComponent,
857
- issuerImageComponent,
858
- customBodyCardComponent,
859
- hideIssueDate,
860
- handleViewBackFace: () => setIsFront(!isFront),
861
- isFront,
862
- showDetailsBtn,
863
- formattedDisplayType,
864
- customBodyContentSlot
865
- }), !isFront && /* @__PURE__ */ React.createElement(MeritBadgeBackFace, {
866
- credential,
867
- categoryType,
868
- verificationItems,
869
- getFileMetadata,
870
- getVideoMetadata,
871
- onMediaAttachmentClick,
872
- enableLightbox,
873
- showBackButton: showBackButton && !hideNavButtons || showDetailsBtn,
874
- handleViewFrontFace: () => setIsFront(!isFront),
875
- customLinkedCredentialsComponent
876
- }), onDotsClick && /* @__PURE__ */ React.createElement("button", {
877
- className: "absolute right-[-20px] top-[-52px] bg-white rounded-full p-[10px] shadow-bottom",
878
- onClick: onDotsClick
879
- }, /* @__PURE__ */ React.createElement("img", {
880
- alt: "Menu dropdown icon",
881
- className: "h-[20px] w-[20px]",
882
- src: ThreeDots
883
- }))), !hideNavButtons && /* @__PURE__ */ React.createElement("div", {
884
- className: "flex gap-[10px] font-mouse text-[30px] leading-[28px] tracking-[0.75px] relative top-[-10px] left-0 w-full"
885
- }, !isFront && /* @__PURE__ */ React.createElement("button", {
886
- 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",
887
- onClick: () => setIsFront(!isFront)
888
- }, /* @__PURE__ */ React.createElement(FatArrow, {
889
- direction: "left"
890
- }), " Back"), handleXClick && /* @__PURE__ */ React.createElement("button", {
891
- onClick: handleXClick,
892
- className: "bg-white text-grayscale-900 rounded-[20px] py-[15px] px-[20px] grow"
893
- }, "Close"), isFront && /* @__PURE__ */ React.createElement("button", {
894
- 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",
895
- onClick: () => setIsFront(!isFront)
896
- }, "Details ", /* @__PURE__ */ React.createElement(FatArrow, {
897
- direction: "right"
898
- }))));
899
- };
900
-
901
- export { MeritBadgeBackFace as M, MeritBadgeDisplayCard as a, MeritBadgeFrontFace as b };
902
- //# sourceMappingURL=MeritBadgeDisplayCard-c87b0271.js.map