@learncard/react 2.3.34 → 2.3.35

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 (194) hide show
  1. package/dist/cjs/{AchievementCard-ddf84c60.js → AchievementCard-5176ae52.js} +18 -10
  2. package/dist/cjs/AchievementCard-5176ae52.js.map +1 -0
  3. package/dist/cjs/CircleCheckButton-d0667cda.js +30 -0
  4. package/dist/cjs/CircleCheckButton-d0667cda.js.map +1 -0
  5. package/dist/cjs/{CircleIcon-ad088e75.js → CircleIcon-ee5316e3.js} +4 -3
  6. package/dist/cjs/{CircleIcon-ad088e75.js.map → CircleIcon-ee5316e3.js.map} +1 -1
  7. package/dist/cjs/{CourseCard-22b1e164.js → CourseCard-93680a14.js} +2 -2
  8. package/dist/cjs/CourseCard-93680a14.js.map +1 -0
  9. package/dist/cjs/CourseVerticalCard-8baa9517.js +97 -0
  10. package/dist/cjs/CourseVerticalCard-8baa9517.js.map +1 -0
  11. package/dist/cjs/{JobListCard-abdcd580.js → JobListCard-b07e7c5b.js} +17 -15
  12. package/dist/cjs/JobListCard-b07e7c5b.js.map +1 -0
  13. package/dist/cjs/LearnPill-24d24a71.js +40 -0
  14. package/dist/cjs/LearnPill-24d24a71.js.map +1 -0
  15. package/dist/cjs/{RoundedPill-726904e1.js → RoundedPill-64590d8d.js} +5 -4
  16. package/dist/cjs/RoundedPill-64590d8d.js.map +1 -0
  17. package/dist/cjs/{RoundedSquare-8f736305.js → RoundedSquare-211d713f.js} +6 -5
  18. package/dist/cjs/{RoundedSquare-8f736305.js.map → RoundedSquare-211d713f.js.map} +1 -1
  19. package/dist/cjs/SkillTabCard-0ccad5eb.js +39 -0
  20. package/dist/cjs/SkillTabCard-0ccad5eb.js.map +1 -0
  21. package/dist/cjs/{constants-6621833f.js → constants-43b3df0c.js} +5 -4
  22. package/dist/cjs/constants-43b3df0c.js.map +1 -0
  23. package/dist/cjs/{icons-20dfd25b.js → icons-61ee0fb7.js} +11 -24
  24. package/dist/cjs/icons-61ee0fb7.js.map +1 -0
  25. package/dist/cjs/index-732996e9.js +26 -0
  26. package/dist/cjs/index-732996e9.js.map +1 -0
  27. package/dist/cjs/index.js +18 -8
  28. package/dist/cjs/index.js.map +1 -1
  29. package/dist/cjs/index10.js +14 -5
  30. package/dist/cjs/index10.js.map +1 -1
  31. package/dist/cjs/index11.js +3 -2
  32. package/dist/cjs/index11.js.map +1 -1
  33. package/dist/cjs/index12.js +5 -3
  34. package/dist/cjs/index12.js.map +1 -1
  35. package/dist/cjs/index13.js +13 -5
  36. package/dist/cjs/index13.js.map +1 -1
  37. package/dist/cjs/index14.js +2 -3
  38. package/dist/cjs/index14.js.map +1 -1
  39. package/dist/cjs/index15.js +3 -12
  40. package/dist/cjs/index15.js.map +1 -1
  41. package/dist/cjs/index16.js +5 -27
  42. package/dist/cjs/index16.js.map +1 -1
  43. package/dist/cjs/index17.js +3 -2
  44. package/dist/cjs/index17.js.map +1 -1
  45. package/dist/cjs/index18.js +14 -3
  46. package/dist/cjs/index18.js.map +1 -1
  47. package/dist/cjs/index19.js +28 -3
  48. package/dist/cjs/index19.js.map +1 -1
  49. package/dist/cjs/index2.js +6 -4
  50. package/dist/cjs/index2.js.map +1 -1
  51. package/dist/cjs/index20.js +2 -3
  52. package/dist/cjs/index20.js.map +1 -1
  53. package/dist/cjs/index21.js +3 -3
  54. package/dist/cjs/index22.js +3 -9
  55. package/dist/cjs/index22.js.map +1 -1
  56. package/dist/cjs/index23.js +15 -16
  57. package/dist/cjs/index23.js.map +1 -1
  58. package/dist/cjs/index24.js +3 -10
  59. package/dist/cjs/index24.js.map +1 -1
  60. package/dist/cjs/index25.js +3 -14
  61. package/dist/cjs/index25.js.map +1 -1
  62. package/dist/cjs/index26.js +13 -4
  63. package/dist/cjs/index26.js.map +1 -1
  64. package/dist/cjs/index27.js +15 -3
  65. package/dist/cjs/index27.js.map +1 -1
  66. package/dist/cjs/index28.js +8 -3
  67. package/dist/cjs/index28.js.map +1 -1
  68. package/dist/cjs/index29.js +11 -2
  69. package/dist/cjs/index29.js.map +1 -1
  70. package/dist/cjs/index30.js +9 -0
  71. package/dist/cjs/index30.js.map +1 -0
  72. package/dist/cjs/index31.js +13 -0
  73. package/dist/cjs/index31.js.map +1 -0
  74. package/dist/cjs/index32.js +14 -0
  75. package/dist/cjs/index32.js.map +1 -0
  76. package/dist/cjs/index33.js +14 -0
  77. package/dist/cjs/index33.js.map +1 -0
  78. package/dist/cjs/index4.js +5 -4
  79. package/dist/cjs/index4.js.map +1 -1
  80. package/dist/cjs/index5.js +13 -5
  81. package/dist/cjs/index5.js.map +1 -1
  82. package/dist/cjs/index6.js +6 -2
  83. package/dist/cjs/index6.js.map +1 -1
  84. package/dist/cjs/index7.js +10 -98
  85. package/dist/cjs/index7.js.map +1 -1
  86. package/dist/cjs/index8.js +2 -13
  87. package/dist/cjs/index8.js.map +1 -1
  88. package/dist/cjs/index9.js +112 -0
  89. package/dist/cjs/index9.js.map +1 -1
  90. package/dist/esm/{AchievementCard-2a3b7003.js → AchievementCard-45a42963.js} +18 -10
  91. package/dist/esm/AchievementCard-45a42963.js.map +1 -0
  92. package/dist/esm/CircleCheckButton-251f4bbd.js +24 -0
  93. package/dist/esm/CircleCheckButton-251f4bbd.js.map +1 -0
  94. package/dist/esm/{CircleIcon-f11c1db9.js → CircleIcon-c96790bf.js} +3 -2
  95. package/dist/esm/{CircleIcon-f11c1db9.js.map → CircleIcon-c96790bf.js.map} +1 -1
  96. package/dist/esm/{CourseCard-4639b301.js → CourseCard-f3a2c5c0.js} +2 -2
  97. package/dist/esm/CourseCard-f3a2c5c0.js.map +1 -0
  98. package/dist/esm/CourseVerticalCard-11cf10a3.js +87 -0
  99. package/dist/esm/CourseVerticalCard-11cf10a3.js.map +1 -0
  100. package/dist/esm/{JobListCard-ee0e644e.js → JobListCard-51b725a9.js} +17 -15
  101. package/dist/esm/JobListCard-51b725a9.js.map +1 -0
  102. package/dist/esm/LearnPill-f4a13a3d.js +34 -0
  103. package/dist/esm/LearnPill-f4a13a3d.js.map +1 -0
  104. package/dist/esm/{RoundedPill-75154146.js → RoundedPill-b4f1607a.js} +5 -5
  105. package/dist/esm/RoundedPill-b4f1607a.js.map +1 -0
  106. package/dist/esm/{RoundedSquare-2a961b5e.js → RoundedSquare-16480fc1.js} +5 -4
  107. package/dist/esm/{RoundedSquare-2a961b5e.js.map → RoundedSquare-16480fc1.js.map} +1 -1
  108. package/dist/esm/SkillTabCard-29010c5a.js +33 -0
  109. package/dist/esm/SkillTabCard-29010c5a.js.map +1 -0
  110. package/dist/esm/{constants-e55bb833.js → constants-3c35c9bd.js} +5 -4
  111. package/dist/esm/constants-3c35c9bd.js.map +1 -0
  112. package/dist/esm/{icons-6138bb65.js → icons-e7cf7735.js} +3 -15
  113. package/dist/esm/icons-e7cf7735.js.map +1 -0
  114. package/dist/esm/index-e5252279.js +23 -0
  115. package/dist/esm/index-e5252279.js.map +1 -0
  116. package/dist/esm/index.js +13 -8
  117. package/dist/esm/index.js.map +1 -1
  118. package/dist/esm/index10.js +12 -4
  119. package/dist/esm/index10.js.map +1 -1
  120. package/dist/esm/index11.js +2 -1
  121. package/dist/esm/index11.js.map +1 -1
  122. package/dist/esm/index12.js +4 -2
  123. package/dist/esm/index12.js.map +1 -1
  124. package/dist/esm/index13.js +12 -3
  125. package/dist/esm/index13.js.map +1 -1
  126. package/dist/esm/index14.js +1 -2
  127. package/dist/esm/index14.js.map +1 -1
  128. package/dist/esm/index15.js +2 -11
  129. package/dist/esm/index15.js.map +1 -1
  130. package/dist/esm/index16.js +3 -22
  131. package/dist/esm/index16.js.map +1 -1
  132. package/dist/esm/index17.js +2 -1
  133. package/dist/esm/index17.js.map +1 -1
  134. package/dist/esm/index18.js +12 -1
  135. package/dist/esm/index18.js.map +1 -1
  136. package/dist/esm/index19.js +23 -2
  137. package/dist/esm/index19.js.map +1 -1
  138. package/dist/esm/index2.js +6 -4
  139. package/dist/esm/index2.js.map +1 -1
  140. package/dist/esm/index20.js +1 -2
  141. package/dist/esm/index20.js.map +1 -1
  142. package/dist/esm/index21.js +1 -2
  143. package/dist/esm/index21.js.map +1 -1
  144. package/dist/esm/index22.js +2 -2
  145. package/dist/esm/index23.js +14 -15
  146. package/dist/esm/index23.js.map +1 -1
  147. package/dist/esm/index24.js +2 -9
  148. package/dist/esm/index24.js.map +1 -1
  149. package/dist/esm/index25.js +2 -13
  150. package/dist/esm/index25.js.map +1 -1
  151. package/dist/esm/index26.js +2 -4
  152. package/dist/esm/index26.js.map +1 -1
  153. package/dist/esm/index27.js +14 -2
  154. package/dist/esm/index27.js.map +1 -1
  155. package/dist/esm/index28.js +7 -1
  156. package/dist/esm/index28.js.map +1 -1
  157. package/dist/esm/index29.js +10 -1
  158. package/dist/esm/index29.js.map +1 -1
  159. package/dist/esm/index30.js +6 -0
  160. package/dist/esm/index30.js.map +1 -0
  161. package/dist/esm/index31.js +5 -0
  162. package/dist/esm/index31.js.map +1 -0
  163. package/dist/esm/index32.js +5 -0
  164. package/dist/esm/index32.js.map +1 -0
  165. package/dist/esm/index33.js +6 -0
  166. package/dist/esm/index33.js.map +1 -0
  167. package/dist/esm/index4.js +4 -2
  168. package/dist/esm/index4.js.map +1 -1
  169. package/dist/esm/index5.js +11 -4
  170. package/dist/esm/index5.js.map +1 -1
  171. package/dist/esm/index6.js +5 -1
  172. package/dist/esm/index6.js.map +1 -1
  173. package/dist/esm/index7.js +9 -57
  174. package/dist/esm/index7.js.map +1 -1
  175. package/dist/esm/index8.js +1 -11
  176. package/dist/esm/index8.js.map +1 -1
  177. package/dist/esm/index9.js +67 -0
  178. package/dist/esm/index9.js.map +1 -1
  179. package/dist/index.d.ts +62 -9
  180. package/dist/main.css +1 -1
  181. package/dist/main.js +1 -1
  182. package/package.json +1 -1
  183. package/dist/cjs/AchievementCard-ddf84c60.js.map +0 -1
  184. package/dist/cjs/CourseCard-22b1e164.js.map +0 -1
  185. package/dist/cjs/JobListCard-abdcd580.js.map +0 -1
  186. package/dist/cjs/RoundedPill-726904e1.js.map +0 -1
  187. package/dist/cjs/constants-6621833f.js.map +0 -1
  188. package/dist/cjs/icons-20dfd25b.js.map +0 -1
  189. package/dist/esm/AchievementCard-2a3b7003.js.map +0 -1
  190. package/dist/esm/CourseCard-4639b301.js.map +0 -1
  191. package/dist/esm/JobListCard-ee0e644e.js.map +0 -1
  192. package/dist/esm/RoundedPill-75154146.js.map +0 -1
  193. package/dist/esm/constants-e55bb833.js.map +0 -1
  194. package/dist/esm/icons-6138bb65.js.map +0 -1
