@learncard/react 2.3.24 → 2.3.27

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 (150) hide show
  1. package/dist/cjs/CircleIcon-45ef66fd.js.map +1 -1
  2. package/dist/cjs/CourseCard-c3c13b2c.js +91 -0
  3. package/dist/cjs/CourseCard-c3c13b2c.js.map +1 -0
  4. package/dist/cjs/FlippyCard-33e03a9e.js.map +1 -1
  5. package/dist/cjs/{QRCodeCard-9f777402.js → QRCodeCard-efaa58e1.js} +12 -5
  6. package/dist/cjs/QRCodeCard-efaa58e1.js.map +1 -0
  7. package/dist/cjs/SchoolIDCard-32a47ae5.js +4716 -0
  8. package/dist/cjs/SchoolIDCard-32a47ae5.js.map +1 -0
  9. package/dist/cjs/SkillVerticalCard-3eb3a8e9.js +35 -0
  10. package/dist/cjs/SkillVerticalCard-3eb3a8e9.js.map +1 -0
  11. package/dist/cjs/SkillsCard-4b6dbb4f.js +66 -0
  12. package/dist/cjs/SkillsCard-4b6dbb4f.js.map +1 -0
  13. package/dist/cjs/SkillsStatsCard-97a35a88.js +77 -0
  14. package/dist/cjs/SkillsStatsCard-97a35a88.js.map +1 -0
  15. package/dist/cjs/{VCCard-6110f981.js → VCCard-1f3baae6.js} +4815 -1696
  16. package/dist/{esm/VCCard-ddbb8820.js.map → cjs/VCCard-1f3baae6.js.map} +1 -1
  17. package/dist/cjs/{VCDisplayCard-ab6c04d6.js → VCDisplayCard-8504d499.js} +5 -5
  18. package/dist/cjs/{VCDisplayCard-ab6c04d6.js.map → VCDisplayCard-8504d499.js.map} +1 -1
  19. package/dist/cjs/index.js +20 -3
  20. package/dist/cjs/index.js.map +1 -1
  21. package/dist/cjs/index10.js +3 -5
  22. package/dist/cjs/index10.js.map +1 -1
  23. package/dist/cjs/index11.js +5 -3
  24. package/dist/cjs/index11.js.map +1 -1
  25. package/dist/cjs/index12.js +3 -18
  26. package/dist/cjs/index12.js.map +1 -1
  27. package/dist/cjs/index13.js +18 -3
  28. package/dist/cjs/index13.js.map +1 -1
  29. package/dist/cjs/index14.js +2 -9
  30. package/dist/cjs/index14.js.map +1 -1
  31. package/dist/cjs/index15.js +3 -23
  32. package/dist/cjs/index15.js.map +1 -1
  33. package/dist/cjs/index16.js +3 -10
  34. package/dist/cjs/index16.js.map +1 -1
  35. package/dist/cjs/index17.js +3 -14
  36. package/dist/cjs/index17.js.map +1 -1
  37. package/dist/cjs/index18.js +7 -4
  38. package/dist/cjs/index18.js.map +1 -1
  39. package/dist/cjs/index19.js +9 -4
  40. package/dist/cjs/index19.js.map +1 -1
  41. package/dist/cjs/index20.js +21 -3
  42. package/dist/cjs/index20.js.map +1 -1
  43. package/dist/cjs/index21.js +7 -2
  44. package/dist/cjs/index21.js.map +1 -1
  45. package/dist/cjs/index22.js +23 -0
  46. package/dist/cjs/index22.js.map +1 -0
  47. package/dist/cjs/index23.js +9 -0
  48. package/dist/cjs/index23.js.map +1 -0
  49. package/dist/cjs/index24.js +13 -0
  50. package/dist/cjs/index24.js.map +1 -0
  51. package/dist/cjs/index25.js +14 -0
  52. package/dist/cjs/index25.js.map +1 -0
  53. package/dist/cjs/index26.js +14 -0
  54. package/dist/cjs/index26.js.map +1 -0
  55. package/dist/cjs/index4.js +6 -2
  56. package/dist/cjs/index4.js.map +1 -1
  57. package/dist/cjs/index5.js +0 -79
  58. package/dist/cjs/index5.js.map +1 -1
  59. package/dist/cjs/index6.js +95 -0
  60. package/dist/cjs/index6.js.map +1 -1
  61. package/dist/cjs/index7.js +3 -5
  62. package/dist/cjs/index7.js.map +1 -1
  63. package/dist/cjs/index8.js +5 -2
  64. package/dist/cjs/index8.js.map +1 -1
  65. package/dist/cjs/index9.js +2 -3
  66. package/dist/cjs/index9.js.map +1 -1
  67. package/dist/cjs/lhplaceholder.png +0 -0
  68. package/dist/cjs/minijob.svg +5 -0
  69. package/dist/cjs/minipuzzle.svg +3 -0
  70. package/dist/cjs/minitrophy.svg +3 -0
  71. package/dist/cjs/skillgraph.svg +29 -0
  72. package/dist/cjs/skillplaceholder.png +0 -0
  73. package/dist/esm/CircleIcon-7c21af00.js.map +1 -1
  74. package/dist/esm/CourseCard-b9e42233.js +81 -0
  75. package/dist/esm/CourseCard-b9e42233.js.map +1 -0
  76. package/dist/esm/FlippyCard-682649d7.js.map +1 -1
  77. package/dist/esm/{QRCodeCard-11e192b2.js → QRCodeCard-c57e2067.js} +12 -5
  78. package/dist/esm/QRCodeCard-c57e2067.js.map +1 -0
  79. package/dist/esm/SchoolIDCard-4f56262c.js +4710 -0
  80. package/dist/esm/SchoolIDCard-4f56262c.js.map +1 -0
  81. package/dist/esm/SkillVerticalCard-108f49bb.js +28 -0
  82. package/dist/esm/SkillVerticalCard-108f49bb.js.map +1 -0
  83. package/dist/esm/SkillsCard-92a51db2.js +59 -0
  84. package/dist/esm/SkillsCard-92a51db2.js.map +1 -0
  85. package/dist/esm/SkillsStatsCard-1628fe9c.js +70 -0
  86. package/dist/esm/SkillsStatsCard-1628fe9c.js.map +1 -0
  87. package/dist/esm/{VCCard-ddbb8820.js → VCCard-f4b7a89b.js} +4815 -1696
  88. package/dist/{cjs/VCCard-6110f981.js.map → esm/VCCard-f4b7a89b.js.map} +1 -1
  89. package/dist/esm/{VCDisplayCard-5d0628ee.js → VCDisplayCard-b45533e8.js} +5 -5
  90. package/dist/esm/{VCDisplayCard-5d0628ee.js.map → VCDisplayCard-b45533e8.js.map} +1 -1
  91. package/dist/esm/index.js +14 -3
  92. package/dist/esm/index.js.map +1 -1
  93. package/dist/esm/index10.js +2 -3
  94. package/dist/esm/index10.js.map +1 -1
  95. package/dist/esm/index11.js +3 -2
  96. package/dist/esm/index11.js.map +1 -1
  97. package/dist/esm/index12.js +2 -14
  98. package/dist/esm/index12.js.map +1 -1
  99. package/dist/esm/index13.js +14 -2
  100. package/dist/esm/index13.js.map +1 -1
  101. package/dist/esm/index14.js +1 -2
  102. package/dist/esm/index14.js.map +1 -1
  103. package/dist/esm/index15.js +1 -22
  104. package/dist/esm/index15.js.map +1 -1
  105. package/dist/esm/index16.js +2 -9
  106. package/dist/esm/index16.js.map +1 -1
  107. package/dist/esm/index17.js +2 -13
  108. package/dist/esm/index17.js.map +1 -1
  109. package/dist/esm/index18.js +2 -4
  110. package/dist/esm/index18.js.map +1 -1
  111. package/dist/esm/index19.js +2 -3
  112. package/dist/esm/index19.js.map +1 -1
  113. package/dist/esm/index20.js +20 -1
  114. package/dist/esm/index20.js.map +1 -1
  115. package/dist/esm/index21.js +6 -1
  116. package/dist/esm/index21.js.map +1 -1
  117. package/dist/esm/index22.js +15 -0
  118. package/dist/esm/index22.js.map +1 -0
  119. package/dist/esm/index23.js +6 -0
  120. package/dist/esm/index23.js.map +1 -0
  121. package/dist/esm/index24.js +5 -0
  122. package/dist/esm/index24.js.map +1 -0
  123. package/dist/esm/index25.js +5 -0
  124. package/dist/esm/index25.js.map +1 -0
  125. package/dist/esm/index26.js +6 -0
  126. package/dist/esm/index26.js.map +1 -0
  127. package/dist/esm/index4.js +5 -1
  128. package/dist/esm/index4.js.map +1 -1
  129. package/dist/esm/index5.js +0 -50
  130. package/dist/esm/index5.js.map +1 -1
  131. package/dist/esm/index6.js +60 -0
  132. package/dist/esm/index6.js.map +1 -1
  133. package/dist/esm/index7.js +2 -4
  134. package/dist/esm/index7.js.map +1 -1
  135. package/dist/esm/index8.js +4 -1
  136. package/dist/esm/index8.js.map +1 -1
  137. package/dist/esm/index9.js +1 -2
  138. package/dist/esm/index9.js.map +1 -1
  139. package/dist/esm/lhplaceholder.png +0 -0
  140. package/dist/esm/minijob.svg +5 -0
  141. package/dist/esm/minipuzzle.svg +3 -0
  142. package/dist/esm/minitrophy.svg +3 -0
  143. package/dist/esm/skillgraph.svg +29 -0
  144. package/dist/esm/skillplaceholder.png +0 -0
  145. package/dist/index.d.ts +115 -16
  146. package/dist/main.css +1 -1
  147. package/dist/main.js +1 -1
  148. package/package.json +3 -2
  149. package/dist/cjs/QRCodeCard-9f777402.js.map +0 -1
  150. package/dist/esm/QRCodeCard-11e192b2.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"CircleIcon-45ef66fd.js","sources":["../../src/types/index.ts","../../src/constants/icons.ts","../../src/components/CircleIcon/CircleIcon.tsx"],"sourcesContent":["import { VerificationItem, VC, Profile, CredentialSubject } from '@learncard/types';\n\nexport enum Icons {\n coinsIcon,\n userIcon,\n trophyIcon,\n briefcaseIcon,\n graduationIcon,\n lightbulbIcon,\n}\n\nexport type CredentialInfo = {\n title?: string;\n createdAt?: string;\n issuer?: Profile;\n issuee?: Profile;\n credentialSubject?: CredentialSubject;\n};\n\nexport type VCDisplayCardProps = {\n title?: string;\n createdAt?: string;\n issuer?: Profile;\n issuee?: Profile;\n userImage?: string;\n className?: string;\n credentialSubject?: CredentialSubject;\n onClick?: () => void;\n loading?: boolean;\n verification?: VerificationItem[];\n};\n\nexport type RoundedSquareProps = {\n title?: string;\n description?: string;\n iconSrc?: string;\n count?: string | number;\n onClick?: () => void;\n bgColor?: string;\n};\n\nexport type SmallAchievementCardProps = {\n title?: string;\n thumbImgSrc?: string;\n date?: string;\n onClick?: () => void;\n};\n","import coins from '../assets/images/coins.svg';\nimport user from '../assets/images/user.svg';\nimport trophy from '../assets/images/trophy.svg';\nimport briefcase from '../assets/images/briefcase.svg';\nimport graduation from '../assets/images/graduation.svg';\nimport lightbulb from '../assets/images/lightbulb.svg';\n\nimport { Icons } from '../types';\nexport { coins, user, trophy, briefcase, graduation, lightbulb };\n\nexport const ICONS_TO_SOURCE = {\n [Icons.coinsIcon]: coins,\n [Icons.userIcon]: user,\n [Icons.trophyIcon]: trophy,\n [Icons.briefcaseIcon]: briefcase,\n [Icons.graduationIcon]: graduation,\n [Icons.lightbulbIcon]: lightbulb,\n};\n","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":["coins","user","trophy","briefcase","graduation","lightbulb","React"],"mappings":"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"}
