@learncard/react 2.8.61 → 2.9.2

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 (448) hide show
  1. package/dist/base.css +1 -1
  2. package/dist/base.js +1 -1
  3. package/dist/cjs/AchievementCard-c43817f2.js +87 -0
  4. package/dist/cjs/{AchievementCard-dd332f3f.js.map → AchievementCard-c43817f2.js.map} +1 -1
  5. package/dist/cjs/BoostGenericCard-a239e89c.js +180 -0
  6. package/dist/cjs/BoostGenericCard-a239e89c.js.map +1 -0
  7. package/dist/cjs/BoostSmallCard-3e303698.js +165 -0
  8. package/dist/cjs/{BoostSmallCard-dd1cbd51.js.map → BoostSmallCard-3e303698.js.map} +1 -1
  9. package/dist/cjs/{Button-a7af702b.js → Button-9ebe120c.js} +10 -6
  10. package/dist/cjs/{Button-a7af702b.js.map → Button-9ebe120c.js.map} +1 -1
  11. package/dist/cjs/CertificateDisplayCard-b299f7fd.js +891 -0
  12. package/dist/cjs/CertificateDisplayCard-b299f7fd.js.map +1 -0
  13. package/dist/cjs/Checkmark-74444a78.js +79 -0
  14. package/dist/cjs/{Checkmark-f611aa4d.js.map → Checkmark-74444a78.js.map} +1 -1
  15. package/dist/cjs/{CircleCheckButton-82d47ee2.js → CircleCheckButton-f76e5b5d.js} +11 -9
  16. package/dist/cjs/{CircleCheckButton-82d47ee2.js.map → CircleCheckButton-f76e5b5d.js.map} +1 -1
  17. package/dist/cjs/{CircleIcon-617c38fa.js → CircleIcon-f0fa68c7.js} +14 -30
  18. package/dist/cjs/{CircleIcon-617c38fa.js.map → CircleIcon-f0fa68c7.js.map} +1 -1
  19. package/dist/cjs/{CircleSpinner-093cce04.js → CircleSpinner-f518569a.js} +2 -13
  20. package/dist/cjs/{CircleSpinner-093cce04.js.map → CircleSpinner-f518569a.js.map} +1 -1
  21. package/dist/cjs/Coins-1f33b7ad.js +20 -0
  22. package/dist/cjs/{Coins-acd63f46.js.map → Coins-1f33b7ad.js.map} +1 -1
  23. package/dist/cjs/CourseCard-bc699307.js +88 -0
  24. package/dist/cjs/{CourseCard-338a32ee.js.map → CourseCard-bc699307.js.map} +1 -1
  25. package/dist/cjs/CourseVerticalCard-554ff1b7.js +116 -0
  26. package/dist/cjs/{CourseVerticalCard-841960b1.js.map → CourseVerticalCard-554ff1b7.js.map} +1 -1
  27. package/dist/cjs/{FlippyCard-209549c5.js → FlippyCard-bf0fd493.js} +3 -16
  28. package/dist/cjs/{FlippyCard-209549c5.js.map → FlippyCard-bf0fd493.js.map} +1 -1
  29. package/dist/cjs/GenericArrow-5c392276.js +34 -0
  30. package/dist/cjs/{GenericArrow-8dfb261d.js.map → GenericArrow-5c392276.js.map} +1 -1
  31. package/dist/cjs/GenericCard-2b20ab4b.js +66 -0
  32. package/dist/cjs/{GenericCard-ad18c4c3.js.map → GenericCard-2b20ab4b.js.map} +1 -1
  33. package/dist/cjs/IDDisplayIcon-4b6ce62f.js +234 -0
  34. package/dist/cjs/{IDDisplayIcon-62993df0.js.map → IDDisplayIcon-4b6ce62f.js.map} +1 -1
  35. package/dist/cjs/JobHistoryCard-e9ac7a1a.js +35 -0
  36. package/dist/cjs/{JobHistoryCard-05a3f98b.js.map → JobHistoryCard-e9ac7a1a.js.map} +1 -1
  37. package/dist/cjs/JobListCard-c53660e8.js +124 -0
  38. package/dist/cjs/{JobListCard-f74f0302.js.map → JobListCard-c53660e8.js.map} +1 -1
  39. package/dist/cjs/LearnCardCreditCardBackFace-62330eea.js +83 -0
  40. package/dist/cjs/{LearnCardCreditCardBackFace-87cc8b9f.js.map → LearnCardCreditCardBackFace-62330eea.js.map} +1 -1
  41. package/dist/cjs/LearnCardCreditCardFrontFace-aca1b7bc.js +89 -0
  42. package/dist/cjs/{LearnCardCreditCardFrontFace-39eeb89a.js.map → LearnCardCreditCardFrontFace-aca1b7bc.js.map} +1 -1
  43. package/dist/cjs/{LearnPill-d80ba2e6.js → LearnPill-da2d2a8e.js} +10 -10
  44. package/dist/cjs/{LearnPill-d80ba2e6.js.map → LearnPill-da2d2a8e.js.map} +1 -1
  45. package/dist/cjs/{Lightbox-9aeb2f7b.js → Lightbox-d72e19ba.js} +70 -58
  46. package/dist/cjs/{Lightbox-9aeb2f7b.js.map → Lightbox-d72e19ba.js.map} +1 -1
  47. package/dist/cjs/Lightbulb-82cec354.js +42 -0
  48. package/dist/cjs/{Lightbulb-19c89d3c.js.map → Lightbulb-82cec354.js.map} +1 -1
  49. package/dist/cjs/MeritBadgeDisplayCard-531dbb15.js +947 -0
  50. package/dist/cjs/MeritBadgeDisplayCard-531dbb15.js.map +1 -0
  51. package/dist/cjs/MeritBadgeSkillsCount-4ffd9166.js +36 -0
  52. package/dist/cjs/{MeritBadgeSkillsCount-54879719.js.map → MeritBadgeSkillsCount-4ffd9166.js.map} +1 -1
  53. package/dist/cjs/MiniVCThumbnail-9c510f51.js +85 -0
  54. package/dist/cjs/{MiniVCThumbnail-a78e44f2.js.map → MiniVCThumbnail-9c510f51.js.map} +1 -1
  55. package/dist/cjs/Notification-24d4de25.js +123 -0
  56. package/dist/cjs/{Notification-d212fa7b.js.map → Notification-24d4de25.js.map} +1 -1
  57. package/dist/cjs/NotificationBoostCard-abb23722.js +142 -0
  58. package/dist/cjs/{NotificationBoostCard-cf2140c0.js.map → NotificationBoostCard-abb23722.js.map} +1 -1
  59. package/dist/cjs/NotificationUserAcceptedBoostCard-31d8a89e.js +98 -0
  60. package/dist/cjs/{NotificationUserAcceptedBoostCard-423b9320.js.map → NotificationUserAcceptedBoostCard-31d8a89e.js.map} +1 -1
  61. package/dist/cjs/NotificationUserCard-59431df3.js +121 -0
  62. package/dist/cjs/{NotificationUserCard-d4dab06c.js.map → NotificationUserCard-59431df3.js.map} +1 -1
  63. package/dist/cjs/PuzzlePiece-e64f4596.js +97 -0
  64. package/dist/cjs/PuzzlePiece-e64f4596.js.map +1 -0
  65. package/dist/cjs/QRCodeCard-f0079bd9.js +49 -0
  66. package/dist/cjs/{QRCodeCard-b56c11cc.js.map → QRCodeCard-f0079bd9.js.map} +1 -1
  67. package/dist/cjs/QRCodeIcon-3021a53b.js +137 -0
  68. package/dist/cjs/{QRCodeIcon-81c6e96b.js.map → QRCodeIcon-3021a53b.js.map} +1 -1
  69. package/dist/cjs/RoundedPill-b54f3ac1.js +134 -0
  70. package/dist/cjs/{RoundedPill-bda7c067.js.map → RoundedPill-b54f3ac1.js.map} +1 -1
  71. package/dist/cjs/{SchoolIDCard-39a099d2.js → SchoolIDCard-e22d0d80.js} +661 -380
  72. package/dist/cjs/SchoolIDCard-e22d0d80.js.map +1 -0
  73. package/dist/cjs/SkillTabCard-efade17a.js +44 -0
  74. package/dist/cjs/{SkillTabCard-66677f3c.js.map → SkillTabCard-efade17a.js.map} +1 -1
  75. package/dist/cjs/SkillVerticalCard-62e308b4.js +37 -0
  76. package/dist/cjs/{SkillVerticalCard-3eb3a8e9.js.map → SkillVerticalCard-62e308b4.js.map} +1 -1
  77. package/dist/cjs/SkillsCard-dae73a71.js +57 -0
  78. package/dist/cjs/{SkillsCard-4b6dbb4f.js.map → SkillsCard-dae73a71.js.map} +1 -1
  79. package/dist/cjs/SkillsStatsCard-aeef796c.js +57 -0
  80. package/dist/cjs/{SkillsStatsCard-97a35a88.js.map → SkillsStatsCard-aeef796c.js.map} +1 -1
  81. package/dist/cjs/SmallAchievementCard-d22a4d25.js +53 -0
  82. package/dist/cjs/{SmallAchievementCard-a1fa862b.js.map → SmallAchievementCard-d22a4d25.js.map} +1 -1
  83. package/dist/cjs/ThreeDotVertical-dda0e747.js +57 -0
  84. package/dist/cjs/{ThreeDotVertical-1d221fc8.js.map → ThreeDotVertical-dda0e747.js.map} +1 -1
  85. package/dist/cjs/Trophy-9758f0cf.js +35 -0
  86. package/dist/cjs/{Trophy-3d323be3.js.map → Trophy-9758f0cf.js.map} +1 -1
  87. package/dist/cjs/User-54049eba.js +130 -0
  88. package/dist/cjs/{User-301088ac.js.map → User-54049eba.js.map} +1 -1
  89. package/dist/cjs/{UserProfilePicture-16b97343.js → UserProfilePicture-d69fe4f0.js} +18 -12
  90. package/dist/cjs/{UserProfilePicture-16b97343.js.map → UserProfilePicture-d69fe4f0.js.map} +1 -1
  91. package/dist/cjs/{VCCard-32aeadb3.js → VCCard-2683c65c.js} +29 -22
  92. package/dist/cjs/{VCCard-32aeadb3.js.map → VCCard-2683c65c.js.map} +1 -1
  93. package/dist/cjs/VCDisplayBackFace-a7428833.js +70 -0
  94. package/dist/cjs/{VCDisplayBackFace-4543749f.js.map → VCDisplayBackFace-a7428833.js.map} +1 -1
  95. package/dist/cjs/VCDisplayCard-b8882c8e.js +191 -0
  96. package/dist/cjs/{VCDisplayCard-353cc9ed.js.map → VCDisplayCard-b8882c8e.js.map} +1 -1
  97. package/dist/cjs/{VCDisplayCard2-50acd7c8.js → VCDisplayCard2-28f7df8e.js} +725 -694
  98. package/dist/cjs/VCDisplayCard2-28f7df8e.js.map +1 -0
  99. package/dist/cjs/VCThumbnail-f84d0d01.js +148 -0
  100. package/dist/cjs/{VCThumbnail-6bf86bb2.js.map → VCThumbnail-f84d0d01.js.map} +1 -1
  101. package/dist/cjs/VCVerificationCheck-92198135.js +78 -0
  102. package/dist/cjs/{VCVerificationCheck-46fa75d3.js.map → VCVerificationCheck-92198135.js.map} +1 -1
  103. package/dist/cjs/{VCVerificationPill-88723dfa.js → VCVerificationPill-729ac239.js} +11 -26
  104. package/dist/cjs/{VCVerificationPill-88723dfa.js.map → VCVerificationPill-729ac239.js.map} +1 -1
  105. package/dist/cjs/{VerifierStateBadgeAndText-08aea854.js → VerifierStateBadgeAndText-e46d8393.js} +420 -338
  106. package/dist/cjs/{VerifierStateBadgeAndText-08aea854.js.map → VerifierStateBadgeAndText-e46d8393.js.map} +1 -1
  107. package/dist/cjs/{constants-cd049889.js → constants-2430d4bc.js} +22 -30
  108. package/dist/cjs/{constants-cd049889.js.map → constants-2430d4bc.js.map} +1 -1
  109. package/dist/cjs/{credential.helpers-90b66932.js → credential.helpers-4f806327.js} +197 -156
  110. package/dist/cjs/{credential.helpers-90b66932.js.map → credential.helpers-4f806327.js.map} +1 -1
  111. package/dist/cjs/{icons-0404f605.js → icons-857d4be1.js} +2 -1
  112. package/dist/cjs/{icons-0404f605.js.map → icons-857d4be1.js.map} +1 -1
  113. package/dist/cjs/{index-a9e3ddf5.js → index-0cac2c5b.js} +1 -1
  114. package/dist/cjs/{index-a9e3ddf5.js.map → index-0cac2c5b.js.map} +1 -1
  115. package/dist/cjs/{index-08002ab6.js → index-ba659c28.js} +9 -1
  116. package/dist/cjs/{index-08002ab6.js.map → index-ba659c28.js.map} +1 -1
  117. package/dist/cjs/index.js +119 -62
  118. package/dist/cjs/index.js.map +1 -1
  119. package/dist/cjs/index10.js +4 -4
  120. package/dist/cjs/index11.js +1 -1
  121. package/dist/cjs/index12.js +5 -5
  122. package/dist/cjs/index13.js +60 -61
  123. package/dist/cjs/index13.js.map +1 -1
  124. package/dist/cjs/index14.js +2 -2
  125. package/dist/cjs/index15.js +2 -2
  126. package/dist/cjs/index16.js +1 -1
  127. package/dist/cjs/index17.js +1 -1
  128. package/dist/cjs/index18.js +2 -2
  129. package/dist/cjs/index19.js +1 -1
  130. package/dist/cjs/index2.js +6 -6
  131. package/dist/cjs/index20.js +1 -1
  132. package/dist/cjs/index21.js +11 -11
  133. package/dist/cjs/index22.js +1 -1
  134. package/dist/cjs/index23.js +7 -7
  135. package/dist/cjs/index24.js +8 -8
  136. package/dist/cjs/index25.js +1 -1
  137. package/dist/cjs/index26.js +2 -2
  138. package/dist/cjs/index27.js +1 -1
  139. package/dist/cjs/index28.js +2 -2
  140. package/dist/cjs/index29.js +5 -5
  141. package/dist/cjs/index3.js +13 -14
  142. package/dist/cjs/index3.js.map +1 -1
  143. package/dist/cjs/index30.js +1 -1
  144. package/dist/cjs/index31.js +1 -1
  145. package/dist/cjs/index32.js +1 -1
  146. package/dist/cjs/index33.js +4 -4
  147. package/dist/cjs/index34.js +1 -1
  148. package/dist/cjs/index35.js +2 -2
  149. package/dist/cjs/index36.js +9 -9
  150. package/dist/cjs/index37.js +1 -1
  151. package/dist/cjs/index38.js +20 -21
  152. package/dist/cjs/index38.js.map +1 -1
  153. package/dist/cjs/index39.js +10 -10
  154. package/dist/cjs/index4.js +7 -7
  155. package/dist/cjs/index40.js +13 -13
  156. package/dist/cjs/index41.js +15 -16
  157. package/dist/cjs/index41.js.map +1 -1
  158. package/dist/cjs/index42.js +2 -2
  159. package/dist/cjs/index43.js +1 -1
  160. package/dist/cjs/index44.js +2 -2
  161. package/dist/cjs/index45.js +2 -2
  162. package/dist/cjs/index5.js +1 -1
  163. package/dist/cjs/index6.js +11 -12
  164. package/dist/cjs/index6.js.map +1 -1
  165. package/dist/cjs/index7.js +3 -3
  166. package/dist/cjs/index8.js +3 -3
  167. package/dist/cjs/index9.js +1 -1
  168. package/dist/cjs/{types-8eab1382.js → types-91d0677b.js} +24 -23
  169. package/dist/cjs/{types-8eab1382.js.map → types-91d0677b.js.map} +1 -1
  170. package/dist/cjs/types-e4d9a257.js.map +1 -1
  171. package/dist/cjs/types.esm-beffa54c.js +5386 -0
  172. package/dist/cjs/types.esm-beffa54c.js.map +1 -0
  173. package/dist/esm/AchievementCard-e80836dd.js +81 -0
  174. package/dist/esm/{AchievementCard-d179d041.js.map → AchievementCard-e80836dd.js.map} +1 -1
  175. package/dist/esm/BoostGenericCard-b5e522ea.js +174 -0
  176. package/dist/esm/BoostGenericCard-b5e522ea.js.map +1 -0
  177. package/dist/esm/BoostSmallCard-ddefe808.js +157 -0
  178. package/dist/esm/{BoostSmallCard-42980ebc.js.map → BoostSmallCard-ddefe808.js.map} +1 -1
  179. package/dist/esm/Button-70eedbf6.js +16 -0
  180. package/dist/esm/{Button-5f805204.js.map → Button-70eedbf6.js.map} +1 -1
  181. package/dist/esm/CertificateDisplayCard-0ceeb71a.js +879 -0
  182. package/dist/esm/CertificateDisplayCard-0ceeb71a.js.map +1 -0
  183. package/dist/esm/Checkmark-724d5d17.js +73 -0
  184. package/dist/esm/{Checkmark-d8b8f43d.js.map → Checkmark-724d5d17.js.map} +1 -1
  185. package/dist/esm/CircleCheckButton-23a9c7d4.js +26 -0
  186. package/dist/esm/{CircleCheckButton-5a97f071.js.map → CircleCheckButton-23a9c7d4.js.map} +1 -1
  187. package/dist/esm/{CircleIcon-4200733b.js → CircleIcon-abd5ff06.js} +14 -30
  188. package/dist/esm/{CircleIcon-4200733b.js.map → CircleIcon-abd5ff06.js.map} +1 -1
  189. package/dist/esm/{CircleSpinner-9b8b1a6b.js → CircleSpinner-03a329fc.js} +2 -13
  190. package/dist/esm/{CircleSpinner-9b8b1a6b.js.map → CircleSpinner-03a329fc.js.map} +1 -1
  191. package/dist/esm/Coins-e9f35519.js +14 -0
  192. package/dist/esm/{Coins-ed119ec6.js.map → Coins-e9f35519.js.map} +1 -1
  193. package/dist/esm/CourseCard-990fdc99.js +78 -0
  194. package/dist/esm/{CourseCard-663ff174.js.map → CourseCard-990fdc99.js.map} +1 -1
  195. package/dist/esm/CourseVerticalCard-aae0c030.js +106 -0
  196. package/dist/esm/{CourseVerticalCard-130b0d91.js.map → CourseVerticalCard-aae0c030.js.map} +1 -1
  197. package/dist/esm/FlippyCard-458dc9b1.js +15 -0
  198. package/dist/esm/{FlippyCard-a2de5cf1.js.map → FlippyCard-458dc9b1.js.map} +1 -1
  199. package/dist/esm/GenericArrow-b2822cf6.js +28 -0
  200. package/dist/esm/{GenericArrow-0dba1707.js.map → GenericArrow-b2822cf6.js.map} +1 -1
  201. package/dist/esm/GenericCard-24648e62.js +60 -0
  202. package/dist/esm/{GenericCard-4bb4220a.js.map → GenericCard-24648e62.js.map} +1 -1
  203. package/dist/esm/IDDisplayIcon-d87174fd.js +224 -0
  204. package/dist/esm/{IDDisplayIcon-82a851e7.js.map → IDDisplayIcon-d87174fd.js.map} +1 -1
  205. package/dist/esm/JobHistoryCard-e71ab2c7.js +29 -0
  206. package/dist/esm/{JobHistoryCard-80d4ef27.js.map → JobHistoryCard-e71ab2c7.js.map} +1 -1
  207. package/dist/esm/JobListCard-e8b4ab33.js +117 -0
  208. package/dist/esm/{JobListCard-0d1c4184.js.map → JobListCard-e8b4ab33.js.map} +1 -1
  209. package/dist/esm/LearnCardCreditCardBackFace-56642837.js +76 -0
  210. package/dist/esm/{LearnCardCreditCardBackFace-9baa9e6b.js.map → LearnCardCreditCardBackFace-56642837.js.map} +1 -1
  211. package/dist/esm/LearnCardCreditCardFrontFace-b7c917f5.js +81 -0
  212. package/dist/esm/{LearnCardCreditCardFrontFace-d50efb25.js.map → LearnCardCreditCardFrontFace-b7c917f5.js.map} +1 -1
  213. package/dist/esm/{LearnPill-74bcb08c.js → LearnPill-e0720485.js} +10 -10
  214. package/dist/esm/{LearnPill-74bcb08c.js.map → LearnPill-e0720485.js.map} +1 -1
  215. package/dist/esm/{Lightbox-2ae83d79.js → Lightbox-f0338a0c.js} +70 -58
  216. package/dist/esm/{Lightbox-2ae83d79.js.map → Lightbox-f0338a0c.js.map} +1 -1
  217. package/dist/esm/Lightbulb-7e24711e.js +35 -0
  218. package/dist/esm/{Lightbulb-b6eca510.js.map → Lightbulb-7e24711e.js.map} +1 -1
  219. package/dist/esm/MeritBadgeDisplayCard-4b8fe8e4.js +937 -0
  220. package/dist/esm/MeritBadgeDisplayCard-4b8fe8e4.js.map +1 -0
  221. package/dist/esm/MeritBadgeSkillsCount-cd2f3f6d.js +30 -0
  222. package/dist/esm/{MeritBadgeSkillsCount-d2408dfe.js.map → MeritBadgeSkillsCount-cd2f3f6d.js.map} +1 -1
  223. package/dist/esm/MiniVCThumbnail-cc05e1f8.js +78 -0
  224. package/dist/esm/{MiniVCThumbnail-6a07e810.js.map → MiniVCThumbnail-cc05e1f8.js.map} +1 -1
  225. package/dist/esm/Notification-279ba207.js +117 -0
  226. package/dist/esm/{Notification-95d159d2.js.map → Notification-279ba207.js.map} +1 -1
  227. package/dist/esm/NotificationBoostCard-cf11d747.js +134 -0
  228. package/dist/esm/{NotificationBoostCard-42596c2c.js.map → NotificationBoostCard-cf11d747.js.map} +1 -1
  229. package/dist/esm/NotificationUserAcceptedBoostCard-a1269382.js +90 -0
  230. package/dist/esm/{NotificationUserAcceptedBoostCard-8c13bd3f.js.map → NotificationUserAcceptedBoostCard-a1269382.js.map} +1 -1
  231. package/dist/esm/NotificationUserCard-c109c442.js +113 -0
  232. package/dist/esm/{NotificationUserCard-dbcc80f9.js.map → NotificationUserCard-c109c442.js.map} +1 -1
  233. package/dist/esm/PuzzlePiece-a3d9cc62.js +91 -0
  234. package/dist/esm/PuzzlePiece-a3d9cc62.js.map +1 -0
  235. package/dist/esm/QRCodeCard-8f29c3c7.js +43 -0
  236. package/dist/esm/{QRCodeCard-aa2b9967.js.map → QRCodeCard-8f29c3c7.js.map} +1 -1
  237. package/dist/esm/QRCodeIcon-8eef4f7c.js +129 -0
  238. package/dist/esm/{QRCodeIcon-e9569804.js.map → QRCodeIcon-8eef4f7c.js.map} +1 -1
  239. package/dist/esm/RoundedPill-50279e5d.js +127 -0
  240. package/dist/esm/{RoundedPill-6a6e8aaf.js.map → RoundedPill-50279e5d.js.map} +1 -1
  241. package/dist/esm/{SchoolIDCard-752092fb.js → SchoolIDCard-8b151cd3.js} +661 -380
  242. package/dist/esm/SchoolIDCard-8b151cd3.js.map +1 -0
  243. package/dist/esm/SkillTabCard-f2edb3fc.js +38 -0
  244. package/dist/esm/{SkillTabCard-cfe117a2.js.map → SkillTabCard-f2edb3fc.js.map} +1 -1
  245. package/dist/esm/SkillVerticalCard-045169f9.js +30 -0
  246. package/dist/esm/{SkillVerticalCard-108f49bb.js.map → SkillVerticalCard-045169f9.js.map} +1 -1
  247. package/dist/esm/SkillsCard-5279aac9.js +50 -0
  248. package/dist/esm/{SkillsCard-92a51db2.js.map → SkillsCard-5279aac9.js.map} +1 -1
  249. package/dist/esm/SkillsStatsCard-e0cd6137.js +50 -0
  250. package/dist/esm/{SkillsStatsCard-1628fe9c.js.map → SkillsStatsCard-e0cd6137.js.map} +1 -1
  251. package/dist/esm/SmallAchievementCard-24dfa453.js +47 -0
  252. package/dist/esm/{SmallAchievementCard-d0220751.js.map → SmallAchievementCard-24dfa453.js.map} +1 -1
  253. package/dist/esm/ThreeDotVertical-ccbbc8ef.js +51 -0
  254. package/dist/esm/{ThreeDotVertical-08294477.js.map → ThreeDotVertical-ccbbc8ef.js.map} +1 -1
  255. package/dist/esm/Trophy-fc7fdec4.js +29 -0
  256. package/dist/esm/{Trophy-ad67f46a.js.map → Trophy-fc7fdec4.js.map} +1 -1
  257. package/dist/esm/User-f5ea0f01.js +122 -0
  258. package/dist/esm/{User-161c7f37.js.map → User-f5ea0f01.js.map} +1 -1
  259. package/dist/esm/{UserProfilePicture-ecc82a6c.js → UserProfilePicture-7b950437.js} +18 -12
  260. package/dist/esm/{UserProfilePicture-ecc82a6c.js.map → UserProfilePicture-7b950437.js.map} +1 -1
  261. package/dist/esm/{VCCard-afbea3f5.js → VCCard-04ecb3db.js} +29 -22
  262. package/dist/esm/{VCCard-afbea3f5.js.map → VCCard-04ecb3db.js.map} +1 -1
  263. package/dist/esm/VCDisplayBackFace-1760601a.js +63 -0
  264. package/dist/esm/{VCDisplayBackFace-f08563e9.js.map → VCDisplayBackFace-1760601a.js.map} +1 -1
  265. package/dist/esm/VCDisplayCard-3d67e2bc.js +184 -0
  266. package/dist/esm/{VCDisplayCard-7fc1dd02.js.map → VCDisplayCard-3d67e2bc.js.map} +1 -1
  267. package/dist/esm/{VCDisplayCard2-415128f5.js → VCDisplayCard2-fb8abe89.js} +725 -694
  268. package/dist/esm/VCDisplayCard2-fb8abe89.js.map +1 -0
  269. package/dist/esm/VCThumbnail-835921dd.js +140 -0
  270. package/dist/esm/{VCThumbnail-3c254bda.js.map → VCThumbnail-835921dd.js.map} +1 -1
  271. package/dist/esm/VCVerificationCheck-8b8b7a76.js +69 -0
  272. package/dist/esm/{VCVerificationCheck-80249524.js.map → VCVerificationCheck-8b8b7a76.js.map} +1 -1
  273. package/dist/esm/VCVerificationPill-77596013.js +50 -0
  274. package/dist/esm/{VCVerificationPill-2ef031c2.js.map → VCVerificationPill-77596013.js.map} +1 -1
  275. package/dist/esm/{VerifierStateBadgeAndText-151db666.js → VerifierStateBadgeAndText-490c08dc.js} +420 -338
  276. package/dist/esm/{VerifierStateBadgeAndText-151db666.js.map → VerifierStateBadgeAndText-490c08dc.js.map} +1 -1
  277. package/dist/esm/{constants-20055f35.js → constants-f1ed610c.js} +22 -30
  278. package/dist/esm/{constants-20055f35.js.map → constants-f1ed610c.js.map} +1 -1
  279. package/dist/esm/{credential.helpers-5731a09d.js → credential.helpers-1b1ff55e.js} +197 -156
  280. package/dist/esm/{credential.helpers-5731a09d.js.map → credential.helpers-1b1ff55e.js.map} +1 -1
  281. package/dist/esm/{icons-03afd795.js → icons-fdd35170.js} +2 -1
  282. package/dist/esm/{icons-03afd795.js.map → icons-fdd35170.js.map} +1 -1
  283. package/dist/esm/{index-b102febc.js → index-cbe3a76a.js} +9 -1
  284. package/dist/esm/{index-b102febc.js.map → index-cbe3a76a.js.map} +1 -1
  285. package/dist/esm/{index-1fa04a2d.js → index-eae3ca64.js} +1 -1
  286. package/dist/esm/{index-1fa04a2d.js.map → index-eae3ca64.js.map} +1 -1
  287. package/dist/esm/index.js +116 -61
  288. package/dist/esm/index.js.map +1 -1
  289. package/dist/esm/index10.js +4 -4
  290. package/dist/esm/index11.js +1 -1
  291. package/dist/esm/index12.js +5 -5
  292. package/dist/esm/index13.js +59 -60
  293. package/dist/esm/index13.js.map +1 -1
  294. package/dist/esm/index14.js +2 -2
  295. package/dist/esm/index15.js +2 -2
  296. package/dist/esm/index16.js +1 -1
  297. package/dist/esm/index17.js +1 -1
  298. package/dist/esm/index18.js +2 -2
  299. package/dist/esm/index19.js +1 -1
  300. package/dist/esm/index2.js +6 -6
  301. package/dist/esm/index20.js +1 -1
  302. package/dist/esm/index21.js +11 -11
  303. package/dist/esm/index22.js +1 -1
  304. package/dist/esm/index23.js +7 -7
  305. package/dist/esm/index24.js +8 -8
  306. package/dist/esm/index25.js +1 -1
  307. package/dist/esm/index26.js +2 -2
  308. package/dist/esm/index27.js +1 -1
  309. package/dist/esm/index28.js +2 -2
  310. package/dist/esm/index29.js +5 -5
  311. package/dist/esm/index3.js +13 -14
  312. package/dist/esm/index3.js.map +1 -1
  313. package/dist/esm/index30.js +1 -1
  314. package/dist/esm/index31.js +1 -1
  315. package/dist/esm/index32.js +1 -1
  316. package/dist/esm/index33.js +4 -4
  317. package/dist/esm/index34.js +1 -1
  318. package/dist/esm/index35.js +2 -2
  319. package/dist/esm/index36.js +9 -9
  320. package/dist/esm/index37.js +1 -1
  321. package/dist/esm/index38.js +20 -21
  322. package/dist/esm/index38.js.map +1 -1
  323. package/dist/esm/index39.js +10 -10
  324. package/dist/esm/index4.js +7 -7
  325. package/dist/esm/index40.js +13 -13
  326. package/dist/esm/index41.js +15 -16
  327. package/dist/esm/index41.js.map +1 -1
  328. package/dist/esm/index42.js +2 -2
  329. package/dist/esm/index43.js +1 -1
  330. package/dist/esm/index44.js +2 -2
  331. package/dist/esm/index45.js +2 -2
  332. package/dist/esm/index5.js +1 -1
  333. package/dist/esm/index6.js +10 -11
  334. package/dist/esm/index6.js.map +1 -1
  335. package/dist/esm/index7.js +3 -3
  336. package/dist/esm/index8.js +3 -3
  337. package/dist/esm/index9.js +1 -1
  338. package/dist/esm/types-b32d28d5.js.map +1 -1
  339. package/dist/esm/{types-cfde3c2b.js → types-c765e2a4.js} +24 -23
  340. package/dist/esm/{types-cfde3c2b.js.map → types-c765e2a4.js.map} +1 -1
  341. package/dist/esm/types.esm-8798df50.js +5384 -0
  342. package/dist/esm/types.esm-8798df50.js.map +1 -0
  343. package/dist/index.d.ts +16 -2
  344. package/dist/main.css +1 -1
  345. package/dist/main.js +1 -1
  346. package/package.json +12 -5
  347. package/dist/cjs/AchievementCard-dd332f3f.js +0 -67
  348. package/dist/cjs/BoostGenericCard-dd01e934.js +0 -126
  349. package/dist/cjs/BoostGenericCard-dd01e934.js.map +0 -1
  350. package/dist/cjs/BoostSmallCard-dd1cbd51.js +0 -164
  351. package/dist/cjs/CertDisplayCardSkillsCount-8cc13d5b.js +0 -45
  352. package/dist/cjs/CertDisplayCardSkillsCount-8cc13d5b.js.map +0 -1
  353. package/dist/cjs/CertificateDisplayCard-e228ff3d.js +0 -830
  354. package/dist/cjs/CertificateDisplayCard-e228ff3d.js.map +0 -1
  355. package/dist/cjs/Checkmark-f611aa4d.js +0 -58
  356. package/dist/cjs/Coins-acd63f46.js +0 -22
  357. package/dist/cjs/CourseCard-338a32ee.js +0 -92
  358. package/dist/cjs/CourseVerticalCard-841960b1.js +0 -98
  359. package/dist/cjs/GenericArrow-8dfb261d.js +0 -27
  360. package/dist/cjs/GenericCard-ad18c4c3.js +0 -60
  361. package/dist/cjs/IDDisplayIcon-62993df0.js +0 -226
  362. package/dist/cjs/JobHistoryCard-05a3f98b.js +0 -43
  363. package/dist/cjs/JobListCard-f74f0302.js +0 -127
  364. package/dist/cjs/LearnCardCreditCardBackFace-87cc8b9f.js +0 -72
  365. package/dist/cjs/LearnCardCreditCardFrontFace-39eeb89a.js +0 -78
  366. package/dist/cjs/Lightbulb-19c89d3c.js +0 -37
  367. package/dist/cjs/MeritBadgeDisplayCard-5cbc63e8.js +0 -910
  368. package/dist/cjs/MeritBadgeDisplayCard-5cbc63e8.js.map +0 -1
  369. package/dist/cjs/MeritBadgeSkillsCount-54879719.js +0 -40
  370. package/dist/cjs/MiniVCThumbnail-a78e44f2.js +0 -69
  371. package/dist/cjs/Notification-d212fa7b.js +0 -94
  372. package/dist/cjs/NotificationBoostCard-cf2140c0.js +0 -120
  373. package/dist/cjs/NotificationUserAcceptedBoostCard-423b9320.js +0 -74
  374. package/dist/cjs/NotificationUserCard-d4dab06c.js +0 -94
  375. package/dist/cjs/PuzzlePiece-937c216a.js +0 -31
  376. package/dist/cjs/PuzzlePiece-937c216a.js.map +0 -1
  377. package/dist/cjs/QRCodeCard-b56c11cc.js +0 -42
  378. package/dist/cjs/QRCodeIcon-81c6e96b.js +0 -96
  379. package/dist/cjs/RoundedPill-bda7c067.js +0 -106
  380. package/dist/cjs/SchoolIDCard-39a099d2.js.map +0 -1
  381. package/dist/cjs/SkillTabCard-66677f3c.js +0 -42
  382. package/dist/cjs/SkillVerticalCard-3eb3a8e9.js +0 -35
  383. package/dist/cjs/SkillsCard-4b6dbb4f.js +0 -66
  384. package/dist/cjs/SkillsStatsCard-97a35a88.js +0 -77
  385. package/dist/cjs/SmallAchievementCard-a1fa862b.js +0 -43
  386. package/dist/cjs/ThreeDotVertical-1d221fc8.js +0 -42
  387. package/dist/cjs/Trophy-3d323be3.js +0 -28
  388. package/dist/cjs/User-301088ac.js +0 -93
  389. package/dist/cjs/VCDisplayBackFace-4543749f.js +0 -87
  390. package/dist/cjs/VCDisplayCard-353cc9ed.js +0 -180
  391. package/dist/cjs/VCDisplayCard2-50acd7c8.js.map +0 -1
  392. package/dist/cjs/VCThumbnail-6bf86bb2.js +0 -143
  393. package/dist/cjs/VCVerificationCheck-46fa75d3.js +0 -81
  394. package/dist/cjs/types.esm-6ce4cc67.js +0 -5675
  395. package/dist/cjs/types.esm-6ce4cc67.js.map +0 -1
  396. package/dist/esm/AchievementCard-d179d041.js +0 -61
  397. package/dist/esm/BoostGenericCard-5b70fa63.js +0 -120
  398. package/dist/esm/BoostGenericCard-5b70fa63.js.map +0 -1
  399. package/dist/esm/BoostSmallCard-42980ebc.js +0 -156
  400. package/dist/esm/Button-5f805204.js +0 -12
  401. package/dist/esm/CertDisplayCardSkillsCount-c5a21373.js +0 -39
  402. package/dist/esm/CertDisplayCardSkillsCount-c5a21373.js.map +0 -1
  403. package/dist/esm/CertificateDisplayCard-d2a0d0e3.js +0 -819
  404. package/dist/esm/CertificateDisplayCard-d2a0d0e3.js.map +0 -1
  405. package/dist/esm/Checkmark-d8b8f43d.js +0 -52
  406. package/dist/esm/CircleCheckButton-5a97f071.js +0 -24
  407. package/dist/esm/Coins-ed119ec6.js +0 -16
  408. package/dist/esm/CourseCard-663ff174.js +0 -82
  409. package/dist/esm/CourseVerticalCard-130b0d91.js +0 -88
  410. package/dist/esm/FlippyCard-a2de5cf1.js +0 -28
  411. package/dist/esm/GenericArrow-0dba1707.js +0 -21
  412. package/dist/esm/GenericCard-4bb4220a.js +0 -54
  413. package/dist/esm/IDDisplayIcon-82a851e7.js +0 -216
  414. package/dist/esm/JobHistoryCard-80d4ef27.js +0 -37
  415. package/dist/esm/JobListCard-0d1c4184.js +0 -120
  416. package/dist/esm/LearnCardCreditCardBackFace-9baa9e6b.js +0 -65
  417. package/dist/esm/LearnCardCreditCardFrontFace-d50efb25.js +0 -70
  418. package/dist/esm/Lightbulb-b6eca510.js +0 -30
  419. package/dist/esm/MeritBadgeDisplayCard-bc462990.js +0 -900
  420. package/dist/esm/MeritBadgeDisplayCard-bc462990.js.map +0 -1
  421. package/dist/esm/MeritBadgeSkillsCount-d2408dfe.js +0 -34
  422. package/dist/esm/MiniVCThumbnail-6a07e810.js +0 -62
  423. package/dist/esm/Notification-95d159d2.js +0 -88
  424. package/dist/esm/NotificationBoostCard-42596c2c.js +0 -112
  425. package/dist/esm/NotificationUserAcceptedBoostCard-8c13bd3f.js +0 -66
  426. package/dist/esm/NotificationUserCard-dbcc80f9.js +0 -86
  427. package/dist/esm/PuzzlePiece-1fb12c2e.js +0 -25
  428. package/dist/esm/PuzzlePiece-1fb12c2e.js.map +0 -1
  429. package/dist/esm/QRCodeCard-aa2b9967.js +0 -36
  430. package/dist/esm/QRCodeIcon-e9569804.js +0 -88
  431. package/dist/esm/RoundedPill-6a6e8aaf.js +0 -99
  432. package/dist/esm/SchoolIDCard-752092fb.js.map +0 -1
  433. package/dist/esm/SkillTabCard-cfe117a2.js +0 -36
  434. package/dist/esm/SkillVerticalCard-108f49bb.js +0 -28
  435. package/dist/esm/SkillsCard-92a51db2.js +0 -59
  436. package/dist/esm/SkillsStatsCard-1628fe9c.js +0 -70
  437. package/dist/esm/SmallAchievementCard-d0220751.js +0 -37
  438. package/dist/esm/ThreeDotVertical-08294477.js +0 -36
  439. package/dist/esm/Trophy-ad67f46a.js +0 -22
  440. package/dist/esm/User-161c7f37.js +0 -85
  441. package/dist/esm/VCDisplayBackFace-f08563e9.js +0 -80
  442. package/dist/esm/VCDisplayCard-7fc1dd02.js +0 -173
  443. package/dist/esm/VCDisplayCard2-415128f5.js.map +0 -1
  444. package/dist/esm/VCThumbnail-3c254bda.js +0 -135
  445. package/dist/esm/VCVerificationCheck-80249524.js +0 -72
  446. package/dist/esm/VCVerificationPill-2ef031c2.js +0 -65
  447. package/dist/esm/types.esm-00eeb9f6.js +0 -5673
  448. package/dist/esm/types.esm-00eeb9f6.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"LearnCardCreditCardFrontFace-d50efb25.js","sources":["../../src/components/LearnCardCreditCardFrontFace/LearnCardCreditCardFrontFace.tsx"],"sourcesContent":["import React from 'react';\nimport { QRCodeSVG } from 'qrcode.react';\n\nimport { LearnCardCreditCardFrontFaceProps } from './types';\n\nimport CardChip from '../../assets/images/card-chip.svg';\nimport MasterCardLogo from '../../assets/images/master-card-logo.svg';\n\nexport const LearnCardCreditCardFrontFace: React.FC<LearnCardCreditCardFrontFaceProps> = ({\n userImage,\n userImageComponent = null,\n qrCodeValue,\n className,\n showActionButton = false,\n actionButtonText = 'Open Card',\n onClick = () => {},\n children,\n}) => {\n let userImageEl: React.ReactNode | null = null;\n\n if (userImage) {\n userImageEl = (\n <div className=\"inline-block relative overflow-hidden rounded-full shadow-3xl h-0 bg-white w-1/2 pb-[50%] mt-2 ml-4\">\n <img\n className=\"w-full h-full absolute rounded-full object-cover border-solid border-2 border-white\"\n src={userImage}\n alt=\"user image\"\n data-testid=\"credit-card-frontface-userImg\"\n />\n </div>\n );\n } else if (!userImage && userImageComponent) {\n userImageEl = userImageComponent;\n }\n\n return (\n <div\n className={`flex justify-center items-center max-w-[375px] rounded-[20px] ${className}`}\n >\n <div\n className={`flex flex-row justify-center items-start pt-9 w-full min-h-[220px] rounded-[20px] shadow-3xl relative overflow-hidden credit-card-front-face`}\n >\n <div className=\"absolute top-[-40px] left-0 w-[55%] h-[140%] rounded-tr-[150px] rounded-br-[150px] bg-grayscale-900 credit-card-bubble\" />\n {showActionButton && (\n <button\n className=\"absolute top-2 right-4 bg-grayscale-500 border-[2px] rounded-3xl border-solid border-color-grayscale-900 min-w-[110px] p-[2px] font-bold text-xs tracking-wide leading-snug text-center text-white\"\n onClick={onClick}\n data-testid=\"credit-card-frontface-button\"\n >\n {actionButtonText}\n </button>\n )}\n <div className=\"flex flex-row justify-between items-start w-full h-full relative\">\n <div className=\"flex flex-1 flex-col\">\n <div className=\"pl-8\">\n <p className=\"w-full text-xs text-white font-bold tracking-[7px] mb-2 credit-card-front-face-title\">\n LEARNCARD\n </p>\n <img\n src={CardChip ?? ''}\n alt=\"card chip\"\n className=\"h-[30px] w-[42px]\"\n />\n </div>\n\n {userImageEl}\n </div>\n\n {qrCodeValue && (\n <div className=\"flex flex-1 justify-center items-center relative pl-10 credit-card-qr-code-container\">\n <div className=\"h-auto relative qr-code-container\">\n {/* <div className=\"qr-code-upper-left-yellow\" />\n <div className=\"qr-code-upper-right-pink-square\" />\n <div className=\"qr-code-bottom-left-purple-square\" />\n <div className=\"qr-code-green-blob\" />\n <div className=\"qr-code-green-blob-2\" />\n <div className=\"qr-code-blue-blob\" />\n <div className=\"qr-code-orange-blob\" /> */}\n <QRCodeSVG\n className=\"h-full w-full\"\n value={qrCodeValue}\n data-testid=\"credit-card-qr-code\"\n bgColor=\"transparent\"\n // fgColor=\"#999999\"\n />\n </div>\n </div>\n )}\n\n <img\n src={MasterCardLogo ?? ''}\n alt=\"mastercard icon\"\n className=\"absolute bottom-[-8px] right-4 learn-card-mastercard-logo\"\n />\n </div>\n </div>\n {children}\n </div>\n );\n};\n\nexport default LearnCardCreditCardFrontFace;\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LearnCardCreditCardFrontFace-b7c917f5.js","sources":["../../src/components/LearnCardCreditCardFrontFace/LearnCardCreditCardFrontFace.tsx"],"sourcesContent":["import React from 'react';\nimport { QRCodeSVG } from 'qrcode.react';\n\nimport { LearnCardCreditCardFrontFaceProps } from './types';\n\nimport CardChip from '../../assets/images/card-chip.svg';\nimport MasterCardLogo from '../../assets/images/master-card-logo.svg';\n\nexport const LearnCardCreditCardFrontFace: React.FC<LearnCardCreditCardFrontFaceProps> = ({\n userImage,\n userImageComponent = null,\n qrCodeValue,\n className,\n showActionButton = false,\n actionButtonText = 'Open Card',\n onClick = () => {},\n children,\n}) => {\n let userImageEl: React.ReactNode | null = null;\n\n if (userImage) {\n userImageEl = (\n <div className=\"inline-block relative overflow-hidden rounded-full shadow-3xl h-0 bg-white w-1/2 pb-[50%] mt-2 ml-4\">\n <img\n className=\"w-full h-full absolute rounded-full object-cover border-solid border-2 border-white\"\n src={userImage}\n alt=\"user image\"\n data-testid=\"credit-card-frontface-userImg\"\n />\n </div>\n );\n } else if (!userImage && userImageComponent) {\n userImageEl = userImageComponent;\n }\n\n return (\n <div\n className={`flex justify-center items-center max-w-[375px] rounded-[20px] ${className}`}\n >\n <div\n className={`flex flex-row justify-center items-start pt-9 w-full min-h-[220px] rounded-[20px] shadow-3xl relative overflow-hidden credit-card-front-face`}\n >\n <div className=\"absolute top-[-40px] left-0 w-[55%] h-[140%] rounded-tr-[150px] rounded-br-[150px] bg-grayscale-900 credit-card-bubble\" />\n {showActionButton && (\n <button\n className=\"absolute top-2 right-4 bg-grayscale-500 border-[2px] rounded-3xl border-solid border-color-grayscale-900 min-w-[110px] p-[2px] font-bold text-xs tracking-wide leading-snug text-center text-white\"\n onClick={onClick}\n data-testid=\"credit-card-frontface-button\"\n >\n {actionButtonText}\n </button>\n )}\n <div className=\"flex flex-row justify-between items-start w-full h-full relative\">\n <div className=\"flex flex-1 flex-col\">\n <div className=\"pl-8\">\n <p className=\"w-full text-xs text-white font-bold tracking-[7px] mb-2 credit-card-front-face-title\">\n LEARNCARD\n </p>\n <img\n src={CardChip ?? ''}\n alt=\"card chip\"\n className=\"h-[30px] w-[42px]\"\n />\n </div>\n\n {userImageEl}\n </div>\n\n {qrCodeValue && (\n <div className=\"flex flex-1 justify-center items-center relative pl-10 credit-card-qr-code-container\">\n <div className=\"h-auto relative qr-code-container\">\n {/* <div className=\"qr-code-upper-left-yellow\" />\n <div className=\"qr-code-upper-right-pink-square\" />\n <div className=\"qr-code-bottom-left-purple-square\" />\n <div className=\"qr-code-green-blob\" />\n <div className=\"qr-code-green-blob-2\" />\n <div className=\"qr-code-blue-blob\" />\n <div className=\"qr-code-orange-blob\" /> */}\n <QRCodeSVG\n className=\"h-full w-full\"\n value={qrCodeValue}\n data-testid=\"credit-card-qr-code\"\n bgColor=\"transparent\"\n // fgColor=\"#999999\"\n />\n </div>\n </div>\n )}\n\n <img\n src={MasterCardLogo ?? ''}\n alt=\"mastercard icon\"\n className=\"absolute bottom-[-8px] right-4 learn-card-mastercard-logo\"\n />\n </div>\n </div>\n {children}\n </div>\n );\n};\n\nexport default LearnCardCreditCardFrontFace;\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { L as LCSubtypes } from './index-28917993.js';
3
- import { T as TYPE_TO_MINI_ICON } from './index-b102febc.js';
3
+ import { T as TYPE_TO_MINI_ICON } from './index-cbe3a76a.js';
4
4
 
5
5
  const TYPE_TO_COLOR = {
6
6
  [LCSubtypes.course]: "bg-emerald-50",
@@ -20,15 +20,15 @@ const LearnPill = ({
20
20
  const imgSrc = TYPE_TO_MINI_ICON[type];
21
21
  const bgColor = TYPE_TO_COLOR[type];
22
22
  const textColor = TYPE_TO_TEXT_COLOR[type];
23
- return /* @__PURE__ */ React.createElement("div", {
24
- className: `course-card-stat-bubble px-[10px] rounded-[30px] flex ${bgColor} min-w-[48px] max-w-[100px] h-[30px] items-center ${className}`
25
- }, /* @__PURE__ */ React.createElement("img", {
26
- src: imgSrc,
27
- className: "mr-[5px]"
28
- }), /* @__PURE__ */ React.createElement("span", {
29
- className: `flex items-center text-sm ${textColor} font-bold`
30
- }, count));
23
+ return /* @__PURE__ */ React.createElement(
24
+ "div",
25
+ {
26
+ className: `course-card-stat-bubble px-[10px] rounded-[30px] flex ${bgColor} min-w-[48px] max-w-[100px] h-[30px] items-center ${className}`
27
+ },
28
+ /* @__PURE__ */ React.createElement("img", { src: imgSrc, className: "mr-[5px]" }),
29
+ /* @__PURE__ */ React.createElement("span", { className: `flex items-center text-sm ${textColor} font-bold` }, count)
30
+ );
31
31
  };
32
32
 
33
33
  export { LearnPill as L };
34
- //# sourceMappingURL=LearnPill-74bcb08c.js.map
34
+ //# sourceMappingURL=LearnPill-e0720485.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LearnPill-74bcb08c.js","sources":["../../src/components/LearnPill/LearnPill.tsx"],"sourcesContent":["import React from 'react';\nimport { LearnPillProps, LCSubtypes } from '../../types';\nimport { TYPE_TO_MINI_ICON } from '../../constants/';\n\nconst TYPE_TO_COLOR: any = {\n [LCSubtypes.course]: 'bg-emerald-50',\n [LCSubtypes.achievement]: 'bg-spice-50',\n [LCSubtypes.skill]: 'bg-indigo-50',\n};\n\nconst TYPE_TO_TEXT_COLOR: any = {\n [LCSubtypes.course]: 'text-emerald-700',\n [LCSubtypes.achievement]: 'text-spice-500',\n [LCSubtypes.skill]: 'text-indigo-600',\n};\n\nexport const LearnPill: React.FC<LearnPillProps> = ({\n count = 0,\n type = LCSubtypes.course,\n className,\n}) => {\n const imgSrc = TYPE_TO_MINI_ICON[type];\n const bgColor = TYPE_TO_COLOR[type];\n const textColor = TYPE_TO_TEXT_COLOR[type];\n return (\n <div\n className={`course-card-stat-bubble px-[10px] rounded-[30px] flex ${bgColor} min-w-[48px] max-w-[100px] h-[30px] items-center ${className}`}\n >\n <img src={imgSrc} className=\"mr-[5px]\" />\n <span className={`flex items-center text-sm ${textColor} font-bold`}>{count}</span>\n </div>\n );\n};\n\nexport default LearnPill;\n"],"names":[],"mappings":";;;;AAIA,MAAM,aAAqB,GAAA;AAAA,EACvB,CAAC,WAAW,MAAS,GAAA,eAAA;AAAA,EACrB,CAAC,WAAW,WAAc,GAAA,aAAA;AAAA,EAC1B,CAAC,WAAW,KAAQ,GAAA,cAAA;AACxB,CAAA,CAAA;AAEA,MAAM,kBAA0B,GAAA;AAAA,EAC5B,CAAC,WAAW,MAAS,GAAA,kBAAA;AAAA,EACrB,CAAC,WAAW,WAAc,GAAA,gBAAA;AAAA,EAC1B,CAAC,WAAW,KAAQ,GAAA,iBAAA;AACxB,CAAA,CAAA;AAEO,MAAM,YAAsC,CAAC;AAAA,EAChD,KAAQ,GAAA,CAAA;AAAA,EACR,OAAO,UAAW,CAAA,MAAA;AAAA,EAClB,SAAA;AACJ,CAAM,KAAA;AACF,EAAA,MAAM,SAAS,iBAAkB,CAAA,IAAA,CAAA,CAAA;AACjC,EAAA,MAAM,UAAU,aAAc,CAAA,IAAA,CAAA,CAAA;AAC9B,EAAA,MAAM,YAAY,kBAAmB,CAAA,IAAA,CAAA,CAAA;AACrC,EAAA,uBACK,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAA,IACG,SAAA,EAAW,yDAAyD,OAA4D,CAAA,kDAAA,EAAA,SAAA,CAAA,CAAA;AAAA,GAAA,kBAE/H,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAA,IAAI,GAAK,EAAA,MAAA;AAAA,IAAQ,SAAU,EAAA,UAAA;AAAA,GAAW,mBACtC,KAAA,CAAA,aAAA,CAAA,MAAA,EAAA;AAAA,IAAK,WAAW,CAA6B,0BAAA,EAAA,SAAA,CAAA,UAAA,CAAA;AAAA,GAAA,EAAwB,KAAM,CAChF,CAAA,CAAA;AAER;;;;"}
1
+ {"version":3,"file":"LearnPill-e0720485.js","sources":["../../src/components/LearnPill/LearnPill.tsx"],"sourcesContent":["import React from 'react';\nimport { LearnPillProps, LCSubtypes } from '../../types';\nimport { TYPE_TO_MINI_ICON } from '../../constants/';\n\nconst TYPE_TO_COLOR: any = {\n [LCSubtypes.course]: 'bg-emerald-50',\n [LCSubtypes.achievement]: 'bg-spice-50',\n [LCSubtypes.skill]: 'bg-indigo-50',\n};\n\nconst TYPE_TO_TEXT_COLOR: any = {\n [LCSubtypes.course]: 'text-emerald-700',\n [LCSubtypes.achievement]: 'text-spice-500',\n [LCSubtypes.skill]: 'text-indigo-600',\n};\n\nexport const LearnPill: React.FC<LearnPillProps> = ({\n count = 0,\n type = LCSubtypes.course,\n className,\n}) => {\n const imgSrc = TYPE_TO_MINI_ICON[type];\n const bgColor = TYPE_TO_COLOR[type];\n const textColor = TYPE_TO_TEXT_COLOR[type];\n return (\n <div\n className={`course-card-stat-bubble px-[10px] rounded-[30px] flex ${bgColor} min-w-[48px] max-w-[100px] h-[30px] items-center ${className}`}\n >\n <img src={imgSrc} className=\"mr-[5px]\" />\n <span className={`flex items-center text-sm ${textColor} font-bold`}>{count}</span>\n </div>\n );\n};\n\nexport default LearnPill;\n"],"names":[],"mappings":";;;;AAIA,MAAM,aAAqB,GAAA;AAAA,EACvB,CAAC,UAAW,CAAA,MAAM,GAAG,eAAA;AAAA,EACrB,CAAC,UAAW,CAAA,WAAW,GAAG,aAAA;AAAA,EAC1B,CAAC,UAAW,CAAA,KAAK,GAAG,cAAA;AACxB,CAAA,CAAA;AAEA,MAAM,kBAA0B,GAAA;AAAA,EAC5B,CAAC,UAAW,CAAA,MAAM,GAAG,kBAAA;AAAA,EACrB,CAAC,UAAW,CAAA,WAAW,GAAG,gBAAA;AAAA,EAC1B,CAAC,UAAW,CAAA,KAAK,GAAG,iBAAA;AACxB,CAAA,CAAA;AAEO,MAAM,YAAsC,CAAC;AAAA,EAChD,KAAQ,GAAA,CAAA;AAAA,EACR,OAAO,UAAW,CAAA,MAAA;AAAA,EAClB,SAAA;AACJ,CAAM,KAAA;AACF,EAAM,MAAA,MAAA,GAAS,kBAAkB,IAAI,CAAA,CAAA;AACrC,EAAM,MAAA,OAAA,GAAU,cAAc,IAAI,CAAA,CAAA;AAClC,EAAM,MAAA,SAAA,GAAY,mBAAmB,IAAI,CAAA,CAAA;AACzC,EACI,uBAAA,KAAA,CAAA,aAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACG,SAAW,EAAA,CAAA,sDAAA,EAAyD,OAAO,CAAA,kDAAA,EAAqD,SAAS,CAAA,CAAA;AAAA,KAAA;AAAA,oBAExI,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAI,GAAK,EAAA,MAAA,EAAQ,WAAU,UAAW,EAAA,CAAA;AAAA,wCACtC,MAAK,EAAA,EAAA,SAAA,EAAW,CAA6B,0BAAA,EAAA,SAAS,gBAAe,KAAM,CAAA;AAAA,GAChF,CAAA;AAER;;;;"}
@@ -2,25 +2,36 @@ import React, { useRef, useState, useCallback, useEffect } from 'react';
2
2
  import { createPortal } from 'react-dom';
3
3
 
4
4
  const X = ({ className = "", strokeWidth = "2" }) => {
5
- return /* @__PURE__ */ React.createElement("svg", {
6
- viewBox: "0 0 32 32",
7
- fill: "none",
8
- xmlns: "http://www.w3.org/2000/svg",
9
- className,
10
- "aria-label": "X"
11
- }, /* @__PURE__ */ React.createElement("path", {
12
- d: "M25 7L7 25",
13
- stroke: "currentColor",
14
- strokeWidth,
15
- strokeLinecap: "round",
16
- strokeLinejoin: "round"
17
- }), /* @__PURE__ */ React.createElement("path", {
18
- d: "M25 25L7 7",
19
- stroke: "currentColor",
20
- strokeWidth,
21
- strokeLinecap: "round",
22
- strokeLinejoin: "round"
23
- }));
5
+ return /* @__PURE__ */ React.createElement(
6
+ "svg",
7
+ {
8
+ viewBox: "0 0 32 32",
9
+ fill: "none",
10
+ xmlns: "http://www.w3.org/2000/svg",
11
+ className,
12
+ "aria-label": "X"
13
+ },
14
+ /* @__PURE__ */ React.createElement(
15
+ "path",
16
+ {
17
+ d: "M25 7L7 25",
18
+ stroke: "currentColor",
19
+ strokeWidth,
20
+ strokeLinecap: "round",
21
+ strokeLinejoin: "round"
22
+ }
23
+ ),
24
+ /* @__PURE__ */ React.createElement(
25
+ "path",
26
+ {
27
+ d: "M25 25L7 7",
28
+ stroke: "currentColor",
29
+ strokeWidth,
30
+ strokeLinecap: "round",
31
+ strokeLinejoin: "round"
32
+ }
33
+ )
34
+ );
24
35
  };
25
36
 
26
37
  var __async$1 = (__this, __arguments, generator) => {
@@ -43,7 +54,7 @@ var __async$1 = (__this, __arguments, generator) => {
43
54
  step((generator = generator.apply(__this, __arguments)).next());
44
55
  });
45
56
  };
46
- const getVideoMetadata = (url) => __async$1(void 0, null, function* () {
57
+ const getVideoMetadata = (url) => __async$1(null, null, function* () {
47
58
  var _a, _b, _c;
48
59
  try {
49
60
  const parsed = new URL(url);
@@ -59,8 +70,7 @@ const getVideoMetadata = (url) => __async$1(void 0, null, function* () {
59
70
  let thumb = `https://img.youtube.com/vi/${id}/maxresdefault.jpg`;
60
71
  try {
61
72
  const res = yield fetch(thumb, { method: "HEAD" });
62
- if (!res.ok)
63
- thumb = `https://img.youtube.com/vi/${id}/hqdefault.jpg`;
73
+ if (!res.ok) thumb = `https://img.youtube.com/vi/${id}/hqdefault.jpg`;
64
74
  } catch (e) {
65
75
  thumb = `https://img.youtube.com/vi/${id}/hqdefault.jpg`;
66
76
  }
@@ -180,19 +190,16 @@ const Lightbox = ({
180
190
  const goToNextItem = useCallback(() => {
181
191
  const currentIndex = items.findIndex((item) => item.url === currentUrl);
182
192
  const nextItem = items.at((currentIndex + 1) % items.length);
183
- if (nextItem)
184
- setCurrentUrl(nextItem.url);
193
+ if (nextItem) setCurrentUrl(nextItem.url);
185
194
  }, [currentUrl, items, setCurrentUrl]);
186
195
  const goToPreviousItem = useCallback(() => {
187
196
  const currentIndex = items.findIndex((item) => item.url === currentUrl);
188
197
  const previousItem = items.at((currentIndex - 1 + items.length) % items.length);
189
- if (previousItem)
190
- setCurrentUrl(previousItem.url);
198
+ if (previousItem) setCurrentUrl(previousItem.url);
191
199
  }, [currentUrl, items, setCurrentUrl]);
192
200
  useEffect(() => {
193
201
  const keydownListener = (e) => {
194
- if (!currentUrl || !currentItem)
195
- return;
202
+ if (!currentUrl || !currentItem) return;
196
203
  if (e.key === "Escape") {
197
204
  e.preventDefault();
198
205
  setCurrentUrl(void 0);
@@ -210,7 +217,7 @@ const Lightbox = ({
210
217
  return () => window.removeEventListener("keydown", keydownListener);
211
218
  }, [currentUrl, currentItem, goToNextItem, goToPreviousItem, setCurrentUrl]);
212
219
  useEffect(() => {
213
- const fetchMetadata = () => __async(void 0, null, function* () {
220
+ const fetchMetadata = () => __async(null, null, function* () {
214
221
  if ((currentItem == null ? void 0 : currentItem.type) === "video") {
215
222
  const metadata = yield getVideoMetadata(currentItem.url);
216
223
  setVideoMetadata(metadata);
@@ -220,39 +227,44 @@ const Lightbox = ({
220
227
  });
221
228
  fetchMetadata();
222
229
  }, [currentItem]);
223
- if (!currentUrl || !currentItem)
224
- return null;
230
+ if (!currentUrl || !currentItem) return null;
225
231
  return createPortal(
226
- /* @__PURE__ */ React.createElement("div", {
227
- className: "absolute top-0 left-0 w-screen h-screen bg-[rgba(0,0,0,0.9)] text-white flex justify-center items-center z-[999999]",
228
- onClick: (e) => {
229
- if (e.target !== innerRef.current) {
230
- setCurrentUrl(void 0);
232
+ /* @__PURE__ */ React.createElement(
233
+ "div",
234
+ {
235
+ className: "absolute top-0 left-0 w-screen h-screen bg-[rgba(0,0,0,0.9)] text-white flex justify-center items-center z-[999999]",
236
+ onClick: (e) => {
237
+ if (e.target !== innerRef.current) {
238
+ setCurrentUrl(void 0);
239
+ }
231
240
  }
232
- }
233
- }, showCloseButton && /* @__PURE__ */ React.createElement("button", {
234
- onClick: () => setCurrentUrl(void 0)
235
- }, /* @__PURE__ */ React.createElement(X, {
236
- className: "absolute w-[30px] h-[30px] top-[20px] right-[20px] cursor-pointer text-white z-[999999]"
237
- })), currentItem.type === "photo" && /* @__PURE__ */ React.createElement("img", {
238
- className: "cursor-pointer max-w-[90vw] max-h-[90vh]",
239
- src: currentUrl,
240
- onClick: () => enableImageClick && window.open(currentUrl, "_blank"),
241
- ref: innerRef,
242
- alt: ""
243
- }), currentItem.type === "video" && (videoMetadata == null ? void 0 : videoMetadata.embedUrl) && /* @__PURE__ */ React.createElement("div", {
244
- className: "relative w-[90vw] max-w-[800px] aspect-video"
245
- }, /* @__PURE__ */ React.createElement("iframe", {
246
- src: videoMetadata.embedUrl,
247
- className: "absolute top-0 left-0 w-full h-full rounded-md",
248
- title: "Video player",
249
- frameBorder: "0",
250
- allow: "accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",
251
- allowFullScreen: true
252
- }))),
241
+ },
242
+ showCloseButton && /* @__PURE__ */ React.createElement("button", { onClick: () => setCurrentUrl(void 0) }, /* @__PURE__ */ React.createElement(X, { className: "absolute w-[30px] h-[30px] top-[20px] right-[20px] cursor-pointer text-white z-[999999]" })),
243
+ currentItem.type === "photo" && /* @__PURE__ */ React.createElement(
244
+ "img",
245
+ {
246
+ className: "cursor-pointer max-w-[90vw] max-h-[90vh]",
247
+ src: currentUrl,
248
+ onClick: () => enableImageClick && window.open(currentUrl, "_blank"),
249
+ ref: innerRef,
250
+ alt: ""
251
+ }
252
+ ),
253
+ currentItem.type === "video" && (videoMetadata == null ? void 0 : videoMetadata.embedUrl) && /* @__PURE__ */ React.createElement("div", { className: "relative w-[90vw] max-w-[800px] aspect-video" }, /* @__PURE__ */ React.createElement(
254
+ "iframe",
255
+ {
256
+ src: videoMetadata.embedUrl,
257
+ className: "absolute top-0 left-0 w-full h-full rounded-md",
258
+ title: "Video player",
259
+ frameBorder: "0",
260
+ allow: "accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",
261
+ allowFullScreen: true
262
+ }
263
+ ))
264
+ ),
253
265
  document.body
254
266
  );
255
267
  };
256
268
 
257
269
  export { Lightbox as L, X };
258
- //# sourceMappingURL=Lightbox-2ae83d79.js.map
270
+ //# sourceMappingURL=Lightbox-f0338a0c.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Lightbox-2ae83d79.js","sources":["../../src/components/svgs/X.tsx","../../src/helpers/video.helpers.ts","../../src/components/Lightbox/Lightbox.tsx"],"sourcesContent":["import React from 'react';\n\ntype XProps = {\n className?: string;\n strokeWidth?: string;\n};\n\nconst X: React.FC<XProps> = ({ className = '', strokeWidth = '2' }) => {\n return (\n <svg\n viewBox=\"0 0 32 32\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n aria-label=\"X\"\n >\n <path\n d=\"M25 7L7 25\"\n stroke=\"currentColor\"\n strokeWidth={strokeWidth}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M25 25L7 7\"\n stroke=\"currentColor\"\n strokeWidth={strokeWidth}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n );\n};\n\nexport default X;\n","export type VideoPlatform = 'youtube' | 'vimeo' | 'drive' | 'loom' | 'unknown';\n\nexport type VideoMetadata = {\n type: VideoPlatform;\n videoId: string | null;\n embedUrl: string | null;\n thumbnailUrl: string | null;\n};\n\nexport const getVideoMetadata = async (url: string): Promise<VideoMetadata> => {\n try {\n const parsed = new URL(url);\n const host = parsed.hostname.replace(/^www\\./, '');\n let id: string | null = null;\n\n // YouTube\n if (host === 'youtu.be' || host.includes('youtube.com')) {\n if (host === 'youtu.be') {\n id = parsed.pathname.slice(1);\n } else {\n id =\n parsed.searchParams.get('v') ||\n parsed.pathname.split('/').filter(Boolean).pop() ||\n null;\n }\n if (id) {\n let thumb = `https://img.youtube.com/vi/${id}/maxresdefault.jpg`;\n try {\n const res = await fetch(thumb, { method: 'HEAD' });\n if (!res.ok) thumb = `https://img.youtube.com/vi/${id}/hqdefault.jpg`;\n } catch {\n thumb = `https://img.youtube.com/vi/${id}/hqdefault.jpg`;\n }\n return {\n type: 'youtube',\n videoId: id,\n embedUrl: `https://www.youtube.com/embed/${id}`,\n thumbnailUrl: thumb,\n };\n }\n }\n\n // Vimeo\n if (host.includes('vimeo.com')) {\n const match = url.match(/vimeo\\.com\\/(\\d+)/);\n id = match?.[1] ?? null;\n if (id) {\n try {\n const oembed = `https://vimeo.com/api/oembed.json?url=${encodeURIComponent(\n url\n )}`;\n const data = await fetch(oembed).then(r => r.json());\n return {\n type: 'vimeo',\n videoId: id,\n embedUrl: `https://player.vimeo.com/video/${id}`,\n thumbnailUrl: data.thumbnail_url,\n };\n } catch (e) {\n // Fallback if oEmbed fails\n return {\n type: 'vimeo',\n videoId: id,\n embedUrl: `https://player.vimeo.com/video/${id}`,\n thumbnailUrl: null,\n };\n }\n }\n }\n\n // Google Drive\n if (host === 'drive.google.com' || host === 'docs.google.com') {\n const match = parsed.pathname.match(/\\/d\\/([^/]+)/);\n id = match?.[1] ?? parsed.searchParams.get('id');\n if (id) {\n return {\n type: 'drive',\n videoId: id,\n embedUrl: `https://drive.google.com/file/d/${id}/preview`,\n thumbnailUrl: `https://drive.google.com/thumbnail?sz=w320-h320&id=${id}`,\n };\n }\n }\n\n // Loom\n if (host === 'loom.com') {\n const match = parsed.pathname.match(/\\/(?:share|embed|watch)\\/([A-Za-z0-9]+)/);\n id = match?.[1] ?? null;\n if (id) {\n const embedUrl = `https://www.loom.com/embed/${id}`;\n try {\n const oembedUrl = `https://www.loom.com/api/oembed?url=${encodeURIComponent(\n url\n )}`;\n const response = await fetch(oembedUrl);\n if (!response.ok) {\n throw new Error(`oEmbed API returned ${response.status}`);\n }\n const data = await response.json();\n return {\n type: 'loom',\n videoId: id,\n embedUrl,\n thumbnailUrl: data.thumbnail_url,\n };\n } catch (e) {\n // Fallback if oEmbed fails\n console.warn('Loom oEmbed fetch failed:', e);\n return {\n type: 'loom',\n videoId: id,\n embedUrl,\n thumbnailUrl: null,\n };\n }\n }\n }\n\n // Fallback\n return { type: 'unknown', videoId: null, embedUrl: null, thumbnailUrl: null };\n } catch (e) {\n console.error('getVideoMetadata error:', e);\n return { type: 'unknown', videoId: null, embedUrl: null, thumbnailUrl: null };\n }\n};\n","import React, { useCallback, useEffect, useRef, useState } from 'react';\nimport { createPortal } from 'react-dom';\n\nimport X from '../svgs/X';\n\nimport { getVideoMetadata, VideoMetadata } from '../../helpers/video.helpers';\n\nexport type LightboxItemType = 'photo' | 'video';\n\nexport type LightboxItem = {\n url: string;\n type: LightboxItemType;\n};\n\nexport type LightboxImage = LightboxItem & {\n type: 'photo';\n alt?: string;\n};\n\nexport type LightboxVideo = LightboxItem & {\n type: 'video';\n};\n\nexport type LightboxProps = {\n items: LightboxItem[];\n currentUrl: string | undefined;\n setCurrentUrl: (url: string | undefined) => void;\n showCloseButton?: boolean;\n enableImageClick?: boolean;\n};\n\nexport const Lightbox: React.FC<LightboxProps> = ({\n items,\n currentUrl,\n setCurrentUrl,\n showCloseButton = true,\n enableImageClick = false,\n}) => {\n const currentItem = items.find(item => item.url === currentUrl);\n const innerRef = useRef<HTMLImageElement>(null);\n const [videoMetadata, setVideoMetadata] = useState<VideoMetadata | null>(null);\n\n const goToNextItem = useCallback(() => {\n const currentIndex = items.findIndex(item => item.url === currentUrl);\n const nextItem = items.at((currentIndex + 1) % items.length);\n if (nextItem) setCurrentUrl(nextItem.url);\n }, [currentUrl, items, setCurrentUrl]);\n\n const goToPreviousItem = useCallback(() => {\n const currentIndex = items.findIndex(item => item.url === currentUrl);\n const previousItem = items.at((currentIndex - 1 + items.length) % items.length);\n if (previousItem) setCurrentUrl(previousItem.url);\n }, [currentUrl, items, setCurrentUrl]);\n\n useEffect(() => {\n const keydownListener = (e: KeyboardEvent) => {\n if (!currentUrl || !currentItem) return;\n\n if (e.key === 'Escape') {\n e.preventDefault();\n setCurrentUrl(undefined);\n }\n\n if (e.key === 'ArrowRight') {\n e.preventDefault();\n goToNextItem();\n }\n\n if (e.key === 'ArrowLeft') {\n e.preventDefault();\n goToPreviousItem();\n }\n };\n\n window.addEventListener('keydown', keydownListener);\n return () => window.removeEventListener('keydown', keydownListener);\n }, [currentUrl, currentItem, goToNextItem, goToPreviousItem, setCurrentUrl]);\n\n useEffect(() => {\n const fetchMetadata = async () => {\n if (currentItem?.type === 'video') {\n const metadata = await getVideoMetadata(currentItem.url);\n setVideoMetadata(metadata);\n } else {\n setVideoMetadata(null);\n }\n };\n\n fetchMetadata();\n }, [currentItem]);\n\n if (!currentUrl || !currentItem) return null;\n\n return createPortal(\n <div\n className=\"absolute top-0 left-0 w-screen h-screen bg-[rgba(0,0,0,0.9)] text-white flex justify-center items-center z-[999999]\"\n onClick={e => {\n if (e.target !== innerRef.current) {\n setCurrentUrl(undefined);\n }\n }}\n >\n {showCloseButton && (\n <button onClick={() => setCurrentUrl(undefined)}>\n <X className=\"absolute w-[30px] h-[30px] top-[20px] right-[20px] cursor-pointer text-white z-[999999]\" />\n </button>\n )}\n {currentItem.type === 'photo' && (\n <img\n className=\"cursor-pointer max-w-[90vw] max-h-[90vh]\"\n src={currentUrl}\n onClick={() => enableImageClick && window.open(currentUrl, '_blank')}\n ref={innerRef}\n alt=\"\"\n />\n )}\n\n {currentItem.type === 'video' && videoMetadata?.embedUrl && (\n <div className=\"relative w-[90vw] max-w-[800px] aspect-video\">\n <iframe\n src={videoMetadata.embedUrl}\n className=\"absolute top-0 left-0 w-full h-full rounded-md\"\n title=\"Video player\"\n frameBorder=\"0\"\n allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\"\n allowFullScreen\n />\n </div>\n )}\n </div>,\n document.body\n );\n};\n"],"names":["__async"],"mappings":"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"}
1
+ {"version":3,"file":"Lightbox-f0338a0c.js","sources":["../../src/components/svgs/X.tsx","../../src/helpers/video.helpers.ts","../../src/components/Lightbox/Lightbox.tsx"],"sourcesContent":["import React from 'react';\n\ntype XProps = {\n className?: string;\n strokeWidth?: string;\n};\n\nconst X: React.FC<XProps> = ({ className = '', strokeWidth = '2' }) => {\n return (\n <svg\n viewBox=\"0 0 32 32\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n aria-label=\"X\"\n >\n <path\n d=\"M25 7L7 25\"\n stroke=\"currentColor\"\n strokeWidth={strokeWidth}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M25 25L7 7\"\n stroke=\"currentColor\"\n strokeWidth={strokeWidth}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n );\n};\n\nexport default X;\n","export type VideoPlatform = 'youtube' | 'vimeo' | 'drive' | 'loom' | 'unknown';\n\nexport type VideoMetadata = {\n type: VideoPlatform;\n videoId: string | null;\n embedUrl: string | null;\n thumbnailUrl: string | null;\n};\n\nexport const getVideoMetadata = async (url: string): Promise<VideoMetadata> => {\n try {\n const parsed = new URL(url);\n const host = parsed.hostname.replace(/^www\\./, '');\n let id: string | null = null;\n\n // YouTube\n if (host === 'youtu.be' || host.includes('youtube.com')) {\n if (host === 'youtu.be') {\n id = parsed.pathname.slice(1);\n } else {\n id =\n parsed.searchParams.get('v') ||\n parsed.pathname.split('/').filter(Boolean).pop() ||\n null;\n }\n if (id) {\n let thumb = `https://img.youtube.com/vi/${id}/maxresdefault.jpg`;\n try {\n const res = await fetch(thumb, { method: 'HEAD' });\n if (!res.ok) thumb = `https://img.youtube.com/vi/${id}/hqdefault.jpg`;\n } catch {\n thumb = `https://img.youtube.com/vi/${id}/hqdefault.jpg`;\n }\n return {\n type: 'youtube',\n videoId: id,\n embedUrl: `https://www.youtube.com/embed/${id}`,\n thumbnailUrl: thumb,\n };\n }\n }\n\n // Vimeo\n if (host.includes('vimeo.com')) {\n const match = url.match(/vimeo\\.com\\/(\\d+)/);\n id = match?.[1] ?? null;\n if (id) {\n try {\n const oembed = `https://vimeo.com/api/oembed.json?url=${encodeURIComponent(\n url\n )}`;\n const data = await fetch(oembed).then(r => r.json());\n return {\n type: 'vimeo',\n videoId: id,\n embedUrl: `https://player.vimeo.com/video/${id}`,\n thumbnailUrl: data.thumbnail_url,\n };\n } catch (e) {\n // Fallback if oEmbed fails\n return {\n type: 'vimeo',\n videoId: id,\n embedUrl: `https://player.vimeo.com/video/${id}`,\n thumbnailUrl: null,\n };\n }\n }\n }\n\n // Google Drive\n if (host === 'drive.google.com' || host === 'docs.google.com') {\n const match = parsed.pathname.match(/\\/d\\/([^/]+)/);\n id = match?.[1] ?? parsed.searchParams.get('id');\n if (id) {\n return {\n type: 'drive',\n videoId: id,\n embedUrl: `https://drive.google.com/file/d/${id}/preview`,\n thumbnailUrl: `https://drive.google.com/thumbnail?sz=w320-h320&id=${id}`,\n };\n }\n }\n\n // Loom\n if (host === 'loom.com') {\n const match = parsed.pathname.match(/\\/(?:share|embed|watch)\\/([A-Za-z0-9]+)/);\n id = match?.[1] ?? null;\n if (id) {\n const embedUrl = `https://www.loom.com/embed/${id}`;\n try {\n const oembedUrl = `https://www.loom.com/api/oembed?url=${encodeURIComponent(\n url\n )}`;\n const response = await fetch(oembedUrl);\n if (!response.ok) {\n throw new Error(`oEmbed API returned ${response.status}`);\n }\n const data = await response.json();\n return {\n type: 'loom',\n videoId: id,\n embedUrl,\n thumbnailUrl: data.thumbnail_url,\n };\n } catch (e) {\n // Fallback if oEmbed fails\n console.warn('Loom oEmbed fetch failed:', e);\n return {\n type: 'loom',\n videoId: id,\n embedUrl,\n thumbnailUrl: null,\n };\n }\n }\n }\n\n // Fallback\n return { type: 'unknown', videoId: null, embedUrl: null, thumbnailUrl: null };\n } catch (e) {\n console.error('getVideoMetadata error:', e);\n return { type: 'unknown', videoId: null, embedUrl: null, thumbnailUrl: null };\n }\n};\n","import React, { useCallback, useEffect, useRef, useState } from 'react';\nimport { createPortal } from 'react-dom';\n\nimport X from '../svgs/X';\n\nimport { getVideoMetadata, VideoMetadata } from '../../helpers/video.helpers';\n\nexport type LightboxItemType = 'photo' | 'video';\n\nexport type LightboxItem = {\n url: string;\n type: LightboxItemType;\n};\n\nexport type LightboxImage = LightboxItem & {\n type: 'photo';\n alt?: string;\n};\n\nexport type LightboxVideo = LightboxItem & {\n type: 'video';\n};\n\nexport type LightboxProps = {\n items: LightboxItem[];\n currentUrl: string | undefined;\n setCurrentUrl: (url: string | undefined) => void;\n showCloseButton?: boolean;\n enableImageClick?: boolean;\n};\n\nexport const Lightbox: React.FC<LightboxProps> = ({\n items,\n currentUrl,\n setCurrentUrl,\n showCloseButton = true,\n enableImageClick = false,\n}) => {\n const currentItem = items.find(item => item.url === currentUrl);\n const innerRef = useRef<HTMLImageElement>(null);\n const [videoMetadata, setVideoMetadata] = useState<VideoMetadata | null>(null);\n\n const goToNextItem = useCallback(() => {\n const currentIndex = items.findIndex(item => item.url === currentUrl);\n const nextItem = items.at((currentIndex + 1) % items.length);\n if (nextItem) setCurrentUrl(nextItem.url);\n }, [currentUrl, items, setCurrentUrl]);\n\n const goToPreviousItem = useCallback(() => {\n const currentIndex = items.findIndex(item => item.url === currentUrl);\n const previousItem = items.at((currentIndex - 1 + items.length) % items.length);\n if (previousItem) setCurrentUrl(previousItem.url);\n }, [currentUrl, items, setCurrentUrl]);\n\n useEffect(() => {\n const keydownListener = (e: KeyboardEvent) => {\n if (!currentUrl || !currentItem) return;\n\n if (e.key === 'Escape') {\n e.preventDefault();\n setCurrentUrl(undefined);\n }\n\n if (e.key === 'ArrowRight') {\n e.preventDefault();\n goToNextItem();\n }\n\n if (e.key === 'ArrowLeft') {\n e.preventDefault();\n goToPreviousItem();\n }\n };\n\n window.addEventListener('keydown', keydownListener);\n return () => window.removeEventListener('keydown', keydownListener);\n }, [currentUrl, currentItem, goToNextItem, goToPreviousItem, setCurrentUrl]);\n\n useEffect(() => {\n const fetchMetadata = async () => {\n if (currentItem?.type === 'video') {\n const metadata = await getVideoMetadata(currentItem.url);\n setVideoMetadata(metadata);\n } else {\n setVideoMetadata(null);\n }\n };\n\n fetchMetadata();\n }, [currentItem]);\n\n if (!currentUrl || !currentItem) return null;\n\n return createPortal(\n <div\n className=\"absolute top-0 left-0 w-screen h-screen bg-[rgba(0,0,0,0.9)] text-white flex justify-center items-center z-[999999]\"\n onClick={e => {\n if (e.target !== innerRef.current) {\n setCurrentUrl(undefined);\n }\n }}\n >\n {showCloseButton && (\n <button onClick={() => setCurrentUrl(undefined)}>\n <X className=\"absolute w-[30px] h-[30px] top-[20px] right-[20px] cursor-pointer text-white z-[999999]\" />\n </button>\n )}\n {currentItem.type === 'photo' && (\n <img\n className=\"cursor-pointer max-w-[90vw] max-h-[90vh]\"\n src={currentUrl}\n onClick={() => enableImageClick && window.open(currentUrl, '_blank')}\n ref={innerRef}\n alt=\"\"\n />\n )}\n\n {currentItem.type === 'video' && videoMetadata?.embedUrl && (\n <div className=\"relative w-[90vw] max-w-[800px] aspect-video\">\n <iframe\n src={videoMetadata.embedUrl}\n className=\"absolute top-0 left-0 w-full h-full rounded-md\"\n title=\"Video player\"\n frameBorder=\"0\"\n allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\"\n allowFullScreen\n />\n </div>\n )}\n </div>,\n document.body\n );\n};\n"],"names":["__async"],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ import React from 'react';
2
+
3
+ const IDSleeve = ({ className = "" }) => {
4
+ return /* @__PURE__ */ React.createElement(
5
+ "svg",
6
+ {
7
+ xmlns: "http://www.w3.org/2000/svg",
8
+ width: "295",
9
+ height: "89",
10
+ viewBox: "0 0 295 89",
11
+ fill: "none",
12
+ className
13
+ },
14
+ /* @__PURE__ */ React.createElement(
15
+ "path",
16
+ {
17
+ d: "M148.777 31.7103H146.223C116.199 31.7103 114.71 0 94.4184 0H0V88.0597H295V0H200.582C178.526 0 176.899 31.7103 148.777 31.7103Z",
18
+ fill: "currentColor"
19
+ }
20
+ )
21
+ );
22
+ };
23
+
24
+ const Lightbulb = ({ className = "" }) => {
25
+ return /* @__PURE__ */ React.createElement("svg", { viewBox: "0 0 31 30", fill: "none", className, "data-testid": "skill-icon" }, /* @__PURE__ */ React.createElement(
26
+ "path",
27
+ {
28
+ d: "M21.8624 3.52515C20.7128 2.57963 19.3666 1.90268 17.922 1.5437C16.4774 1.18472 14.9709 1.15276 13.5124 1.45015C11.5704 1.84242 9.78866 2.80274 8.39328 4.20925C6.9979 5.61576 6.05177 7.40506 5.67493 9.35015C5.39974 10.8085 5.44974 12.3097 5.82138 13.7466C6.19302 15.1834 6.87713 16.5206 7.82493 17.6626C8.70453 18.6552 9.20872 19.9245 9.24993 21.2501V25.0001C9.24993 25.9947 9.64502 26.9485 10.3483 27.6518C11.0515 28.3551 12.0054 28.7501 12.9999 28.7501H17.9999C18.9945 28.7501 19.9483 28.3551 20.6516 27.6518C21.3548 26.9485 21.7499 25.9947 21.7499 25.0001V21.4876C21.7919 20.0241 22.3296 18.6182 23.2749 17.5001C24.9313 15.4511 25.7121 12.8312 25.4476 10.2097C25.1832 7.58819 23.8947 5.17701 21.8624 3.50015V3.52515ZM19.2499 25.0001C19.2499 25.3317 19.1182 25.6496 18.8838 25.884C18.6494 26.1185 18.3314 26.2501 17.9999 26.2501H12.9999C12.6684 26.2501 12.3505 26.1185 12.116 25.884C11.8816 25.6496 11.7499 25.3317 11.7499 25.0001V23.7501H19.2499V25.0001ZM21.3374 15.9501C20.0806 17.4409 19.3473 19.3027 19.2499 21.2501H16.7499V17.5001C16.7499 17.1686 16.6182 16.8507 16.3838 16.6163C16.1494 16.3818 15.8314 16.2501 15.4999 16.2501C15.1684 16.2501 14.8505 16.3818 14.616 16.6163C14.3816 16.8507 14.2499 17.1686 14.2499 17.5001V21.2501H11.7499C11.7169 19.3353 11.0086 17.4936 9.74993 16.0501C8.91948 15.0551 8.36104 13.8619 8.12907 12.5868C7.89709 11.3117 7.99949 9.99829 8.42629 8.77456C8.85308 7.55083 9.58971 6.45858 10.5643 5.6043C11.539 4.75003 12.7183 4.1629 13.9874 3.90015C15.0781 3.67558 16.2051 3.6967 17.2866 3.96198C18.3681 4.22727 19.377 4.73005 20.24 5.43384C21.103 6.13762 21.7984 7.02474 22.2758 8.03079C22.7532 9.03685 23.0005 10.1366 22.9999 11.2501C23.0092 12.9625 22.4213 14.6245 21.3374 15.9501V15.9501Z",
29
+ fill: "currentColor"
30
+ }
31
+ ));
32
+ };
33
+
34
+ export { IDSleeve as I, Lightbulb as L };
35
+ //# sourceMappingURL=Lightbulb-7e24711e.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Lightbulb-b6eca510.js","sources":["../../src/components/svgs/IDSleeve.tsx","../../src/components/svgs/Lightbulb.tsx"],"sourcesContent":["import React from 'react';\n\nexport const IDSleeve: React.FC<{ className?: string }> = ({ className = '' }) => {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"295\"\n height=\"89\"\n viewBox=\"0 0 295 89\"\n fill=\"none\"\n className={className}\n >\n <path\n d=\"M148.777 31.7103H146.223C116.199 31.7103 114.71 0 94.4184 0H0V88.0597H295V0H200.582C178.526 0 176.899 31.7103 148.777 31.7103Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n\nexport default IDSleeve;\n","import React from 'react';\n\nexport const Lightbulb: React.FC<{ className?: string }> = ({ className = '' }) => {\n return (\n <svg viewBox=\"0 0 31 30\" fill=\"none\" className={className} data-testid=\"skill-icon\">\n <path\n d=\"M21.8624 3.52515C20.7128 2.57963 19.3666 1.90268 17.922 1.5437C16.4774 1.18472 14.9709 1.15276 13.5124 1.45015C11.5704 1.84242 9.78866 2.80274 8.39328 4.20925C6.9979 5.61576 6.05177 7.40506 5.67493 9.35015C5.39974 10.8085 5.44974 12.3097 5.82138 13.7466C6.19302 15.1834 6.87713 16.5206 7.82493 17.6626C8.70453 18.6552 9.20872 19.9245 9.24993 21.2501V25.0001C9.24993 25.9947 9.64502 26.9485 10.3483 27.6518C11.0515 28.3551 12.0054 28.7501 12.9999 28.7501H17.9999C18.9945 28.7501 19.9483 28.3551 20.6516 27.6518C21.3548 26.9485 21.7499 25.9947 21.7499 25.0001V21.4876C21.7919 20.0241 22.3296 18.6182 23.2749 17.5001C24.9313 15.4511 25.7121 12.8312 25.4476 10.2097C25.1832 7.58819 23.8947 5.17701 21.8624 3.50015V3.52515ZM19.2499 25.0001C19.2499 25.3317 19.1182 25.6496 18.8838 25.884C18.6494 26.1185 18.3314 26.2501 17.9999 26.2501H12.9999C12.6684 26.2501 12.3505 26.1185 12.116 25.884C11.8816 25.6496 11.7499 25.3317 11.7499 25.0001V23.7501H19.2499V25.0001ZM21.3374 15.9501C20.0806 17.4409 19.3473 19.3027 19.2499 21.2501H16.7499V17.5001C16.7499 17.1686 16.6182 16.8507 16.3838 16.6163C16.1494 16.3818 15.8314 16.2501 15.4999 16.2501C15.1684 16.2501 14.8505 16.3818 14.616 16.6163C14.3816 16.8507 14.2499 17.1686 14.2499 17.5001V21.2501H11.7499C11.7169 19.3353 11.0086 17.4936 9.74993 16.0501C8.91948 15.0551 8.36104 13.8619 8.12907 12.5868C7.89709 11.3117 7.99949 9.99829 8.42629 8.77456C8.85308 7.55083 9.58971 6.45858 10.5643 5.6043C11.539 4.75003 12.7183 4.1629 13.9874 3.90015C15.0781 3.67558 16.2051 3.6967 17.2866 3.96198C18.3681 4.22727 19.377 4.73005 20.24 5.43384C21.103 6.13762 21.7984 7.02474 22.2758 8.03079C22.7532 9.03685 23.0005 10.1366 22.9999 11.2501C23.0092 12.9625 22.4213 14.6245 21.3374 15.9501V15.9501Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n\nexport default Lightbulb;\n"],"names":[],"mappings":";;AAEO,MAAM,QAA6C,GAAA,CAAC,EAAE,SAAA,GAAY,IAAS,KAAA;AAC9E,EAAA,uBACK,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAA,IACG,KAAM,EAAA,4BAAA;AAAA,IACN,KAAM,EAAA,KAAA;AAAA,IACN,MAAO,EAAA,IAAA;AAAA,IACP,OAAQ,EAAA,YAAA;AAAA,IACR,IAAK,EAAA,MAAA;AAAA,IACL,SAAA;AAAA,GAAA,kBAEC,KAAA,CAAA,aAAA,CAAA,MAAA,EAAA;AAAA,IACG,CAAE,EAAA,gIAAA;AAAA,IACF,IAAK,EAAA,cAAA;AAAA,GACT,CACJ,CAAA,CAAA;AAER;;AChBO,MAAM,SAA8C,GAAA,CAAC,EAAE,SAAA,GAAY,IAAS,KAAA;AAC/E,EAAA,uBACK,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAA,IAAI,OAAQ,EAAA,WAAA;AAAA,IAAY,IAAK,EAAA,MAAA;AAAA,IAAO,SAAA;AAAA,IAAsB,aAAY,EAAA,YAAA;AAAA,GAAA,kBAClE,KAAA,CAAA,aAAA,CAAA,MAAA,EAAA;AAAA,IACG,CAAE,EAAA,8rDAAA;AAAA,IACF,IAAK,EAAA,cAAA;AAAA,GACT,CACJ,CAAA,CAAA;AAER;;;;"}
1
+ {"version":3,"file":"Lightbulb-7e24711e.js","sources":["../../src/components/svgs/IDSleeve.tsx","../../src/components/svgs/Lightbulb.tsx"],"sourcesContent":["import React from 'react';\n\nexport const IDSleeve: React.FC<{ className?: string }> = ({ className = '' }) => {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"295\"\n height=\"89\"\n viewBox=\"0 0 295 89\"\n fill=\"none\"\n className={className}\n >\n <path\n d=\"M148.777 31.7103H146.223C116.199 31.7103 114.71 0 94.4184 0H0V88.0597H295V0H200.582C178.526 0 176.899 31.7103 148.777 31.7103Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n\nexport default IDSleeve;\n","import React from 'react';\n\nexport const Lightbulb: React.FC<{ className?: string }> = ({ className = '' }) => {\n return (\n <svg viewBox=\"0 0 31 30\" fill=\"none\" className={className} data-testid=\"skill-icon\">\n <path\n d=\"M21.8624 3.52515C20.7128 2.57963 19.3666 1.90268 17.922 1.5437C16.4774 1.18472 14.9709 1.15276 13.5124 1.45015C11.5704 1.84242 9.78866 2.80274 8.39328 4.20925C6.9979 5.61576 6.05177 7.40506 5.67493 9.35015C5.39974 10.8085 5.44974 12.3097 5.82138 13.7466C6.19302 15.1834 6.87713 16.5206 7.82493 17.6626C8.70453 18.6552 9.20872 19.9245 9.24993 21.2501V25.0001C9.24993 25.9947 9.64502 26.9485 10.3483 27.6518C11.0515 28.3551 12.0054 28.7501 12.9999 28.7501H17.9999C18.9945 28.7501 19.9483 28.3551 20.6516 27.6518C21.3548 26.9485 21.7499 25.9947 21.7499 25.0001V21.4876C21.7919 20.0241 22.3296 18.6182 23.2749 17.5001C24.9313 15.4511 25.7121 12.8312 25.4476 10.2097C25.1832 7.58819 23.8947 5.17701 21.8624 3.50015V3.52515ZM19.2499 25.0001C19.2499 25.3317 19.1182 25.6496 18.8838 25.884C18.6494 26.1185 18.3314 26.2501 17.9999 26.2501H12.9999C12.6684 26.2501 12.3505 26.1185 12.116 25.884C11.8816 25.6496 11.7499 25.3317 11.7499 25.0001V23.7501H19.2499V25.0001ZM21.3374 15.9501C20.0806 17.4409 19.3473 19.3027 19.2499 21.2501H16.7499V17.5001C16.7499 17.1686 16.6182 16.8507 16.3838 16.6163C16.1494 16.3818 15.8314 16.2501 15.4999 16.2501C15.1684 16.2501 14.8505 16.3818 14.616 16.6163C14.3816 16.8507 14.2499 17.1686 14.2499 17.5001V21.2501H11.7499C11.7169 19.3353 11.0086 17.4936 9.74993 16.0501C8.91948 15.0551 8.36104 13.8619 8.12907 12.5868C7.89709 11.3117 7.99949 9.99829 8.42629 8.77456C8.85308 7.55083 9.58971 6.45858 10.5643 5.6043C11.539 4.75003 12.7183 4.1629 13.9874 3.90015C15.0781 3.67558 16.2051 3.6967 17.2866 3.96198C18.3681 4.22727 19.377 4.73005 20.24 5.43384C21.103 6.13762 21.7984 7.02474 22.2758 8.03079C22.7532 9.03685 23.0005 10.1366 22.9999 11.2501C23.0092 12.9625 22.4213 14.6245 21.3374 15.9501V15.9501Z\"\n fill=\"currentColor\"\n />\n </svg>\n );\n};\n\nexport default Lightbulb;\n"],"names":[],"mappings":";;AAEO,MAAM,QAA6C,GAAA,CAAC,EAAE,SAAA,GAAY,IAAS,KAAA;AAC9E,EACI,uBAAA,KAAA,CAAA,aAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACG,KAAM,EAAA,4BAAA;AAAA,MACN,KAAM,EAAA,KAAA;AAAA,MACN,MAAO,EAAA,IAAA;AAAA,MACP,OAAQ,EAAA,YAAA;AAAA,MACR,IAAK,EAAA,MAAA;AAAA,MACL,SAAA;AAAA,KAAA;AAAA,oBAEA,KAAA,CAAA,aAAA;AAAA,MAAC,MAAA;AAAA,MAAA;AAAA,QACG,CAAE,EAAA,gIAAA;AAAA,QACF,IAAK,EAAA,cAAA;AAAA,OAAA;AAAA,KACT;AAAA,GACJ,CAAA;AAER;;AChBO,MAAM,SAA8C,GAAA,CAAC,EAAE,SAAA,GAAY,IAAS,KAAA;AAC/E,EACI,uBAAA,KAAA,CAAA,aAAA,CAAC,SAAI,OAAQ,EAAA,WAAA,EAAY,MAAK,MAAO,EAAA,SAAA,EAAsB,eAAY,YACnE,EAAA,kBAAA,KAAA,CAAA,aAAA;AAAA,IAAC,MAAA;AAAA,IAAA;AAAA,MACG,CAAE,EAAA,8rDAAA;AAAA,MACF,IAAK,EAAA,cAAA;AAAA,KAAA;AAAA,GAEb,CAAA,CAAA;AAER;;;;"}