@learncard/react 2.3.48 → 2.3.50

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.
@@ -1 +1 @@
1
- {"version":3,"file":"index-63ee021e.js","sources":["../../src/types/index.ts"],"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 gradcaplight,\n trophylight,\n puzzlelight,\n}\n\nexport enum LCSubtypes {\n job = 'job',\n achievement = 'achievement',\n skill = 'skill',\n course = 'course',\n locked = 'locked',\n}\n\nexport enum WalletCategoryTypes {\n achievements = 'achievements',\n ids = 'ids',\n jobHistory = 'jobHistory',\n currency = 'currency',\n learningHistory = 'learningHistory',\n skills = 'skills',\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 subjectImageComponent?: React.ReactNode;\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 showStatus?: boolean;\n showSkills?: boolean;\n date?: string;\n onClick?: () => void;\n};\n\nexport type AchievementCardProps = {\n title?: string;\n thumbImgSrc?: string;\n showStatus?: boolean;\n claimStatus?: boolean;\n showSkills?: boolean;\n skillCount?: number;\n showChecked?: boolean;\n checked?: boolean;\n onCheckClick?: () => void;\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 hideHeader?: boolean;\n check?: boolean;\n achievementCount: string | number;\n onClick?: () => void;\n};\n\nexport type CourseCardVerticalProps = {\n title?: string;\n className?: string;\n thumbImgSrc?: string;\n showStatus?: boolean;\n claimStatus?: boolean;\n achievementCount?: number;\n skillCount?: number;\n date?: string;\n checked?: boolean;\n showChecked?: boolean;\n onCheckClick?: () => void;\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\nexport type RoundedPillProps = {\n statusText?: string;\n type?: LCSubtypes.course | LCSubtypes.achievement | LCSubtypes.skill | 'locked';\n onClick?: () => void;\n showCheckmark?: boolean;\n};\n\nexport type JobQualificationsCount = {\n fulfilledCount: number;\n totalRequiredCount: number;\n};\n\nexport type JobQualificationDisplay = {\n skills?: JobQualificationsCount;\n achievements?: JobQualificationsCount;\n courses?: JobQualificationsCount;\n};\n\nexport type JobListCardProps = {\n title?: string;\n company?: string;\n compensation?: string;\n location?: string;\n locationRequirement?: string;\n timeRequirement?: string;\n qualificationDisplay?: JobQualificationDisplay;\n percentQualifiedDisplay?: string;\n postDateDisplay?: string;\n imgThumb?: string;\n isBookmarked?: boolean;\n className?: string;\n onBookmark?: () => void;\n onClick?: () => void;\n};\n\nexport type LearnPillProps = {\n count: number | string;\n type: LCSubtypes.course | LCSubtypes.achievement | LCSubtypes.skill;\n className?: string;\n};\n\nexport type CircleCheckButtonProps = {\n onClick?: () => void;\n className?: string;\n bgColor?: string;\n checked?: boolean;\n};\n\nexport type SkillTabCardProps = {\n title?: string;\n description?: string;\n checked?: boolean;\n showChecked?: boolean;\n className?: string;\n onCheckClicked?: () => void;\n onClick?: () => void;\n};\n\nexport type JobHistoryCardProps = {\n title?: string;\n company?: string;\n description?: string;\n dateRange?: string;\n jobType?: string;\n className?: string;\n showArrow?: boolean;\n onClick?: () => void;\n};\n\nexport type GenericCardProps = {\n title?: string;\n className?: string;\n type?: WalletCategoryTypes;\n thumbImgSrc?: string;\n customThumbClass?: string;\n customHeaderClass?: string;\n onClick?: () => void;\n};\n"],"names":[],"mappings":";;AAAU,IAAC,KAAK,mBAAmB,CAAC,CAAC,MAAM,KAAK;AAChD,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,WAAW,CAAC;AAChD,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC;AAC9C,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,GAAG,YAAY,CAAC;AAClD,EAAE,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,GAAG,eAAe,CAAC;AACxD,EAAE,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,GAAG,gBAAgB,CAAC;AAC1D,EAAE,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,GAAG,eAAe,CAAC;AACxD,EAAE,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,GAAG,cAAc,CAAC;AACtD,EAAE,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,GAAG,aAAa,CAAC;AACpD,EAAE,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,GAAG,aAAa,CAAC;AACpD,EAAE,OAAO,MAAM,CAAC;AAChB,CAAC,EAAE,KAAK,IAAI,EAAE,EAAE;AACN,IAAC,UAAU,mBAAmB,CAAC,CAAC,WAAW,KAAK;AAC1D,EAAE,WAAW,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;AAC7B,EAAE,WAAW,CAAC,aAAa,CAAC,GAAG,aAAa,CAAC;AAC7C,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;AACjC,EAAE,WAAW,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC;AACnC,EAAE,WAAW,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC;AACnC,EAAE,OAAO,WAAW,CAAC;AACrB,CAAC,EAAE,UAAU,IAAI,EAAE,EAAE;AACX,IAAC,mBAAmB,mBAAmB,CAAC,CAAC,oBAAoB,KAAK;AAC5E,EAAE,oBAAoB,CAAC,cAAc,CAAC,GAAG,cAAc,CAAC;AACxD,EAAE,oBAAoB,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;AACtC,EAAE,oBAAoB,CAAC,YAAY,CAAC,GAAG,YAAY,CAAC;AACpD,EAAE,oBAAoB,CAAC,UAAU,CAAC,GAAG,UAAU,CAAC;AAChD,EAAE,oBAAoB,CAAC,iBAAiB,CAAC,GAAG,iBAAiB,CAAC;AAC9D,EAAE,oBAAoB,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC;AAC5C,EAAE,OAAO,oBAAoB,CAAC;AAC9B,CAAC,EAAE,mBAAmB,IAAI,EAAE;;;;;;"}
1
+ {"version":3,"file":"index-63ee021e.js","sources":["../../src/types/index.ts"],"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 gradcaplight,\n trophylight,\n puzzlelight,\n}\n\nexport enum LCSubtypes {\n job = 'job',\n achievement = 'achievement',\n skill = 'skill',\n course = 'course',\n locked = 'locked',\n}\n\nexport enum WalletCategoryTypes {\n achievements = 'achievements',\n ids = 'ids',\n jobHistory = 'jobHistory',\n currency = 'currency',\n learningHistory = 'learningHistory',\n skills = 'skills',\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 subjectImageComponent?: React.ReactNode;\n hideProfileBubbles?: boolean;\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 showStatus?: boolean;\n showSkills?: boolean;\n date?: string;\n onClick?: () => void;\n};\n\nexport type AchievementCardProps = {\n title?: string;\n thumbImgSrc?: string;\n showStatus?: boolean;\n claimStatus?: boolean;\n showSkills?: boolean;\n skillCount?: number;\n showChecked?: boolean;\n checked?: boolean;\n onCheckClick?: () => void;\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 hideHeader?: boolean;\n check?: boolean;\n achievementCount: string | number;\n onClick?: () => void;\n};\n\nexport type CourseCardVerticalProps = {\n title?: string;\n className?: string;\n thumbImgSrc?: string;\n showStatus?: boolean;\n claimStatus?: boolean;\n achievementCount?: number;\n skillCount?: number;\n date?: string;\n checked?: boolean;\n showChecked?: boolean;\n onCheckClick?: () => void;\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\nexport type RoundedPillProps = {\n statusText?: string;\n type?: LCSubtypes.course | LCSubtypes.achievement | LCSubtypes.skill | 'locked';\n onClick?: () => void;\n showCheckmark?: boolean;\n};\n\nexport type JobQualificationsCount = {\n fulfilledCount: number;\n totalRequiredCount: number;\n};\n\nexport type JobQualificationDisplay = {\n skills?: JobQualificationsCount;\n achievements?: JobQualificationsCount;\n courses?: JobQualificationsCount;\n};\n\nexport type JobListCardProps = {\n title?: string;\n company?: string;\n compensation?: string;\n location?: string;\n locationRequirement?: string;\n timeRequirement?: string;\n qualificationDisplay?: JobQualificationDisplay;\n percentQualifiedDisplay?: string;\n postDateDisplay?: string;\n imgThumb?: string;\n isBookmarked?: boolean;\n className?: string;\n onBookmark?: () => void;\n onClick?: () => void;\n};\n\nexport type LearnPillProps = {\n count: number | string;\n type: LCSubtypes.course | LCSubtypes.achievement | LCSubtypes.skill;\n className?: string;\n};\n\nexport type CircleCheckButtonProps = {\n onClick?: () => void;\n className?: string;\n bgColor?: string;\n checked?: boolean;\n};\n\nexport type SkillTabCardProps = {\n title?: string;\n description?: string;\n checked?: boolean;\n showChecked?: boolean;\n className?: string;\n onCheckClicked?: () => void;\n onClick?: () => void;\n};\n\nexport type JobHistoryCardProps = {\n title?: string;\n company?: string;\n description?: string;\n dateRange?: string;\n jobType?: string;\n className?: string;\n showArrow?: boolean;\n onClick?: () => void;\n};\n\nexport type GenericCardProps = {\n title?: string;\n className?: string;\n type?: WalletCategoryTypes;\n thumbImgSrc?: string;\n customThumbClass?: string;\n customHeaderClass?: string;\n onClick?: () => void;\n};\n"],"names":[],"mappings":";;AAAU,IAAC,KAAK,mBAAmB,CAAC,CAAC,MAAM,KAAK;AAChD,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,WAAW,CAAC;AAChD,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC;AAC9C,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,GAAG,YAAY,CAAC;AAClD,EAAE,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,GAAG,eAAe,CAAC;AACxD,EAAE,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,GAAG,gBAAgB,CAAC;AAC1D,EAAE,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,GAAG,eAAe,CAAC;AACxD,EAAE,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,GAAG,cAAc,CAAC;AACtD,EAAE,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,GAAG,aAAa,CAAC;AACpD,EAAE,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,GAAG,aAAa,CAAC;AACpD,EAAE,OAAO,MAAM,CAAC;AAChB,CAAC,EAAE,KAAK,IAAI,EAAE,EAAE;AACN,IAAC,UAAU,mBAAmB,CAAC,CAAC,WAAW,KAAK;AAC1D,EAAE,WAAW,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;AAC7B,EAAE,WAAW,CAAC,aAAa,CAAC,GAAG,aAAa,CAAC;AAC7C,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;AACjC,EAAE,WAAW,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC;AACnC,EAAE,WAAW,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC;AACnC,EAAE,OAAO,WAAW,CAAC;AACrB,CAAC,EAAE,UAAU,IAAI,EAAE,EAAE;AACX,IAAC,mBAAmB,mBAAmB,CAAC,CAAC,oBAAoB,KAAK;AAC5E,EAAE,oBAAoB,CAAC,cAAc,CAAC,GAAG,cAAc,CAAC;AACxD,EAAE,oBAAoB,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;AACtC,EAAE,oBAAoB,CAAC,YAAY,CAAC,GAAG,YAAY,CAAC;AACpD,EAAE,oBAAoB,CAAC,UAAU,CAAC,GAAG,UAAU,CAAC;AAChD,EAAE,oBAAoB,CAAC,iBAAiB,CAAC,GAAG,iBAAiB,CAAC;AAC9D,EAAE,oBAAoB,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC;AAC5C,EAAE,OAAO,oBAAoB,CAAC;AAC9B,CAAC,EAAE,mBAAmB,IAAI,EAAE;;;;;;"}
package/dist/cjs/index.js CHANGED
@@ -27,9 +27,9 @@ var SkillVerticalCard = require('./SkillVerticalCard-3eb3a8e9.js');
27
27
  var SkillsCard = require('./SkillsCard-4b6dbb4f.js');