1
+ {"version":3,"file":"CircleIcon-45ef66fd.js","sources":["../../src/types/index.ts","../../src/constants/icons.ts","../../src/components/CircleIcon/CircleIcon.tsx"],"sourcesContent":["import { VerificationItem, VC, Profile, CredentialSubject } from '@learncard/types';\n\nexport enum Icons {\n coinsIcon,\n userIcon,\n trophyIcon,\n briefcaseIcon,\n graduationIcon,\n lightbulbIcon,\n}\n\nexport type CredentialInfo = {\n title?: string;\n createdAt?: string;\n issuer?: Profile;\n issuee?: Profile;\n credentialSubject?: CredentialSubject;\n};\n\nexport type VCDisplayCardProps = {\n title?: string;\n createdAt?: string;\n issuer?: Profile;\n issuee?: Profile;\n userImage?: string;\n className?: string;\n credentialSubject?: CredentialSubject;\n onClick?: () => void;\n loading?: boolean;\n verification?: VerificationItem[];\n};\n\nexport type RoundedSquareProps = {\n title?: string;\n description?: string;\n iconSrc?: string;\n count?: string | number;\n onClick?: () => void;\n bgColor?: string;\n};\n\nexport type SmallAchievementCardProps = {\n title?: string;\n thumbImgSrc?: string;\n date?: string;\n onClick?: () => void;\n};\n\nexport type CourseCardProps = {\n status?: string;\n title?: string;\n semester?: string;\n skillCount?: string | number;\n thumbSrc?: string;\n jobCount?: string | number;\n className?: string;\n achievementCount: string | number;\n onClick?: () => void;\n};\n\nexport type SkillsCardProps = {\n count?: number;\n title?: string;\n level?: string;\n category?: string;\n levelCount?: number;\n skillColor?: string;\n onClick?: () => void;\n className?: string;\n};\n\nexport type SkillStat = {\n name?: string;\n percent: number | string;\n className?: string;\n};\n\nexport type SkillsStatsCardProps = {\n totalCount?: string | number;\n skills?: SkillStat[];\n className?: string;\n onClick?: () => void;\n};\n\nexport type SkillVerticalCardProps = {\n title: string;\n completed?: number;\n total?: number;\n thumbImg?: string;\n onClick?: () => void;\n className?: string;\n};\n","import coins from '../assets/images/coins.svg';\nimport user from '../assets/images/user.svg';\nimport trophy from '../assets/images/trophy.svg';\nimport briefcase from '../assets/images/briefcase.svg';\nimport graduation from '../assets/images/graduation.svg';\nimport lightbulb from '../assets/images/lightbulb.svg';\n\nimport { Icons } from '../types';\nexport { coins, user, trophy, briefcase, graduation, lightbulb };\n\nexport const ICONS_TO_SOURCE = {\n [Icons.coinsIcon]: coins,\n [Icons.userIcon]: user,\n [Icons.trophyIcon]: trophy,\n [Icons.briefcaseIcon]: briefcase,\n [Icons.graduationIcon]: graduation,\n [Icons.lightbulbIcon]: lightbulb,\n};\n","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":["coins","user","trophy","briefcase","graduation","lightbulb","React"],"mappings":"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"}
@@ -0,0 +1,91 @@
1
+ 'use strict';
2
+
3
+ var React = require('react');
4
+ var CourseCardPlaceholder = require('./lhplaceholder.png');
5
+ var MiniTrophyIcon = require('./minitrophy.svg');
6
+ var MiniJobIcon = require('./minijob.svg');
7
+ var MiniPuzzleIcon = require('./minipuzzle.svg');
8
+
9
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
10
+
11
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
12
+ var CourseCardPlaceholder__default = /*#__PURE__*/_interopDefaultLegacy(CourseCardPlaceholder);
13
+ var MiniTrophyIcon__default = /*#__PURE__*/_interopDefaultLegacy(MiniTrophyIcon);
14
+ var MiniJobIcon__default = /*#__PURE__*/_interopDefaultLegacy(MiniJobIcon);
15
+ var MiniPuzzleIcon__default = /*#__PURE__*/_interopDefaultLegacy(MiniPuzzleIcon);
16
+
17
+ const TYPE_TO_COURSE_MINI_ICON = {
18
+ ["job"]: MiniJobIcon__default["default"],
19
+ ["achievement"]: MiniTrophyIcon__default["default"],
20
+ ["skill"]: MiniPuzzleIcon__default["default"]
21
+ };
22
+ const TYPE_TO_COLOR = {
23
+ ["job"]: "bg-emerald-700",
24
+ ["achievement"]: "bg-spice-500",
25
+ ["skill"]: "bg-indigo-500"
26
+ };
27
+ const CourseCardStatBubble = ({
28
+ count = 0,
29
+ type = "job",
30
+ className
31
+ }) => {
32
+ const imgSrc = TYPE_TO_COURSE_MINI_ICON[type];
33
+ const bgColor = TYPE_TO_COLOR[type];
34
+ return /* @__PURE__ */ React__default["default"].createElement("div", {
35
+ className: `course-card-stat-bubble px-[10px] rounded-[30px] flex ${bgColor} min-w-[48px] max-w-[80px] h-[30px] items-center ${className}`
36
+ }, /* @__PURE__ */ React__default["default"].createElement("img", {
37
+ src: imgSrc,
38
+ className: "pr-[5px]"
39
+ }), /* @__PURE__ */ React__default["default"].createElement("span", {
40
+ className: "flex items-center text-sm text-white"
41
+ }, count));
42
+ };
43
+ const CourseCard = ({
44
+ status = "Enrolled",
45
+ title = "MECH 1340 Digital Fundamentals and Programmable Logic Controllers",
46
+ semester = "Fall 2022",
47
+ jobCount = 1,
48
+ achievementCount = 4,
49
+ thumbSrc,
50
+ skillCount = 9,
51
+ className,
52
+ onClick = () => {
53
+ }
54
+ }) => {
55
+ return /* @__PURE__ */ React__default["default"].createElement("div", {
56
+ onClick,
57
+ 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}`
58
+ }, /* @__PURE__ */ React__default["default"].createElement("img", {
59
+ src: CourseCardPlaceholder__default["default"],
60
+ className: "course-card-img w-[100px] h-[111px] mr-[10px]"
61
+ }), /* @__PURE__ */ React__default["default"].createElement("div", {
62
+ className: "course-card-detail-info flex flex-col justify-between"
63
+ }, /* @__PURE__ */ React__default["default"].createElement("div", {
64
+ className: "text-sm"
65
+ }, /* @__PURE__ */ React__default["default"].createElement("span", {
66
+ className: "text-emerald-700 font-semibold"
67
+ }, status), /* @__PURE__ */ React__default["default"].createElement("span", {
68
+ className: "spacer-dot mx-[3px]"
69
+ }, "\u2022"), /* @__PURE__ */ React__default["default"].createElement("span", {
70
+ className: "text-grayscale-500"
71
+ }, semester)), /* @__PURE__ */ React__default["default"].createElement("p", {
72
+ className: "course-card-title text-sm font-semibold"
73
+ }, title), /* @__PURE__ */ React__default["default"].createElement("div", {
74
+ className: "course-card-counts-container flex items-center mt-[5px]"
75
+ }, /* @__PURE__ */ React__default["default"].createElement(CourseCardStatBubble, {
76
+ type: "job",
77
+ count: jobCount,
78
+ className: "mr-[5px]"
79
+ }), /* @__PURE__ */ React__default["default"].createElement(CourseCardStatBubble, {
80
+ type: "achievement",
81
+ count: achievementCount,
82
+ className: "mr-[5px]"
83
+ }), /* @__PURE__ */ React__default["default"].createElement(CourseCardStatBubble, {
84
+ type: "skill",
85
+ count: skillCount,
86
+ className: "mr-[0px]"
87
+ }))));
88
+ };
89
+
90
+ exports.CourseCard = CourseCard;
91
+ //# sourceMappingURL=CourseCard-c3c13b2c.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CourseCard-c3c13b2c.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\">{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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"FlippyCard-33e03a9e.js","sources":["../../src/components/FlippyCard/FlippyCard.tsx"],"sourcesContent":["import React, { useState } from 'react';\n\nexport type FlippyCardProps = {\n children: React.ReactChild[];\n};\n\nconst FRONT_FACE = 'front';\nconst BACK_FACE = 'back';\n\nexport const FlippyCard: React.FC<FlippyCardProps> = ({ children }) => {\n const [flipState, setFlipState] = useState(FRONT_FACE);\n\n if (children?.length > 3) {\n console.warn('More than two children passed into Flippy Card! 😳😳😳 Picking first two...');\n }\n\n if (!children) return <></>;\n\n const frontCard = children?.[0];\n const backCard = children?.[1] || children?.[0];\n\n const handleClick = () => {\n if (flipState === FRONT_FACE) setFlipState(BACK_FACE);\n if (flipState === BACK_FACE) setFlipState(FRONT_FACE);\n };\n\n const flipCardCSSClass = flipState === FRONT_FACE ? 'flippy-card' : 'flippy-card is-flipped';\n\n return (\n <div data-testid=\"flippy-card-wrapper\" className=\"flippy-wrapper-container\">\n <div data-testid=\"flippy-card\" className={flipCardCSSClass} onClick={handleClick}>\n <section data-testid=\"flippy-card-front\" className=\"card-face card-face--front\">{frontCard}</section>\n <section data-testid=\"flippy-card-back\" className=\"card-face card-face--back\">{backCard}</section>\n </div>\n </div>\n );\n};\n\nexport default FlippyCard;\n"],"names":["useState","React"],"mappings":";;;;;;;;AACA,MAAM,UAAU,GAAG,OAAO,CAAC;AAC3B,MAAM,SAAS,GAAG,MAAM,CAAC;AACb,MAAC,UAAU,GAAG,CAAC,EAAE,QAAQ,EAAE,KAAK;AAC5C,EAAE,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAGA,cAAQ,CAAC,UAAU,CAAC,CAAC;AACzD,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,EAAE;AACzD,IAAI,OAAO,CAAC,IAAI,CAAC,kGAAkG,CAAC,CAAC;AACrH,GAAG;AACH,EAAE,IAAI,CAAC,QAAQ;AACf,IAAI,uBAAuBC,yBAAK,CAAC,aAAa,CAACA,yBAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AACrE,EAAE,MAAM,SAAS,GAAG,QAAQ,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;AAC5D,EAAE,MAAM,QAAQ,GAAG,CAAC,QAAQ,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,MAAM,QAAQ,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1G,EAAE,MAAM,WAAW,GAAG,MAAM;AAC5B,IAAI,IAAI,SAAS,KAAK,UAAU;AAChC,MAAM,YAAY,CAAC,SAAS,CAAC,CAAC;AAC9B,IAAI,IAAI,SAAS,KAAK,SAAS;AAC/B,MAAM,YAAY,CAAC,UAAU,CAAC,CAAC;AAC/B,GAAG,CAAC;AACJ,EAAE,MAAM,gBAAgB,GAAG,SAAS,KAAK,UAAU,GAAG,aAAa,GAAG,wBAAwB,CAAC;AAC/F,EAAE,uBAAuBA,yBAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AACpD,IAAI,aAAa,EAAE,qBAAqB;AACxC,IAAI,SAAS,EAAE,0BAA0B;AACzC,GAAG,kBAAkBA,yBAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AAChD,IAAI,aAAa,EAAE,aAAa;AAChC,IAAI,SAAS,EAAE,gBAAgB;AAC/B,IAAI,OAAO,EAAE,WAAW;AACxB,GAAG,kBAAkBA,yBAAK,CAAC,aAAa,CAAC,SAAS,EAAE;AACpD,IAAI,aAAa,EAAE,mBAAmB;AACtC,IAAI,SAAS,EAAE,4BAA4B;AAC3C,GAAG,EAAE,SAAS,CAAC,kBAAkBA,yBAAK,CAAC,aAAa,CAAC,SAAS,EAAE;AAChE,IAAI,aAAa,EAAE,kBAAkB;AACrC,IAAI,SAAS,EAAE,2BAA2B;AAC1C,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;AACjB;;;;"}
1
+ {"version":3,"file":"FlippyCard-33e03a9e.js","sources":["../../src/components/FlippyCard/FlippyCard.tsx"],"sourcesContent":["import React, { useState } from 'react';\n\nexport type FlippyCardProps = {\n children: React.ReactChild[];\n};\n\nconst FRONT_FACE = 'front';\nconst BACK_FACE = 'back';\n\nexport const FlippyCard: React.FC<FlippyCardProps> = ({ children }) => {\n const [flipState, setFlipState] = useState(FRONT_FACE);\n\n if (children?.length > 3) {\n console.warn('More than two children passed into Flippy Card! 😳😳😳 Picking first two...');\n }\n\n if (!children) return <></>;\n\n const frontCard = children?.[0];\n const backCard = children?.[1] || children?.[0];\n\n const handleClick = () => {\n if (flipState === FRONT_FACE) setFlipState(BACK_FACE);\n if (flipState === BACK_FACE) setFlipState(FRONT_FACE);\n };\n\n const flipCardCSSClass = flipState === FRONT_FACE ? 'flippy-card' : 'flippy-card is-flipped';\n\n return (\n <div data-testid=\"flippy-card-wrapper\" className=\"flippy-wrapper-container\">\n <div data-testid=\"flippy-card\" className={flipCardCSSClass} onClick={handleClick}>\n <section data-testid=\"flippy-card-front\" className=\"card-face card-face--front\">\n {frontCard}\n </section>\n <section data-testid=\"flippy-card-back\" className=\"card-face card-face--back\">\n {backCard}\n </section>\n </div>\n </div>\n );\n};\n\nexport default FlippyCard;\n"],"names":["useState","React"],"mappings":";;;;;;;;AACA,MAAM,UAAU,GAAG,OAAO,CAAC;AAC3B,MAAM,SAAS,GAAG,MAAM,CAAC;AACb,MAAC,UAAU,GAAG,CAAC,EAAE,QAAQ,EAAE,KAAK;AAC5C,EAAE,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAGA,cAAQ,CAAC,UAAU,CAAC,CAAC;AACzD,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,EAAE;AACzD,IAAI,OAAO,CAAC,IAAI,CAAC,kGAAkG,CAAC,CAAC;AACrH,GAAG;AACH,EAAE,IAAI,CAAC,QAAQ;AACf,IAAI,uBAAuBC,yBAAK,CAAC,aAAa,CAACA,yBAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AACrE,EAAE,MAAM,SAAS,GAAG,QAAQ,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;AAC5D,EAAE,MAAM,QAAQ,GAAG,CAAC,QAAQ,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,MAAM,QAAQ,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1G,EAAE,MAAM,WAAW,GAAG,MAAM;AAC5B,IAAI,IAAI,SAAS,KAAK,UAAU;AAChC,MAAM,YAAY,CAAC,SAAS,CAAC,CAAC;AAC9B,IAAI,IAAI,SAAS,KAAK,SAAS;AAC/B,MAAM,YAAY,CAAC,UAAU,CAAC,CAAC;AAC/B,GAAG,CAAC;AACJ,EAAE,MAAM,gBAAgB,GAAG,SAAS,KAAK,UAAU,GAAG,aAAa,GAAG,wBAAwB,CAAC;AAC/F,EAAE,uBAAuBA,yBAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AACpD,IAAI,aAAa,EAAE,qBAAqB;AACxC,IAAI,SAAS,EAAE,0BAA0B;AACzC,GAAG,kBAAkBA,yBAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AAChD,IAAI,aAAa,EAAE,aAAa;AAChC,IAAI,SAAS,EAAE,gBAAgB;AAC/B,IAAI,OAAO,EAAE,WAAW;AACxB,GAAG,kBAAkBA,yBAAK,CAAC,aAAa,CAAC,SAAS,EAAE;AACpD,IAAI,aAAa,EAAE,mBAAmB;AACtC,IAAI,SAAS,EAAE,4BAA4B;AAC3C,GAAG,EAAE,SAAS,CAAC,kBAAkBA,yBAAK,CAAC,aAAa,CAAC,SAAS,EAAE;AAChE,IAAI,aAAa,EAAE,kBAAkB;AACrC,IAAI,SAAS,EAAE,2BAA2B;AAC1C,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;AACjB;;;;"}
@@ -10,8 +10,17 @@ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
10
10
  const QRCodeCard = ({
11
11
  userHandle,
12
12
  qrCodeValue,
13
- className
13
+ className,
14
+ text = null
14
15
  }) => {
16
+ let textEl = null;
17
+ if (typeof text === "string") {
18
+ textEl = /* @__PURE__ */ React__default["default"].createElement("p", {
19
+ className: "flex items-center justify-center w-full text-xl text-black font-bold tracking-[9px]"
20
+ }, text);
21
+ } else {
22
+ textEl = text;
23
+ }
15
24
  return /* @__PURE__ */ React__default["default"].createElement("div", {
16
25
  className: `flex flex-col justify-center items-start pt-9 rounded-[20px] shadow-3xl max-w-[400px] bg-white relative pb-8 overflow-hidden ${className}`
17
26
  }, qrCodeValue && /* @__PURE__ */ React__default["default"].createElement("div", {
@@ -26,10 +35,8 @@ const QRCodeCard = ({
26
35
  }))), userHandle && /* @__PURE__ */ React__default["default"].createElement("p", {
27
36
  className: "flex items-center justify-center text-center w-full mb-3 font-semibold text-lg text-gray-500",
28
37
  "data-testid": "qrcode-card-user-handle"
29
- }, userHandle), /* @__PURE__ */ React__default["default"].createElement("p", {
30
- className: "flex items-center justify-center w-full text-xl text-black font-bold tracking-[9px]"
31
- }, "LEARNCARD"));
38
+ }, userHandle), textEl);
32
39
  };
33
40
 
34
41
  exports.QRCodeCard = QRCodeCard;
35
- //# sourceMappingURL=QRCodeCard-9f777402.js.map
42
+ //# sourceMappingURL=QRCodeCard-efaa58e1.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QRCodeCard-efaa58e1.js","sources":["../../src/components/QRCodeCard/QRCodeCard.tsx"],"sourcesContent":["import React from 'react';\nimport { QRCodeSVG } from 'qrcode.react';\n\nimport { QRCodeCardProps } from './types';\n\nexport const QRCodeCard: React.FC<QRCodeCardProps> = ({\n userHandle,\n qrCodeValue,\n className,\n text = null,\n}) => {\n let textEl: React.ReactNode | null = null;\n if (typeof text === 'string') {\n textEl = (\n <p className=\"flex items-center justify-center w-full text-xl text-black font-bold tracking-[9px]\">\n {text}\n </p>\n );\n } else {\n textEl = text;\n }\n\n return (\n <div\n className={`flex flex-col justify-center items-start pt-9 rounded-[20px] shadow-3xl max-w-[400px] bg-white relative pb-8 overflow-hidden ${className}`}\n >\n {qrCodeValue && (\n <div className=\"flex justify-center items-center w-full relative px-8 mb-5\">\n <div className=\"max-w-[90%] w-full h-auto relative\">\n <QRCodeSVG\n className=\"h-full w-full\"\n value={qrCodeValue}\n data-testid=\"qrcode-card\"\n bgColor=\"transparent\"\n />\n </div>\n </div>\n )}\n\n {userHandle && (\n <p\n className=\"flex items-center justify-center text-center w-full mb-3 font-semibold text-lg text-gray-500\"\n data-testid=\"qrcode-card-user-handle\"\n >\n {userHandle}\n </p>\n )}\n\n {textEl}\n </div>\n );\n};\n\nexport default QRCodeCard;\n"],"names":["React","QRCodeSVG"],"mappings":";;;;;;;;;AAEY,MAAC,UAAU,GAAG,CAAC;AAC3B,EAAE,UAAU;AACZ,EAAE,WAAW;AACb,EAAE,SAAS;AACX,EAAE,IAAI,GAAG,IAAI;AACb,CAAC,KAAK;AACN,EAAE,IAAI,MAAM,GAAG,IAAI,CAAC;AACpB,EAAE,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;AAChC,IAAI,MAAM,mBAAmBA,yBAAK,CAAC,aAAa,CAAC,GAAG,EAAE;AACtD,MAAM,SAAS,EAAE,qFAAqF;AACtG,KAAK,EAAE,IAAI,CAAC,CAAC;AACb,GAAG,MAAM;AACT,IAAI,MAAM,GAAG,IAAI,CAAC;AAClB,GAAG;AACH,EAAE,uBAAuBA,yBAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AACpD,IAAI,SAAS,EAAE,CAAC,6HAA6H,EAAE,SAAS,CAAC,CAAC;AAC1J,GAAG,EAAE,WAAW,oBAAoBA,yBAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AAC/D,IAAI,SAAS,EAAE,4DAA4D;AAC3E,GAAG,kBAAkBA,yBAAK,CAAC,aAAa,CAAC,KAAK,EAAE;AAChD,IAAI,SAAS,EAAE,oCAAoC;AACnD,GAAG,kBAAkBA,yBAAK,CAAC,aAAa,CAACC,eAAS,EAAE;AACpD,IAAI,SAAS,EAAE,eAAe;AAC9B,IAAI,KAAK,EAAE,WAAW;AACtB,IAAI,aAAa,EAAE,aAAa;AAChC,IAAI,OAAO,EAAE,aAAa;AAC1B,GAAG,CAAC,CAAC,CAAC,EAAE,UAAU,oBAAoBD,yBAAK,CAAC,aAAa,CAAC,GAAG,EAAE;AAC/D,IAAI,SAAS,EAAE,8FAA8F;AAC7G,IAAI,aAAa,EAAE,yBAAyB;AAC5C,GAAG,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,CAAC;AAC1B;;;;"}