@@ -2,11 +2,123 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
+ var AchievementCard = require('./AchievementCard-5176ae52.js');
6
+ var Button = require('./Button-a7af702b.js');
7
+ var CircleCheckButton = require('./CircleCheckButton-d0667cda.js');
8
+ var CircleIcon = require('./CircleIcon-ee5316e3.js');
9
+ var CourseCard = require('./CourseCard-93680a14.js');
10
+ var CourseVerticalCard = require('./CourseVerticalCard-8baa9517.js');
11
+ var FlippyCard = require('./FlippyCard-33e03a9e.js');
12
+ var JobListCard = require('./JobListCard-b07e7c5b.js');
5
13
  var LearnCardCreditCardBackFace = require('./LearnCardCreditCardBackFace-87cc8b9f.js');
14
+ var LearnCardCreditCardFrontFace = require('./LearnCardCreditCardFrontFace-4452fd7a.js');
15
+ var LearnPill = require('./LearnPill-24d24a71.js');
16
+ var CircleSpinner = require('./CircleSpinner-093cce04.js');
17
+ var MiniVCThumbnail = require('./MiniVCThumbnail-a78e44f2.js');
18
+ var Notification = require('./Notification-10b40c07.js');
19
+ var QRCodeCard = require('./QRCodeCard-efaa58e1.js');
20
+ var RoundedPill = require('./RoundedPill-64590d8d.js');
21
+ var RoundedSquare = require('./RoundedSquare-211d713f.js');
22
+ var constants = require('./constants-43b3df0c.js');
23
+ var SchoolIDCard = require('./SchoolIDCard-32a47ae5.js');
24
+ var SkillTabCard = require('./SkillTabCard-0ccad5eb.js');
25
+ var SkillVerticalCard = require('./SkillVerticalCard-3eb3a8e9.js');
26
+ var SkillsCard = require('./SkillsCard-4b6dbb4f.js');
27
+ var SkillsStatsCard = require('./SkillsStatsCard-97a35a88.js');
28
+ var SmallAchievementCard = require('./SmallAchievementCard-c76701ce.js');
29
+ var VCCard = require('./VCCard-b63f75fc.js');
30
+ var VCDisplayBackFace = require('./VCDisplayBackFace-4ae2b5c5.js');
31
+ var VCDisplayCard = require('./VCDisplayCard-b67f991b.js');
32
+ var VCThumbnail = require('./VCThumbnail-584d0b5f.js');
33
+ var VCVerificationCheck = require('./VCVerificationCheck-04f3f7bc.js');
34
+ var VCVerificationPill = require('./VCVerificationPill-1d535a72.js');
35
+ var User = require('./User-b16d5499.js');
36
+ var Trophy = require('./Trophy-9ede7f2b.js');
6
37
  require('react');
38
+ require('./index-732996e9.js');
39
+ require('./icons-61ee0fb7.js');
40
+ require('./coins.svg');
41
+ require('./user.svg');
42
+ require('./trophy.svg');
43
+ require('./briefcase.svg');
44
+ require('./graduation.svg');
45
+ require('./lightbulb.svg');
46
+ require('./minipuzzle.svg');
47
+ require('./minitrophy.svg');
48
+ require('./gradcaplight.svg');
49
+ require('./lhplaceholder.png');
50
+ require('./minijob.svg');
7
51
  require('./contactless-symbol.svg');
52
+ require('./index-82de573c.js');
53
+ require('./card-chip.svg');
54
+ require('./master-card-logo.svg');
55
+ require('./verified-check.png');
56
+ require('./walletcurrency.webp');
57
+ require('./walletids.webp');
58
+ require('./walletjobhistory.webp');
59
+ require('./walletlearninghistory.webp');
60
+ require('./walletskills.webp');
61
+ require('./walletTrophy.webp');
62
+ require('./minitrophycolored.svg');
63
+ require('./minigradcapcolored.svg');
64
+ require('./minipuzzlecolored.svg');
65
+ require('./skillplaceholder.png');
66
+ require('./skillgraph.svg');
67
+ require('@learncard/core');
68
+ require('./ArrowArcRight.svg');
69
+ require('./icon.green.fat-arrow.png');
70
+ require('./default-face.jpeg');
71
+ require('./vc.check.svg');
72
+ require('./RedXCircle.svg');
73
+ require('./GreenCheckCircle.svg');
74
+ require('./YellowWarningCircle.svg');
8
75
 
9
76
 
10
77
 
78
+ exports.AchievementCard = AchievementCard.AchievementCard;
79
+ exports.Button = Button.Button;
80
+ exports.CircleCheckButton = CircleCheckButton.CircleCheckButton;
81
+ exports.CircleIcon = CircleIcon.CircleIcon;
82
+ exports.CountCircle = CircleIcon.CountCircle;
83
+ exports.CourseCard = CourseCard.CourseCard;
84
+ exports.CourseVerticalCard = CourseVerticalCard.CourseVerticalCard;
85
+ exports.FlippyCard = FlippyCard.FlippyCard;
86
+ exports.JobListCard = JobListCard.JobListCard;
87
+ exports.JobListingBubble = JobListCard.JobListingBubble;
11
88
  exports.LearnCardCreditCardBackFace = LearnCardCreditCardBackFace.LearnCardCreditCardBackFace;
89
+ exports.LearnCardCreditCardFrontFace = LearnCardCreditCardFrontFace.LearnCardCreditCardFrontFace;
90
+ exports.LearnPill = LearnPill.LearnPill;
91
+ exports.CircleLoadingState = CircleSpinner.CircleLoadingState;
92
+ exports.MiniVCThumbnail = MiniVCThumbnail.MiniVCThumbnail;
93
+ exports.Notification = Notification.Notification;
94
+ exports.NotificationTypeStyles = Notification.NotificationTypeStyles;
95
+ exports.QRCodeCard = QRCodeCard.QRCodeCard;
96
+ exports.CheckmarkSvg = RoundedPill.CheckmarkSvg;
97
+ exports.RoundedPill = RoundedPill.RoundedPill;
98
+ exports.RoundedSquare = RoundedSquare.RoundedSquare;
99
+ exports.TYPE_TO_IMG_SRC = constants.TYPE_TO_IMG_SRC;
100
+ exports.TYPE_TO_MINI_ICON = constants.TYPE_TO_MINI_ICON;
101
+ exports.TYPE_TO_WALLET_COLOR = constants.TYPE_TO_WALLET_COLOR;
102
+ exports.WALLET_SUBTYPES = constants.WALLET_SUBTYPES;
103
+ exports.SchoolIDCard = SchoolIDCard.SchoolIDCard;
104
+ exports.SkillTabCard = SkillTabCard.SkillTabCard;
105
+ exports.SkillVerticalCard = SkillVerticalCard.SkillVerticalCard;
106
+ exports.SkillsCard = SkillsCard.SkillsCard;
107
+ exports.SkillsMeterSegment = SkillsCard.SkillsMeterSegment;
108
+ exports.SkillsStatsCard = SkillsStatsCard.SkillsStatsCard;
109
+ exports.SmallAchievementCard = SmallAchievementCard.SmallAchievementCard;
110
+ exports.VCCard = VCCard.VCCard;
111
+ exports.VCDisplayBackFace = VCDisplayBackFace.VCDisplayBackFace;
112
+ exports.VCDisplayCard = VCDisplayCard.VCDisplayCard;
113
+ exports.VCThumbnail = VCThumbnail.VCThumbnail;
114
+ exports.VCVerificationCheck = VCVerificationCheck.VCVerificationCheck;
115
+ exports.VCVerificationCheckWithText = VCVerificationCheck.VCVerificationCheckWithText;
116
+ exports.ValidationStateIndicator = VCVerificationPill.ValidationStateIndicator;
117
+ exports.Briefcase = User.Briefcase;
118
+ exports.Checkmark = User.Checkmark;
119
+ exports.Coins = User.Coins;
120
+ exports.Graduation = User.Graduation;
121
+ exports.Lightbulb = User.Lightbulb;
122
+ exports.User = User.User;
123
+ exports.Trophy = Trophy.Trophy;
12
124
  //# sourceMappingURL=index9.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index9.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;"}