28
28
  var SkillsStatsCard = require('./SkillsStatsCard-97a35a88.js');
29
29
  var SmallAchievementCard = require('./SmallAchievementCard-c76701ce.js');
30
- var VCCard = require('./VCCard-3498a0c7.js');
30
+ var VCCard = require('./VCCard-0d144529.js');
31
31
  var VCDisplayBackFace = require('./VCDisplayBackFace-9f5b806d.js');
32
- var VCDisplayCard = require('./VCDisplayCard-56621eed.js');
32
+ var VCDisplayCard = require('./VCDisplayCard-52814572.js');
33
33
  var VCThumbnail = require('./VCThumbnail-6bf86bb2.js');
34
34
  var VCVerificationCheck = require('./VCVerificationCheck-0e495524.js');
35
35
  var VCVerificationPill = require('./VCVerificationPill-656a2742.js');
@@ -27,9 +27,9 @@ var SkillVerticalCard = require('./SkillVerticalCard-3eb3a8e9.js');
27
27
  var SkillsCard = require('./SkillsCard-4b6dbb4f.js');
28
28
  var SkillsStatsCard = require('./SkillsStatsCard-97a35a88.js');
29
29
  var SmallAchievementCard = require('./SmallAchievementCard-c76701ce.js');
30
- var VCCard = require('./VCCard-3498a0c7.js');
30
+ var VCCard = require('./VCCard-0d144529.js');
31
31
  var VCDisplayBackFace = require('./VCDisplayBackFace-9f5b806d.js');
