@learncard/react 2.5.18 → 2.5.20
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-f0130caa.js → AchievementCard-52b029e8.js} +2 -2
- package/dist/cjs/{AchievementCard-f0130caa.js.map → AchievementCard-52b029e8.js.map} +1 -1
- package/dist/cjs/{BoostGenericCard-315c6b82.js → BoostGenericCard-7a29863b.js} +20 -7
- package/dist/cjs/BoostGenericCard-7a29863b.js.map +1 -0
- package/dist/cjs/{BoostSmallCard-30f75abb.js → BoostSmallCard-2c5b5dfe.js} +20 -8
- package/dist/cjs/BoostSmallCard-2c5b5dfe.js.map +1 -0
- package/dist/cjs/DotsThreeOutline.svg +5 -0
- package/dist/cjs/{GenericCard-9674fcc0.js → GenericCard-4241c598.js} +2 -2
- package/dist/cjs/{GenericCard-9674fcc0.js.map → GenericCard-4241c598.js.map} +1 -1
- package/dist/cjs/{JobListCard-c662e649.js → JobListCard-a3e030e0.js} +2 -2
- package/dist/cjs/{JobListCard-c662e649.js.map → JobListCard-a3e030e0.js.map} +1 -1
- package/dist/cjs/{LearnPill-5c9bf172.js → LearnPill-0b3170ea.js} +2 -2
- package/dist/cjs/{LearnPill-5c9bf172.js.map → LearnPill-0b3170ea.js.map} +1 -1
- package/dist/cjs/{VCCard-b2c5eb4a.js → VCCard-58d1f7ac.js} +2 -2
- package/dist/cjs/{VCCard-b2c5eb4a.js.map → VCCard-58d1f7ac.js.map} +1 -1
- package/dist/cjs/{VCDisplayCard2-447b0452.js → VCDisplayCard2-0a9e30d7.js} +5 -2
- package/dist/cjs/{VCDisplayCard2-447b0452.js.map → VCDisplayCard2-0a9e30d7.js.map} +1 -1
- package/dist/cjs/{constants-35d9ebc6.js → constants-3f8ed765.js} +2 -2
- package/dist/cjs/{constants-35d9ebc6.js.map → constants-3f8ed765.js.map} +1 -1
- package/dist/cjs/{index-83152f8d.js → index-d057eaee.js} +2 -2
- package/dist/cjs/{index-83152f8d.js.map → index-d057eaee.js.map} +1 -1
- package/dist/cjs/index-d836b84d.js.map +1 -1
- package/dist/cjs/index.js +11 -10
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/index11.js +2 -2
- package/dist/cjs/index12.js +11 -10
- package/dist/cjs/index12.js.map +1 -1
- package/dist/cjs/index14.js +2 -2
- package/dist/cjs/index17.js +2 -2
- package/dist/cjs/index2.js +2 -2
- package/dist/cjs/index26.js +2 -2
- package/dist/cjs/index3.js +3 -2
- package/dist/cjs/index3.js.map +1 -1
- package/dist/cjs/index34.js +2 -2
- package/dist/cjs/index37.js +1 -1
- package/dist/cjs/index4.js +3 -2
- package/dist/cjs/index4.js.map +1 -1
- package/dist/esm/{AchievementCard-b9eb551c.js → AchievementCard-51b4814b.js} +2 -2
- package/dist/esm/{AchievementCard-b9eb551c.js.map → AchievementCard-51b4814b.js.map} +1 -1
- package/dist/esm/{BoostGenericCard-9c14e541.js → BoostGenericCard-ab82b8aa.js} +19 -7
- package/dist/esm/BoostGenericCard-ab82b8aa.js.map +1 -0
- package/dist/esm/{BoostSmallCard-e42ec5ed.js → BoostSmallCard-2cc5a41a.js} +19 -8
- package/dist/esm/BoostSmallCard-2cc5a41a.js.map +1 -0
- package/dist/esm/DotsThreeOutline.svg +5 -0
- package/dist/esm/{GenericCard-eaab7759.js → GenericCard-d732daa0.js} +2 -2
- package/dist/esm/{GenericCard-eaab7759.js.map → GenericCard-d732daa0.js.map} +1 -1
- package/dist/esm/{JobListCard-5e3879ea.js → JobListCard-678e3c39.js} +2 -2
- package/dist/esm/{JobListCard-5e3879ea.js.map → JobListCard-678e3c39.js.map} +1 -1
- package/dist/esm/{LearnPill-3d9564d4.js → LearnPill-8684ba99.js} +2 -2
- package/dist/esm/{LearnPill-3d9564d4.js.map → LearnPill-8684ba99.js.map} +1 -1
- package/dist/esm/{VCCard-0f8604e0.js → VCCard-d75ca97f.js} +2 -2
- package/dist/esm/{VCCard-0f8604e0.js.map → VCCard-d75ca97f.js.map} +1 -1
- package/dist/esm/{VCDisplayCard2-c1bbc53a.js → VCDisplayCard2-cde92b6d.js} +5 -2
- package/dist/esm/{VCDisplayCard2-c1bbc53a.js.map → VCDisplayCard2-cde92b6d.js.map} +1 -1
- package/dist/esm/{constants-db0e356b.js → constants-af6897d5.js} +2 -2
- package/dist/esm/{constants-db0e356b.js.map → constants-af6897d5.js.map} +1 -1
- package/dist/esm/index-7103ad3c.js.map +1 -1
- package/dist/esm/{index-7dcfe90e.js → index-e588d5bb.js} +2 -2
- package/dist/esm/{index-7dcfe90e.js.map → index-e588d5bb.js.map} +1 -1
- package/dist/esm/index.js +11 -10
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/index11.js +2 -2
- package/dist/esm/index12.js +11 -10
- package/dist/esm/index12.js.map +1 -1
- package/dist/esm/index14.js +2 -2
- package/dist/esm/index17.js +2 -2
- package/dist/esm/index2.js +2 -2
- package/dist/esm/index26.js +2 -2
- package/dist/esm/index3.js +3 -2
- package/dist/esm/index3.js.map +1 -1
- package/dist/esm/index34.js +2 -2
- package/dist/esm/index37.js +1 -1
- package/dist/esm/index4.js +3 -2
- package/dist/esm/index4.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/main.css +1 -1
- package/dist/main.js +1 -1
- package/package.json +1 -1
- package/dist/cjs/BoostGenericCard-315c6b82.js.map +0 -1
- package/dist/cjs/BoostSmallCard-30f75abb.js.map +0 -1
- package/dist/esm/BoostGenericCard-9c14e541.js.map +0 -1
- package/dist/esm/BoostSmallCard-e42ec5ed.js.map +0 -1
- package/dist/images/walletTrophy.png +0 -0
- package/dist/images/walletcurrency.png +0 -0
- package/dist/images/walletids.png +0 -0
- package/dist/images/walletjobhistory.png +0 -0
- package/dist/images/walletlearninghistory.png +0 -0
- package/dist/images/walletskills.png +0 -0
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { W as WalletCategoryTypes } from './index-7103ad3c.js';
|
|
3
|
-
import { b as TYPE_TO_WALLET_DARK_COLOR, a as TYPE_TO_IMG_SRC } from './index-
|
|
3
|
+
import { b as TYPE_TO_WALLET_DARK_COLOR, a as TYPE_TO_IMG_SRC } from './index-e588d5bb.js';
|
|
4
4
|
import CaretRightFilled from './CaretRightFilled.svg';
|
|
5
5
|
import DefaultFace from './default-face.jpeg';
|
|
6
6
|
import AddAwardLight from './addawardlight.svg';
|
|
7
|
+
import ThreeDots from './DotsThreeOutline.svg';
|
|
7
8
|
import { C as CircleCheckButton } from './CircleCheckButton-551054f6.js';
|
|
8
9
|
|
|
9
10
|
const BoostSmallCard = ({
|
|
@@ -24,7 +25,8 @@ const BoostSmallCard = ({
|
|
|
24
25
|
customThumbComponent,
|
|
25
26
|
innerOnClick,
|
|
26
27
|
issueHistory,
|
|
27
|
-
bgImgSrc
|
|
28
|
+
bgImgSrc,
|
|
29
|
+
optionsTriggerOnClick
|
|
28
30
|
}) => {
|
|
29
31
|
var _a, _b, _c;
|
|
30
32
|
const thumbClass = (_a = `bg-${TYPE_TO_WALLET_DARK_COLOR[type]}`) != null ? _a : "bg-grayscale-50";
|
|
@@ -33,9 +35,9 @@ const BoostSmallCard = ({
|
|
|
33
35
|
const headerBgColor = (_b = `bg-${TYPE_TO_WALLET_DARK_COLOR[type]}`) != null ? _b : "bg-grayscale-900";
|
|
34
36
|
const checkBtnClass = checkStatus ? "generic-vc-card checked" : "generic-vc-card unchecked";
|
|
35
37
|
const defaultHeaderClass = `flex generic-card-title w-full justify-center ${customHeaderClass}`;
|
|
36
|
-
const defaultBodyClass = ` boost-small-card-body flex justify-center items-center text-center text-[14px] overflow-hidden text-grayscale-500
|
|
38
|
+
const defaultBodyClass = ` boost-small-card-body flex justify-center items-center text-center text-[14px] overflow-hidden text-grayscale-500 py-[5px] px-[10px] ${customBodyClass}`;
|
|
37
39
|
const defaultButtonClass = `cursor-pointer small-boost-boost-btn flex shadow-bottom boost-btn-click rounded-[40px] w-[140px] h-[48px] text-white flex justify-center items-center ${headerBgColor}`;
|
|
38
|
-
const innerClickContainerClass = `cursor-pointer boost-small-card inner-click-container z-10`;
|
|
40
|
+
const innerClickContainerClass = `relative cursor-pointer boost-small-card inner-click-container z-10`;
|
|
39
41
|
const issueHistoryDisplay = issueHistory && (issueHistory == null ? void 0 : issueHistory.length) > 3 ? issueHistory == null ? void 0 : issueHistory.slice(0, 3) : issueHistory;
|
|
40
42
|
const renderIssueHistory = issueHistoryDisplay == null ? void 0 : issueHistoryDisplay.map((issueItem) => {
|
|
41
43
|
return /* @__PURE__ */ React.createElement("div", {
|
|
@@ -50,9 +52,18 @@ const BoostSmallCard = ({
|
|
|
50
52
|
const handleInnerClick = () => {
|
|
51
53
|
innerOnClick == null ? void 0 : innerOnClick();
|
|
52
54
|
};
|
|
55
|
+
const handleOptionsClick = () => {
|
|
56
|
+
optionsTriggerOnClick == null ? void 0 : optionsTriggerOnClick();
|
|
57
|
+
};
|
|
53
58
|
return /* @__PURE__ */ React.createElement("div", {
|
|
54
|
-
className: `flex generic-display-card-simple bg-white flex-col shadow-
|
|
55
|
-
},
|
|
59
|
+
className: `flex generic-display-card-simple bg-white flex-col shadow-bottom relative $ py-[0px] px-[0px] w-[160px] h-[280px] rounded-[20px] overflow-hidden ${className}`
|
|
60
|
+
}, optionsTriggerOnClick && /* @__PURE__ */ React.createElement("section", {
|
|
61
|
+
className: "absolute shadow-bottom cursor-pointer h-[30px] w-[30px] top-[5px] right-[5px] rounded-full overflow-hidden z-20 bg-white flex items-center justify-center",
|
|
62
|
+
onClick: handleOptionsClick
|
|
63
|
+
}, /* @__PURE__ */ React.createElement("img", {
|
|
64
|
+
className: "h-[20px] w-[20px] object-cover overflow-hidden",
|
|
65
|
+
src: ThreeDots
|
|
66
|
+
})), bgImgSrc && /* @__PURE__ */ React.createElement("section", {
|
|
56
67
|
className: "absolute top-[-50px] left-[0px] rounded-b-full overflow-hidden z-0"
|
|
57
68
|
}, /* @__PURE__ */ React.createElement("img", {
|
|
58
69
|
className: "h-full w-full object-cover overflow-hidden",
|
|
@@ -72,7 +83,7 @@ const BoostSmallCard = ({
|
|
|
72
83
|
})), /* @__PURE__ */ React.createElement("section", {
|
|
73
84
|
className: defaultHeaderClass
|
|
74
85
|
}, /* @__PURE__ */ React.createElement("p", {
|
|
75
|
-
className: "relative z-[100] small-boost-title text-[
|
|
86
|
+
className: "relative z-[100] small-boost-title text-[16px] leading-[130%] p-[0px] font-medium text-center line-clamp-2"
|
|
76
87
|
}, title)), /* @__PURE__ */ React.createElement("section", {
|
|
77
88
|
className: defaultBodyClass
|
|
78
89
|
}, customBodyComponent && customBodyComponent, !customBodyComponent && issueHistory && (issueHistory == null ? void 0 : issueHistory.length) > 0 && renderIssueHistory, !customBodyComponent && issueHistory && (issueHistory == null ? void 0 : issueHistory.length) > 3 && /* @__PURE__ */ React.createElement("span", {
|
|
@@ -105,4 +116,4 @@ const BoostSmallCard = ({
|
|
|
105
116
|
};
|
|
106
117
|
|
|
107
118
|
export { BoostSmallCard as B };
|
|
108
|
-
//# sourceMappingURL=BoostSmallCard-
|
|
119
|
+
//# sourceMappingURL=BoostSmallCard-2cc5a41a.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BoostSmallCard-2cc5a41a.js","sources":["../../src/components/BoostSmallCard/BoostSmallCard.tsx"],"sourcesContent":["import React from 'react';\nimport { BoostSmallCardProps, WalletCategoryTypes } from '../../types';\nimport { TYPE_TO_IMG_SRC, TYPE_TO_WALLET_DARK_COLOR } from '../../constants';\nimport { CircleCheckButton } from '../CircleCheckButton';\nimport CaretRightFilled from '../../assets/images/CaretRightFilled.svg';\nimport DefaultFace from '../../assets/images/default-face.jpeg';\nimport AddAwardLight from '../../assets/images/addawardlight.svg';\nimport ThreeDots from '../../assets/images/DotsThreeOutline.svg';\n\nexport const BoostSmallCard: React.FC<BoostSmallCardProps> = ({\n title = 'Title Lorem Ipsum',\n thumbImgSrc,\n customThumbClass = '',\n customHeaderClass = '',\n type = WalletCategoryTypes.achievements,\n className,\n onCheckClick,\n showChecked,\n checkStatus,\n arrowOnClick,\n buttonOnClick,\n customButtonComponent,\n customBodyClass,\n customBodyComponent,\n customThumbComponent,\n innerOnClick,\n issueHistory,\n bgImgSrc,\n optionsTriggerOnClick,\n}) => {\n const thumbClass = `bg-${TYPE_TO_WALLET_DARK_COLOR[type]}` ?? 'bg-grayscale-50';\n const defaultThumbClass = `small-boost-card-thumb flex h-[110px] w-[110px] my-[10px] mx-auto ${thumbClass} overflow-hidden flex-col justify-center items-center rounded-full ${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 justify-center ${customHeaderClass}`;\n const defaultBodyClass = ` boost-small-card-body flex justify-center items-center text-center text-[14px] overflow-hidden text-grayscale-500 py-[5px] px-[10px] ${customBodyClass}`;\n const defaultButtonClass = `cursor-pointer small-boost-boost-btn flex shadow-bottom boost-btn-click rounded-[40px] w-[140px] h-[48px] text-white flex justify-center items-center ${headerBgColor}`;\n const innerClickContainerClass = `relative cursor-pointer boost-small-card inner-click-container z-10`;\n\n const issueHistoryDisplay =\n issueHistory && issueHistory?.length > 3 ? issueHistory?.slice(0, 3) : issueHistory;\n const renderIssueHistory = issueHistoryDisplay?.map(issueItem => {\n return (\n <div\n key={issueItem?.id}\n className=\"profile-thumb-img border-[2px] border-white border-solid vc-issuee-image h-[35px] w-[35px] rounded-full overflow-hidden mx-[-5px]\"\n >\n <img\n className=\"h-full w-full object-cover\"\n src={issueItem?.thumb || DefaultFace}\n alt=\"profile\"\n />\n </div>\n );\n });\n\n const handleInnerClick = () => {\n innerOnClick?.();\n };\n\n const handleOptionsClick = () => {\n optionsTriggerOnClick?.();\n };\n\n return (\n <div\n className={`flex generic-display-card-simple bg-white flex-col shadow-bottom relative $ py-[0px] px-[0px] w-[160px] h-[280px] rounded-[20px] overflow-hidden ${className}`}\n >\n {optionsTriggerOnClick && (\n <section\n className=\"absolute shadow-bottom cursor-pointer h-[30px] w-[30px] top-[5px] right-[5px] rounded-full overflow-hidden z-20 bg-white flex items-center justify-center\"\n onClick={handleOptionsClick}\n >\n <img\n className=\"h-[20px] w-[20px] object-cover overflow-hidden\"\n src={ThreeDots}\n />\n </section>\n )}\n\n {bgImgSrc && (\n <section className=\"absolute top-[-50px] left-[0px] rounded-b-full overflow-hidden z-0\">\n <img className=\"h-full w-full object-cover overflow-hidden\" src={bgImgSrc} />\n </section>\n )}\n\n <div className={innerClickContainerClass} onClick={handleInnerClick}>\n {customThumbComponent && customThumbComponent}\n {!customThumbComponent && (\n <section className={defaultThumbClass}>\n {thumbImgSrc && thumbImgSrc?.trim() !== '' && (\n <img\n className=\"generic-display-card-img h-full w-full w-[110px] h-[110px] rounded-full object-cover overflow-hidden\"\n src={thumbImgSrc ?? ''}\n alt=\"Credential Achievement Image\"\n />\n )}\n {(!thumbImgSrc || thumbImgSrc?.trim() === '') && (\n <img\n className=\"max-w-[110px] w-full h-full p-[0px] object-cover rounded-full\"\n src={imgSrc}\n />\n )}\n </section>\n )}\n\n <section className={defaultHeaderClass}>\n <p className=\"relative z-[100] small-boost-title text-[16px] leading-[130%] p-[0px] font-medium text-center line-clamp-2\">\n {title}\n </p>\n </section>\n\n <section className={defaultBodyClass}>\n {customBodyComponent && customBodyComponent}\n {!customBodyComponent &&\n issueHistory &&\n issueHistory?.length > 0 &&\n renderIssueHistory}\n {!customBodyComponent && issueHistory && issueHistory?.length > 3 && (\n <span className=\"small-boost-issue-count ml-[10px] font-semibold\">\n +{issueHistory?.length - 3}\n </span>\n )}\n </section>\n </div>\n\n <section className=\"small-boost-card-footer flex justify-center items-center absolute bottom-[15px] w-full\">\n {customButtonComponent && customButtonComponent}\n\n {!customButtonComponent && (\n <div onClick={buttonOnClick} className={defaultButtonClass}>\n <img className=\"h-[25px] mr-[7px] text-\" src={AddAwardLight} />\n <span className=\"font-mouse text-[25px] tracking-wider\">BOOST!</span>\n </div>\n )}\n </section>\n {showChecked && (\n <div className=\"check-btn-overlay absolute top-[5px] left-[5px]\">\n <CircleCheckButton\n checked={checkStatus}\n onClick={onCheckClick}\n className={checkBtnClass}\n />\n </div>\n )}\n\n {arrowOnClick && (\n <button\n type=\"button\"\n onClick={arrowOnClick}\n className=\"arrow-btn-overlay absolute top-[52px] right-[2px]\"\n >\n <img\n className=\"h-full w-full object-contai\"\n src={CaretRightFilled ?? ''}\n alt=\"Right Caret\"\n />\n </button>\n )}\n </div>\n );\n};\n\nexport default BoostSmallCard;\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
<svg width="25" height="24" viewBox="0 0 25 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path d="M10.6875 12C10.6875 13.0355 11.527 13.875 12.5625 13.875C13.598 13.875 14.4375 13.0355 14.4375 12C14.4375 10.9645 13.598 10.125 12.5625 10.125C11.527 10.125 10.6875 10.9645 10.6875 12Z" fill="#353E64" stroke="#353E64" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
|
3
|
+
<path d="M10.6875 19.5C10.6875 20.5355 11.527 21.375 12.5625 21.375C13.598 21.375 14.4375 20.5355 14.4375 19.5C14.4375 18.4645 13.598 17.625 12.5625 17.625C11.527 17.625 10.6875 18.4645 10.6875 19.5Z" fill="#353E64" stroke="#353E64" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
|
4
|
+
<path d="M10.6875 4.5C10.6875 5.53553 11.527 6.375 12.5625 6.375C13.598 6.375 14.4375 5.53553 14.4375 4.5C14.4375 3.46447 13.598 2.625 12.5625 2.625C11.527 2.625 10.6875 3.46447 10.6875 4.5Z" fill="#353E64" stroke="#353E64" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
|
5
|
+
</svg>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { W as WalletCategoryTypes } from './index-7103ad3c.js';
|
|
3
|
-
import { b as TYPE_TO_WALLET_DARK_COLOR, a as TYPE_TO_IMG_SRC } from './index-
|
|
3
|
+
import { b as TYPE_TO_WALLET_DARK_COLOR, a as TYPE_TO_IMG_SRC } from './index-e588d5bb.js';
|
|
4
4
|
import { C as CircleCheckButton } from './CircleCheckButton-551054f6.js';
|
|
5
5
|
|
|
6
6
|
const GenericCard = ({
|
|
@@ -52,4 +52,4 @@ const GenericCard = ({
|
|
|
52
52
|
};
|
|
53
53
|
|
|
54
54
|
export { GenericCard as G };
|
|
55
|
-
//# sourceMappingURL=GenericCard-
|
|
55
|
+
//# sourceMappingURL=GenericCard-d732daa0.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GenericCard-
|
|
1
|
+
{"version":3,"file":"GenericCard-d732daa0.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":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { T as TYPE_TO_MINI_ICON } from './index-
|
|
2
|
+
import { T as TYPE_TO_MINI_ICON } from './index-e588d5bb.js';
|
|
3
3
|
import { L as LCSubtypes } from './index-7103ad3c.js';
|
|
4
4
|
|
|
5
5
|
const TYPE_TO_COLOR = {
|
|
@@ -117,4 +117,4 @@ const JobListCard = ({
|
|
|
117
117
|
};
|
|
118
118
|
|
|
119
119
|
export { JobListingBubble as J, JobListCard as a };
|
|
120
|
-
//# sourceMappingURL=JobListCard-
|
|
120
|
+
//# sourceMappingURL=JobListCard-678e3c39.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JobListCard-5e3879ea.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":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"JobListCard-678e3c39.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":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { L as LCSubtypes } from './index-7103ad3c.js';
|
|
3
|
-
import { T as TYPE_TO_MINI_ICON } from './index-
|
|
3
|
+
import { T as TYPE_TO_MINI_ICON } from './index-e588d5bb.js';
|
|
4
4
|
|
|
5
5
|
const TYPE_TO_COLOR = {
|
|
6
6
|
[LCSubtypes.course]: "bg-emerald-50",
|
|
@@ -31,4 +31,4 @@ const LearnPill = ({
|
|
|
31
31
|
};
|
|
32
32
|
|
|
33
33
|
export { LearnPill as L };
|
|
34
|
-
//# sourceMappingURL=LearnPill-
|
|
34
|
+
//# sourceMappingURL=LearnPill-8684ba99.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LearnPill-
|
|
1
|
+
{"version":3,"file":"LearnPill-8684ba99.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":[],"mappings":";;;;AAIA,MAAM,aAAqB,GAAA;AAAA,EACvB,CAAC,WAAW,MAAS,GAAA,eAAA;AAAA,EACrB,CAAC,WAAW,WAAc,GAAA,aAAA;AAAA,EAC1B,CAAC,WAAW,KAAQ,GAAA,cAAA;AACxB,CAAA,CAAA;AAEA,MAAM,kBAA0B,GAAA;AAAA,EAC5B,CAAC,WAAW,MAAS,GAAA,kBAAA;AAAA,EACrB,CAAC,WAAW,WAAc,GAAA,gBAAA;AAAA,EAC1B,CAAC,WAAW,KAAQ,GAAA,iBAAA;AACxB,CAAA,CAAA;AAEO,MAAM,YAAsC,CAAC;AAAA,EAChD,KAAQ,GAAA,CAAA;AAAA,EACR,OAAO,UAAW,CAAA,MAAA;AAAA,EAClB,SAAA;AACJ,CAAM,KAAA;AACF,EAAA,MAAM,SAAS,iBAAkB,CAAA,IAAA,CAAA,CAAA;AACjC,EAAA,MAAM,UAAU,aAAc,CAAA,IAAA,CAAA,CAAA;AAC9B,EAAA,MAAM,YAAY,kBAAmB,CAAA,IAAA,CAAA,CAAA;AACrC,EAAA,uBACK,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAA,IACG,SAAA,EAAW,yDAAyD,OAA4D,CAAA,kDAAA,EAAA,SAAA,CAAA,CAAA;AAAA,GAAA,kBAE/H,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAA,IAAI,GAAK,EAAA,MAAA;AAAA,IAAQ,SAAU,EAAA,UAAA;AAAA,GAAW,mBACtC,KAAA,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
|
import React, { useState, useEffect } from 'react';
|
|
2
2
|
import { initLearnCard } from '@learncard/core';
|
|
3
3
|
import { V as VCDisplayCard } from './VCDisplayCard-140873eb.js';
|
|
4
|
-
import { V as VCDisplayCard2 } from './VCDisplayCard2-
|
|
4
|
+
import { V as VCDisplayCard2 } from './VCDisplayCard2-cde92b6d.js';
|
|
5
5
|
|
|
6
6
|
var __async = (__this, __arguments, generator) => {
|
|
7
7
|
return new Promise((resolve, reject) => {
|
|
@@ -70,4 +70,4 @@ const VCCard = ({
|
|
|
70
70
|
};
|
|
71
71
|
|
|
72
72
|
export { VCCard as V };
|
|
73
|
-
//# sourceMappingURL=VCCard-
|
|
73
|
+
//# sourceMappingURL=VCCard-d75ca97f.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VCCard-
|
|
1
|
+
{"version":3,"file":"VCCard-d75ca97f.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":[],"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,GAAI,SAAS,IAAI,CAAA,CAAA;AAC3C,EAAA,MAAM,CAAC,cAAgB,EAAA,iBAAiB,CAAI,GAAA,QAAA,CAA6B,EAAE,CAAA,CAAA;AAE3E,EAAA,SAAA,CAAU,MAAM;AACZ,IAAA,MAAM,SAAS,MAAY,OAAA,CAAA,KAAA,CAAA,EAAA,IAAA,EAAA,aAAA;AACvB,MAAM,MAAA,MAAA,GAAS,MAAM,aAAc,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,uBACK,KAAA,CAAA,aAAA,CAAA,aAAA,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,uBACK,KAAA,CAAA,aAAA,CAAA,cAAA,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;;;;"}
|
|
@@ -984,7 +984,10 @@ const VCDisplayCard2 = ({
|
|
|
984
984
|
className: "flex gap-[10px] items-center"
|
|
985
985
|
}, /* @__PURE__ */ React.createElement(LeftArrow, null), "Back")))), /* @__PURE__ */ React.createElement("footer", {
|
|
986
986
|
className: "vc-card-footer w-full flex justify-between p-[5px] mt-[5px]"
|
|
987
|
-
}, customFooterComponent && customFooterComponent, !customFooterComponent && /* @__PURE__ */ React.createElement(React.Fragment, null, worstVerificationStatus
|
|
987
|
+
}, customFooterComponent && customFooterComponent, !customFooterComponent && /* @__PURE__ */ React.createElement(React.Fragment, null, worstVerificationStatus === VerificationStatusEnum.Failed ? /* @__PURE__ */ React.createElement("div", {
|
|
988
|
+
className: "w-[40px]",
|
|
989
|
+
role: "presentation"
|
|
990
|
+
}) : /* @__PURE__ */ React.createElement(VCVerificationCheckWithSpinner, {
|
|
988
991
|
spinnerSize: "40px",
|
|
989
992
|
size: "32px",
|
|
990
993
|
loading: verificationInProgress
|
|
@@ -1002,4 +1005,4 @@ const VCDisplayCard2 = ({
|
|
|
1002
1005
|
};
|
|
1003
1006
|
|
|
1004
1007
|
export { VCDisplayCard2 as V };
|
|
1005
|
-
//# sourceMappingURL=VCDisplayCard2-
|
|
1008
|
+
//# sourceMappingURL=VCDisplayCard2-cde92b6d.js.map
|