1
+ {"version":3,"file":"index9.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,28 +1,32 @@
1
1
  import React from 'react';
2
- import { T as TYPE_TO_MINI_ICON } from './constants-e55bb833.js';
2
+ import { L as LCSubtypes } from './index-e5252279.js';
3
+ import { T as TYPE_TO_MINI_ICON } from './constants-3c35c9bd.js';
3
4
  import { T as Trophy } from './Trophy-702610b8.js';
4
- import { R as RoundedPill } from './RoundedPill-75154146.js';
5
+ import { C as CircleCheckButton } from './CircleCheckButton-251f4bbd.js';
6
+ import { R as RoundedPill } from './RoundedPill-b4f1607a.js';
5
7
 
6
8
  const AchievementCard = ({
7
9
  title = "Title Lorem Ipsum",
8
10
  thumbImgSrc,
9
11
  claimStatus,
10
12
  showSkills = true,
13
+ showChecked,
14
+ checked,
11
15
  skillCount,
12
16
  showStatus = true,
17
+ onCheckClick,
13
18
  onClick = () => {
14
19
  }
15
20
  }) => {
16
21
  const thumbClass = thumbImgSrc ? "bg-grayscale-50" : "bg-indigo-200";
17
- const claimBtnStatusType = claimStatus ? "achievement" : "locked";
18
- const skillIconSrc = TYPE_TO_MINI_ICON.skill;
22
+ const claimBtnStatusType = claimStatus ? LCSubtypes.achievement : LCSubtypes.locked;
23
+ const skillIconSrc = TYPE_TO_MINI_ICON[LCSubtypes.skill];
19
24
  const skillCountTxt = skillCount && skillCount > 1 ? "Skills" : "Skill";
20
- console.log("///skilCount", skillCount);
21
25
  const showSkillCounter = showSkills && skillCount !== 0;
22
26
  return /* @__PURE__ */ React.createElement("div", {
23
27
  className: `flex-col shadow-[0_0_8px_0px_rgba(0,0,0,0.2)] relative $ py-[8px] px-[8px] w-[190px] h-[265px] rounded-[20px] rounded-square-card-container`
24
28
  }, /* @__PURE__ */ React.createElement("section", {
25
- className: `relative flex h-[130px] ${thumbClass} flex-col justify-center items-center w-full rounded-[20px]`
29
+ className: `relative flex h-[120px] ${thumbClass} flex-col justify-center items-center w-full rounded-[20px]`
26
30
  }, thumbImgSrc && /* @__PURE__ */ React.createElement("img", {
27
31
  className: "h-full w-full object-cover rounded-[20px]",
28
32
  src: thumbImgSrc != null ? thumbImgSrc : "",
@@ -31,16 +35,20 @@ const AchievementCard = ({
31
35
  className: "achievement-placeholder-trophy flex p-[15px]",
32
36
  color: "#ffffff"
33
37
  }), showSkills && showSkillCounter && /* @__PURE__ */ React.createElement("div", {
34
- className: "absolute px-[10px] text-[14px] flex items-center justify-center text-indigo-600 skill-pill font-bold min-w-[100px] bottom-[15px] right-[9px] rounded-[20px] h-[30px] bg-indigo-50 "
38
+ className: "absolute px-[10px] text-[14px] flex items-center justify-center text-indigo-600 skill-pill font-bold min-w-[100px] bottom-[10px] right-[9px] rounded-[20px] h-[30px] bg-indigo-50 "
35
39
  }, /* @__PURE__ */ React.createElement("img", {
36
40
  src: skillIconSrc,
37
41
  className: "flex items-center justify-center mr-[4px]"
38
- }), "+", skillCount, " ", skillCountTxt)), /* @__PURE__ */ React.createElement("section", {
42
+ }), "+", skillCount, " ", skillCountTxt), showChecked && /* @__PURE__ */ React.createElement(CircleCheckButton, {
43
+ checked,
44
+ onClick: onCheckClick,
45
+ className: "absolute top-[5px] left-[5px]"
46
+ })), /* @__PURE__ */ React.createElement("section", {
39
47
  className: "achievement-title w-full flex justify-center line-clamp-2"
40
48
  }, /* @__PURE__ */ React.createElement("p", {
41
49
  className: "text-[14px] text-grayscale-900 font-bold mt-[10px] text-center"
42
50
  }, title)), /* @__PURE__ */ React.createElement("section", {
43
- className: "achievement-card-footer absolute bottom-[10px] left-[5px]"
51
+ className: "achievement-card-footer absolute bottom-[6px] left-[5px]"
44
52
  }, showStatus && /* @__PURE__ */ React.createElement(RoundedPill, {
45
53
  onClick,
46
54
  showCheckmark: true,
@@ -50,4 +58,4 @@ const AchievementCard = ({
50
58
  };
51
59
 
52
60
  export { AchievementCard as A };
53
- //# sourceMappingURL=AchievementCard-2a3b7003.js.map
61
+ //# sourceMappingURL=AchievementCard-45a42963.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AchievementCard-45a42963.js","sources":["../../src/components/AchievementCard/AchievementCard.tsx"],"sourcesContent":["import React from 'react';\nimport { AchievementCardProps } from '../../types';\nimport { RoundedPill } from '../RoundedPill';\nimport { CircleCheckButton } from '../CircleCheckButton';\nimport { Trophy } from '../svgs';\nimport { TYPE_TO_MINI_ICON } from '../RoundedSquare';\nimport { LCSubtypes } from '../../types';\n\nexport const AchievementCard: React.FC<AchievementCardProps> = ({\n title = 'Title Lorem Ipsum',\n thumbImgSrc,\n claimStatus,\n showSkills = true,\n showChecked,\n checked,\n skillCount,\n showStatus = true,\n onCheckClick,\n onClick = () => {},\n}) => {\n const thumbClass = thumbImgSrc ? 'bg-grayscale-50' : 'bg-indigo-200';\n\n const claimBtnStatusType = claimStatus ? LCSubtypes.achievement : LCSubtypes.locked;\n const skillIconSrc = TYPE_TO_MINI_ICON[LCSubtypes.skill];\n const skillCountTxt = skillCount && skillCount > 1 ? 'Skills' : 'Skill';\n const showSkillCounter = showSkills && skillCount !== 0;\n\n return (\n <div\n className={`flex-col shadow-[0_0_8px_0px_rgba(0,0,0,0.2)] relative $ py-[8px] px-[8px] w-[190px] h-[265px] rounded-[20px] rounded-square-card-container`}\n >\n <section\n className={`relative flex h-[120px] ${thumbClass} flex-col justify-center items-center w-full rounded-[20px]`}\n >\n {thumbImgSrc && (\n <img\n className=\"h-full w-full object-cover rounded-[20px]\"\n src={thumbImgSrc ?? ''}\n alt=\"Credential Achievement Image\"\n />\n )}\n {(!thumbImgSrc || thumbImgSrc === '') && (\n <Trophy\n className=\"achievement-placeholder-trophy flex p-[15px]\"\n color=\"#ffffff\"\n />\n )}\n\n {showSkills && showSkillCounter && (\n <div className=\"absolute px-[10px] text-[14px] flex items-center justify-center text-indigo-600 skill-pill font-bold min-w-[100px] bottom-[10px] right-[9px] rounded-[20px] h-[30px] bg-indigo-50 \">\n <img\n src={skillIconSrc}\n className=\"flex items-center justify-center mr-[4px]\"\n />\n +{skillCount} {skillCountTxt}\n </div>\n )}\n\n {showChecked && (\n <CircleCheckButton\n checked={checked}\n onClick={onCheckClick}\n className=\"absolute top-[5px] left-[5px]\"\n />\n )}\n </section>\n\n <section className=\"achievement-title w-full flex justify-center line-clamp-2\">\n <p className=\"text-[14px] text-grayscale-900 font-bold mt-[10px] text-center\">\n {title}\n </p>\n </section>\n\n <section className=\"achievement-card-footer absolute bottom-[6px] left-[5px]\">\n {showStatus && (\n <RoundedPill\n onClick={onClick}\n showCheckmark\n type={claimBtnStatusType}\n statusText={'Claimed'}\n />\n )}\n </section>\n </div>\n );\n};\n\nexport default AchievementCard;\n"],"names":[],"mappings":";;;;;;;AAMY,MAAC,eAAe,GAAG,CAAC;AAChC,EAAE,KAAK,GAAG,mBAAmB;AAC7B,EAAE,WAAW;AACb,EAAE,WAAW;AACb,EAAE,UAAU,GAAG,IAAI;AACnB,EAAE,WAAW;AACb,EAAE,OAAO;AACT,EAAE,UAAU;AACZ,EAAE,UAAU,GAAG,IAAI;AACnB,EAAE,YAAY;AACd,EAAE,OAAO,GAAG,MAAM;AAClB,GAAG;AACH,CAAC,KAAK;AACN,EAAE,MAAM,UAAU,GAAG,WAAW,GAAG,iBAAiB,GAAG,eAAe,CAAC;AACvE,EAAE,MAAM,kBAAkB,GAAG,WAAW,GAAG,UAAU,CAAC,WAAW,GAAG,UAAU,CAAC,MAAM,CAAC;AACtF,EAAE,MAAM,YAAY,GAAG,iBAAiB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;AAC3D,EAAE,MAAM,aAAa,GAAG,UAAU,IAAI,UAAU,GAAG,CAAC,GAAG,QAAQ,GAAG,OAAO,CAAC;AAC1E,EAAE,MAAM,gBAAgB,GAAG,UAAU,IAAI,UAAU,KAAK,CAAC,CAAC;AAC1D,EAAE,uBAAuB,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AACpD,IAAI,SAAS,EAAE,CAAC,2IAA2I,CAAC;AAC5J,GAAG,kBAAkB,KAAK,CAAC,aAAa,CAAC,SAAS,EAAE;AACpD,IAAI,SAAS,EAAE,CAAC,wBAAwB,EAAE,UAAU,CAAC,2DAA2D,CAAC;AACjH,GAAG,EAAE,WAAW,oBAAoB,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AAC/D,IAAI,SAAS,EAAE,2CAA2C;AAC1D,IAAI,GAAG,EAAE,WAAW,IAAI,IAAI,GAAG,WAAW,GAAG,EAAE;AAC/C,IAAI,GAAG,EAAE,8BAA8B;AACvC,GAAG,CAAC,EAAE,CAAC,CAAC,WAAW,IAAI,WAAW,KAAK,EAAE,qBAAqB,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE;AAC1F,IAAI,SAAS,EAAE,8CAA8C;AAC7D,IAAI,KAAK,EAAE,SAAS;AACpB,GAAG,CAAC,EAAE,UAAU,IAAI,gBAAgB,oBAAoB,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AACnF,IAAI,SAAS,EAAE,oLAAoL;AACnM,GAAG,kBAAkB,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AAChD,IAAI,GAAG,EAAE,YAAY;AACrB,IAAI,SAAS,EAAE,2CAA2C;AAC1D,GAAG,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,aAAa,CAAC,EAAE,WAAW,oBAAoB,KAAK,CAAC,aAAa,CAAC,iBAAiB,EAAE;AAClH,IAAI,OAAO;AACX,IAAI,OAAO,EAAE,YAAY;AACzB,IAAI,SAAS,EAAE,+BAA+B;AAC9C,GAAG,CAAC,CAAC,kBAAkB,KAAK,CAAC,aAAa,CAAC,SAAS,EAAE;AACtD,IAAI,SAAS,EAAE,2DAA2D;AAC1E,GAAG,kBAAkB,KAAK,CAAC,aAAa,CAAC,GAAG,EAAE;AAC9C,IAAI,SAAS,EAAE,gEAAgE;AAC/E,GAAG,EAAE,KAAK,CAAC,CAAC,kBAAkB,KAAK,CAAC,aAAa,CAAC,SAAS,EAAE;AAC7D,IAAI,SAAS,EAAE,0DAA0D;AACzE,GAAG,EAAE,UAAU,oBAAoB,KAAK,CAAC,aAAa,CAAC,WAAW,EAAE;AACpE,IAAI,OAAO;AACX,IAAI,aAAa,EAAE,IAAI;AACvB,IAAI,IAAI,EAAE,kBAAkB;AAC5B,IAAI,UAAU,EAAE,SAAS;AACzB,GAAG,CAAC,CAAC,CAAC,CAAC;AACP;;;;"}
@@ -0,0 +1,24 @@
1
+ import React from 'react';
2
+ import { C as CheckmarkSvg } from './RoundedPill-b4f1607a.js';
3
+
4
+ const CircleCheckButton = ({
5
+ checked,
6
+ onClick,
7
+ bgColor,
8
+ className = ""
9
+ }) => {
10
+ const backgroundColor = checked ? "bg-emerald-700" : bgColor ? bgColor : "bg-gray-50";
11
+ const handleClick = () => {
12
+ onClick == null ? void 0 : onClick();
13
+ };
14
+ return /* @__PURE__ */ React.createElement("button", {
15
+ type: "button",
16
+ onClick: handleClick,
17
+ className: `w-[32px] h-[32px] flex items-center justify-center border-4 border-gray-50 rounded-full text-gray-700 ${backgroundColor} ${className}`
18
+ }, /* @__PURE__ */ React.createElement(CheckmarkSvg, {
19
+ color: "#ffffff"
20
+ }));
21
+ };
22
+
23
+ export { CircleCheckButton as C };
24
+ //# sourceMappingURL=CircleCheckButton-251f4bbd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CircleCheckButton-251f4bbd.js","sources":["../../src/components/CircleCheckButton/CircleCheckButton.tsx"],"sourcesContent":["import React from 'react';\nimport { CircleCheckButtonProps } from '../../types';\nimport { CheckmarkSvg } from '../RoundedPill';\n\nexport const CircleCheckButton: React.FC<CircleCheckButtonProps> = ({\n checked,\n onClick,\n bgColor,\n className = '',\n}) => {\n const backgroundColor = checked ? 'bg-emerald-700' : bgColor ? bgColor : 'bg-gray-50';\n\n const handleClick = () => {\n onClick?.();\n };\n\n return (\n <button\n type=\"button\"\n onClick={handleClick}\n className={`w-[32px] h-[32px] flex items-center justify-center border-4 border-gray-50 rounded-full text-gray-700 ${backgroundColor} ${className}`}\n >\n <CheckmarkSvg color=\"#ffffff\" />\n </button>\n );\n};\n\nexport default CircleCheckButton;\n"],"names":[],"mappings":";;;AAEY,MAAC,iBAAiB,GAAG,CAAC;AAClC,EAAE,OAAO;AACT,EAAE,OAAO;AACT,EAAE,OAAO;AACT,EAAE,SAAS,GAAG,EAAE;AAChB,CAAC,KAAK;AACN,EAAE,MAAM,eAAe,GAAG,OAAO,GAAG,gBAAgB,GAAG,OAAO,GAAG,OAAO,GAAG,YAAY,CAAC;AACxF,EAAE,MAAM,WAAW,GAAG,MAAM;AAC5B,IAAI,OAAO,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,OAAO,EAAE,CAAC;AACzC,GAAG,CAAC;AACJ,EAAE,uBAAuB,KAAK,CAAC,aAAa,CAAC,QAAQ,EAAE;AACvD,IAAI,IAAI,EAAE,QAAQ;AAClB,IAAI,OAAO,EAAE,WAAW;AACxB,IAAI,SAAS,EAAE,CAAC,uGAAuG,EAAE,eAAe,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;AACvJ,GAAG,kBAAkB,KAAK,CAAC,aAAa,CAAC,YAAY,EAAE;AACvD,IAAI,KAAK,EAAE,SAAS;AACpB,GAAG,CAAC,CAAC,CAAC;AACN;;;;"}
@@ -1,5 +1,6 @@
1
1
  import React from 'react';
2
- import { I as ICONS_TO_SOURCE, a as Icons } from './icons-6138bb65.js';
2
+ import { I as Icons } from './index-e5252279.js';
3
+ import { I as ICONS_TO_SOURCE } from './icons-e7cf7735.js';
3
4
 
4
5
  const CountCircle = ({
5
6
  size = "auto",
@@ -56,4 +57,4 @@ const CircleIcon = ({
56
57
  };
57
58
 
58
59
  export { CountCircle as C, CircleIcon as a };
59
- //# sourceMappingURL=CircleIcon-f11c1db9.js.map
60
+ //# sourceMappingURL=CircleIcon-c96790bf.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CircleIcon-f11c1db9.js","sources":["../../src/components/CircleIcon/CircleIcon.tsx"],"sourcesContent":["import React from 'react';\n\nimport { Icons } from '../../types';\nimport { ICONS_TO_SOURCE } from '../../constants/icons';\n\nexport type CircleIconProps = {\n iconSrc?: string;\n count?: string | number;\n onClick?: () => void;\n bgColor?: string;\n innerPadding?: string;\n size?: string;\n hideCount?: boolean;\n borderColor?: string;\n};\n\nexport type CountCircleProps = {\n size?: string;\n count?: string | number;\n innerPadding?: string;\n onClick?: () => {};\n bgColor?: string;\n className?: string;\n};\n\nexport const CountCircle: React.FC<CountCircleProps> = ({\n size = 'auto',\n count = '28',\n innerPadding = '3px 5px',\n className,\n onClick = () => {},\n bgColor = 'bg-grayscale-50',\n}) => {\n const style = {\n width: size,\n height: size,\n padding: innerPadding,\n };\n\n return (\n <section\n onClick={onClick}\n className={`${bgColor} rounded-full circle-icon-wrapper text-center absolute right-[-15px] top-[-15px] min-w-[25px] ${className}`}\n style={style}\n >\n <div className={`h-full`}>\n <p className=\"h-full line-clamp-1 font-semibold text-grayscale-900 text-[12px]\">\n {count}\n </p>\n </div>\n </section>\n );\n};\n\nexport const CircleIcon: React.FC<CircleIconProps> = ({\n iconSrc = ICONS_TO_SOURCE[Icons.coinsIcon],\n size = '52px',\n count = '28',\n innerPadding = '6px',\n onClick = () => {},\n bgColor = 'bg-grayscale-900',\n hideCount = true,\n}) => {\n const style = {\n width: size,\n height: size,\n padding: innerPadding,\n };\n\n return (\n <section\n onClick={onClick}\n className={`${bgColor} rounded-full circle-icon-wrapper p-[0px] m-[0px]`}\n style={style}\n >\n <div className={`relative w-full h-full`}>\n {!hideCount && <CountCircle count={count} />}\n <img className=\"h-full w-full object-cover\" src={iconSrc ?? ''} alt=\"Icon image\" />\n </div>\n </section>\n );\n};\n\nexport default CircleIcon;\n"],"names":[],"mappings":";;;AAGY,MAAC,WAAW,GAAG,CAAC;AAC5B,EAAE,IAAI,GAAG,MAAM;AACf,EAAE,KAAK,GAAG,IAAI;AACd,EAAE,YAAY,GAAG,SAAS;AAC1B,EAAE,SAAS;AACX,EAAE,OAAO,GAAG,MAAM;AAClB,GAAG;AACH,EAAE,OAAO,GAAG,iBAAiB;AAC7B,CAAC,KAAK;AACN,EAAE,MAAM,KAAK,GAAG;AAChB,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,OAAO,EAAE,YAAY;AACzB,GAAG,CAAC;AACJ,EAAE,uBAAuB,KAAK,CAAC,aAAa,CAAC,SAAS,EAAE;AACxD,IAAI,OAAO;AACX,IAAI,SAAS,EAAE,CAAC,EAAE,OAAO,CAAC,8FAA8F,EAAE,SAAS,CAAC,CAAC;AACrI,IAAI,KAAK;AACT,GAAG,kBAAkB,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AAChD,IAAI,SAAS,EAAE,CAAC,MAAM,CAAC;AACvB,GAAG,kBAAkB,KAAK,CAAC,aAAa,CAAC,GAAG,EAAE;AAC9C,IAAI,SAAS,EAAE,kEAAkE;AACjF,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;AACd,EAAE;AACU,MAAC,UAAU,GAAG,CAAC;AAC3B,EAAE,OAAO,GAAG,eAAe,CAAC,KAAK,CAAC,SAAS,CAAC;AAC5C,EAAE,IAAI,GAAG,MAAM;AACf,EAAE,KAAK,GAAG,IAAI;AACd,EAAE,YAAY,GAAG,KAAK;AACtB,EAAE,OAAO,GAAG,MAAM;AAClB,GAAG;AACH,EAAE,OAAO,GAAG,kBAAkB;AAC9B,EAAE,SAAS,GAAG,IAAI;AAClB,CAAC,KAAK;AACN,EAAE,MAAM,KAAK,GAAG;AAChB,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,OAAO,EAAE,YAAY;AACzB,GAAG,CAAC;AACJ,EAAE,uBAAuB,KAAK,CAAC,aAAa,CAAC,SAAS,EAAE;AACxD,IAAI,OAAO;AACX,IAAI,SAAS,EAAE,CAAC,EAAE,OAAO,CAAC,iDAAiD,CAAC;AAC5E,IAAI,KAAK;AACT,GAAG,kBAAkB,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AAChD,IAAI,SAAS,EAAE,CAAC,sBAAsB,CAAC;AACvC,GAAG,EAAE,CAAC,SAAS,oBAAoB,KAAK,CAAC,aAAa,CAAC,WAAW,EAAE;AACpE,IAAI,KAAK;AACT,GAAG,CAAC,kBAAkB,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AACjD,IAAI,SAAS,EAAE,4BAA4B;AAC3C,IAAI,GAAG,EAAE,OAAO,IAAI,IAAI,GAAG,OAAO,GAAG,EAAE;AACvC,IAAI,GAAG,EAAE,YAAY;AACrB,GAAG,CAAC,CAAC,CAAC,CAAC;AACP;;;;"}
1
+ {"version":3,"file":"CircleIcon-c96790bf.js","sources":["../../src/components/CircleIcon/CircleIcon.tsx"],"sourcesContent":["import React from 'react';\n\nimport { Icons } from '../../types';\nimport { ICONS_TO_SOURCE } from '../../constants/icons';\n\nexport type CircleIconProps = {\n iconSrc?: string;\n count?: string | number;\n onClick?: () => void;\n bgColor?: string;\n innerPadding?: string;\n size?: string;\n hideCount?: boolean;\n borderColor?: string;\n};\n\nexport type CountCircleProps = {\n size?: string;\n count?: string | number;\n innerPadding?: string;\n onClick?: () => {};\n bgColor?: string;\n className?: string;\n};\n\nexport const CountCircle: React.FC<CountCircleProps> = ({\n size = 'auto',\n count = '28',\n innerPadding = '3px 5px',\n className,\n onClick = () => {},\n bgColor = 'bg-grayscale-50',\n}) => {\n const style = {\n width: size,\n height: size,\n padding: innerPadding,\n };\n\n return (\n <section\n onClick={onClick}\n className={`${bgColor} rounded-full circle-icon-wrapper text-center absolute right-[-15px] top-[-15px] min-w-[25px] ${className}`}\n style={style}\n >\n <div className={`h-full`}>\n <p className=\"h-full line-clamp-1 font-semibold text-grayscale-900 text-[12px]\">\n {count}\n </p>\n </div>\n </section>\n );\n};\n\nexport const CircleIcon: React.FC<CircleIconProps> = ({\n iconSrc = ICONS_TO_SOURCE[Icons.coinsIcon],\n size = '52px',\n count = '28',\n innerPadding = '6px',\n onClick = () => {},\n bgColor = 'bg-grayscale-900',\n hideCount = true,\n}) => {\n const style = {\n width: size,\n height: size,\n padding: innerPadding,\n };\n\n return (\n <section\n onClick={onClick}\n className={`${bgColor} rounded-full circle-icon-wrapper p-[0px] m-[0px]`}\n style={style}\n >\n <div className={`relative w-full h-full`}>\n {!hideCount && <CountCircle count={count} />}\n <img className=\"h-full w-full object-cover\" src={iconSrc ?? ''} alt=\"Icon image\" />\n </div>\n </section>\n );\n};\n\nexport default CircleIcon;\n"],"names":[],"mappings":";;;;AAGY,MAAC,WAAW,GAAG,CAAC;AAC5B,EAAE,IAAI,GAAG,MAAM;AACf,EAAE,KAAK,GAAG,IAAI;AACd,EAAE,YAAY,GAAG,SAAS;AAC1B,EAAE,SAAS;AACX,EAAE,OAAO,GAAG,MAAM;AAClB,GAAG;AACH,EAAE,OAAO,GAAG,iBAAiB;AAC7B,CAAC,KAAK;AACN,EAAE,MAAM,KAAK,GAAG;AAChB,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,OAAO,EAAE,YAAY;AACzB,GAAG,CAAC;AACJ,EAAE,uBAAuB,KAAK,CAAC,aAAa,CAAC,SAAS,EAAE;AACxD,IAAI,OAAO;AACX,IAAI,SAAS,EAAE,CAAC,EAAE,OAAO,CAAC,8FAA8F,EAAE,SAAS,CAAC,CAAC;AACrI,IAAI,KAAK;AACT,GAAG,kBAAkB,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AAChD,IAAI,SAAS,EAAE,CAAC,MAAM,CAAC;AACvB,GAAG,kBAAkB,KAAK,CAAC,aAAa,CAAC,GAAG,EAAE;AAC9C,IAAI,SAAS,EAAE,kEAAkE;AACjF,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;AACd,EAAE;AACU,MAAC,UAAU,GAAG,CAAC;AAC3B,EAAE,OAAO,GAAG,eAAe,CAAC,KAAK,CAAC,SAAS,CAAC;AAC5C,EAAE,IAAI,GAAG,MAAM;AACf,EAAE,KAAK,GAAG,IAAI;AACd,EAAE,YAAY,GAAG,KAAK;AACtB,EAAE,OAAO,GAAG,MAAM;AAClB,GAAG;AACH,EAAE,OAAO,GAAG,kBAAkB;AAC9B,EAAE,SAAS,GAAG,IAAI;AAClB,CAAC,KAAK;AACN,EAAE,MAAM,KAAK,GAAG;AAChB,IAAI,KAAK,EAAE,IAAI;AACf,IAAI,MAAM,EAAE,IAAI;AAChB,IAAI,OAAO,EAAE,YAAY;AACzB,GAAG,CAAC;AACJ,EAAE,uBAAuB,KAAK,CAAC,aAAa,CAAC,SAAS,EAAE;AACxD,IAAI,OAAO;AACX,IAAI,SAAS,EAAE,CAAC,EAAE,OAAO,CAAC,iDAAiD,CAAC;AAC5E,IAAI,KAAK;AACT,GAAG,kBAAkB,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AAChD,IAAI,SAAS,EAAE,CAAC,sBAAsB,CAAC;AACvC,GAAG,EAAE,CAAC,SAAS,oBAAoB,KAAK,CAAC,aAAa,CAAC,WAAW,EAAE;AACpE,IAAI,KAAK;AACT,GAAG,CAAC,kBAAkB,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AACjD,IAAI,SAAS,EAAE,4BAA4B;AAC3C,IAAI,GAAG,EAAE,OAAO,IAAI,IAAI,GAAG,OAAO,GAAG,EAAE;AACvC,IAAI,GAAG,EAAE,YAAY;AACrB,GAAG,CAAC,CAAC,CAAC,CAAC;AACP;;;;"}
@@ -59,7 +59,7 @@ const CourseCard = ({
59
59
  }, "\u2022"), /* @__PURE__ */ React.createElement("span", {
60
60
  className: "text-grayscale-500"
61
61
  }, semester)), /* @__PURE__ */ React.createElement("p", {
62
- className: "course-card-title text-sm font-semibold"
62
+ className: "course-card-title text-sm font-semibold line-clamp-2"
63
63
  }, title), /* @__PURE__ */ React.createElement("div", {
64
64
  className: "course-card-counts-container flex items-center mt-[5px]"
65
65
  }, /* @__PURE__ */ React.createElement(CourseCardStatBubble, {
@@ -78,4 +78,4 @@ const CourseCard = ({
78
78
  };
79
79
 
80
80
  export { CourseCard as C };
81
- //# sourceMappingURL=CourseCard-4639b301.js.map
81
+ //# sourceMappingURL=CourseCard-f3a2c5c0.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CourseCard-f3a2c5c0.js","sources":["../../src/components/CourseCard/CourseCard.tsx"],"sourcesContent":["import React from 'react';\nimport { CourseCardProps } from '../../types';\nimport CourseCardPlaceholder from '../../assets/images/lhplaceholder.png';\n\nimport MiniTrophyIcon from '../../assets/images/minitrophy.svg';\nimport MiniJobIcon from '../../assets/images/minijob.svg';\nimport MiniPuzzleIcon from '../../assets/images/minipuzzle.svg';\n\nconst TYPE_TO_COURSE_MINI_ICON: any = {\n ['job']: MiniJobIcon,\n ['achievement']: MiniTrophyIcon,\n ['skill']: MiniPuzzleIcon,\n};\n\nconst TYPE_TO_COLOR: any = {\n ['job']: 'bg-emerald-700',\n ['achievement']: 'bg-spice-500',\n ['skill']: 'bg-indigo-500',\n};\n\ntype CourseCardStatBubbleProps = {\n count: number | string;\n type: string;\n className?: string;\n};\n\nconst CourseCardStatBubble: React.FC<CourseCardStatBubbleProps> = ({\n count = 0,\n type = 'job',\n className,\n}) => {\n const imgSrc = TYPE_TO_COURSE_MINI_ICON[type];\n const bgColor = TYPE_TO_COLOR[type];\n\n return (\n <div\n className={`course-card-stat-bubble px-[10px] rounded-[30px] flex ${bgColor} min-w-[48px] max-w-[80px] h-[30px] items-center ${className}`}\n >\n <img src={imgSrc} className=\"pr-[5px]\" />\n <span className=\"flex items-center text-sm text-white\">{count}</span>\n </div>\n );\n};\n\nexport const CourseCard: React.FC<CourseCardProps> = ({\n status = 'Enrolled',\n title = 'MECH 1340 Digital Fundamentals and Programmable Logic Controllers',\n semester = 'Fall 2022',\n jobCount = 1,\n achievementCount = 4,\n thumbSrc,\n skillCount = 9,\n className,\n onClick = () => {},\n}) => {\n return (\n <div\n onClick={onClick}\n className={`flex shadow-[0_0_8px_0px_rgba(0,0,0,0.2)] relative $ py-[10px] px-[15px] max-w-[400px] h-[130px] rounded-[20px] ${className}`}\n >\n <img\n src={CourseCardPlaceholder}\n className=\"course-card-img w-[100px] h-[111px] mr-[10px]\"\n />\n\n <div className=\"course-card-detail-info flex flex-col justify-between\">\n <div className=\"text-sm\">\n <span className=\"text-emerald-700 font-semibold\">{status}</span>\n <span className=\"spacer-dot mx-[3px]\">•</span>\n <span className=\"text-grayscale-500\">{semester}</span>\n </div>\n <p className=\"course-card-title text-sm font-semibold line-clamp-2\">{title}</p>\n <div className=\"course-card-counts-container flex items-center mt-[5px]\">\n <CourseCardStatBubble type={'job'} count={jobCount} className={'mr-[5px]'} />\n <CourseCardStatBubble\n type={'achievement'}\n count={achievementCount}\n className={'mr-[5px]'}\n />\n <CourseCardStatBubble\n type={'skill'}\n count={skillCount}\n className={'mr-[0px]'}\n />\n </div>\n </div>\n </div>\n );\n};\n\nexport default CourseCard;\n"],"names":["MiniTrophyIcon","MiniPuzzleIcon"],"mappings":"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"}
@@ -0,0 +1,87 @@
1
+ import React from 'react';
2
+ import CourseCardPlaceholder from './lhplaceholder.png';
3
+ import trophylight from './minitrophy.svg';
4
+ import MiniJobIcon from './minijob.svg';
5
+ import puzzlelight from './minipuzzle.svg';
6
+ import { L as LCSubtypes } from './index-e5252279.js';
7
+ import { C as CircleCheckButton } from './CircleCheckButton-251f4bbd.js';
8
+ import { R as RoundedPill } from './RoundedPill-b4f1607a.js';
9
+
10
+ const TYPE_TO_COURSE_MINI_ICON = {
11
+ ["job"]: MiniJobIcon,
12
+ ["achievement"]: trophylight,
13
+ ["skill"]: puzzlelight
14
+ };
15
+ const TYPE_TO_COLOR = {
16
+ ["job"]: "bg-emerald-700",
17
+ ["achievement"]: "bg-spice-500",
18
+ ["skill"]: "bg-indigo-500"
19
+ };
20
+ const CourseCardStatBubble = ({
21
+ count = 0,
22
+ type = LCSubtypes.job,
23
+ className
24
+ }) => {
25
+ const imgSrc = TYPE_TO_COURSE_MINI_ICON[type];
26
+ const bgColor = TYPE_TO_COLOR[type];
27
+ return /* @__PURE__ */ React.createElement("div", {
28
+ className: `course-card-stat-bubble px-[10px] rounded-[30px] flex ${bgColor} min-w-[48px] max-w-[80px] h-[30px] items-center ${className}`
29
+ }, /* @__PURE__ */ React.createElement("img", {
30
+ src: imgSrc,
31
+ className: "pr-[5px]"
32
+ }), /* @__PURE__ */ React.createElement("span", {
33
+ className: "flex items-center text-sm text-white"
34
+ }, count));
35
+ };
36
+ const CourseVerticalCard = ({
37
+ className,
38
+ title,
39
+ thumbImgSrc,
40
+ showStatus,
41
+ claimStatus = false,
42
+ achievementCount = 0,
43
+ skillCount = 0,
44
+ checked,
45
+ showChecked,
46
+ onCheckClick,
47
+ onClick
48
+ }) => {
49
+ const claimBtnStatusType = claimStatus ? LCSubtypes.course : LCSubtypes.locked;
50
+ return /* @__PURE__ */ React.createElement("div", {
51
+ onClick,
52
+ className: `flex flex-col shadow-[0_0_8px_0px_rgba(0,0,0,0.2)] relative $ py-[8px] px-[8px] w-[190px] h-[265px] rounded-[20px] ${className}`
53
+ }, /* @__PURE__ */ React.createElement("section", {
54
+ className: `relative flex h-[120px] flex-col justify-center items-center w-full rounded-[20px]`
55
+ }, /* @__PURE__ */ React.createElement("img", {
56
+ src: CourseCardPlaceholder,
57
+ className: "course-card-img h-full w-full object-cover rounded-[20px]"
58
+ }), showChecked && /* @__PURE__ */ React.createElement(CircleCheckButton, {
59
+ checked,
60
+ onClick: onCheckClick,
61
+ className: "absolute top-[5px] left-[5px]"
62
+ })), /* @__PURE__ */ React.createElement("div", {
63
+ className: "course-card-detail-info flex flex-col justify-between"
64
+ }, /* @__PURE__ */ React.createElement("p", {
65
+ className: "course-card-title text-sm text-center font-semibold line-clamp-2 mt-[4px]"
66
+ }, title), /* @__PURE__ */ React.createElement("div", {
67
+ className: "course-card-counts-container flex items-center justify-center my-[5px]"
68
+ }, /* @__PURE__ */ React.createElement(CourseCardStatBubble, {
69
+ type: "achievement",
70
+ count: achievementCount,
71
+ className: "mr-[5px]"
72
+ }), /* @__PURE__ */ React.createElement(CourseCardStatBubble, {
73
+ type: "skill",
74
+ count: skillCount,
75
+ className: "mr-[0px]"
76
+ }))), showStatus && /* @__PURE__ */ React.createElement("div", {
77
+ className: "course-card-footer absolute bottom-[6px] left-[5px]"
78
+ }, /* @__PURE__ */ React.createElement(RoundedPill, {
79
+ onClick,
80
+ showCheckmark: true,
81
+ type: claimBtnStatusType,
82
+ statusText: "Passed"
83
+ })));
84
+ };
85
+
86
+ export { CourseVerticalCard as C };
87
+ //# sourceMappingURL=CourseVerticalCard-11cf10a3.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CourseVerticalCard-11cf10a3.js","sources":["../../src/components/CourseVerticalCard/CourseVerticalCard.tsx"],"sourcesContent":["import React from 'react';\nimport { CourseCardVerticalProps } from '../../types';\nimport { CircleCheckButton } from '../CircleCheckButton';\nimport CourseCardPlaceholder from '../../assets/images/lhplaceholder.png';\nimport { RoundedPill } from '../RoundedPill';\nimport MiniTrophyIcon from '../../assets/images/minitrophy.svg';\nimport MiniJobIcon from '../../assets/images/minijob.svg';\nimport MiniPuzzleIcon from '../../assets/images/minipuzzle.svg';\nimport { LCSubtypes } from '../../types';\n\nconst TYPE_TO_COURSE_MINI_ICON: any = {\n ['job']: MiniJobIcon,\n ['achievement']: MiniTrophyIcon,\n ['skill']: MiniPuzzleIcon,\n};\n\nconst TYPE_TO_COLOR: any = {\n ['job']: 'bg-emerald-700',\n ['achievement']: 'bg-spice-500',\n ['skill']: 'bg-indigo-500',\n};\n\ntype CourseCardStatBubbleProps = {\n count: number | string;\n type: string;\n className?: string;\n};\n\nconst CourseCardStatBubble: React.FC<CourseCardStatBubbleProps> = ({\n count = 0,\n type = LCSubtypes.job,\n className,\n}) => {\n const imgSrc = TYPE_TO_COURSE_MINI_ICON[type];\n const bgColor = TYPE_TO_COLOR[type];\n\n return (\n <div\n className={`course-card-stat-bubble px-[10px] rounded-[30px] flex ${bgColor} min-w-[48px] max-w-[80px] h-[30px] items-center ${className}`}\n >\n <img src={imgSrc} className=\"pr-[5px]\" />\n <span className=\"flex items-center text-sm text-white\">{count}</span>\n </div>\n );\n};\n\nexport const CourseVerticalCard: React.FC<CourseCardVerticalProps> = ({\n className,\n title,\n thumbImgSrc,\n showStatus,\n claimStatus = false,\n achievementCount = 0,\n skillCount = 0,\n checked,\n showChecked,\n onCheckClick,\n onClick,\n}) => {\n const claimBtnStatusType = claimStatus ? LCSubtypes.course : LCSubtypes.locked;\n\n return (\n <div\n onClick={onClick}\n className={`flex flex-col shadow-[0_0_8px_0px_rgba(0,0,0,0.2)] relative $ py-[8px] px-[8px] w-[190px] h-[265px] rounded-[20px] ${className}`}\n >\n <section\n className={`relative flex h-[120px] flex-col justify-center items-center w-full rounded-[20px]`}\n >\n <img\n src={CourseCardPlaceholder}\n className=\"course-card-img h-full w-full object-cover rounded-[20px]\"\n />\n\n {showChecked && (\n <CircleCheckButton\n checked={checked}\n onClick={onCheckClick}\n className=\"absolute top-[5px] left-[5px]\"\n />\n )}\n </section>\n\n <div className=\"course-card-detail-info flex flex-col justify-between\">\n <p className=\"course-card-title text-sm text-center font-semibold line-clamp-2 mt-[4px]\">\n {title}\n </p>\n <div className=\"course-card-counts-container flex items-center justify-center my-[5px]\">\n <CourseCardStatBubble\n type={'achievement'}\n count={achievementCount}\n className={'mr-[5px]'}\n />\n <CourseCardStatBubble\n type={'skill'}\n count={skillCount}\n className={'mr-[0px]'}\n />\n </div>\n </div>\n {showStatus && (\n <div className=\"course-card-footer absolute bottom-[6px] left-[5px]\">\n <RoundedPill\n onClick={onClick}\n showCheckmark\n type={claimBtnStatusType}\n statusText={'Passed'}\n />\n </div>\n )}\n </div>\n );\n};\n\nexport default CourseVerticalCard;\n"],"names":["MiniTrophyIcon","MiniPuzzleIcon"],"mappings":"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"}
@@ -1,28 +1,30 @@
1
1
  import React from 'react';
2
- import { T as TYPE_TO_MINI_ICON } from './constants-e55bb833.js';
2
+ import { L as LCSubtypes } from './index-e5252279.js';
3
+ import { T as TYPE_TO_MINI_ICON } from './constants-3c35c9bd.js';
3
4
 
4
5
  const TYPE_TO_COLOR = {
5
- job: "bg-emerald-50",
6
+ course: "bg-emerald-50",
6
7
  achievement: "bg-spice-50",
7
8
  skill: "bg-indigo-50"
8
9
  };
9
10
  const TYPE_TO_TEXT_COLOR = {
10
- job: "text-emerald-700",
11
+ course: "text-emerald-700",
11
12
  achievement: "text-spice-500",
12
13
  skill: "text-indigo-600"
13
14
  };
14
15
  const JobListingBubble = ({
15
16
  count = 0,
16
- type = "job",
17
+ type = LCSubtypes.skill,
17
18
  className
18
19
  }) => {
19
20
  const imgSrc = TYPE_TO_MINI_ICON[type];
20
21
  const bgColor = TYPE_TO_COLOR[type];
21
22
  const textColor = TYPE_TO_TEXT_COLOR[type];
22
23
  return /* @__PURE__ */ React.createElement("div", {
23
- className: `course-card-stat-bubble px-[10px] rounded-[30px] flex ${bgColor} min-w-[48px] max-w-[100px] h-[30px] items-center ${className}`
24
+ className: `job-card-stat-bubble px-[10px] px-[5px] flex-nowrap rounded-[30px] flex ${bgColor} min-w-[48px] min-w-[90px] h-[30px] justify-center items-center ${className}`
24
25
  }, /* @__PURE__ */ React.createElement("img", {
25
- src: imgSrc
26
+ src: imgSrc,
27
+ className: "mr-[3px]"
26
28
  }), /* @__PURE__ */ React.createElement("span", {
27
29
  className: `flex items-center text-sm ${textColor} font-bold`
28
30
  }, count));
@@ -63,7 +65,7 @@ const JobListCard = ({
63
65
  if (locationRequirement && location)
64
66
  locationText = `${locationRequirement} \u2022 ${location}`;
65
67
  return /* @__PURE__ */ React.createElement("div", {
66
- className: `flex flex-col justify-between shadow-[0_0_8px_0px_rgba(0,0,0,0.2)] relative $ py-[10px] px-[15px] max-w-[400px] h-[260px] rounded-[20px] ${className}`
68
+ className: `flex flex-col justify-between shadow-[0_0_8px_0px_rgba(0,0,0,0.2)] relative $ py-[10px] px-[15px] max-w-[400px] min-h-[260px] rounded-[20px] ${className}`
67
69
  }, /* @__PURE__ */ React.createElement("div", {
68
70
  className: "job-listing-top flex"
69
71
  }, /* @__PURE__ */ React.createElement("div", {
@@ -86,19 +88,19 @@ const JobListCard = ({
86
88
  }, locationText))), /* @__PURE__ */ React.createElement("div", {
87
89
  className: "job-listing-qualifications mt-[10px]"
88
90
  }, /* @__PURE__ */ React.createElement("div", {
89
- className: "course-card-counts-container flex items-center"
91
+ className: "course-card-counts-container flex items-center flex-wrap"
90
92
  }, ((_m = qualificationDisplay == null ? void 0 : qualificationDisplay.courses) == null ? void 0 : _m.fulfilledCount) && /* @__PURE__ */ React.createElement(JobListingBubble, {
91
- type: "job",
93
+ type: LCSubtypes.course,
92
94
  count: courseCountDisplay,
93
- className: "mr-[5px]"
95
+ className: "mr-[5px] min-w-[100px]"
94
96
  }), ((_n = qualificationDisplay == null ? void 0 : qualificationDisplay.achievements) == null ? void 0 : _n.fulfilledCount) && /* @__PURE__ */ React.createElement(JobListingBubble, {
95
- type: "achievement",
97
+ type: LCSubtypes.achievement,
96
98
  count: achievementsCountDisplay,
97
- className: "mr-[5px]"
99
+ className: "mr-[5px] min-w-[100px]"
98
100
  }), ((_o = qualificationDisplay == null ? void 0 : qualificationDisplay.skills) == null ? void 0 : _o.fulfilledCount) && /* @__PURE__ */ React.createElement(JobListingBubble, {
99
- type: "skill",
101
+ type: LCSubtypes.skill,
100
102
  count: skillsCountDisplay,
101
- className: "mr-[0px]"
103
+ className: "mr-[0px min-w-[100px]]"
102
104
  }))), /* @__PURE__ */ React.createElement("button", {
103
105
  type: "button",
104
106
  onClick,
@@ -107,4 +109,4 @@ const JobListCard = ({
107
109
  };
108
110
 
109
111
  export { JobListingBubble as J, JobListCard as a };
110
- //# sourceMappingURL=JobListCard-ee0e644e.js.map
112
+ //# sourceMappingURL=JobListCard-51b725a9.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JobListCard-51b725a9.js","sources":["../../src/components/JobListCard/JobListCard.tsx"],"sourcesContent":["import React from 'react';\nimport { JobListCardProps } from '../../types';\nimport { TYPE_TO_MINI_ICON } from '../RoundedSquare';\nimport { LCSubtypes } from '../../types';\n\nconst TYPE_TO_COLOR: any = {\n course: 'bg-emerald-50',\n achievement: 'bg-spice-50',\n skill: 'bg-indigo-50',\n};\n\nconst TYPE_TO_TEXT_COLOR: any = {\n course : 'text-emerald-700',\n achievement: 'text-spice-500',\n skill: 'text-indigo-600',\n};\n\ntype JobListingBubbleProps = {\n count: number | string;\n type: LCSubtypes.course | LCSubtypes.achievement | LCSubtypes.skill;\n className?: string;\n};\n\nexport const JobListingBubble: React.FC<JobListingBubbleProps> = ({\n count = 0,\n type = LCSubtypes.skill,\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={`job-card-stat-bubble px-[10px] px-[5px] flex-nowrap rounded-[30px] flex ${bgColor} min-w-[48px] min-w-[90px] h-[30px] justify-center items-center ${className}`}\n >\n <img src={imgSrc} className=\"mr-[3px]\" />\n <span className={`flex items-center text-sm ${textColor} font-bold`}>{count}</span>\n </div>\n );\n};\n\nexport const JobListCard: React.FC<JobListCardProps> = ({\n company,\n className = 'job-listing-card',\n title,\n compensation,\n location,\n locationRequirement,\n timeRequirement,\n qualificationDisplay,\n percentQualifiedDisplay,\n postDateDisplay,\n imgThumb,\n isBookmarked,\n onBookmark,\n onClick,\n}) => {\n const courseCountDisplay = `${qualificationDisplay?.courses?.fulfilledCount ?? 0}/${\n qualificationDisplay?.courses?.totalRequiredCount ?? 0\n }`;\n const achievementsCountDisplay = `${qualificationDisplay?.achievements?.fulfilledCount ?? 0}/${\n qualificationDisplay?.achievements?.totalRequiredCount ?? 0\n }`;\n const skillsCountDisplay = `${qualificationDisplay?.skills?.fulfilledCount ?? 0}/${\n qualificationDisplay?.skills?.totalRequiredCount ?? 0\n }`;\n\n const qualifiedText = percentQualifiedDisplay\n ? `${percentQualifiedDisplay}% Qualified - Apply`\n : 'Apply';\n\n let topText = '';\n if (!compensation && timeRequirement) topText = timeRequirement;\n if (!timeRequirement && compensation) topText = compensation;\n if (timeRequirement && compensation) topText = `${compensation} • ${timeRequirement}`;\n\n let locationText = '';\n if (!location && locationRequirement) locationText = locationRequirement;\n if (!locationRequirement && location) locationText = location;\n if (locationRequirement && location) locationText = `${locationRequirement} • ${location}`;\n\n return (\n <div\n className={`flex flex-col justify-between shadow-[0_0_8px_0px_rgba(0,0,0,0.2)] relative $ py-[10px] px-[15px] max-w-[400px] min-h-[260px] rounded-[20px] ${className}`}\n >\n <div className=\"job-listing-top flex\">\n <div className=\"flex text-grayscale-500 text-xs uppercase w-full line-clamp-1\">\n {topText}\n </div>\n </div>\n <p className=\"text-grayscale-500 text-xs line-clamp-1 flex-shrink-0\">\n {' '}\n {postDateDisplay}\n </p>\n\n <div className=\"job-listing-center flex mt-[5px]\">\n {imgThumb && (\n <img\n className=\"object-cover w-[80px] flex-shrink-0 items-center justify-center rounded-[15px] mr-[10px]\"\n src={imgThumb}\n />\n )}\n\n <div className=\"job-listing-description flex flex-col\">\n <h4 className=\"text-lg font-bold line-clamp-2\">{title}</h4>\n <p className=\"text-sm line-clamp-1\">{company}</p>\n <span className=\"text-sm line-clamp-1\">{locationText}</span>\n </div>\n </div>\n\n <div className=\"job-listing-qualifications mt-[10px]\">\n <div className=\"course-card-counts-container flex items-center flex-wrap\">\n {qualificationDisplay?.courses?.fulfilledCount && (\n <JobListingBubble\n type={LCSubtypes.course}\n count={courseCountDisplay}\n className={'mr-[5px] min-w-[100px]'}\n />\n )}\n {qualificationDisplay?.achievements?.fulfilledCount && (\n <JobListingBubble\n type={LCSubtypes.achievement}\n count={achievementsCountDisplay}\n className={'mr-[5px] min-w-[100px]'}\n />\n )}\n {qualificationDisplay?.skills?.fulfilledCount && (\n <JobListingBubble\n type={LCSubtypes.skill}\n count={skillsCountDisplay}\n className={'mr-[0px min-w-[100px]]'}\n />\n )}\n </div>\n </div>\n\n <button\n type=\"button\"\n onClick={onClick}\n className=\"mt-[10px] bg-cyan-700 py-[15px] px-[2px] rounded-[40px] text-grayscale-50 text-[17px] font-bold\"\n >\n {qualifiedText}\n </button>\n </div>\n );\n};\n\nexport default JobListCard;\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ import React from 'react';
2
+ import { L as LCSubtypes } from './index-e5252279.js';
3
+ import { T as TYPE_TO_MINI_ICON } from './constants-3c35c9bd.js';
4
+
5
+ const TYPE_TO_COLOR = {
6
+ [LCSubtypes.course]: "bg-emerald-50",
7
+ [LCSubtypes.achievement]: "bg-spice-50",
8
+ [LCSubtypes.skill]: "bg-indigo-50"
9
+ };
10
+ const TYPE_TO_TEXT_COLOR = {
11
+ [LCSubtypes.course]: "text-emerald-700",
12
+ [LCSubtypes.achievement]: "text-spice-500",
13
+ [LCSubtypes.skill]: "text-indigo-600"
14
+ };
15
+ const LearnPill = ({
16
+ count = 0,
17
+ type = LCSubtypes.course,
18
+ className
19
+ }) => {
20
+ const imgSrc = TYPE_TO_MINI_ICON[type];
21
+ const bgColor = TYPE_TO_COLOR[type];
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));
31
+ };
32
+
33
+ export { LearnPill as L };
34
+ //# sourceMappingURL=LearnPill-f4a13a3d.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LearnPill-f4a13a3d.js","sources":["../../src/components/LearnPill/LearnPill.tsx"],"sourcesContent":["import React from 'react';\nimport { LearnPillProps, LCSubtypes } from '../../types';\nimport { TYPE_TO_MINI_ICON } from '../RoundedSquare';\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":";;;;AAGA,MAAM,aAAa,GAAG;AACtB,EAAE,CAAC,UAAU,CAAC,MAAM,GAAG,eAAe;AACtC,EAAE,CAAC,UAAU,CAAC,WAAW,GAAG,aAAa;AACzC,EAAE,CAAC,UAAU,CAAC,KAAK,GAAG,cAAc;AACpC,CAAC,CAAC;AACF,MAAM,kBAAkB,GAAG;AAC3B,EAAE,CAAC,UAAU,CAAC,MAAM,GAAG,kBAAkB;AACzC,EAAE,CAAC,UAAU,CAAC,WAAW,GAAG,gBAAgB;AAC5C,EAAE,CAAC,UAAU,CAAC,KAAK,GAAG,iBAAiB;AACvC,CAAC,CAAC;AACU,MAAC,SAAS,GAAG,CAAC;AAC1B,EAAE,KAAK,GAAG,CAAC;AACX,EAAE,IAAI,GAAG,UAAU,CAAC,MAAM;AAC1B,EAAE,SAAS;AACX,CAAC,KAAK;AACN,EAAE,MAAM,MAAM,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;AACzC,EAAE,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;AACtC,EAAE,MAAM,SAAS,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;AAC7C,EAAE,uBAAuB,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AACpD,IAAI,SAAS,EAAE,CAAC,sDAAsD,EAAE,OAAO,CAAC,kDAAkD,EAAE,SAAS,CAAC,CAAC;AAC/I,GAAG,kBAAkB,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AAChD,IAAI,GAAG,EAAE,MAAM;AACf,IAAI,SAAS,EAAE,UAAU;AACzB,GAAG,CAAC,kBAAkB,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE;AAClD,IAAI,SAAS,EAAE,CAAC,0BAA0B,EAAE,SAAS,CAAC,UAAU,CAAC;AACjE,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;AACb;;;;"}
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { T as TYPE_TO_ICON } from './icons-6138bb65.js';
2
+ import { T as TYPE_TO_ICON } from './icons-e7cf7735.js';
3
3
 
4
4
  const TYPE_TO_BG_COLOR_CLASS = {
5
5
  skill: "indigo-50",
@@ -19,7 +19,7 @@ const TYPE_TO_CHECKMARK_COLOR = {
19
19
  course: "#00BA88",
20
20
  locked: "#52597A"
21
21
  };
22
- const Checkmark = ({ color = "#00BA88", size = "20" }) => {
22
+ const CheckmarkSvg = ({ color = "#00BA88", size = "20" }) => {
23
23
  return /* @__PURE__ */ React.createElement("svg", {
24
24
  width: size,
25
25
  height: size,
@@ -88,12 +88,12 @@ const RoundedPill = ({
88
88
  className: `font-semibold ${textColor} w-full flex items-center justify-center text-[14px]`
89
89
  }, showCheckmark && !locked && /* @__PURE__ */ React.createElement("span", {
90
90
  className: "rounded-pill-checkmark mr-[5px]"
91
- }, /* @__PURE__ */ React.createElement(Checkmark, {
91
+ }, /* @__PURE__ */ React.createElement(CheckmarkSvg, {
92
92
  color: checkColor
93
93
  })), locked && /* @__PURE__ */ React.createElement("span", {
94
94
  className: "rounded-pill-checkmark mr-[5px]"
95
95
  }, /* @__PURE__ */ React.createElement(LockedIcon, null)), displayText));
96
96
  };
97
97
 
98
- export { RoundedPill as R };
99
- //# sourceMappingURL=RoundedPill-75154146.js.map
98
+ export { CheckmarkSvg as C, RoundedPill as R };
99
+ //# sourceMappingURL=RoundedPill-b4f1607a.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RoundedPill-b4f1607a.js","sources":["../../src/components/RoundedPill/RoundedPill.tsx"],"sourcesContent":["import React from 'react';\nimport { TYPE_TO_ICON } from '../../constants/icons';\nimport { RoundedPillProps } from '../../types';\n\nconst TYPE_TO_BG_COLOR_CLASS: any = {\n skill: 'indigo-50',\n achievement: 'spice-50',\n course: 'emerald-50',\n locked: 'grayscale-100',\n};\n\nconst TYPE_TO_FOREGROUND_COLOR: any = {\n skill: 'indigo-500',\n achievement: 'spice-500',\n course: 'emerald-700',\n locked: 'grayscale-700',\n};\n\nconst TYPE_TO_CHECKMARK_COLOR: any = {\n skill: '#6366F1',\n achievement: '#FF5820',\n course: '#00BA88',\n locked: '#52597A',\n};\n\ntype InlineSVGProps = {\n color?: string;\n size?: string | number;\n};\n\nexport const CheckmarkSvg: React.FC<InlineSVGProps> = ({ color = '#00BA88', size = '20' }) => {\n return (\n <svg\n width={size}\n height={size}\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M16.875 5.62537L8.125 14.375L3.75 10.0004\"\n stroke={color}\n strokeWidth=\"3\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n );\n};\n\nconst LockedIcon: React.FC<InlineSVGProps> = ({ color = '#52597A', size = '20' }) => {\n return (\n <svg\n width={size}\n height={size}\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M16.25 6.875H3.75C3.40482 6.875 3.125 7.15482 3.125 7.5V16.25C3.125 16.5952 3.40482 16.875 3.75 16.875H16.25C16.5952 16.875 16.875 16.5952 16.875 16.25V7.5C16.875 7.15482 16.5952 6.875 16.25 6.875Z\"\n stroke={color}\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M7.1875 6.875V4.0625C7.1875 3.31658 7.48382 2.60121 8.01126 2.07376C8.53871 1.54632 9.25408 1.25 10 1.25C10.7459 1.25 11.4613 1.54632 11.9887 2.07376C12.5162 2.60121 12.8125 3.31658 12.8125 4.0625V6.875\"\n stroke={color}\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M10 13.125C10.6904 13.125 11.25 12.5654 11.25 11.875C11.25 11.1846 10.6904 10.625 10 10.625C9.30964 10.625 8.75 11.1846 8.75 11.875C8.75 12.5654 9.30964 13.125 10 13.125Z\"\n fill={color}\n />\n </svg>\n );\n};\n\nexport const RoundedPill: React.FC<RoundedPillProps> = ({\n statusText,\n type = 'skill',\n onClick,\n showCheckmark = false,\n}) => {\n const backgroundColor = `bg-${TYPE_TO_BG_COLOR_CLASS[type]}`;\n const iconBgColor = `bg-${TYPE_TO_FOREGROUND_COLOR[type]}`;\n const circleClass = `flex w-full items-center justify-center icon-display h-[40px] w-[40px] rounded-full ${iconBgColor} absolute flex-shrink-0 `;\n\n const handleClick = () => {\n onClick?.();\n };\n\n const iconSrc = TYPE_TO_ICON[type];\n const textColor = `text-${TYPE_TO_FOREGROUND_COLOR[type]}`;\n const checkColor = TYPE_TO_CHECKMARK_COLOR[type];\n const locked = type === 'locked';\n\n const displayText = !locked ? statusText : 'Locked';\n\n return (\n <button\n onClick={handleClick}\n className={`flex relative ${backgroundColor} items-center px-[5px] py-[2px] w-[180px] h-[46px] rounded-[40px] rounded-pill-el`}\n >\n {!locked && (\n <div className={circleClass}>\n <img\n className=\"h-full w-full object-cover max-h-[24px] max-w-[24px] flex-shrink-0 \"\n src={iconSrc ?? ''}\n alt=\"Icon image\"\n />\n </div>\n )}\n <span\n className={`font-semibold ${textColor} w-full flex items-center justify-center text-[14px]`}\n >\n {showCheckmark && !locked && (\n <span className=\"rounded-pill-checkmark mr-[5px]\">\n <CheckmarkSvg color={checkColor} />\n </span>\n )}\n {locked && (\n <span className=\"rounded-pill-checkmark mr-[5px]\">\n <LockedIcon />\n </span>\n )}\n\n {displayText}\n </span>\n </button>\n );\n};\n\nexport default RoundedPill;\n"],"names":[],"mappings":"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"}