@learncard/react 2.3.33 → 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.
- package/dist/cjs/AchievementCard-5176ae52.js +67 -0
- package/dist/cjs/AchievementCard-5176ae52.js.map +1 -0
- package/dist/cjs/CircleCheckButton-d0667cda.js +30 -0
- package/dist/cjs/CircleCheckButton-d0667cda.js.map +1 -0
- package/dist/cjs/{CircleIcon-45ef66fd.js → CircleIcon-ee5316e3.js} +4 -35
- package/dist/cjs/CircleIcon-ee5316e3.js.map +1 -0
- package/dist/cjs/{CourseCard-c3c13b2c.js → CourseCard-93680a14.js} +8 -8
- package/dist/cjs/CourseCard-93680a14.js.map +1 -0
- package/dist/cjs/CourseVerticalCard-8baa9517.js +97 -0
- package/dist/cjs/CourseVerticalCard-8baa9517.js.map +1 -0
- package/dist/cjs/{JobListCard-065f9225.js → JobListCard-b07e7c5b.js} +18 -26
- package/dist/cjs/JobListCard-b07e7c5b.js.map +1 -0
- package/dist/cjs/LearnPill-24d24a71.js +40 -0
- package/dist/cjs/LearnPill-24d24a71.js.map +1 -0
- package/dist/cjs/{Notification-92b06ed9.js → Notification-10b40c07.js} +8 -8
- package/dist/cjs/{Notification-92b06ed9.js.map → Notification-10b40c07.js.map} +1 -1
- package/dist/cjs/RoundedPill-64590d8d.js +106 -0
- package/dist/cjs/RoundedPill-64590d8d.js.map +1 -0
- package/dist/cjs/RoundedSquare-211d713f.js +54 -0
- package/dist/cjs/RoundedSquare-211d713f.js.map +1 -0
- package/dist/cjs/SkillTabCard-0ccad5eb.js +39 -0
- package/dist/cjs/SkillTabCard-0ccad5eb.js.map +1 -0
- package/dist/cjs/{SmallAchievementCard-dc95ef2b.js → SmallAchievementCard-c76701ce.js} +2 -1
- package/dist/cjs/SmallAchievementCard-c76701ce.js.map +1 -0
- package/dist/cjs/{Checkmark-66ed153f.js → User-b16d5499.js} +58 -58
- package/dist/cjs/User-b16d5499.js.map +1 -0
- package/dist/cjs/constants-43b3df0c.js +60 -0
- package/dist/cjs/constants-43b3df0c.js.map +1 -0
- package/dist/cjs/gradcaplight.svg +3 -0
- package/dist/cjs/icons-61ee0fb7.js +45 -0
- package/dist/cjs/icons-61ee0fb7.js.map +1 -0
- package/dist/cjs/index-732996e9.js +26 -0
- package/dist/cjs/index-732996e9.js.map +1 -0
- package/dist/cjs/index.js +39 -21
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/index10.js +14 -2
- package/dist/cjs/index10.js.map +1 -1
- package/dist/cjs/index11.js +3 -3
- package/dist/cjs/index12.js +5 -5
- package/dist/cjs/index13.js +13 -3
- package/dist/cjs/index13.js.map +1 -1
- package/dist/cjs/index14.js +2 -18
- package/dist/cjs/index14.js.map +1 -1
- package/dist/cjs/index15.js +3 -2
- package/dist/cjs/index15.js.map +1 -1
- package/dist/cjs/index16.js +5 -3
- package/dist/cjs/index16.js.map +1 -1
- package/dist/cjs/index17.js +3 -3
- package/dist/cjs/index18.js +14 -3
- package/dist/cjs/index18.js.map +1 -1
- package/dist/cjs/index19.js +28 -3
- package/dist/cjs/index19.js.map +1 -1
- package/dist/cjs/index2.js +26 -2
- package/dist/cjs/index2.js.map +1 -1
- package/dist/cjs/index20.js +2 -9
- package/dist/cjs/index20.js.map +1 -1
- package/dist/cjs/index21.js +3 -16
- package/dist/cjs/index21.js.map +1 -1
- package/dist/cjs/index22.js +3 -10
- package/dist/cjs/index22.js.map +1 -1
- package/dist/cjs/index23.js +15 -14
- package/dist/cjs/index23.js.map +1 -1
- package/dist/cjs/index24.js +7 -4
- package/dist/cjs/index24.js.map +1 -1
- package/dist/cjs/index25.js +3 -4
- package/dist/cjs/index25.js.map +1 -1
- package/dist/cjs/index26.js +9 -5
- package/dist/cjs/index26.js.map +1 -1
- package/dist/cjs/index27.js +13 -2
- package/dist/cjs/index27.js.map +1 -1
- package/dist/cjs/index28.js +19 -0
- package/dist/cjs/index28.js.map +1 -0
- package/dist/cjs/index29.js +23 -0
- package/dist/cjs/index29.js.map +1 -0
- package/dist/cjs/index3.js +2 -9
- package/dist/cjs/index3.js.map +1 -1
- package/dist/cjs/index30.js +9 -0
- package/dist/cjs/index30.js.map +1 -0
- package/dist/cjs/index31.js +13 -0
- package/dist/cjs/index31.js.map +1 -0
- package/dist/cjs/index32.js +14 -0
- package/dist/cjs/index32.js.map +1 -0
- package/dist/cjs/index33.js +14 -0
- package/dist/cjs/index33.js.map +1 -0
- package/dist/cjs/index4.js +13 -5
- package/dist/cjs/index4.js.map +1 -1
- package/dist/cjs/index5.js +14 -2
- package/dist/cjs/index5.js.map +1 -1
- package/dist/cjs/index6.js +1 -92
- package/dist/cjs/index6.js.map +1 -1
- package/dist/cjs/index7.js +17 -6
- package/dist/cjs/index7.js.map +1 -1
- package/dist/cjs/index8.js +2 -3
- package/dist/cjs/index8.js.map +1 -1
- package/dist/cjs/index9.js +110 -0
- package/dist/cjs/index9.js.map +1 -1
- package/dist/esm/AchievementCard-45a42963.js +61 -0
- package/dist/esm/AchievementCard-45a42963.js.map +1 -0
- package/dist/esm/CircleCheckButton-251f4bbd.js +24 -0
- package/dist/esm/CircleCheckButton-251f4bbd.js.map +1 -0
- package/dist/esm/{CircleIcon-7c21af00.js → CircleIcon-c96790bf.js} +4 -27
- package/dist/esm/CircleIcon-c96790bf.js.map +1 -0
- package/dist/esm/{CourseCard-b9e42233.js → CourseCard-f3a2c5c0.js} +6 -6
- package/dist/esm/CourseCard-f3a2c5c0.js.map +1 -0
- package/dist/esm/CourseVerticalCard-11cf10a3.js +87 -0
- package/dist/esm/CourseVerticalCard-11cf10a3.js.map +1 -0
- package/dist/esm/{JobListCard-261c8028.js → JobListCard-51b725a9.js} +18 -23
- package/dist/esm/JobListCard-51b725a9.js.map +1 -0
- package/dist/esm/LearnPill-f4a13a3d.js +34 -0
- package/dist/esm/LearnPill-f4a13a3d.js.map +1 -0
- package/dist/esm/{Notification-ddbb3c37.js → Notification-ac50790d.js} +2 -2
- package/dist/esm/{Notification-ddbb3c37.js.map → Notification-ac50790d.js.map} +1 -1
- package/dist/esm/RoundedPill-b4f1607a.js +99 -0
- package/dist/esm/RoundedPill-b4f1607a.js.map +1 -0
- package/dist/esm/{RoundedSquare-c3706147.js → RoundedSquare-16480fc1.js} +6 -34
- package/dist/esm/RoundedSquare-16480fc1.js.map +1 -0
- package/dist/esm/SkillTabCard-29010c5a.js +33 -0
- package/dist/esm/SkillTabCard-29010c5a.js.map +1 -0
- package/dist/esm/{SmallAchievementCard-44f6fef8.js → SmallAchievementCard-2d87ac82.js} +2 -1
- package/dist/esm/SmallAchievementCard-2d87ac82.js.map +1 -0
- package/dist/esm/{Checkmark-fb8086c5.js → User-d3aa7eb3.js} +58 -58
- package/dist/esm/User-d3aa7eb3.js.map +1 -0
- package/dist/esm/constants-3c35c9bd.js +43 -0
- package/dist/esm/constants-3c35c9bd.js.map +1 -0
- package/dist/esm/gradcaplight.svg +3 -0
- package/dist/esm/icons-e7cf7735.js +30 -0
- package/dist/esm/icons-e7cf7735.js.map +1 -0
- package/dist/esm/index-e5252279.js +23 -0
- package/dist/esm/index-e5252279.js.map +1 -0
- package/dist/esm/index.js +22 -12
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/index10.js +12 -1
- package/dist/esm/index10.js.map +1 -1
- package/dist/esm/index11.js +2 -2
- package/dist/esm/index12.js +4 -3
- package/dist/esm/index12.js.map +1 -1
- package/dist/esm/index13.js +12 -2
- package/dist/esm/index13.js.map +1 -1
- package/dist/esm/index14.js +1 -14
- package/dist/esm/index14.js.map +1 -1
- package/dist/esm/index15.js +2 -1
- package/dist/esm/index15.js.map +1 -1
- package/dist/esm/index16.js +3 -1
- package/dist/esm/index16.js.map +1 -1
- package/dist/esm/index17.js +2 -2
- package/dist/esm/index18.js +12 -2
- package/dist/esm/index18.js.map +1 -1
- package/dist/esm/index19.js +23 -2
- package/dist/esm/index19.js.map +1 -1
- package/dist/esm/index2.js +25 -1
- package/dist/esm/index2.js.map +1 -1
- package/dist/esm/index20.js +1 -2
- package/dist/esm/index20.js.map +1 -1
- package/dist/esm/index21.js +1 -15
- package/dist/esm/index21.js.map +1 -1
- package/dist/esm/index22.js +2 -9
- package/dist/esm/index22.js.map +1 -1
- package/dist/esm/index23.js +14 -13
- package/dist/esm/index23.js.map +1 -1
- package/dist/esm/index24.js +2 -4
- package/dist/esm/index24.js.map +1 -1
- package/dist/esm/index25.js +2 -3
- package/dist/esm/index25.js.map +1 -1
- package/dist/esm/index26.js +2 -3
- package/dist/esm/index26.js.map +1 -1
- package/dist/esm/index27.js +12 -1
- package/dist/esm/index27.js.map +1 -1
- package/dist/esm/index28.js +11 -0
- package/dist/esm/index28.js.map +1 -0
- package/dist/esm/index29.js +15 -0
- package/dist/esm/index29.js.map +1 -0
- package/dist/esm/index3.js +1 -7
- package/dist/esm/index3.js.map +1 -1
- package/dist/esm/index30.js +6 -0
- package/dist/esm/index30.js.map +1 -0
- package/dist/esm/index31.js +5 -0
- package/dist/esm/index31.js.map +1 -0
- package/dist/esm/index32.js +5 -0
- package/dist/esm/index32.js.map +1 -0
- package/dist/esm/index33.js +6 -0
- package/dist/esm/index33.js.map +1 -0
- package/dist/esm/index4.js +12 -4
- package/dist/esm/index4.js.map +1 -1
- package/dist/esm/index5.js +12 -1
- package/dist/esm/index5.js.map +1 -1
- package/dist/esm/index6.js +1 -55
- package/dist/esm/index6.js.map +1 -1
- package/dist/esm/index7.js +16 -4
- package/dist/esm/index7.js.map +1 -1
- package/dist/esm/index8.js +1 -2
- package/dist/esm/index8.js.map +1 -1
- package/dist/esm/index9.js +65 -0
- package/dist/esm/index9.js.map +1 -1
- package/dist/index.d.ts +110 -30
- package/dist/main.css +1 -1
- package/dist/main.js +1 -1
- package/package.json +1 -1
- package/dist/cjs/Checkmark-66ed153f.js.map +0 -1
- package/dist/cjs/CircleIcon-45ef66fd.js.map +0 -1
- package/dist/cjs/CourseCard-c3c13b2c.js.map +0 -1
- package/dist/cjs/JobListCard-065f9225.js.map +0 -1
- package/dist/cjs/RoundedSquare-718776c6.js +0 -91
- package/dist/cjs/RoundedSquare-718776c6.js.map +0 -1
- package/dist/cjs/SmallAchievementCard-dc95ef2b.js.map +0 -1
- package/dist/esm/Checkmark-fb8086c5.js.map +0 -1
- package/dist/esm/CircleIcon-7c21af00.js.map +0 -1
- package/dist/esm/CourseCard-b9e42233.js.map +0 -1
- package/dist/esm/JobListCard-261c8028.js.map +0 -1
- package/dist/esm/RoundedSquare-c3706147.js.map +0 -1
- package/dist/esm/SmallAchievementCard-44f6fef8.js.map +0 -1
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var React = require('react');
|
|
4
|
+
var index = require('./index-732996e9.js');
|
|
5
|
+
var constants = require('./constants-43b3df0c.js');
|
|
6
|
+
var Trophy = require('./Trophy-9ede7f2b.js');
|
|
7
|
+
var CircleCheckButton = require('./CircleCheckButton-d0667cda.js');
|
|
8
|
+
var RoundedPill = require('./RoundedPill-64590d8d.js');
|
|
9
|
+
|
|
10
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
11
|
+
|
|
12
|
+
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
13
|
+
|
|
14
|
+
const AchievementCard = ({
|
|
15
|
+
title = "Title Lorem Ipsum",
|
|
16
|
+
thumbImgSrc,
|
|
17
|
+
claimStatus,
|
|
18
|
+
showSkills = true,
|
|
19
|
+
showChecked,
|
|
20
|
+
checked,
|
|
21
|
+
skillCount,
|
|
22
|
+
showStatus = true,
|
|
23
|
+
onCheckClick,
|
|
24
|
+
onClick = () => {
|
|
25
|
+
}
|
|
26
|
+
}) => {
|
|
27
|
+
const thumbClass = thumbImgSrc ? "bg-grayscale-50" : "bg-indigo-200";
|
|
28
|
+
const claimBtnStatusType = claimStatus ? index.LCSubtypes.achievement : index.LCSubtypes.locked;
|
|
29
|
+
const skillIconSrc = constants.TYPE_TO_MINI_ICON[index.LCSubtypes.skill];
|
|
30
|
+
const skillCountTxt = skillCount && skillCount > 1 ? "Skills" : "Skill";
|
|
31
|
+
const showSkillCounter = showSkills && skillCount !== 0;
|
|
32
|
+
return /* @__PURE__ */ React__default["default"].createElement("div", {
|
|
33
|
+
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`
|
|
34
|
+
}, /* @__PURE__ */ React__default["default"].createElement("section", {
|
|
35
|
+
className: `relative flex h-[120px] ${thumbClass} flex-col justify-center items-center w-full rounded-[20px]`
|
|
36
|
+
}, thumbImgSrc && /* @__PURE__ */ React__default["default"].createElement("img", {
|
|
37
|
+
className: "h-full w-full object-cover rounded-[20px]",
|
|
38
|
+
src: thumbImgSrc != null ? thumbImgSrc : "",
|
|
39
|
+
alt: "Credential Achievement Image"
|
|
40
|
+
}), (!thumbImgSrc || thumbImgSrc === "") && /* @__PURE__ */ React__default["default"].createElement(Trophy.Trophy, {
|
|
41
|
+
className: "achievement-placeholder-trophy flex p-[15px]",
|
|
42
|
+
color: "#ffffff"
|
|
43
|
+
}), showSkills && showSkillCounter && /* @__PURE__ */ React__default["default"].createElement("div", {
|
|
44
|
+
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 "
|
|
45
|
+
}, /* @__PURE__ */ React__default["default"].createElement("img", {
|
|
46
|
+
src: skillIconSrc,
|
|
47
|
+
className: "flex items-center justify-center mr-[4px]"
|
|
48
|
+
}), "+", skillCount, " ", skillCountTxt), showChecked && /* @__PURE__ */ React__default["default"].createElement(CircleCheckButton.CircleCheckButton, {
|
|
49
|
+
checked,
|
|
50
|
+
onClick: onCheckClick,
|
|
51
|
+
className: "absolute top-[5px] left-[5px]"
|
|
52
|
+
})), /* @__PURE__ */ React__default["default"].createElement("section", {
|
|
53
|
+
className: "achievement-title w-full flex justify-center line-clamp-2"
|
|
54
|
+
}, /* @__PURE__ */ React__default["default"].createElement("p", {
|
|
55
|
+
className: "text-[14px] text-grayscale-900 font-bold mt-[10px] text-center"
|
|
56
|
+
}, title)), /* @__PURE__ */ React__default["default"].createElement("section", {
|
|
57
|
+
className: "achievement-card-footer absolute bottom-[6px] left-[5px]"
|
|
58
|
+
}, showStatus && /* @__PURE__ */ React__default["default"].createElement(RoundedPill.RoundedPill, {
|
|
59
|
+
onClick,
|
|
60
|
+
showCheckmark: true,
|
|
61
|
+
type: claimBtnStatusType,
|
|
62
|
+
statusText: "Claimed"
|
|
63
|
+
})));
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
exports.AchievementCard = AchievementCard;
|
|
67
|
+
//# sourceMappingURL=AchievementCard-5176ae52.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AchievementCard-5176ae52.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":["LCSubtypes","TYPE_TO_MINI_ICON","React","Trophy","CircleCheckButton","RoundedPill"],"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,GAAGA,gBAAU,CAAC,WAAW,GAAGA,gBAAU,CAAC,MAAM,CAAC;AACtF,EAAE,MAAM,YAAY,GAAGC,2BAAiB,CAACD,gBAAU,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,uBAAuBE,yBAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AACpD,IAAI,SAAS,EAAE,CAAC,2IAA2I,CAAC;AAC5J,GAAG,kBAAkBA,yBAAK,CAAC,aAAa,CAAC,SAAS,EAAE;AACpD,IAAI,SAAS,EAAE,CAAC,wBAAwB,EAAE,UAAU,CAAC,2DAA2D,CAAC;AACjH,GAAG,EAAE,WAAW,oBAAoBA,yBAAK,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,qBAAqBA,yBAAK,CAAC,aAAa,CAACC,aAAM,EAAE;AAC1F,IAAI,SAAS,EAAE,8CAA8C;AAC7D,IAAI,KAAK,EAAE,SAAS;AACpB,GAAG,CAAC,EAAE,UAAU,IAAI,gBAAgB,oBAAoBD,yBAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AACnF,IAAI,SAAS,EAAE,oLAAoL;AACnM,GAAG,kBAAkBA,yBAAK,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,oBAAoBA,yBAAK,CAAC,aAAa,CAACE,mCAAiB,EAAE;AAClH,IAAI,OAAO;AACX,IAAI,OAAO,EAAE,YAAY;AACzB,IAAI,SAAS,EAAE,+BAA+B;AAC9C,GAAG,CAAC,CAAC,kBAAkBF,yBAAK,CAAC,aAAa,CAAC,SAAS,EAAE;AACtD,IAAI,SAAS,EAAE,2DAA2D;AAC1E,GAAG,kBAAkBA,yBAAK,CAAC,aAAa,CAAC,GAAG,EAAE;AAC9C,IAAI,SAAS,EAAE,gEAAgE;AAC/E,GAAG,EAAE,KAAK,CAAC,CAAC,kBAAkBA,yBAAK,CAAC,aAAa,CAAC,SAAS,EAAE;AAC7D,IAAI,SAAS,EAAE,0DAA0D;AACzE,GAAG,EAAE,UAAU,oBAAoBA,yBAAK,CAAC,aAAa,CAACG,uBAAW,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,30 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var React = require('react');
|
|
4
|
+
var RoundedPill = require('./RoundedPill-64590d8d.js');
|
|
5
|
+
|
|
6
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
7
|
+
|
|
8
|
+
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
9
|
+
|
|
10
|
+
const CircleCheckButton = ({
|
|
11
|
+
checked,
|
|
12
|
+
onClick,
|
|
13
|
+
bgColor,
|
|
14
|
+
className = ""
|
|
15
|
+
}) => {
|
|
16
|
+
const backgroundColor = checked ? "bg-emerald-700" : bgColor ? bgColor : "bg-gray-50";
|
|
17
|
+
const handleClick = () => {
|
|
18
|
+
onClick == null ? void 0 : onClick();
|
|
19
|
+
};
|
|
20
|
+
return /* @__PURE__ */ React__default["default"].createElement("button", {
|
|
21
|
+
type: "button",
|
|
22
|
+
onClick: handleClick,
|
|
23
|
+
className: `w-[32px] h-[32px] flex items-center justify-center border-4 border-gray-50 rounded-full text-gray-700 ${backgroundColor} ${className}`
|
|
24
|
+
}, /* @__PURE__ */ React__default["default"].createElement(RoundedPill.CheckmarkSvg, {
|
|
25
|
+
color: "#ffffff"
|
|
26
|
+
}));
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
exports.CircleCheckButton = CircleCheckButton;
|
|
30
|
+
//# sourceMappingURL=CircleCheckButton-d0667cda.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CircleCheckButton-d0667cda.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":["React","CheckmarkSvg"],"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,uBAAuBA,yBAAK,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,kBAAkBA,yBAAK,CAAC,aAAa,CAACC,wBAAY,EAAE;AACvD,IAAI,KAAK,EAAE,SAAS;AACpB,GAAG,CAAC,CAAC,CAAC;AACN;;;;"}
|
|
@@ -1,41 +1,12 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var React = require('react');
|
|
4
|
-
var
|
|
5
|
-
var
|
|
6
|
-
var trophy = require('./trophy.svg');
|
|
7
|
-
var briefcase = require('./briefcase.svg');
|
|
8
|
-
var graduation = require('./graduation.svg');
|
|
9
|
-
var lightbulb = require('./lightbulb.svg');
|
|
4
|
+
var index = require('./index-732996e9.js');
|
|
5
|
+
var icons = require('./icons-61ee0fb7.js');
|
|
10
6
|
|
|
11
7
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
12
8
|
|
|
13
9
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
14
|
-
var coins__default = /*#__PURE__*/_interopDefaultLegacy(coins);
|
|
15
|
-
var user__default = /*#__PURE__*/_interopDefaultLegacy(user);
|
|
16
|
-
var trophy__default = /*#__PURE__*/_interopDefaultLegacy(trophy);
|
|
17
|
-
var briefcase__default = /*#__PURE__*/_interopDefaultLegacy(briefcase);
|
|
18
|
-
var graduation__default = /*#__PURE__*/_interopDefaultLegacy(graduation);
|
|
19
|
-
var lightbulb__default = /*#__PURE__*/_interopDefaultLegacy(lightbulb);
|
|
20
|
-
|
|
21
|
-
var Icons = /* @__PURE__ */ ((Icons2) => {
|
|
22
|
-
Icons2[Icons2["coinsIcon"] = 0] = "coinsIcon";
|
|
23
|
-
Icons2[Icons2["userIcon"] = 1] = "userIcon";
|
|
24
|
-
Icons2[Icons2["trophyIcon"] = 2] = "trophyIcon";
|
|
25
|
-
Icons2[Icons2["briefcaseIcon"] = 3] = "briefcaseIcon";
|
|
26
|
-
Icons2[Icons2["graduationIcon"] = 4] = "graduationIcon";
|
|
27
|
-
Icons2[Icons2["lightbulbIcon"] = 5] = "lightbulbIcon";
|
|
28
|
-
return Icons2;
|
|
29
|
-
})(Icons || {});
|
|
30
|
-
|
|
31
|
-
const ICONS_TO_SOURCE = {
|
|
32
|
-
[Icons.coinsIcon]: coins__default["default"],
|
|
33
|
-
[Icons.userIcon]: user__default["default"],
|
|
34
|
-
[Icons.trophyIcon]: trophy__default["default"],
|
|
35
|
-
[Icons.briefcaseIcon]: briefcase__default["default"],
|
|
36
|
-
[Icons.graduationIcon]: graduation__default["default"],
|
|
37
|
-
[Icons.lightbulbIcon]: lightbulb__default["default"]
|
|
38
|
-
};
|
|
39
10
|
|
|
40
11
|
const CountCircle = ({
|
|
41
12
|
size = "auto",
|
|
@@ -62,7 +33,7 @@ const CountCircle = ({
|
|
|
62
33
|
}, count)));
|
|
63
34
|
};
|
|
64
35
|
const CircleIcon = ({
|
|
65
|
-
iconSrc = ICONS_TO_SOURCE[Icons.coinsIcon],
|
|
36
|
+
iconSrc = icons.ICONS_TO_SOURCE[index.Icons.coinsIcon],
|
|
66
37
|
size = "52px",
|
|
67
38
|
count = "28",
|
|
68
39
|
innerPadding = "6px",
|
|
@@ -93,6 +64,4 @@ const CircleIcon = ({
|
|
|
93
64
|
|
|
94
65
|
exports.CircleIcon = CircleIcon;
|
|
95
66
|
exports.CountCircle = CountCircle;
|
|
96
|
-
|
|
97
|
-
exports.Icons = Icons;
|
|
98
|
-
//# sourceMappingURL=CircleIcon-45ef66fd.js.map
|
|
67
|
+
//# sourceMappingURL=CircleIcon-ee5316e3.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CircleIcon-ee5316e3.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":["React","ICONS_TO_SOURCE","Icons"],"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,uBAAuBA,yBAAK,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,kBAAkBA,yBAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AAChD,IAAI,SAAS,EAAE,CAAC,MAAM,CAAC;AACvB,GAAG,kBAAkBA,yBAAK,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,GAAGC,qBAAe,CAACC,WAAK,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,uBAAuBF,yBAAK,CAAC,aAAa,CAAC,SAAS,EAAE;AACxD,IAAI,OAAO;AACX,IAAI,SAAS,EAAE,CAAC,EAAE,OAAO,CAAC,iDAAiD,CAAC;AAC5E,IAAI,KAAK;AACT,GAAG,kBAAkBA,yBAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AAChD,IAAI,SAAS,EAAE,CAAC,sBAAsB,CAAC;AACvC,GAAG,EAAE,CAAC,SAAS,oBAAoBA,yBAAK,CAAC,aAAa,CAAC,WAAW,EAAE;AACpE,IAAI,KAAK;AACT,GAAG,CAAC,kBAAkBA,yBAAK,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;;;;;"}
|
|
@@ -2,22 +2,22 @@
|
|
|
2
2
|
|
|
3
3
|
var React = require('react');
|
|
4
4
|
var CourseCardPlaceholder = require('./lhplaceholder.png');
|
|
5
|
-
var
|
|
5
|
+
var trophylight = require('./minitrophy.svg');
|
|
6
6
|
var MiniJobIcon = require('./minijob.svg');
|
|
7
|
-
var
|
|
7
|
+
var puzzlelight = require('./minipuzzle.svg');
|
|
8
8
|
|
|
9
9
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
10
10
|
|
|
11
11
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
12
12
|
var CourseCardPlaceholder__default = /*#__PURE__*/_interopDefaultLegacy(CourseCardPlaceholder);
|
|
13
|
-
var
|
|
13
|
+
var trophylight__default = /*#__PURE__*/_interopDefaultLegacy(trophylight);
|
|
14
14
|
var MiniJobIcon__default = /*#__PURE__*/_interopDefaultLegacy(MiniJobIcon);
|
|
15
|
-
var
|
|
15
|
+
var puzzlelight__default = /*#__PURE__*/_interopDefaultLegacy(puzzlelight);
|
|
16
16
|
|
|
17
17
|
const TYPE_TO_COURSE_MINI_ICON = {
|
|
18
18
|
["job"]: MiniJobIcon__default["default"],
|
|
19
|
-
["achievement"]:
|
|
20
|
-
["skill"]:
|
|
19
|
+
["achievement"]: trophylight__default["default"],
|
|
20
|
+
["skill"]: puzzlelight__default["default"]
|
|
21
21
|
};
|
|
22
22
|
const TYPE_TO_COLOR = {
|
|
23
23
|
["job"]: "bg-emerald-700",
|
|
@@ -69,7 +69,7 @@ const CourseCard = ({
|
|
|
69
69
|
}, "\u2022"), /* @__PURE__ */ React__default["default"].createElement("span", {
|
|
70
70
|
className: "text-grayscale-500"
|
|
71
71
|
}, semester)), /* @__PURE__ */ React__default["default"].createElement("p", {
|
|
72
|
-
className: "course-card-title text-sm font-semibold"
|
|
72
|
+
className: "course-card-title text-sm font-semibold line-clamp-2"
|
|
73
73
|
}, title), /* @__PURE__ */ React__default["default"].createElement("div", {
|
|
74
74
|
className: "course-card-counts-container flex items-center mt-[5px]"
|
|
75
75
|
}, /* @__PURE__ */ React__default["default"].createElement(CourseCardStatBubble, {
|
|
@@ -88,4 +88,4 @@ const CourseCard = ({
|
|
|
88
88
|
};
|
|
89
89
|
|
|
90
90
|
exports.CourseCard = CourseCard;
|
|
91
|
-
//# sourceMappingURL=CourseCard-
|
|
91
|
+
//# sourceMappingURL=CourseCard-93680a14.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CourseCard-93680a14.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":["MiniJobIcon","MiniTrophyIcon","MiniPuzzleIcon","React","CourseCardPlaceholder"],"mappings":"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"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var React = require('react');
|
|
4
|
+
var CourseCardPlaceholder = require('./lhplaceholder.png');
|
|
5
|
+
var trophylight = require('./minitrophy.svg');
|
|
6
|
+
var MiniJobIcon = require('./minijob.svg');
|
|
7
|
+
var puzzlelight = require('./minipuzzle.svg');
|
|
8
|
+
var index = require('./index-732996e9.js');
|
|
9
|
+
var CircleCheckButton = require('./CircleCheckButton-d0667cda.js');
|
|
10
|
+
var RoundedPill = require('./RoundedPill-64590d8d.js');
|
|
11
|
+
|
|
12
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
13
|
+
|
|
14
|
+
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
15
|
+
var CourseCardPlaceholder__default = /*#__PURE__*/_interopDefaultLegacy(CourseCardPlaceholder);
|
|
16
|
+
var trophylight__default = /*#__PURE__*/_interopDefaultLegacy(trophylight);
|
|
17
|
+
var MiniJobIcon__default = /*#__PURE__*/_interopDefaultLegacy(MiniJobIcon);
|
|
18
|
+
var puzzlelight__default = /*#__PURE__*/_interopDefaultLegacy(puzzlelight);
|
|
19
|
+
|
|
20
|
+
const TYPE_TO_COURSE_MINI_ICON = {
|
|
21
|
+
["job"]: MiniJobIcon__default["default"],
|
|
22
|
+
["achievement"]: trophylight__default["default"],
|
|
23
|
+
["skill"]: puzzlelight__default["default"]
|
|
24
|
+
};
|
|
25
|
+
const TYPE_TO_COLOR = {
|
|
26
|
+
["job"]: "bg-emerald-700",
|
|
27
|
+
["achievement"]: "bg-spice-500",
|
|
28
|
+
["skill"]: "bg-indigo-500"
|
|
29
|
+
};
|
|
30
|
+
const CourseCardStatBubble = ({
|
|
31
|
+
count = 0,
|
|
32
|
+
type = index.LCSubtypes.job,
|
|
33
|
+
className
|
|
34
|
+
}) => {
|
|
35
|
+
const imgSrc = TYPE_TO_COURSE_MINI_ICON[type];
|
|
36
|
+
const bgColor = TYPE_TO_COLOR[type];
|
|
37
|
+
return /* @__PURE__ */ React__default["default"].createElement("div", {
|
|
38
|
+
className: `course-card-stat-bubble px-[10px] rounded-[30px] flex ${bgColor} min-w-[48px] max-w-[80px] h-[30px] items-center ${className}`
|
|
39
|
+
}, /* @__PURE__ */ React__default["default"].createElement("img", {
|
|
40
|
+
src: imgSrc,
|
|
41
|
+
className: "pr-[5px]"
|
|
42
|
+
}), /* @__PURE__ */ React__default["default"].createElement("span", {
|
|
43
|
+
className: "flex items-center text-sm text-white"
|
|
44
|
+
}, count));
|
|
45
|
+
};
|
|
46
|
+
const CourseVerticalCard = ({
|
|
47
|
+
className,
|
|
48
|
+
title,
|
|
49
|
+
thumbImgSrc,
|
|
50
|
+
showStatus,
|
|
51
|
+
claimStatus = false,
|
|
52
|
+
achievementCount = 0,
|
|
53
|
+
skillCount = 0,
|
|
54
|
+
checked,
|
|
55
|
+
showChecked,
|
|
56
|
+
onCheckClick,
|
|
57
|
+
onClick
|
|
58
|
+
}) => {
|
|
59
|
+
const claimBtnStatusType = claimStatus ? index.LCSubtypes.course : index.LCSubtypes.locked;
|
|
60
|
+
return /* @__PURE__ */ React__default["default"].createElement("div", {
|
|
61
|
+
onClick,
|
|
62
|
+
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}`
|
|
63
|
+
}, /* @__PURE__ */ React__default["default"].createElement("section", {
|
|
64
|
+
className: `relative flex h-[120px] flex-col justify-center items-center w-full rounded-[20px]`
|
|
65
|
+
}, /* @__PURE__ */ React__default["default"].createElement("img", {
|
|
66
|
+
src: CourseCardPlaceholder__default["default"],
|
|
67
|
+
className: "course-card-img h-full w-full object-cover rounded-[20px]"
|
|
68
|
+
}), showChecked && /* @__PURE__ */ React__default["default"].createElement(CircleCheckButton.CircleCheckButton, {
|
|
69
|
+
checked,
|
|
70
|
+
onClick: onCheckClick,
|
|
71
|
+
className: "absolute top-[5px] left-[5px]"
|
|
72
|
+
})), /* @__PURE__ */ React__default["default"].createElement("div", {
|
|
73
|
+
className: "course-card-detail-info flex flex-col justify-between"
|
|
74
|
+
}, /* @__PURE__ */ React__default["default"].createElement("p", {
|
|
75
|
+
className: "course-card-title text-sm text-center font-semibold line-clamp-2 mt-[4px]"
|
|
76
|
+
}, title), /* @__PURE__ */ React__default["default"].createElement("div", {
|
|
77
|
+
className: "course-card-counts-container flex items-center justify-center my-[5px]"
|
|
78
|
+
}, /* @__PURE__ */ React__default["default"].createElement(CourseCardStatBubble, {
|
|
79
|
+
type: "achievement",
|
|
80
|
+
count: achievementCount,
|
|
81
|
+
className: "mr-[5px]"
|
|
82
|
+
}), /* @__PURE__ */ React__default["default"].createElement(CourseCardStatBubble, {
|
|
83
|
+
type: "skill",
|
|
84
|
+
count: skillCount,
|
|
85
|
+
className: "mr-[0px]"
|
|
86
|
+
}))), showStatus && /* @__PURE__ */ React__default["default"].createElement("div", {
|
|
87
|
+
className: "course-card-footer absolute bottom-[6px] left-[5px]"
|
|
88
|
+
}, /* @__PURE__ */ React__default["default"].createElement(RoundedPill.RoundedPill, {
|
|
89
|
+
onClick,
|
|
90
|
+
showCheckmark: true,
|
|
91
|
+
type: claimBtnStatusType,
|
|
92
|
+
statusText: "Passed"
|
|
93
|
+
})));
|
|
94
|
+
};
|
|
95
|
+
|
|
96
|
+
exports.CourseVerticalCard = CourseVerticalCard;
|
|
97
|
+
//# sourceMappingURL=CourseVerticalCard-8baa9517.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CourseVerticalCard-8baa9517.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":["MiniJobIcon","MiniTrophyIcon","MiniPuzzleIcon","LCSubtypes","React","CourseCardPlaceholder","CircleCheckButton","RoundedPill"],"mappings":"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"}
|
|
@@ -1,44 +1,36 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var React = require('react');
|
|
4
|
-
var
|
|
5
|
-
var
|
|
6
|
-
var MiniPuzzleIcon = require('./minipuzzlecolored.svg');
|
|
4
|
+
var index = require('./index-732996e9.js');
|
|
5
|
+
var constants = require('./constants-43b3df0c.js');
|
|
7
6
|
|
|
8
7
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
9
8
|
|
|
10
9
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
11
|
-
var MiniTrophyIcon__default = /*#__PURE__*/_interopDefaultLegacy(MiniTrophyIcon);
|
|
12
|
-
var MiniGradIcon__default = /*#__PURE__*/_interopDefaultLegacy(MiniGradIcon);
|
|
13
|
-
var MiniPuzzleIcon__default = /*#__PURE__*/_interopDefaultLegacy(MiniPuzzleIcon);
|
|
14
10
|
|
|
15
|
-
const TYPE_TO_COURSE_MINI_ICON = {
|
|
16
|
-
job: MiniGradIcon__default["default"],
|
|
17
|
-
achievement: MiniTrophyIcon__default["default"],
|
|
18
|
-
skill: MiniPuzzleIcon__default["default"]
|
|
19
|
-
};
|
|
20
11
|
const TYPE_TO_COLOR = {
|
|
21
|
-
|
|
12
|
+
course: "bg-emerald-50",
|
|
22
13
|
achievement: "bg-spice-50",
|
|
23
14
|
skill: "bg-indigo-50"
|
|
24
15
|
};
|
|
25
16
|
const TYPE_TO_TEXT_COLOR = {
|
|
26
|
-
|
|
17
|
+
course: "text-emerald-700",
|
|
27
18
|
achievement: "text-spice-500",
|
|
28
19
|
skill: "text-indigo-600"
|
|
29
20
|
};
|
|
30
21
|
const JobListingBubble = ({
|
|
31
22
|
count = 0,
|
|
32
|
-
type =
|
|
23
|
+
type = index.LCSubtypes.skill,
|
|
33
24
|
className
|
|
34
25
|
}) => {
|
|
35
|
-
const imgSrc =
|
|
26
|
+
const imgSrc = constants.TYPE_TO_MINI_ICON[type];
|
|
36
27
|
const bgColor = TYPE_TO_COLOR[type];
|
|
37
28
|
const textColor = TYPE_TO_TEXT_COLOR[type];
|
|
38
29
|
return /* @__PURE__ */ React__default["default"].createElement("div", {
|
|
39
|
-
className: `
|
|
30
|
+
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}`
|
|
40
31
|
}, /* @__PURE__ */ React__default["default"].createElement("img", {
|
|
41
|
-
src: imgSrc
|
|
32
|
+
src: imgSrc,
|
|
33
|
+
className: "mr-[3px]"
|
|
42
34
|
}), /* @__PURE__ */ React__default["default"].createElement("span", {
|
|
43
35
|
className: `flex items-center text-sm ${textColor} font-bold`
|
|
44
36
|
}, count));
|
|
@@ -79,7 +71,7 @@ const JobListCard = ({
|
|
|
79
71
|
if (locationRequirement && location)
|
|
80
72
|
locationText = `${locationRequirement} \u2022 ${location}`;
|
|
81
73
|
return /* @__PURE__ */ React__default["default"].createElement("div", {
|
|
82
|
-
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}`
|
|
74
|
+
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}`
|
|
83
75
|
}, /* @__PURE__ */ React__default["default"].createElement("div", {
|
|
84
76
|
className: "job-listing-top flex"
|
|
85
77
|
}, /* @__PURE__ */ React__default["default"].createElement("div", {
|
|
@@ -102,19 +94,19 @@ const JobListCard = ({
|
|
|
102
94
|
}, locationText))), /* @__PURE__ */ React__default["default"].createElement("div", {
|
|
103
95
|
className: "job-listing-qualifications mt-[10px]"
|
|
104
96
|
}, /* @__PURE__ */ React__default["default"].createElement("div", {
|
|
105
|
-
className: "course-card-counts-container flex items-center"
|
|
97
|
+
className: "course-card-counts-container flex items-center flex-wrap"
|
|
106
98
|
}, ((_m = qualificationDisplay == null ? void 0 : qualificationDisplay.courses) == null ? void 0 : _m.fulfilledCount) && /* @__PURE__ */ React__default["default"].createElement(JobListingBubble, {
|
|
107
|
-
type:
|
|
99
|
+
type: index.LCSubtypes.course,
|
|
108
100
|
count: courseCountDisplay,
|
|
109
|
-
className: "mr-[5px]"
|
|
101
|
+
className: "mr-[5px] min-w-[100px]"
|
|
110
102
|
}), ((_n = qualificationDisplay == null ? void 0 : qualificationDisplay.achievements) == null ? void 0 : _n.fulfilledCount) && /* @__PURE__ */ React__default["default"].createElement(JobListingBubble, {
|
|
111
|
-
type:
|
|
103
|
+
type: index.LCSubtypes.achievement,
|
|
112
104
|
count: achievementsCountDisplay,
|
|
113
|
-
className: "mr-[5px]"
|
|
105
|
+
className: "mr-[5px] min-w-[100px]"
|
|
114
106
|
}), ((_o = qualificationDisplay == null ? void 0 : qualificationDisplay.skills) == null ? void 0 : _o.fulfilledCount) && /* @__PURE__ */ React__default["default"].createElement(JobListingBubble, {
|
|
115
|
-
type:
|
|
107
|
+
type: index.LCSubtypes.skill,
|
|
116
108
|
count: skillsCountDisplay,
|
|
117
|
-
className: "mr-[0px]"
|
|
109
|
+
className: "mr-[0px min-w-[100px]]"
|
|
118
110
|
}))), /* @__PURE__ */ React__default["default"].createElement("button", {
|
|
119
111
|
type: "button",
|
|
120
112
|
onClick,
|
|
@@ -124,4 +116,4 @@ const JobListCard = ({
|
|
|
124
116
|
|
|
125
117
|
exports.JobListCard = JobListCard;
|
|
126
118
|
exports.JobListingBubble = JobListingBubble;
|
|
127
|
-
//# sourceMappingURL=JobListCard-
|
|
119
|
+
//# sourceMappingURL=JobListCard-b07e7c5b.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"JobListCard-b07e7c5b.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":["LCSubtypes","TYPE_TO_MINI_ICON","React"],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var React = require('react');
|
|
4
|
+
var index = require('./index-732996e9.js');
|
|
5
|
+
var constants = require('./constants-43b3df0c.js');
|
|
6
|
+
|
|
7
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
8
|
+
|
|
9
|
+
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
10
|
+
|
|
11
|
+
const TYPE_TO_COLOR = {
|
|
12
|
+
[index.LCSubtypes.course]: "bg-emerald-50",
|
|
13
|
+
[index.LCSubtypes.achievement]: "bg-spice-50",
|
|
14
|
+
[index.LCSubtypes.skill]: "bg-indigo-50"
|
|
15
|
+
};
|
|
16
|
+
const TYPE_TO_TEXT_COLOR = {
|
|
17
|
+
[index.LCSubtypes.course]: "text-emerald-700",
|
|
18
|
+
[index.LCSubtypes.achievement]: "text-spice-500",
|
|
19
|
+
[index.LCSubtypes.skill]: "text-indigo-600"
|
|
20
|
+
};
|
|
21
|
+
const LearnPill = ({
|
|
22
|
+
count = 0,
|
|
23
|
+
type = index.LCSubtypes.course,
|
|
24
|
+
className
|
|
25
|
+
}) => {
|
|
26
|
+
const imgSrc = constants.TYPE_TO_MINI_ICON[type];
|
|
27
|
+
const bgColor = TYPE_TO_COLOR[type];
|
|
28
|
+
const textColor = TYPE_TO_TEXT_COLOR[type];
|
|
29
|
+
return /* @__PURE__ */ React__default["default"].createElement("div", {
|
|
30
|
+
className: `course-card-stat-bubble px-[10px] rounded-[30px] flex ${bgColor} min-w-[48px] max-w-[100px] h-[30px] items-center ${className}`
|
|
31
|
+
}, /* @__PURE__ */ React__default["default"].createElement("img", {
|
|
32
|
+
src: imgSrc,
|
|
33
|
+
className: "mr-[5px]"
|
|
34
|
+
}), /* @__PURE__ */ React__default["default"].createElement("span", {
|
|
35
|
+
className: `flex items-center text-sm ${textColor} font-bold`
|
|
36
|
+
}, count));
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
exports.LearnPill = LearnPill;
|
|
40
|
+
//# sourceMappingURL=LearnPill-24d24a71.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LearnPill-24d24a71.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":["LCSubtypes","TYPE_TO_MINI_ICON","React"],"mappings":";;;;;;;;;;AAGA,MAAM,aAAa,GAAG;AACtB,EAAE,CAACA,gBAAU,CAAC,MAAM,GAAG,eAAe;AACtC,EAAE,CAACA,gBAAU,CAAC,WAAW,GAAG,aAAa;AACzC,EAAE,CAACA,gBAAU,CAAC,KAAK,GAAG,cAAc;AACpC,CAAC,CAAC;AACF,MAAM,kBAAkB,GAAG;AAC3B,EAAE,CAACA,gBAAU,CAAC,MAAM,GAAG,kBAAkB;AACzC,EAAE,CAACA,gBAAU,CAAC,WAAW,GAAG,gBAAgB;AAC5C,EAAE,CAACA,gBAAU,CAAC,KAAK,GAAG,iBAAiB;AACvC,CAAC,CAAC;AACU,MAAC,SAAS,GAAG,CAAC;AAC1B,EAAE,KAAK,GAAG,CAAC;AACX,EAAE,IAAI,GAAGA,gBAAU,CAAC,MAAM;AAC1B,EAAE,SAAS;AACX,CAAC,KAAK;AACN,EAAE,MAAM,MAAM,GAAGC,2BAAiB,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,uBAAuBC,yBAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AACpD,IAAI,SAAS,EAAE,CAAC,sDAAsD,EAAE,OAAO,CAAC,kDAAkD,EAAE,SAAS,CAAC,CAAC;AAC/I,GAAG,kBAAkBA,yBAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AAChD,IAAI,GAAG,EAAE,MAAM;AACf,IAAI,SAAS,EAAE,UAAU;AACzB,GAAG,CAAC,kBAAkBA,yBAAK,CAAC,aAAa,CAAC,MAAM,EAAE;AAClD,IAAI,SAAS,EAAE,CAAC,0BAA0B,EAAE,SAAS,CAAC,UAAU,CAAC;AACjE,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;AACb;;;;"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var React = require('react');
|
|
4
4
|
var Trophy = require('./Trophy-9ede7f2b.js');
|
|
5
|
-
var
|
|
5
|
+
var User = require('./User-b16d5499.js');
|
|
6
6
|
|
|
7
7
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
8
8
|
|
|
@@ -25,7 +25,7 @@ const NotificationTypeStyles = {
|
|
|
25
25
|
claimedButtonStyles: "text-cyan-600 bg-cyan-50 border-cyan-50",
|
|
26
26
|
textStyles: "text-cyan-600 capitalize",
|
|
27
27
|
iconCircleStyles: "bg-cyan-600",
|
|
28
|
-
IconComponent:
|
|
28
|
+
IconComponent: User.Coins
|
|
29
29
|
},
|
|
30
30
|
[NotificationTypeEnum.ID]: {
|
|
31
31
|
viewButtonStyles: "border-yellow-400 text-yellow-400",
|
|
@@ -33,7 +33,7 @@ const NotificationTypeStyles = {
|
|
|
33
33
|
claimedButtonStyles: "text-yellow-400 bg-yellow-50 border-yellow-50",
|
|
34
34
|
textStyles: "text-yellow-400 uppercase",
|
|
35
35
|
iconCircleStyles: "bg-yellow-400",
|
|
36
|
-
IconComponent:
|
|
36
|
+
IconComponent: User.User
|
|
37
37
|
},
|
|
38
38
|
[NotificationTypeEnum.Achievement]: {
|
|
39
39
|
viewButtonStyles: "border-spice-400 text-spice-400",
|
|
@@ -49,7 +49,7 @@ const NotificationTypeStyles = {
|
|
|
49
49
|
claimedButtonStyles: "text-indigo-400 bg-indigo-50 border-indigo-50",
|
|
50
50
|
textStyles: "text-indigo-400 capitalize",
|
|
51
51
|
iconCircleStyles: "bg-indigo-400",
|
|
52
|
-
IconComponent:
|
|
52
|
+
IconComponent: User.Lightbulb
|
|
53
53
|
},
|
|
54
54
|
[NotificationTypeEnum.Job]: {
|
|
55
55
|
viewButtonStyles: "border-emerald-400 text-emerald-400",
|
|
@@ -57,7 +57,7 @@ const NotificationTypeStyles = {
|
|
|
57
57
|
claimedButtonStyles: "text-emerald-400 bg-emerald-50 border-emerald-50",
|
|
58
58
|
textStyles: "text-emerald-400 capitalize",
|
|
59
59
|
iconCircleStyles: "bg-emerald-400",
|
|
60
|
-
IconComponent:
|
|
60
|
+
IconComponent: User.Briefcase
|
|
61
61
|
},
|
|
62
62
|
[NotificationTypeEnum.Learning]: {
|
|
63
63
|
viewButtonStyles: "border-rose-400 text-rose-400",
|
|
@@ -65,7 +65,7 @@ const NotificationTypeStyles = {
|
|
|
65
65
|
claimedButtonStyles: "text-rose-400 bg-rose-50 border-rose-50",
|
|
66
66
|
textStyles: "text-rose-400 capitalize",
|
|
67
67
|
iconCircleStyles: "bg-rose-400",
|
|
68
|
-
IconComponent:
|
|
68
|
+
IconComponent: User.Graduation
|
|
69
69
|
}
|
|
70
70
|
};
|
|
71
71
|
|
|
@@ -128,11 +128,11 @@ const Notification = ({
|
|
|
128
128
|
onClick: handleClaim,
|
|
129
129
|
role: "button",
|
|
130
130
|
name: "notification-claim-button"
|
|
131
|
-
}, isClaimed && /* @__PURE__ */ React__default["default"].createElement(
|
|
131
|
+
}, isClaimed && /* @__PURE__ */ React__default["default"].createElement(User.Checkmark, {
|
|
132
132
|
className: "h-[24px] p-0 m-0"
|
|
133
133
|
}), " ", isClaimed ? "Claimed" : "Claim"))));
|
|
134
134
|
};
|
|
135
135
|
|
|
136
136
|
exports.Notification = Notification;
|
|
137
137
|
exports.NotificationTypeStyles = NotificationTypeStyles;
|
|
138
|
-
//# sourceMappingURL=Notification-
|
|
138
|
+
//# sourceMappingURL=Notification-10b40c07.js.map
|