32
- var VCDisplayCard = require('./VCDisplayCard-56621eed.js');
32
+ var VCDisplayCard = require('./VCDisplayCard-52814572.js');
33
33
  var VCThumbnail = require('./VCThumbnail-6bf86bb2.js');
34
34
  var VCVerificationCheck = require('./VCVerificationCheck-0e495524.js');
35
35
  var VCVerificationPill = require('./VCVerificationPill-656a2742.js');
@@ -2,10 +2,10 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var VCCard = require('./VCCard-3498a0c7.js');
5
+ var VCCard = require('./VCCard-0d144529.js');
6
6
  require('react');
7
7
  require('@learncard/core');
8
- require('./VCDisplayCard-56621eed.js');
8
+ require('./VCDisplayCard-52814572.js');
9
9
  require('./FlippyCard-33e03a9e.js');
10
10
  require('./icon.green.fat-arrow.png');
11
11
  require('./ArrowArcRight.svg');
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var VCDisplayCard = require('./VCDisplayCard-56621eed.js');
5
+ var VCDisplayCard = require('./VCDisplayCard-52814572.js');
6
6
  require('react');
7
7
  require('./FlippyCard-33e03a9e.js');
8
8
  require('./icon.green.fat-arrow.png');
@@ -1 +1 @@
1
- {"version":3,"file":"JobListCard-e84e21e7.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 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 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 <button\n type=\"button\"\n onClick={onClick}\n className=\"mt-[10px] bg-cyan-700 py-[15px] px-[2px] rounded-[40px] text-grayscale-50 text-[17px] font-bold\"\n >\n {qualifiedText}\n </button>\n </div>\n );\n};\n\nexport default JobListCard;\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"JobListCard-e84e21e7.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 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}/${qualificationDisplay?.courses?.totalRequiredCount ?? 0\n }`;\n const achievementsCountDisplay =\n achievementsReqCount &&\n `${qualificationDisplay?.achievements?.fulfilledCount ?? 0}/${qualificationDisplay?.achievements?.totalRequiredCount ?? 0\n }`;\n const skillsCountDisplay =\n skillsReqCount &&\n `${qualificationDisplay?.skills?.fulfilledCount ?? 0}/${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 <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 <button\n type=\"button\"\n onClick={onClick}\n className=\"mt-[10px] bg-cyan-700 py-[15px] px-[2px] rounded-[40px] text-grayscale-50 text-[17px] font-bold\"\n >\n {qualifiedText}\n </button>\n </div>\n );\n};\n\nexport default JobListCard;\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import React, { useState, useEffect } from 'react';
2
2
  import { initLearnCard } from '@learncard/core';
3
- import { V as VCDisplayCard } from './VCDisplayCard-eaae1142.js';
3
+ import { V as VCDisplayCard } from './VCDisplayCard-3e008724.js';
4
4
 
5
5
  var __async = (__this, __arguments, generator) => {
6
6
  return new Promise((resolve, reject) => {
@@ -28,7 +28,7 @@ const VCCard = ({ credential, issueeOverride, className = "" }) => {
28
28
  useEffect(() => {
29
29
  const verify = () => __async(void 0, null, function* () {
30
30
  const wallet = yield initLearnCard();
31
- const verification = yield wallet.verifyCredential(credential);
31
+ const verification = yield wallet.invoke.verifyCredential(credential, {}, true);
32
32
  setVCVerification(verification);
33
33
  setLoading(false);
34
34
  });
@@ -44,4 +44,4 @@ const VCCard = ({ credential, issueeOverride, className = "" }) => {
44
44
  };
45
45
 
46
46
  export { VCCard as V };
47
- //# sourceMappingURL=VCCard-91e6c109.js.map
47
+ //# sourceMappingURL=VCCard-80fabb28.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VCCard-80fabb28.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';\n\nexport type VCCardProps = {\n credential: VC;\n issueeOverride?: Profile;\n className?: string;\n};\n\nexport const VCCard: React.FC<VCCardProps> = ({ credential, issueeOverride, className = '' }) => {\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 return (\n <VCDisplayCard\n credential={credential}\n issueeOverride={issueeOverride}\n className={className}\n loading={loading}\n verification={vcVerification}\n />\n );\n};\n\nexport default VCCard;\n"],"names":[],"mappings":";;;;AAAA,IAAI,OAAO,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,SAAS,KAAK;AAClD,EAAE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK;AAC1C,IAAI,IAAI,SAAS,GAAG,CAAC,KAAK,KAAK;AAC/B,MAAM,IAAI;AACV,QAAQ,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AACpC,OAAO,CAAC,OAAO,CAAC,EAAE;AAClB,QAAQ,MAAM,CAAC,CAAC,CAAC,CAAC;AAClB,OAAO;AACP,KAAK,CAAC;AACN,IAAI,IAAI,QAAQ,GAAG,CAAC,KAAK,KAAK;AAC9B,MAAM,IAAI;AACV,QAAQ,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;AACrC,OAAO,CAAC,OAAO,CAAC,EAAE;AAClB,QAAQ,MAAM,CAAC,CAAC,CAAC,CAAC;AAClB,OAAO;AACP,KAAK,CAAC;AACN,IAAI,IAAI,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;AACrG,IAAI,IAAI,CAAC,CAAC,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;AACpE,GAAG,CAAC,CAAC;AACL,CAAC,CAAC;AAIU,MAAC,MAAM,GAAG,CAAC,EAAE,UAAU,EAAE,cAAc,EAAE,SAAS,GAAG,EAAE,EAAE,KAAK;AAC1E,EAAE,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC/C,EAAE,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;AAC3D,EAAE,SAAS,CAAC,MAAM;AAClB,IAAI,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,aAAa;AAC5D,MAAM,MAAM,MAAM,GAAG,MAAM,aAAa,EAAE,CAAC;AAC3C,MAAM,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,UAAU,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;AACtF,MAAM,iBAAiB,CAAC,YAAY,CAAC,CAAC;AACtC,MAAM,UAAU,CAAC,KAAK,CAAC,CAAC;AACxB,KAAK,CAAC,CAAC;AACP,IAAI,MAAM,EAAE,CAAC;AACb,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;AACnB,EAAE,uBAAuB,KAAK,CAAC,aAAa,CAAC,aAAa,EAAE;AAC5D,IAAI,UAAU;AACd,IAAI,cAAc;AAClB,IAAI,SAAS;AACb,IAAI,OAAO;AACX,IAAI,YAAY,EAAE,cAAc;AAChC,GAAG,CAAC,CAAC;AACL;;;;"}
@@ -2424,18 +2424,22 @@ const VCDisplayFrontFace = ({
2424
2424
  issuer,
2425
2425
  issuee,
2426
2426
  subjectImageComponent,
2427
+ hideProfileBubbles = false,
2427
2428
  credentialSubject,
2428
2429
  className = "",
2429
2430
  loading
2430
2431
  }) => {
2431
- var _a, _b, _c;
2432
+ var _a, _b, _c, _d;
2432
2433
  const credentialAchievementImage = (_a = credentialSubject == null ? void 0 : credentialSubject.achievement) == null ? void 0 : _a.image;
2433
2434
  const issuerName = getNameFromProfile(issuer != null ? issuer : "");
2434
2435
  const issueeName = getNameFromProfile(issuee != null ? issuee : "");
2435
2436
  const issuerImage = getImageFromProfile(issuer != null ? issuer : "");
2436
2437
  const issueeImage = getImageFromProfile(issuee != null ? issuee : "");
2438
+ const issuerNameAbr = (_b = issuerName == null ? void 0 : issuerName.slice(0, 1)) != null ? _b : "";
2437
2439
  let issueeImageEl = null;
2438
- if (issueeImage) {
2440
+ const issuerImgExists = issuerImage && issuerImage !== "";
2441
+ const issueeImgExists = issueeImage && issueeImage !== "";
2442
+ if (issueeImgExists) {
2439
2443
  issueeImageEl = /* @__PURE__ */ React.createElement("div", {
2440
2444
  className: "flex flex-row items-center justify-center h-full w-full rounded-full border-solid border-4 border-white overflow-hidden bg-white"
2441
2445
  }, /* @__PURE__ */ React.createElement("img", {
@@ -2443,9 +2447,21 @@ const VCDisplayFrontFace = ({
2443
2447
  src: issueeImage || DefaultFace,
2444
2448
  alt: "Issuee image"
2445
2449
  }));
2446
- } else if (!issueeImage && subjectImageComponent) {
2450
+ } else if (!issueeImgExists && subjectImageComponent) {
2447
2451
  issueeImageEl = subjectImageComponent;
2448
2452
  }
2453
+ let issuerImageEl = null;
2454
+ if (issuerImgExists) {
2455
+ issuerImageEl = /* @__PURE__ */ React.createElement("img", {
2456
+ className: "w-4/6 h-4/6 object-cover",
2457
+ src: issuerImage,
2458
+ alt: "Issuer image"
2459
+ });
2460
+ } else {
2461
+ issuerImageEl = /* @__PURE__ */ React.createElement("div", {
2462
+ className: "flex flex-row items-center justify-center h-full w-full overflow-hidden bg-emerald-700 text-white font-medium text-3xl"
2463
+ }, issuerNameAbr);
2464
+ }
2449
2465
  return /* @__PURE__ */ React.createElement("div", {
2450
2466
  className: `flex overflow-hidden flex-col items-center justify-between relative max-w-[400px] h-[100%] max-h-[600px] min-h-[600px] p-7 rounded-3xl shadow-3xl bg-emerald-700 vc-display-card-full-container ${className}`
2451
2467
  }, /* @__PURE__ */ React.createElement("section", {
@@ -2459,29 +2475,23 @@ const VCDisplayFrontFace = ({
2459
2475
  src: credentialAchievementImage != null ? credentialAchievementImage : "",
2460
2476
  alt: "Credential Achievement Image"
2461
2477
  })), /* @__PURE__ */ React.createElement("section", {
2462
- className: "flex flex-row items-start justify-between w-full line-clamp-2"
2478
+ className: "flex flex-row w-full line-clamp-2"
2463
2479
  }, /* @__PURE__ */ React.createElement("div", {
2464
- className: "flex flex-row items-start justify-start line-clamp-2 py-4 "
2480
+ className: "flex flex-row w-full line-clamp-2 py-4 vc-flippy-card-title-front "
2465
2481
  }, /* @__PURE__ */ React.createElement("h3", {
2466
- className: "text-2xl line-clamp-2 tracking-wide leading-snug text-center vc-display-title text-gray-900 font-medium",
2482
+ className: "vc-thumbnail-title w-full text-2xl line-clamp-2 tracking-wide leading-snug text-center vc-display-title text-gray-900 font-medium",
2467
2483
  "data-testid": "vc-thumbnail-title"
2468
2484
  }, title != null ? title : ""))), /* @__PURE__ */ React.createElement("section", {
2469
2485
  className: "flex flex-row items-center justify-center mt-2 w-full my-2 vc-card-issuer-thumbs"
2470
- }, /* @__PURE__ */ React.createElement("div", {
2486
+ }, !hideProfileBubbles && /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement("div", {
2471
2487
  className: "flex items-center justify-center h-16 w-16 shadow-3xl rounded-full overflow-hidden bg-white"
2472
- }, /* @__PURE__ */ React.createElement("div", {
2473
- className: "flex flex-row items-center justify-center rounded-full overflow-hidden bg-white w-10/12 h-5/6"
2474
- }, /* @__PURE__ */ React.createElement("img", {
2475
- className: "w-4/6 h-4/6 object-cover",
2476
- src: issuerImage,
2477
- alt: "Issuer image"
2478
- }))), /* @__PURE__ */ React.createElement("img", {
2488
+ }, issuerImageEl), /* @__PURE__ */ React.createElement("img", {
2479
2489
  className: "h-8 w-8 my-0 mx-4",
2480
- src: (_b = FatArrow) != null ? _b : "",
2490
+ src: (_c = FatArrow) != null ? _c : "",
2481
2491
  alt: "fat arrow icon"
2482
2492
  }), /* @__PURE__ */ React.createElement("div", {
2483
2493
  className: "flex items-center justify-center h-16 w-16 shadow-3xl rounded-full overflow-hidden bg-white"
2484
- }, issueeImageEl)), /* @__PURE__ */ React.createElement("div", {
2494
+ }, issueeImageEl))), /* @__PURE__ */ React.createElement("div", {
2485
2495
  className: "w-full mt-2 vc-card-issued-to-info"
2486
2496
  }, /* @__PURE__ */ React.createElement("p", {
2487
2497
  className: "text-sm font-light text-center line-clamp-2 vc-display-issue-details text-gray-900",
@@ -2498,7 +2508,7 @@ const VCDisplayFrontFace = ({
2498
2508
  className: "flex items-center"
2499
2509
  }, "Details"), /* @__PURE__ */ React.createElement("img", {
2500
2510
  className: "h-8 w-8 my-0 mx-1",
2501
- src: (_c = FlipArrowRight) != null ? _c : "",
2511
+ src: (_d = FlipArrowRight) != null ? _d : "",
2502
2512
  alt: "Flip Card"
2503
2513
  })))), /* @__PURE__ */ React.createElement("div", {
2504
2514
  className: "flex items-center justify-center w-full"
@@ -2522,6 +2532,7 @@ const VCDisplayCard = ({
2522
2532
  className = "",
2523
2533
  loading = false,
2524
2534
  verification = [],
2535
+ hideProfileBubbles = false,
2525
2536
  subjectImageComponent
2526
2537
  }) => {
2527
2538
  const {
@@ -2538,6 +2549,7 @@ const VCDisplayCard = ({
2538
2549
  issuer,
2539
2550
  issuee,
2540
2551
  subjectImageComponent,
2552
+ hideProfileBubbles,
2541
2553
  createdAt,
2542
2554
  className,
2543
2555
  loading
@@ -2554,4 +2566,4 @@ const VCDisplayCard = ({
2554
2566
  };
2555
2567
 
2556
2568
  export { VCDisplayCard as V };
2557
- //# sourceMappingURL=VCDisplayCard-eaae1142.js.map
2569
+ //# sourceMappingURL=VCDisplayCard-3e008724.js.map