@learncard/react 2.5.1 → 2.5.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/{AchievementCard-69413826.js → AchievementCard-f0130caa.js} +5 -5
- package/dist/cjs/{AchievementCard-69413826.js.map → AchievementCard-f0130caa.js.map} +1 -1
- package/dist/cjs/{BoostSmallCard-c5b7cb24.js → BoostSmallCard-677d7789.js} +4 -4
- package/dist/cjs/{BoostSmallCard-c5b7cb24.js.map → BoostSmallCard-677d7789.js.map} +1 -1
- package/dist/cjs/{CircleCheckButton-78959cce.js → CircleCheckButton-43c96841.js} +2 -2
- package/dist/cjs/{CircleCheckButton-78959cce.js.map → CircleCheckButton-43c96841.js.map} +1 -1
- package/dist/cjs/{CircleIcon-03cc33dc.js → CircleIcon-a45953f5.js} +3 -3
- package/dist/cjs/{CircleIcon-03cc33dc.js.map → CircleIcon-a45953f5.js.map} +1 -1
- package/dist/cjs/{CourseVerticalCard-5ac6adea.js → CourseVerticalCard-b76f5407.js} +4 -4
- package/dist/cjs/{CourseVerticalCard-5ac6adea.js.map → CourseVerticalCard-b76f5407.js.map} +1 -1
- package/dist/cjs/{GenericCard-c3a42a6c.js → GenericCard-9674fcc0.js} +4 -4
- package/dist/cjs/{GenericCard-c3a42a6c.js.map → GenericCard-9674fcc0.js.map} +1 -1
- package/dist/cjs/{JobListCard-672fadc3.js → JobListCard-c662e649.js} +3 -3
- package/dist/cjs/{JobListCard-672fadc3.js.map → JobListCard-c662e649.js.map} +1 -1
- package/dist/cjs/{LearnPill-75e3af2f.js → LearnPill-5c9bf172.js} +3 -3
- package/dist/cjs/{LearnPill-75e3af2f.js.map → LearnPill-5c9bf172.js.map} +1 -1
- package/dist/cjs/{RoundedPill-75454f72.js → RoundedPill-85e7ed68.js} +2 -2
- package/dist/cjs/{RoundedPill-75454f72.js.map → RoundedPill-85e7ed68.js.map} +1 -1
- package/dist/cjs/{SkillTabCard-eb50fde5.js → SkillTabCard-14ba0618.js} +4 -4
- package/dist/cjs/{SkillTabCard-eb50fde5.js.map → SkillTabCard-14ba0618.js.map} +1 -1
- package/dist/cjs/{VCCard-8515516c.js → VCCard-322adfce.js} +2 -2
- package/dist/cjs/{VCCard-8515516c.js.map → VCCard-322adfce.js.map} +1 -1
- package/dist/cjs/{VCDisplayCard2-721684cf.js → VCDisplayCard2-8d6b9f25.js} +42 -7
- package/dist/cjs/VCDisplayCard2-8d6b9f25.js.map +1 -0
- package/dist/cjs/{constants-00935dd2.js → constants-35d9ebc6.js} +5 -5
- package/dist/cjs/{constants-00935dd2.js.map → constants-35d9ebc6.js.map} +1 -1
- package/dist/cjs/{icons-6433b474.js → icons-ac6eb6ec.js} +2 -2
- package/dist/cjs/{icons-6433b474.js.map → icons-ac6eb6ec.js.map} +1 -1
- package/dist/cjs/{index-f30fca07.js → index-83152f8d.js} +2 -2
- package/dist/cjs/{index-f30fca07.js.map → index-83152f8d.js.map} +1 -1
- package/dist/cjs/{index-6b34c190.js → index-d836b84d.js} +14 -1
- package/dist/cjs/index-d836b84d.js.map +1 -0
- package/dist/cjs/index.js +16 -16
- package/dist/cjs/index10.js +6 -6
- package/dist/cjs/index11.js +16 -16
- package/dist/cjs/index13.js +3 -3
- package/dist/cjs/index16.js +3 -3
- package/dist/cjs/index2.js +6 -6
- package/dist/cjs/index21.js +3 -3
- package/dist/cjs/index22.js +5 -5
- package/dist/cjs/index26.js +5 -5
- package/dist/cjs/index3.js +6 -6
- package/dist/cjs/index30.js +3 -2
- package/dist/cjs/index30.js.map +1 -1
- package/dist/cjs/index33.js +2 -1
- package/dist/cjs/index33.js.map +1 -1
- package/dist/cjs/index5.js +4 -4
- package/dist/cjs/index6.js +3 -3
- package/dist/cjs/index8.js +5 -5
- package/dist/esm/{AchievementCard-3f315f82.js → AchievementCard-b9eb551c.js} +5 -5
- package/dist/esm/{AchievementCard-3f315f82.js.map → AchievementCard-b9eb551c.js.map} +1 -1
- package/dist/esm/{BoostSmallCard-0f4fec3b.js → BoostSmallCard-96cd9453.js} +4 -4
- package/dist/esm/{BoostSmallCard-0f4fec3b.js.map → BoostSmallCard-96cd9453.js.map} +1 -1
- package/dist/esm/{CircleCheckButton-3bad7847.js → CircleCheckButton-551054f6.js} +2 -2
- package/dist/esm/{CircleCheckButton-3bad7847.js.map → CircleCheckButton-551054f6.js.map} +1 -1
- package/dist/esm/{CircleIcon-3ab835f3.js → CircleIcon-38b874e2.js} +3 -3
- package/dist/esm/{CircleIcon-3ab835f3.js.map → CircleIcon-38b874e2.js.map} +1 -1
- package/dist/esm/{CourseVerticalCard-cfb09a77.js → CourseVerticalCard-922a0860.js} +4 -4
- package/dist/esm/{CourseVerticalCard-cfb09a77.js.map → CourseVerticalCard-922a0860.js.map} +1 -1
- package/dist/esm/{GenericCard-c2d91e3c.js → GenericCard-eaab7759.js} +4 -4
- package/dist/esm/{GenericCard-c2d91e3c.js.map → GenericCard-eaab7759.js.map} +1 -1
- package/dist/esm/{JobListCard-9ac7ac1b.js → JobListCard-5e3879ea.js} +3 -3
- package/dist/esm/{JobListCard-9ac7ac1b.js.map → JobListCard-5e3879ea.js.map} +1 -1
- package/dist/esm/{LearnPill-a62adef1.js → LearnPill-3d9564d4.js} +3 -3
- package/dist/esm/{LearnPill-a62adef1.js.map → LearnPill-3d9564d4.js.map} +1 -1
- package/dist/esm/{RoundedPill-c03442e5.js → RoundedPill-731211b3.js} +2 -2
- package/dist/esm/{RoundedPill-c03442e5.js.map → RoundedPill-731211b3.js.map} +1 -1
- package/dist/esm/{SkillTabCard-2677de0d.js → SkillTabCard-d86c6452.js} +4 -4
- package/dist/esm/{SkillTabCard-2677de0d.js.map → SkillTabCard-d86c6452.js.map} +1 -1
- package/dist/esm/{VCCard-c71cfd7f.js → VCCard-3a30d38b.js} +2 -2
- package/dist/esm/{VCCard-c71cfd7f.js.map → VCCard-3a30d38b.js.map} +1 -1
- package/dist/esm/{VCDisplayCard2-33a1dc1d.js → VCDisplayCard2-942e7560.js} +42 -7
- package/dist/esm/VCDisplayCard2-942e7560.js.map +1 -0
- package/dist/esm/{constants-6bb0dc94.js → constants-db0e356b.js} +5 -5
- package/dist/esm/{constants-6bb0dc94.js.map → constants-db0e356b.js.map} +1 -1
- package/dist/esm/{icons-2c3532f9.js → icons-9d160530.js} +2 -2
- package/dist/esm/{icons-2c3532f9.js.map → icons-9d160530.js.map} +1 -1
- package/dist/esm/{index-52cf2d17.js → index-7103ad3c.js} +14 -2
- package/dist/esm/index-7103ad3c.js.map +1 -0
- package/dist/esm/{index-ac32d7be.js → index-7dcfe90e.js} +2 -2
- package/dist/esm/{index-ac32d7be.js.map → index-7dcfe90e.js.map} +1 -1
- package/dist/esm/index.js +16 -16
- package/dist/esm/index10.js +6 -6
- package/dist/esm/index11.js +16 -16
- package/dist/esm/index13.js +3 -3
- package/dist/esm/index16.js +3 -3
- package/dist/esm/index2.js +6 -6
- package/dist/esm/index21.js +3 -3
- package/dist/esm/index22.js +5 -5
- package/dist/esm/index26.js +5 -5
- package/dist/esm/index3.js +6 -6
- package/dist/esm/index30.js +3 -2
- package/dist/esm/index30.js.map +1 -1
- package/dist/esm/index33.js +2 -1
- package/dist/esm/index33.js.map +1 -1
- package/dist/esm/index5.js +4 -4
- package/dist/esm/index6.js +3 -3
- package/dist/esm/index8.js +5 -5
- package/dist/index.d.ts +13 -0
- package/dist/main.css +1 -1
- package/dist/main.js +1 -1
- package/package.json +5 -5
- package/dist/cjs/VCDisplayCard2-721684cf.js.map +0 -1
- package/dist/cjs/index-6b34c190.js.map +0 -1
- package/dist/esm/VCDisplayCard2-33a1dc1d.js.map +0 -1
- package/dist/esm/index-52cf2d17.js.map +0 -1
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var React = require('react');
|
|
4
|
-
var index$1 = require('./index-
|
|
5
|
-
var index = require('./index-
|
|
6
|
-
var CircleCheckButton = require('./CircleCheckButton-
|
|
4
|
+
var index$1 = require('./index-d836b84d.js');
|
|
5
|
+
var index = require('./index-83152f8d.js');
|
|
6
|
+
var CircleCheckButton = require('./CircleCheckButton-43c96841.js');
|
|
7
7
|
|
|
8
8
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
9
9
|
|
|
@@ -58,4 +58,4 @@ const GenericCard = ({
|
|
|
58
58
|
};
|
|
59
59
|
|
|
60
60
|
exports.GenericCard = GenericCard;
|
|
61
|
-
//# sourceMappingURL=GenericCard-
|
|
61
|
+
//# sourceMappingURL=GenericCard-9674fcc0.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GenericCard-
|
|
1
|
+
{"version":3,"file":"GenericCard-9674fcc0.js","sources":["../../src/components/GenericCard/GenericCard.tsx"],"sourcesContent":["import React from 'react';\nimport { GenericCardProps, WalletCategoryTypes } from '../../types';\nimport { TYPE_TO_IMG_SRC, TYPE_TO_WALLET_DARK_COLOR } from '../../constants';\nimport { CircleCheckButton } from '../CircleCheckButton';\n\nexport const GenericCard: React.FC<GenericCardProps> = ({\n title = 'Title Lorem Ipsum',\n thumbImgSrc,\n customThumbClass = '',\n customHeaderClass = '',\n type = WalletCategoryTypes.achievements,\n className,\n onClick = () => {},\n showChecked,\n checkStatus,\n flipped,\n}) => {\n const thumbClass = `bg-${TYPE_TO_WALLET_DARK_COLOR[type]}` ?? 'bg-grayscale-50';\n const defaultThumbClass = `flex h-[110px] m-auto ${thumbClass} w-[140px] overflow-hidden flex-col justify-center items-center w-full rounded-[20px] ${customThumbClass}`;\n const imgSrc = thumbImgSrc?.trim() !== '' ? thumbImgSrc : TYPE_TO_IMG_SRC[type];\n const headerBgColor = `bg-${TYPE_TO_WALLET_DARK_COLOR[type]}` ?? 'bg-grayscale-900';\n const checkBtnClass = checkStatus ? 'generic-vc-card checked' : 'generic-vc-card unchecked';\n const defaultHeaderClass = `flex generic-card-title w-full flex justify-center items-center h-[76px] ${headerBgColor} ${customHeaderClass}`;\n const flippedClass = flipped ? 'flex-col-reverse' : 'flex-col';\n\n return (\n <div\n onClick={onClick}\n className={`flex generic-display-card-simple bg-white ${flippedClass} shadow-[0_0_8px_0px_rgba(0,0,0,0.2)] relative $ py-[0px] px-[0px] w-[160px] h-[215px] rounded-[20px] overflow-hidden ${className}`}\n >\n <section className={defaultHeaderClass}>\n <p className=\"relative z-[100] text-[14px] px-[10px] py-[0px] font-bold mt-[10px] text-center text-white line-clamp-2\">\n {title}\n </p>\n </section>\n\n <section className={defaultThumbClass}>\n {thumbImgSrc && thumbImgSrc?.trim() !== '' && (\n <img\n className=\"generic-display-card-img h-full w-full w-[140px] h-[119px] rounded-[20px] object-cover overflow-hidden\"\n src={thumbImgSrc ?? ''}\n alt=\"Credential Achievement Image\"\n />\n )}\n {(!thumbImgSrc || thumbImgSrc?.trim() === '') && (\n <img\n className=\"max-w-[130px] w-full h-full p-[10px] object-contain\"\n src={imgSrc}\n />\n )}\n </section>\n\n <section className=\"generic-card-footer\"></section>\n {showChecked && (\n <div className=\"check-btn-overlay absolute top-[5px] left-[5px]\">\n <CircleCheckButton\n checked={checkStatus}\n onClick={onClick}\n className={checkBtnClass}\n />\n </div>\n )}\n </div>\n );\n};\n\nexport default GenericCard;\n"],"names":["WalletCategoryTypes","TYPE_TO_WALLET_DARK_COLOR","TYPE_TO_IMG_SRC","React","CircleCheckButton"],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var React = require('react');
|
|
4
|
-
var index$1 = require('./index-
|
|
5
|
-
var index = require('./index-
|
|
4
|
+
var index$1 = require('./index-83152f8d.js');
|
|
5
|
+
var index = require('./index-d836b84d.js');
|
|
6
6
|
|
|
7
7
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
8
8
|
|
|
@@ -124,4 +124,4 @@ const JobListCard = ({
|
|
|
124
124
|
|
|
125
125
|
exports.JobListCard = JobListCard;
|
|
126
126
|
exports.JobListingBubble = JobListingBubble;
|
|
127
|
-
//# sourceMappingURL=JobListCard-
|
|
127
|
+
//# sourceMappingURL=JobListCard-c662e649.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JobListCard-672fadc3.js","sources":["../../src/components/JobListCard/JobListCard.tsx"],"sourcesContent":["import React from 'react';\nimport { JobListCardProps } from '../../types';\nimport { TYPE_TO_MINI_ICON } from '../../constants/';\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 | undefined;\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 if (count === 0) return <></>;\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 customButtonComponent,\n imgThumb,\n isBookmarked,\n onBookmark,\n onClick,\n}) => {\n const courseReqCount = qualificationDisplay?.courses?.totalRequiredCount;\n const achievementsReqCount = qualificationDisplay?.achievements?.totalRequiredCount;\n const skillsReqCount = qualificationDisplay?.skills?.totalRequiredCount;\n\n const courseCountDisplay =\n courseReqCount &&\n `${qualificationDisplay?.courses?.fulfilledCount ?? 0}/${\n qualificationDisplay?.courses?.totalRequiredCount ?? 0\n }`;\n const achievementsCountDisplay =\n achievementsReqCount &&\n `${qualificationDisplay?.achievements?.fulfilledCount ?? 0}/${\n qualificationDisplay?.achievements?.totalRequiredCount ?? 0\n }`;\n const skillsCountDisplay =\n skillsReqCount &&\n `${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 const defaultButton = (\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 );\n\n const buttonComponent = customButtonComponent ? customButtonComponent : defaultButton;\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 <JobListingBubble\n type={LCSubtypes.course}\n count={courseCountDisplay}\n className={'mr-[5px] min-w-[100px]'}\n />\n\n <JobListingBubble\n type={LCSubtypes.achievement}\n count={achievementsCountDisplay}\n className={'mr-[5px] min-w-[100px]'}\n />\n\n <JobListingBubble\n type={LCSubtypes.skill}\n count={skillsCountDisplay}\n className={'mr-[0px min-w-[100px]]'}\n />\n </div>\n </div>\n\n {buttonComponent}\n </div>\n );\n};\n\nexport default JobListCard;\n"],"names":["LCSubtypes","TYPE_TO_MINI_ICON","React"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"JobListCard-c662e649.js","sources":["../../src/components/JobListCard/JobListCard.tsx"],"sourcesContent":["import React from 'react';\nimport { JobListCardProps } from '../../types';\nimport { TYPE_TO_MINI_ICON } from '../../constants/';\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 | undefined;\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 if (count === 0) return <></>;\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 customButtonComponent,\n imgThumb,\n isBookmarked,\n onBookmark,\n onClick,\n}) => {\n const courseReqCount = qualificationDisplay?.courses?.totalRequiredCount;\n const achievementsReqCount = qualificationDisplay?.achievements?.totalRequiredCount;\n const skillsReqCount = qualificationDisplay?.skills?.totalRequiredCount;\n\n const courseCountDisplay =\n courseReqCount &&\n `${qualificationDisplay?.courses?.fulfilledCount ?? 0}/${\n qualificationDisplay?.courses?.totalRequiredCount ?? 0\n }`;\n const achievementsCountDisplay =\n achievementsReqCount &&\n `${qualificationDisplay?.achievements?.fulfilledCount ?? 0}/${\n qualificationDisplay?.achievements?.totalRequiredCount ?? 0\n }`;\n const skillsCountDisplay =\n skillsReqCount &&\n `${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 const defaultButton = (\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 );\n\n const buttonComponent = customButtonComponent ? customButtonComponent : defaultButton;\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 <JobListingBubble\n type={LCSubtypes.course}\n count={courseCountDisplay}\n className={'mr-[5px] min-w-[100px]'}\n />\n\n <JobListingBubble\n type={LCSubtypes.achievement}\n count={achievementsCountDisplay}\n className={'mr-[5px] min-w-[100px]'}\n />\n\n <JobListingBubble\n type={LCSubtypes.skill}\n count={skillsCountDisplay}\n className={'mr-[0px min-w-[100px]]'}\n />\n </div>\n </div>\n\n {buttonComponent}\n </div>\n );\n};\n\nexport default JobListCard;\n"],"names":["LCSubtypes","TYPE_TO_MINI_ICON","React"],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var React = require('react');
|
|
4
|
-
var index = require('./index-
|
|
5
|
-
var index$1 = require('./index-
|
|
4
|
+
var index = require('./index-d836b84d.js');
|
|
5
|
+
var index$1 = require('./index-83152f8d.js');
|
|
6
6
|
|
|
7
7
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
8
8
|
|
|
@@ -37,4 +37,4 @@ const LearnPill = ({
|
|
|
37
37
|
};
|
|
38
38
|
|
|
39
39
|
exports.LearnPill = LearnPill;
|
|
40
|
-
//# sourceMappingURL=LearnPill-
|
|
40
|
+
//# sourceMappingURL=LearnPill-5c9bf172.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LearnPill-
|
|
1
|
+
{"version":3,"file":"LearnPill-5c9bf172.js","sources":["../../src/components/LearnPill/LearnPill.tsx"],"sourcesContent":["import React from 'react';\nimport { LearnPillProps, LCSubtypes } from '../../types';\nimport { TYPE_TO_MINI_ICON } from '../../constants/';\n\nconst TYPE_TO_COLOR: any = {\n [LCSubtypes.course]: 'bg-emerald-50',\n [LCSubtypes.achievement]: 'bg-spice-50',\n [LCSubtypes.skill]: 'bg-indigo-50',\n};\n\nconst TYPE_TO_TEXT_COLOR: any = {\n [LCSubtypes.course]: 'text-emerald-700',\n [LCSubtypes.achievement]: 'text-spice-500',\n [LCSubtypes.skill]: 'text-indigo-600',\n};\n\nexport const LearnPill: React.FC<LearnPillProps> = ({\n count = 0,\n type = LCSubtypes.course,\n className,\n}) => {\n const imgSrc = TYPE_TO_MINI_ICON[type];\n const bgColor = TYPE_TO_COLOR[type];\n const textColor = TYPE_TO_TEXT_COLOR[type];\n return (\n <div\n className={`course-card-stat-bubble px-[10px] rounded-[30px] flex ${bgColor} min-w-[48px] max-w-[100px] h-[30px] items-center ${className}`}\n >\n <img src={imgSrc} className=\"mr-[5px]\" />\n <span className={`flex items-center text-sm ${textColor} font-bold`}>{count}</span>\n </div>\n );\n};\n\nexport default LearnPill;\n"],"names":["LCSubtypes","TYPE_TO_MINI_ICON","React"],"mappings":";;;;;;;;;;AAIA,MAAM,aAAqB,GAAA;AAAA,EACvB,CAACA,iBAAW,MAAS,GAAA,eAAA;AAAA,EACrB,CAACA,iBAAW,WAAc,GAAA,aAAA;AAAA,EAC1B,CAACA,iBAAW,KAAQ,GAAA,cAAA;AACxB,CAAA,CAAA;AAEA,MAAM,kBAA0B,GAAA;AAAA,EAC5B,CAACA,iBAAW,MAAS,GAAA,kBAAA;AAAA,EACrB,CAACA,iBAAW,WAAc,GAAA,gBAAA;AAAA,EAC1B,CAACA,iBAAW,KAAQ,GAAA,iBAAA;AACxB,CAAA,CAAA;AAEO,MAAM,YAAsC,CAAC;AAAA,EAChD,KAAQ,GAAA,CAAA;AAAA,EACR,OAAOA,gBAAW,CAAA,MAAA;AAAA,EAClB,SAAA;AACJ,CAAM,KAAA;AACF,EAAA,MAAM,SAASC,yBAAkB,CAAA,IAAA,CAAA,CAAA;AACjC,EAAA,MAAM,UAAU,aAAc,CAAA,IAAA,CAAA,CAAA;AAC9B,EAAA,MAAM,YAAY,kBAAmB,CAAA,IAAA,CAAA,CAAA;AACrC,EAAA,uBACKC,yBAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAA,IACG,SAAA,EAAW,yDAAyD,OAA4D,CAAA,kDAAA,EAAA,SAAA,CAAA,CAAA;AAAA,GAAA,kBAE/HA,yBAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAA,IAAI,GAAK,EAAA,MAAA;AAAA,IAAQ,SAAU,EAAA,UAAA;AAAA,GAAW,mBACtCA,yBAAA,CAAA,aAAA,CAAA,MAAA,EAAA;AAAA,IAAK,WAAW,CAA6B,0BAAA,EAAA,SAAA,CAAA,UAAA,CAAA;AAAA,GAAA,EAAwB,KAAM,CAChF,CAAA,CAAA;AAER;;;;"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var React = require('react');
|
|
4
|
-
var icons = require('./icons-
|
|
4
|
+
var icons = require('./icons-ac6eb6ec.js');
|
|
5
5
|
|
|
6
6
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
7
7
|
|
|
@@ -103,4 +103,4 @@ const RoundedPill = ({
|
|
|
103
103
|
|
|
104
104
|
exports.CheckmarkSvg = CheckmarkSvg;
|
|
105
105
|
exports.RoundedPill = RoundedPill;
|
|
106
|
-
//# sourceMappingURL=RoundedPill-
|
|
106
|
+
//# sourceMappingURL=RoundedPill-85e7ed68.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RoundedPill-
|
|
1
|
+
{"version":3,"file":"RoundedPill-85e7ed68.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":["React","TYPE_TO_ICON"],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var React = require('react');
|
|
4
|
-
var index = require('./index-
|
|
5
|
-
var CircleCheckButton = require('./CircleCheckButton-
|
|
6
|
-
var RoundedPill = require('./RoundedPill-
|
|
4
|
+
var index = require('./index-d836b84d.js');
|
|
5
|
+
var CircleCheckButton = require('./CircleCheckButton-43c96841.js');
|
|
6
|
+
var RoundedPill = require('./RoundedPill-85e7ed68.js');
|
|
7
7
|
|
|
8
8
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
9
9
|
|
|
@@ -39,4 +39,4 @@ const SkillTabCard = ({
|
|
|
39
39
|
};
|
|
40
40
|
|
|
41
41
|
exports.SkillTabCard = SkillTabCard;
|
|
42
|
-
//# sourceMappingURL=SkillTabCard-
|
|
42
|
+
//# sourceMappingURL=SkillTabCard-14ba0618.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SkillTabCard-
|
|
1
|
+
{"version":3,"file":"SkillTabCard-14ba0618.js","sources":["../../src/components/SkillTabCard/SkillTabCard.tsx"],"sourcesContent":["import React from 'react';\nimport { RoundedPill } from '../RoundedPill';\nimport { LCSubtypes } from '../../types';\nimport { CircleCheckButton } from '../CircleCheckButton';\nimport { SkillTabCardProps } from '../../types';\n\nexport const SkillTabCard: React.FC<SkillTabCardProps> = ({\n title,\n description,\n checked = false,\n showChecked,\n onClick,\n onCheckClicked,\n showStatus = true,\n className = 'skill-tab-card',\n}) => {\n const buttonClass = checked\n ? 'skill-tab-check-toggle checked'\n : 'skill-tab-check-toggle unchecked';\n return (\n <div\n className={`flex-col flex justify-between items-center font-bold shadow-[0_0_8px_0px_rgba(0,0,0,0.2)] relative $ py-[8px] px-[8px] w-[190px] h-[168px] rounded-[20px] ${className}`}\n >\n {showChecked && (\n <CircleCheckButton\n onClick={onCheckClicked}\n checked={checked}\n className={buttonClass}\n bgColor=\"bg-grayscale-200\"\n />\n )}\n <h4 className=\"text-indigo-600 text-[14px] text-center line-clamp-2\">{title}</h4>\n <p className=\"line-clamp-2 text-[12px] text-center\">{description}</p>\n\n <div>\n {showStatus && (\n <RoundedPill type={LCSubtypes.skill} statusText={'Earned'} onClick={onClick} />\n )}\n </div>\n </div>\n );\n};\n\nexport default SkillTabCard;\n"],"names":["React","CircleCheckButton","RoundedPill","LCSubtypes"],"mappings":";;;;;;;;;;;AAMO,MAAM,eAA4C,CAAC;AAAA,EACtD,KAAA;AAAA,EACA,WAAA;AAAA,EACA,OAAU,GAAA,KAAA;AAAA,EACV,WAAA;AAAA,EACA,OAAA;AAAA,EACA,cAAA;AAAA,EACA,UAAa,GAAA,IAAA;AAAA,EACb,SAAY,GAAA,gBAAA;AAChB,CAAM,KAAA;AACF,EAAM,MAAA,WAAA,GAAc,UACd,gCACA,GAAA,kCAAA,CAAA;AACN,EAAA,uBACKA,yBAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAA,IACG,WAAW,CAA6J,0JAAA,EAAA,SAAA,CAAA,CAAA;AAAA,GAAA,EAEvK,+BACIA,yBAAA,CAAA,aAAA,CAAAC,mCAAA,EAAA;AAAA,IACG,OAAS,EAAA,cAAA;AAAA,IACT,OAAA;AAAA,IACA,SAAW,EAAA,WAAA;AAAA,IACX,OAAQ,EAAA,kBAAA;AAAA,GACZ,mBAEHD,yBAAA,CAAA,aAAA,CAAA,IAAA,EAAA;AAAA,IAAG,SAAU,EAAA,sDAAA;AAAA,GAAwD,EAAA,KAAM,mBAC3EA,yBAAA,CAAA,aAAA,CAAA,GAAA,EAAA;AAAA,IAAE,SAAU,EAAA,sCAAA;AAAA,GAAA,EAAwC,WAAY,CAAA,kBAEhEA,yBAAA,CAAA,aAAA,CAAA,KAAA,EAAA,IAAA,EACI,8BACIA,yBAAA,CAAA,aAAA,CAAAE,uBAAA,EAAA;AAAA,IAAY,MAAMC,gBAAW,CAAA,KAAA;AAAA,IAAO,UAAY,EAAA,QAAA;AAAA,IAAU,OAAA;AAAA,GAAkB,CAErF,CACJ,CAAA,CAAA;AAER;;;;"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
var React = require('react');
|
|
4
4
|
var core = require('@learncard/core');
|
|
5
5
|
var VCDisplayCard = require('./VCDisplayCard-2356076d.js');
|
|
6
|
-
var VCDisplayCard2 = require('./VCDisplayCard2-
|
|
6
|
+
var VCDisplayCard2 = require('./VCDisplayCard2-8d6b9f25.js');
|
|
7
7
|
|
|
8
8
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
9
9
|
|
|
@@ -76,4 +76,4 @@ const VCCard = ({
|
|
|
76
76
|
};
|
|
77
77
|
|
|
78
78
|
exports.VCCard = VCCard;
|
|
79
|
-
//# sourceMappingURL=VCCard-
|
|
79
|
+
//# sourceMappingURL=VCCard-322adfce.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VCCard-
|
|
1
|
+
{"version":3,"file":"VCCard-322adfce.js","sources":["../../src/components/VCCard/VCCard.tsx"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport { initLearnCard } from '@learncard/core';\nimport { VC, Profile, VerificationItem } from '@learncard/types';\n\nimport { VCDisplayCard } from '../VCDisplayCard';\nimport {\n VCDisplayCard2,\n MediaMetadata,\n VideoMetadata,\n CredentialIconType,\n} from '../VCDisplayCard2';\n\nexport type VCCardProps = {\n credential: VC;\n issueeOverride?: Profile;\n className?: string;\n version?: '1' | '2';\n\n /* Only used for version 2 */\n subjectImageComponent?: React.ReactNode;\n // convertTagsToSkills?: (tags: string[]) => { [skill: string]: string[] };\n handleXClick?: () => void;\n getFileMetadata?: (url: string) => MediaMetadata;\n getVideoMetadata?: (url: string) => VideoMetadata;\n onMediaAttachmentClick?: (url: string) => void;\n bottomRightIcon?: CredentialIconType;\n};\n\nexport const VCCard: React.FC<VCCardProps> = ({\n credential,\n issueeOverride,\n className = '',\n version = '1',\n subjectImageComponent,\n // convertTagsToSkills,\n handleXClick,\n getFileMetadata,\n getVideoMetadata,\n onMediaAttachmentClick,\n bottomRightIcon,\n}) => {\n const [loading, setLoading] = useState(true);\n const [vcVerification, setVCVerification] = useState<VerificationItem[]>([]);\n\n useEffect(() => {\n const verify = async () => {\n const wallet = await initLearnCard();\n const verification = await wallet.invoke.verifyCredential(credential, {}, true);\n setVCVerification(verification);\n setLoading(false);\n };\n\n verify();\n }, [credential]);\n\n if (version === '1') {\n return (\n <VCDisplayCard\n credential={credential}\n issueeOverride={issueeOverride}\n className={className}\n loading={loading}\n verification={vcVerification}\n />\n );\n }\n return (\n <VCDisplayCard2\n credential={credential}\n issueeOverride={issueeOverride}\n verificationInProgress={loading}\n verificationItems={vcVerification}\n subjectImageComponent={subjectImageComponent}\n // convertTagsToSkills={convertTagsToSkills}\n handleXClick={handleXClick}\n getFileMetadata={getFileMetadata}\n getVideoMetadata={getVideoMetadata}\n onMediaAttachmentClick={onMediaAttachmentClick}\n bottomRightIcon={bottomRightIcon}\n />\n );\n};\n\nexport default VCCard;\n"],"names":["useState","useEffect","initLearnCard","React","VCDisplayCard","VCDisplayCard2"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4BO,MAAM,SAAgC,CAAC;AAAA,EAC1C,UAAA;AAAA,EACA,cAAA;AAAA,EACA,SAAY,GAAA,EAAA;AAAA,EACZ,OAAU,GAAA,GAAA;AAAA,EACV,qBAAA;AAAA,EAEA,YAAA;AAAA,EACA,eAAA;AAAA,EACA,gBAAA;AAAA,EACA,sBAAA;AAAA,EACA,eAAA;AACJ,CAAM,KAAA;AACF,EAAA,MAAM,CAAC,OAAA,EAAS,UAAU,CAAA,GAAIA,eAAS,IAAI,CAAA,CAAA;AAC3C,EAAA,MAAM,CAAC,cAAgB,EAAA,iBAAiB,CAAI,GAAAA,cAAA,CAA6B,EAAE,CAAA,CAAA;AAE3E,EAAAC,eAAA,CAAU,MAAM;AACZ,IAAA,MAAM,SAAS,MAAY,OAAA,CAAA,KAAA,CAAA,EAAA,IAAA,EAAA,aAAA;AACvB,MAAM,MAAA,MAAA,GAAS,MAAMC,kBAAc,EAAA,CAAA;AACnC,MAAM,MAAA,YAAA,GAAe,MAAM,MAAO,CAAA,MAAA,CAAO,iBAAiB,UAAY,EAAA,IAAI,IAAI,CAAA,CAAA;AAC9E,MAAA,iBAAA,CAAkB,YAAY,CAAA,CAAA;AAC9B,MAAA,UAAA,CAAW,KAAK,CAAA,CAAA;AAAA,KACpB,CAAA,CAAA;AAEA,IAAO,MAAA,EAAA,CAAA;AAAA,GACX,EAAG,CAAC,UAAU,CAAC,CAAA,CAAA;AAEf,EAAA,IAAI,YAAY,GAAK,EAAA;AACjB,IAAA,uBACKC,yBAAA,CAAA,aAAA,CAAAC,2BAAA,EAAA;AAAA,MACG,UAAA;AAAA,MACA,cAAA;AAAA,MACA,SAAA;AAAA,MACA,OAAA;AAAA,MACA,YAAc,EAAA,cAAA;AAAA,KAClB,CAAA,CAAA;AAAA,GAER;AACA,EAAA,uBACKD,yBAAA,CAAA,aAAA,CAAAE,6BAAA,EAAA;AAAA,IACG,UAAA;AAAA,IACA,cAAA;AAAA,IACA,sBAAwB,EAAA,OAAA;AAAA,IACxB,iBAAmB,EAAA,cAAA;AAAA,IACnB,qBAAA;AAAA,IAEA,YAAA;AAAA,IACA,eAAA;AAAA,IACA,gBAAA;AAAA,IACA,sBAAA;AAAA,IACA,eAAA;AAAA,GACJ,CAAA,CAAA;AAER;;;;"}
|
|
@@ -7,6 +7,7 @@ var credential_helpers = require('./credential.helpers-80101c51.js');
|
|
|
7
7
|
require('./index-a961acab.js');
|
|
8
8
|
var types_esm = require('./types.esm-fa693b17.js');
|
|
9
9
|
var AwardRibbon = require('./AwardRibbon-14ba45fb.js');
|
|
10
|
+
var index = require('./index-d836b84d.js');
|
|
10
11
|
|
|
11
12
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
12
13
|
|
|
@@ -749,7 +750,8 @@ const VC2FrontFaceInfo = ({
|
|
|
749
750
|
issuerImageComponent,
|
|
750
751
|
customBodyCardComponent,
|
|
751
752
|
createdAt,
|
|
752
|
-
imageUrl
|
|
753
|
+
imageUrl,
|
|
754
|
+
customThumbComponent
|
|
753
755
|
}) => {
|
|
754
756
|
const issuerName = truncateWithEllipsis(credential_helpers.getNameFromProfile(issuer != null ? issuer : ""), 25);
|
|
755
757
|
const issueeName = truncateWithEllipsis(credential_helpers.getNameFromProfile(issuee != null ? issuee : ""), 25);
|
|
@@ -776,10 +778,10 @@ const VC2FrontFaceInfo = ({
|
|
|
776
778
|
);
|
|
777
779
|
return /* @__PURE__ */ React__default["default"].createElement("section", {
|
|
778
780
|
className: "vc-front-face w-full px-[15px] flex flex-col items-center gap-[15px]"
|
|
779
|
-
}, imageUrl && /* @__PURE__ */ React__default["default"].createElement("img", {
|
|
781
|
+
}, imageUrl && !customThumbComponent && /* @__PURE__ */ React__default["default"].createElement("img", {
|
|
780
782
|
className: "vc-front-image h-[130px] w-[130px] rounded-[10px]",
|
|
781
783
|
src: imageUrl
|
|
782
|
-
}), /* @__PURE__ */ React__default["default"].createElement("div", {
|
|
784
|
+
}), customThumbComponent && customThumbComponent, /* @__PURE__ */ React__default["default"].createElement("div", {
|
|
783
785
|
className: "vc-issue-info-box bg-white flex flex-col items-center gap-[5px] rounded-[20px] shadow-bottom px-[15px] py-[20px] w-full"
|
|
784
786
|
}, customBodyCardComponent && customBodyCardComponent, !customBodyCardComponent && /* @__PURE__ */ React__default["default"].createElement(React__default["default"].Fragment, null, /* @__PURE__ */ React__default["default"].createElement("h3", {
|
|
785
787
|
className: "text-[27px] leading-[130%] text-grayscale-900"
|
|
@@ -800,6 +802,36 @@ const VC2FrontFaceInfo = ({
|
|
|
800
802
|
}, issuerName))))));
|
|
801
803
|
};
|
|
802
804
|
|
|
805
|
+
const getCategoryTextColor = (category = index.LCCategoryEnum.achievement) => {
|
|
806
|
+
if (category === index.LCCategoryEnum.socialBadge)
|
|
807
|
+
return "text-cyan-700";
|
|
808
|
+
if (category === index.LCCategoryEnum.skill)
|
|
809
|
+
return "text-indigo-600";
|
|
810
|
+
if (category === index.LCCategoryEnum.achievement)
|
|
811
|
+
return "text-spice-600";
|
|
812
|
+
if (category === index.LCCategoryEnum.learningHistory)
|
|
813
|
+
return "text-emerald-700";
|
|
814
|
+
if (category === index.LCCategoryEnum.id)
|
|
815
|
+
return "text-yellow-400";
|
|
816
|
+
if (category === index.LCCategoryEnum.workHistory)
|
|
817
|
+
return "text-rose-600";
|
|
818
|
+
if (category === index.LCCategoryEnum.course)
|
|
819
|
+
return "text-emerald-700";
|
|
820
|
+
if (category === index.LCCategoryEnum.job)
|
|
821
|
+
return "text-rose-600";
|
|
822
|
+
if (category === index.LCCategoryEnum.currency)
|
|
823
|
+
return "text-cyan-700";
|
|
824
|
+
return "text-spice-600";
|
|
825
|
+
};
|
|
826
|
+
const VCDisplayCardCategoryType = ({
|
|
827
|
+
categoryType = index.LCCategoryEnum.achievement
|
|
828
|
+
}) => {
|
|
829
|
+
const categoryColor = getCategoryTextColor(categoryType);
|
|
830
|
+
return /* @__PURE__ */ React__default["default"].createElement("span", {
|
|
831
|
+
className: `uppercase ${categoryColor} font-poppins text-[12px] font-[600] leading-[12px]`
|
|
832
|
+
}, categoryType);
|
|
833
|
+
};
|
|
834
|
+
|
|
803
835
|
var __defProp = Object.defineProperty;
|
|
804
836
|
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
805
837
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
@@ -817,6 +849,7 @@ var __spreadValues = (a, b) => {
|
|
|
817
849
|
return a;
|
|
818
850
|
};
|
|
819
851
|
const VCDisplayCard2 = ({
|
|
852
|
+
categoryType,
|
|
820
853
|
credential,
|
|
821
854
|
verificationItems,
|
|
822
855
|
issueeOverride,
|
|
@@ -831,6 +864,7 @@ const VCDisplayCard2 = ({
|
|
|
831
864
|
bottomRightIcon,
|
|
832
865
|
customFooterComponent,
|
|
833
866
|
customBodyCardComponent,
|
|
867
|
+
customThumbComponent,
|
|
834
868
|
issueHistory
|
|
835
869
|
}) => {
|
|
836
870
|
var _a, _b, _c, _d, _e;
|
|
@@ -889,9 +923,9 @@ const VCDisplayCard2 = ({
|
|
|
889
923
|
ref: headerRef,
|
|
890
924
|
className: "vc-card-header px-[20px] pb-[10px] pt-[3px] overflow-visible mt-[40px] absolute text-center bg-white border-y-[5px] border-[#EEF2FF] shadow-bottom w-[calc(100%_+_16px)] rounded-t-[8px] z-50",
|
|
891
925
|
style: { wordBreak: "break-word" }
|
|
892
|
-
}, /* @__PURE__ */ React__default["default"].createElement(
|
|
893
|
-
|
|
894
|
-
}
|
|
926
|
+
}, /* @__PURE__ */ React__default["default"].createElement(VCDisplayCardCategoryType, {
|
|
927
|
+
categoryType
|
|
928
|
+
}), /* @__PURE__ */ React__default["default"].createElement(FitText, {
|
|
895
929
|
text: title != null ? title : "",
|
|
896
930
|
width: ((headerWidth != null ? headerWidth : 290) - 40).toString(),
|
|
897
931
|
options: { maxSize: 32, minSize: 20, multiLine: true },
|
|
@@ -920,6 +954,7 @@ const VCDisplayCard2 = ({
|
|
|
920
954
|
subjectImageComponent,
|
|
921
955
|
issuerImageComponent,
|
|
922
956
|
customBodyCardComponent,
|
|
957
|
+
customThumbComponent,
|
|
923
958
|
createdAt: createdAt != null ? createdAt : "",
|
|
924
959
|
imageUrl
|
|
925
960
|
}), !isFront && /* @__PURE__ */ React__default["default"].createElement(VC2BackFace, {
|
|
@@ -954,4 +989,4 @@ const VCDisplayCard2 = ({
|
|
|
954
989
|
};
|
|
955
990
|
|
|
956
991
|
exports.VCDisplayCard2 = VCDisplayCard2;
|
|
957
|
-
//# sourceMappingURL=VCDisplayCard2-
|
|
992
|
+
//# sourceMappingURL=VCDisplayCard2-8d6b9f25.js.map
|