@learncard/react 2.3.57 → 2.3.60
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/README.md +4 -2
- package/dist/base.css +1 -1
- package/dist/base.js +1 -1
- package/dist/cjs/{CourseVerticalCard-ba8fc2f7.js → CourseVerticalCard-ef3e7ea6.js} +3 -2
- package/dist/cjs/CourseVerticalCard-ef3e7ea6.js.map +1 -0
- package/dist/cjs/{FlippyCard-33e03a9e.js → FlippyCard-2cbe2dbe.js} +4 -14
- package/dist/cjs/FlippyCard-2cbe2dbe.js.map +1 -0
- package/dist/cjs/{GenericCard-c5b70b29.js → GenericCard-39248302.js} +16 -4
- package/dist/cjs/GenericCard-39248302.js.map +1 -0
- package/dist/cjs/{SkillTabCard-82f2fae0.js → SkillTabCard-2f6e8b78.js} +6 -3
- package/dist/cjs/SkillTabCard-2f6e8b78.js.map +1 -0
- package/dist/cjs/{VCCard-5f411418.js → VCCard-69176b38.js} +2 -2
- package/dist/cjs/{VCCard-5f411418.js.map → VCCard-69176b38.js.map} +1 -1
- package/dist/cjs/{VCDisplayBackFace-0ffe0e45.js → VCDisplayBackFace-30fcbf18.js} +23 -18
- package/dist/cjs/VCDisplayBackFace-30fcbf18.js.map +1 -0
- package/dist/cjs/{VCDisplayCard-dfb9701f.js → VCDisplayCard-1f6d7964.js} +49 -24
- package/dist/cjs/{VCDisplayCard-dfb9701f.js.map → VCDisplayCard-1f6d7964.js.map} +1 -1
- package/dist/cjs/default-face.jpeg +0 -0
- package/dist/cjs/index-63ee021e.js.map +1 -1
- package/dist/cjs/index.js +7 -7
- package/dist/cjs/index10.js +7 -7
- package/dist/cjs/index25.js +1 -1
- package/dist/cjs/index29.js +5 -5
- package/dist/cjs/index30.js +1 -1
- package/dist/cjs/index31.js +4 -4
- package/dist/cjs/index32.js +0 -1
- package/dist/cjs/index32.js.map +1 -1
- package/dist/cjs/index7.js +1 -1
- package/dist/cjs/index8.js +1 -1
- package/dist/cjs/index9.js +13 -1
- package/dist/cjs/index9.js.map +1 -1
- package/dist/esm/{CourseVerticalCard-643f767b.js → CourseVerticalCard-c91c7a7a.js} +3 -2
- package/dist/esm/CourseVerticalCard-c91c7a7a.js.map +1 -0
- package/dist/esm/{FlippyCard-682649d7.js → FlippyCard-f4f0b3f8.js} +5 -15
- package/dist/esm/FlippyCard-f4f0b3f8.js.map +1 -0
- package/dist/esm/{GenericCard-ada539c7.js → GenericCard-2aaadb4b.js} +16 -4
- package/dist/esm/GenericCard-2aaadb4b.js.map +1 -0
- package/dist/esm/{SkillTabCard-ade7a48c.js → SkillTabCard-82b97c62.js} +6 -3
- package/dist/esm/SkillTabCard-82b97c62.js.map +1 -0
- package/dist/esm/{VCCard-fff987be.js → VCCard-3a8f5414.js} +2 -2
- package/dist/esm/{VCCard-fff987be.js.map → VCCard-3a8f5414.js.map} +1 -1
- package/dist/esm/{VCDisplayBackFace-84d93238.js → VCDisplayBackFace-b3aff90b.js} +23 -18
- package/dist/esm/VCDisplayBackFace-b3aff90b.js.map +1 -0
- package/dist/esm/{VCDisplayCard-b9c4a087.js → VCDisplayCard-bce0b106.js} +50 -24
- package/dist/esm/{VCDisplayCard-b9c4a087.js.map → VCDisplayCard-bce0b106.js.map} +1 -1
- package/dist/esm/default-face.jpeg +0 -0
- package/dist/esm/index-15b828c0.js.map +1 -1
- package/dist/esm/index.js +7 -7
- package/dist/esm/index10.js +7 -7
- package/dist/esm/index25.js +1 -1
- package/dist/esm/index29.js +5 -5
- package/dist/esm/index30.js +1 -1
- package/dist/esm/index31.js +4 -4
- package/dist/esm/index32.js +0 -1
- package/dist/esm/index32.js.map +1 -1
- package/dist/esm/index7.js +1 -1
- package/dist/esm/index8.js +1 -1
- package/dist/esm/index9.js +13 -1
- package/dist/esm/index9.js.map +1 -1
- package/dist/index.d.ts +15 -0
- package/dist/main.css +1 -1
- package/dist/main.js +1 -1
- package/package.json +2 -2
- package/dist/cjs/CourseVerticalCard-ba8fc2f7.js.map +0 -1
- package/dist/cjs/FlippyCard-33e03a9e.js.map +0 -1
- package/dist/cjs/GenericCard-c5b70b29.js.map +0 -1
- package/dist/cjs/SkillTabCard-82f2fae0.js.map +0 -1
- package/dist/cjs/VCDisplayBackFace-0ffe0e45.js.map +0 -1
- package/dist/esm/CourseVerticalCard-643f767b.js.map +0 -1
- package/dist/esm/FlippyCard-682649d7.js.map +0 -1
- package/dist/esm/GenericCard-ada539c7.js.map +0 -1
- package/dist/esm/SkillTabCard-ade7a48c.js.map +0 -1
- package/dist/esm/VCDisplayBackFace-84d93238.js.map +0 -1
package/README.md
CHANGED
|
@@ -12,6 +12,8 @@
|
|
|
12
12
|
All LearnCard documentation can be found at:
|
|
13
13
|
https://docs.learncard.com
|
|
14
14
|
|
|
15
|
+
Docs for LearnCard React can be found at:
|
|
16
|
+
https://docs.learncard.com/learn-card-sdk/learncard-ux
|
|
15
17
|
|
|
16
18
|
## Install
|
|
17
19
|
|
|
@@ -35,8 +37,8 @@ const Test = () => {
|
|
|
35
37
|
useEffect(() => {
|
|
36
38
|
const getVc = async () => {
|
|
37
39
|
const wallet = await initLearnCard({ seed: 'a' }); // Bad practice! You should be generating keys...
|
|
38
|
-
const uvc = wallet.getTestVc();
|
|
39
|
-
setVc(await wallet.issueCredential(uvc));
|
|
40
|
+
const uvc = wallet.invoke.getTestVc();
|
|
41
|
+
setVc(await wallet.invoke.issueCredential(uvc));
|
|
40
42
|
};
|
|
41
43
|
|
|
42
44
|
getVc();
|
package/dist/base.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
/*! tailwindcss v3.2.
|
|
1
|
+
/*! tailwindcss v3.2.3 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}html{-webkit-text-size-adjust:100%;font-feature-settings:normal;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,fieldset,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}
|
package/dist/base.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
var css = "/*! tailwindcss v3.2.
|
|
1
|
+
var css = "/*! tailwindcss v3.2.3 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:\"\"}html{-webkit-text-size-adjust:100%;font-feature-settings:normal;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}";
|
|
2
2
|
|
|
3
3
|
export { css, css as default };
|
|
@@ -53,6 +53,7 @@ const CourseVerticalCard = ({
|
|
|
53
53
|
skillCount = 0,
|
|
54
54
|
checked,
|
|
55
55
|
showChecked,
|
|
56
|
+
showSubCount,
|
|
56
57
|
onCheckClick,
|
|
57
58
|
onClick
|
|
58
59
|
}) => {
|
|
@@ -73,7 +74,7 @@ const CourseVerticalCard = ({
|
|
|
73
74
|
className: "course-card-detail-info flex flex-col justify-between"
|
|
74
75
|
}, /* @__PURE__ */ React__default["default"].createElement("p", {
|
|
75
76
|
className: "course-card-title text-sm text-center font-semibold line-clamp-2 mt-[4px]"
|
|
76
|
-
}, title), /* @__PURE__ */ React__default["default"].createElement("div", {
|
|
77
|
+
}, title), showSubCount && /* @__PURE__ */ React__default["default"].createElement("div", {
|
|
77
78
|
className: "course-card-counts-container flex items-center justify-center my-[5px]"
|
|
78
79
|
}, /* @__PURE__ */ React__default["default"].createElement(CourseCardStatBubble, {
|
|
79
80
|
type: "achievement",
|
|
@@ -94,4 +95,4 @@ const CourseVerticalCard = ({
|
|
|
94
95
|
};
|
|
95
96
|
|
|
96
97
|
exports.CourseVerticalCard = CourseVerticalCard;
|
|
97
|
-
//# sourceMappingURL=CourseVerticalCard-
|
|
98
|
+
//# sourceMappingURL=CourseVerticalCard-ef3e7ea6.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CourseVerticalCard-ef3e7ea6.js","sources":["../../src/components/CourseVerticalCard/CourseVerticalCard.tsx"],"sourcesContent":["import React from 'react';\nimport { CourseCardVerticalProps } from '../../types';\nimport { CircleCheckButton } from '../CircleCheckButton';\nimport CourseCardPlaceholder from '../../assets/images/lhplaceholder.png';\nimport { RoundedPill } from '../RoundedPill';\nimport MiniTrophyIcon from '../../assets/images/minitrophy.svg';\nimport MiniJobIcon from '../../assets/images/minijob.svg';\nimport MiniPuzzleIcon from '../../assets/images/minipuzzle.svg';\nimport { LCSubtypes } from '../../types';\n\nconst TYPE_TO_COURSE_MINI_ICON: any = {\n ['job']: MiniJobIcon,\n ['achievement']: MiniTrophyIcon,\n ['skill']: MiniPuzzleIcon,\n};\n\nconst TYPE_TO_COLOR: any = {\n ['job']: 'bg-emerald-700',\n ['achievement']: 'bg-spice-500',\n ['skill']: 'bg-indigo-500',\n};\n\ntype CourseCardStatBubbleProps = {\n count: number | string;\n type: string;\n className?: string;\n};\n\nconst CourseCardStatBubble: React.FC<CourseCardStatBubbleProps> = ({\n count = 0,\n type = LCSubtypes.job,\n className,\n}) => {\n const imgSrc = TYPE_TO_COURSE_MINI_ICON[type];\n const bgColor = TYPE_TO_COLOR[type];\n\n return (\n <div\n className={`course-card-stat-bubble px-[10px] rounded-[30px] flex ${bgColor} min-w-[48px] max-w-[80px] h-[30px] items-center ${className}`}\n >\n <img src={imgSrc} className=\"pr-[5px]\" />\n <span className=\"flex items-center text-sm text-white\">{count}</span>\n </div>\n );\n};\n\nexport const CourseVerticalCard: React.FC<CourseCardVerticalProps> = ({\n className,\n title,\n thumbImgSrc,\n showStatus,\n claimStatus = false,\n achievementCount = 0,\n skillCount = 0,\n checked,\n showChecked,\n showSubCount,\n onCheckClick,\n onClick,\n}) => {\n const claimBtnStatusType = claimStatus ? LCSubtypes.course : LCSubtypes.locked;\n\n return (\n <div\n onClick={onClick}\n className={`flex flex-col shadow-[0_0_8px_0px_rgba(0,0,0,0.2)] relative $ py-[8px] px-[8px] w-[190px] h-[265px] rounded-[20px] ${className}`}\n >\n <section\n className={`relative flex h-[120px] flex-col justify-center items-center w-full rounded-[20px]`}\n >\n <img\n src={CourseCardPlaceholder}\n className=\"course-card-img h-full w-full object-cover rounded-[20px]\"\n />\n\n {showChecked && (\n <CircleCheckButton\n checked={checked}\n onClick={onCheckClick}\n className=\"absolute top-[5px] left-[5px]\"\n />\n )}\n </section>\n\n <div className=\"course-card-detail-info flex flex-col justify-between\">\n <p className=\"course-card-title text-sm text-center font-semibold line-clamp-2 mt-[4px]\">\n {title}\n </p>\n {showSubCount && (\n <div className=\"course-card-counts-container flex items-center justify-center my-[5px]\">\n <CourseCardStatBubble\n type={'achievement'}\n count={achievementCount}\n className={'mr-[5px]'}\n />\n <CourseCardStatBubble\n type={'skill'}\n count={skillCount}\n className={'mr-[0px]'}\n />\n </div>\n )}\n </div>\n {showStatus && (\n <div className=\"course-card-footer absolute bottom-[6px] left-[5px]\">\n <RoundedPill\n onClick={onClick}\n showCheckmark\n type={claimBtnStatusType}\n statusText={'Passed'}\n />\n </div>\n )}\n </div>\n );\n};\n\nexport default CourseVerticalCard;\n"],"names":["MiniJobIcon","MiniTrophyIcon","MiniPuzzleIcon","LCSubtypes","React","CourseCardPlaceholder","CircleCheckButton","RoundedPill"],"mappings":"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"}
|
|
@@ -6,10 +6,7 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
|
|
|
6
6
|
|
|
7
7
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
8
8
|
|
|
9
|
-
const
|
|
10
|
-
const BACK_FACE = "back";
|
|
11
|
-
const FlippyCard = ({ children }) => {
|
|
12
|
-
const [flipState, setFlipState] = React.useState(FRONT_FACE);
|
|
9
|
+
const FlippyCard = ({ children, flipState }) => {
|
|
13
10
|
if ((children == null ? void 0 : children.length) > 3) {
|
|
14
11
|
console.warn("More than two children passed into Flippy Card! \u{1F633}\u{1F633}\u{1F633} Picking first two...");
|
|
15
12
|
}
|
|
@@ -17,20 +14,13 @@ const FlippyCard = ({ children }) => {
|
|
|
17
14
|
return /* @__PURE__ */ React__default["default"].createElement(React__default["default"].Fragment, null);
|
|
18
15
|
const frontCard = children == null ? void 0 : children[0];
|
|
19
16
|
const backCard = (children == null ? void 0 : children[1]) || (children == null ? void 0 : children[0]);
|
|
20
|
-
const
|
|
21
|
-
if (flipState === FRONT_FACE)
|
|
22
|
-
setFlipState(BACK_FACE);
|
|
23
|
-
if (flipState === BACK_FACE)
|
|
24
|
-
setFlipState(FRONT_FACE);
|
|
25
|
-
};
|
|
26
|
-
const flipCardCSSClass = flipState === FRONT_FACE ? "flippy-card" : "flippy-card is-flipped";
|
|
17
|
+
const flipCardCSSClass = flipState === "front" ? "flippy-card" : "flippy-card is-flipped";
|
|
27
18
|
return /* @__PURE__ */ React__default["default"].createElement("div", {
|
|
28
19
|
"data-testid": "flippy-card-wrapper",
|
|
29
20
|
className: "flippy-wrapper-container"
|
|
30
21
|
}, /* @__PURE__ */ React__default["default"].createElement("div", {
|
|
31
22
|
"data-testid": "flippy-card",
|
|
32
|
-
className: flipCardCSSClass
|
|
33
|
-
onClick: handleClick
|
|
23
|
+
className: flipCardCSSClass
|
|
34
24
|
}, /* @__PURE__ */ React__default["default"].createElement("section", {
|
|
35
25
|
"data-testid": "flippy-card-front",
|
|
36
26
|
className: "card-face card-face--front"
|
|
@@ -41,4 +31,4 @@ const FlippyCard = ({ children }) => {
|
|
|
41
31
|
};
|
|
42
32
|
|
|
43
33
|
exports.FlippyCard = FlippyCard;
|
|
44
|
-
//# sourceMappingURL=FlippyCard-
|
|
34
|
+
//# sourceMappingURL=FlippyCard-2cbe2dbe.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FlippyCard-2cbe2dbe.js","sources":["../../src/components/FlippyCard/FlippyCard.tsx"],"sourcesContent":["import React from 'react';\n\nexport type FlippyCardProps = {\n children: React.ReactChild[];\n flipState?: 'front' | 'back' | undefined | string;\n};\n\nexport const FlippyCard: React.FC<FlippyCardProps> = ({ children, flipState }) => {\n if (children?.length > 3) {\n console.warn('More than two children passed into Flippy Card! 😳😳😳 Picking first two...');\n }\n\n if (!children) return <></>;\n\n const frontCard = children?.[0] as React.ReactNode;\n const backCard = (children?.[1] as React.ReactNode) || (children?.[0] as React.ReactNode);\n\n const flipCardCSSClass = flipState === 'front' ? 'flippy-card' : 'flippy-card is-flipped';\n\n return (\n <div data-testid=\"flippy-card-wrapper\" className=\"flippy-wrapper-container\">\n <div data-testid=\"flippy-card\" className={flipCardCSSClass}>\n <section data-testid=\"flippy-card-front\" className=\"card-face card-face--front\">\n {frontCard}\n </section>\n <section data-testid=\"flippy-card-back\" className=\"card-face card-face--back\">\n {backCard}\n </section>\n </div>\n </div>\n );\n};\n\nexport default FlippyCard;\n"],"names":["React"],"mappings":";;;;;;;;AAOO,MAAM,UAAwC,GAAA,CAAC,EAAE,QAAA,EAAU,WAAgB,KAAA;AAC9E,EAAI,IAAA,CAAA,QAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,QAAA,CAAU,UAAS,CAAG,EAAA;AACtB,IAAA,OAAA,CAAQ,KAAK,kGAA6E,CAAA,CAAA;AAAA,GAC9F;AAEA,EAAA,IAAI,CAAC,QAAA;AAAU,IAAA,uBAASA,yBAAA,CAAA,aAAA,CAAAA,yBAAA,CAAA,QAAA,EAAA,IAAA,CAAA,CAAA;AAExB,EAAA,MAAM,YAAY,QAAW,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,QAAA,CAAA,CAAA,CAAA,CAAA;AAC7B,EAAM,MAAA,QAAA,GAAA,CAAY,QAAW,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,QAAA,CAAA,CAAA,CAAA,MAA2B,QAAW,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,QAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAEnE,EAAM,MAAA,gBAAA,GAAmB,SAAc,KAAA,OAAA,GAAU,aAAgB,GAAA,wBAAA,CAAA;AAEjE,EAAA,uBACKA,yBAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAA,IAAI,aAAY,EAAA,qBAAA;AAAA,IAAsB,SAAU,EAAA,0BAAA;AAAA,GAAA,kBAC5CA,yBAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAA,IAAI,aAAY,EAAA,aAAA;AAAA,IAAc,SAAW,EAAA,gBAAA;AAAA,GAAA,kBACrCA,yBAAA,CAAA,aAAA,CAAA,SAAA,EAAA;AAAA,IAAQ,aAAY,EAAA,mBAAA;AAAA,IAAoB,SAAU,EAAA,4BAAA;AAAA,GAC9C,EAAA,SACL,mBACCA,yBAAA,CAAA,aAAA,CAAA,SAAA,EAAA;AAAA,IAAQ,aAAY,EAAA,kBAAA;AAAA,IAAmB,SAAU,EAAA,2BAAA;AAAA,GAC7C,EAAA,QACL,CACJ,CACJ,CAAA,CAAA;AAER;;;;"}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
var React = require('react');
|
|
4
4
|
var index$1 = require('./index-63ee021e.js');
|
|
5
5
|
var index = require('./index-6cab6d37.js');
|
|
6
|
+
var CircleCheckButton = require('./CircleCheckButton-97c4f608.js');
|
|
6
7
|
|
|
7
8
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
8
9
|
|
|
@@ -16,17 +17,22 @@ const GenericCard = ({
|
|
|
16
17
|
type = index$1.WalletCategoryTypes.achievements,
|
|
17
18
|
className,
|
|
18
19
|
onClick = () => {
|
|
19
|
-
}
|
|
20
|
+
},
|
|
21
|
+
showChecked,
|
|
22
|
+
checkStatus,
|
|
23
|
+
flipped
|
|
20
24
|
}) => {
|
|
21
25
|
var _a, _b;
|
|
22
26
|
const thumbClass = (_a = `bg-${index.TYPE_TO_WALLET_DARK_COLOR[type]}`) != null ? _a : "bg-grayscale-50";
|
|
23
27
|
const defaultThumbClass = `flex h-[110px] m-auto ${thumbClass} w-[140px] overflow-hidden flex-col justify-center items-center w-full rounded-[20px] ${customThumbClass}`;
|
|
24
28
|
const imgSrc = (thumbImgSrc == null ? void 0 : thumbImgSrc.trim()) !== "" ? thumbImgSrc : index.TYPE_TO_IMG_SRC[type];
|
|
25
29
|
const headerBgColor = (_b = `bg-${index.TYPE_TO_WALLET_DARK_COLOR[type]}`) != null ? _b : "bg-grayscale-900";
|
|
30
|
+
const checkBtnClass = checkStatus ? "generic-vc-card checked" : "generic-vc-card unchecked";
|
|
26
31
|
const defaultHeaderClass = `flex generic-card-title w-full flex justify-center items-center h-[76px] ${headerBgColor} ${customHeaderClass}`;
|
|
32
|
+
const flippedClass = flipped ? "flex-col-reverse" : "flex-col";
|
|
27
33
|
return /* @__PURE__ */ React__default["default"].createElement("button", {
|
|
28
34
|
onClick,
|
|
29
|
-
className: `flex generic-display-card-simple bg-white
|
|
35
|
+
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}`
|
|
30
36
|
}, /* @__PURE__ */ React__default["default"].createElement("section", {
|
|
31
37
|
className: defaultHeaderClass
|
|
32
38
|
}, /* @__PURE__ */ React__default["default"].createElement("p", {
|
|
@@ -42,8 +48,14 @@ const GenericCard = ({
|
|
|
42
48
|
src: imgSrc
|
|
43
49
|
})), /* @__PURE__ */ React__default["default"].createElement("section", {
|
|
44
50
|
className: "generic-card-footer"
|
|
45
|
-
})
|
|
51
|
+
}), showChecked && /* @__PURE__ */ React__default["default"].createElement("div", {
|
|
52
|
+
className: "check-btn-overlay absolute top-[5px] left-[5px]"
|
|
53
|
+
}, /* @__PURE__ */ React__default["default"].createElement(CircleCheckButton.CircleCheckButton, {
|
|
54
|
+
checked: checkStatus,
|
|
55
|
+
onClick,
|
|
56
|
+
className: checkBtnClass
|
|
57
|
+
})));
|
|
46
58
|
};
|
|
47
59
|
|
|
48
60
|
exports.GenericCard = GenericCard;
|
|
49
|
-
//# sourceMappingURL=GenericCard-
|
|
61
|
+
//# sourceMappingURL=GenericCard-39248302.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GenericCard-39248302.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 <button\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 <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 </button>\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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"}
|
|
@@ -16,24 +16,27 @@ const SkillTabCard = ({
|
|
|
16
16
|
showChecked,
|
|
17
17
|
onClick,
|
|
18
18
|
onCheckClicked,
|
|
19
|
+
showStatus = true,
|
|
19
20
|
className = "skill-tab-card"
|
|
20
21
|
}) => {
|
|
22
|
+
const buttonClass = checked ? "skill-tab-check-toggle checked" : "skill-tab-check-toggle unchecked";
|
|
21
23
|
return /* @__PURE__ */ React__default["default"].createElement("div", {
|
|
22
24
|
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}`
|
|
23
25
|
}, showChecked && /* @__PURE__ */ React__default["default"].createElement(CircleCheckButton.CircleCheckButton, {
|
|
24
26
|
onClick: onCheckClicked,
|
|
25
27
|
checked,
|
|
28
|
+
className: buttonClass,
|
|
26
29
|
bgColor: "bg-grayscale-200"
|
|
27
30
|
}), /* @__PURE__ */ React__default["default"].createElement("h4", {
|
|
28
31
|
className: "text-indigo-600 text-[14px] text-center line-clamp-2"
|
|
29
32
|
}, title), /* @__PURE__ */ React__default["default"].createElement("p", {
|
|
30
33
|
className: "line-clamp-2 text-[12px] text-center"
|
|
31
|
-
}, description), /* @__PURE__ */ React__default["default"].createElement(RoundedPill.RoundedPill, {
|
|
34
|
+
}, description), /* @__PURE__ */ React__default["default"].createElement("div", null, showStatus && /* @__PURE__ */ React__default["default"].createElement(RoundedPill.RoundedPill, {
|
|
32
35
|
type: index.LCSubtypes.skill,
|
|
33
36
|
statusText: "Earned",
|
|
34
37
|
onClick
|
|
35
|
-
}));
|
|
38
|
+
})));
|
|
36
39
|
};
|
|
37
40
|
|
|
38
41
|
exports.SkillTabCard = SkillTabCard;
|
|
39
|
-
//# sourceMappingURL=SkillTabCard-
|
|
42
|
+
//# sourceMappingURL=SkillTabCard-2f6e8b78.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SkillTabCard-2f6e8b78.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;;;;"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var React = require('react');
|
|
4
4
|
var core = require('@learncard/core');
|
|
5
|
-
var VCDisplayCard = require('./VCDisplayCard-
|
|
5
|
+
var VCDisplayCard = require('./VCDisplayCard-1f6d7964.js');
|
|
6
6
|
|
|
7
7
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
8
8
|
|
|
@@ -50,4 +50,4 @@ const VCCard = ({ credential, issueeOverride, className = "" }) => {
|
|
|
50
50
|
};
|
|
51
51
|
|
|
52
52
|
exports.VCCard = VCCard;
|
|
53
|
-
//# sourceMappingURL=VCCard-
|
|
53
|
+
//# sourceMappingURL=VCCard-69176b38.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VCCard-
|
|
1
|
+
{"version":3,"file":"VCCard-69176b38.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":["useState","useEffect","initLearnCard","React","VCDisplayCard"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYO,MAAM,SAAgC,CAAC,EAAE,YAAY,cAAgB,EAAA,SAAA,GAAY,IAAS,KAAA;AAC7F,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,uBACKC,yBAAA,CAAA,aAAA,CAAAC,2BAAA,EAAA;AAAA,IACG,UAAA;AAAA,IACA,cAAA;AAAA,IACA,SAAA;AAAA,IACA,OAAA;AAAA,IACA,YAAc,EAAA,cAAA;AAAA,GAClB,CAAA,CAAA;AAER;;;;"}
|
|
@@ -34,27 +34,16 @@ const VCDisplayBackFace = ({
|
|
|
34
34
|
credentialSubject,
|
|
35
35
|
className = "",
|
|
36
36
|
loading,
|
|
37
|
-
verification = []
|
|
37
|
+
verification = [],
|
|
38
|
+
handleClick,
|
|
39
|
+
overrideDetailsComponent
|
|
38
40
|
}) => {
|
|
39
41
|
var _a, _b, _c, _d;
|
|
40
42
|
const descriptionText = (_a = credentialSubject == null ? void 0 : credentialSubject.achievement) == null ? void 0 : _a.description;
|
|
41
43
|
const criteriaText = (_c = (_b = credentialSubject == null ? void 0 : credentialSubject.achievement) == null ? void 0 : _b.criteria) == null ? void 0 : _c.narrative;
|
|
42
44
|
const issuerUrl = typeof issuer === "object" ? issuer.url : "";
|
|
43
45
|
const issuerName = getNameFromProfile(issuer != null ? issuer : "");
|
|
44
|
-
|
|
45
|
-
className: `flex overflow-hidden flex-col items-center justify-between relative max-w-[400px] h-[100%] max-h-[1100px] min-h-[600px] p-7 rounded-3xl shadow-3xl bg-emerald-700 vc-display-card-full-container ${className}`
|
|
46
|
-
}, /* @__PURE__ */ React__default["default"].createElement("section", {
|
|
47
|
-
className: "flex max-h-[150px] items-end bg-white rounded-bl-[50%] rounded-br-[50%] absolute top-0 w-[110%] h-[55%] min-h-[400px]"
|
|
48
|
-
}), /* @__PURE__ */ React__default["default"].createElement("section", {
|
|
49
|
-
className: "flex flex-col items-center justify-center z-10 text-left credential-details-container max-w-[100%] relative"
|
|
50
|
-
}, /* @__PURE__ */ React__default["default"].createElement("section", {
|
|
51
|
-
className: "flex flex-row items-start justify-start w-full line-clamp-2"
|
|
52
|
-
}, /* @__PURE__ */ React__default["default"].createElement("h3", {
|
|
53
|
-
className: "text-2xl line-clamp-2 tracking-wide leading-snug text-left text-emerald-700",
|
|
54
|
-
"data-testid": "vc-credential-details-title tracking-wide subpixel-antialiased"
|
|
55
|
-
}, "Credential Details")), /* @__PURE__ */ React__default["default"].createElement("section", {
|
|
56
|
-
className: "flex flex-col mt-2 w-full my-2 min-h-[200px] credential-details-info"
|
|
57
|
-
}, /* @__PURE__ */ React__default["default"].createElement("div", {
|
|
46
|
+
const defaultDetails = /* @__PURE__ */ React__default["default"].createElement(React__default["default"].Fragment, null, /* @__PURE__ */ React__default["default"].createElement("div", {
|
|
58
47
|
className: "width-full"
|
|
59
48
|
}, /* @__PURE__ */ React__default["default"].createElement("h6", {
|
|
60
49
|
className: "line-clamp-1 text-grayscale-900 font-bold uppercase text-xs tracking-wider subpixel-antialiased"
|
|
@@ -74,10 +63,26 @@ const VCDisplayBackFace = ({
|
|
|
74
63
|
className: "max-w-[344px] line-clamp-1 subpixel-antialiased text-grayscale-600 text-[14px] block overflow-ellipsis break-all"
|
|
75
64
|
}, issuerName)), issuerUrl && /* @__PURE__ */ React__default["default"].createElement("p", {
|
|
76
65
|
className: "text-indigo-500 font-bold text-xs width-full text-center mt-8"
|
|
77
|
-
}, issuerUrl))
|
|
66
|
+
}, issuerUrl));
|
|
67
|
+
const renderDetails = overrideDetailsComponent ? overrideDetailsComponent : defaultDetails;
|
|
68
|
+
return /* @__PURE__ */ React__default["default"].createElement("div", {
|
|
69
|
+
className: `z-[9] vc-display-main-card-back flex overflow-hidden flex-col items-center justify-between relative max-w-[400px] h-[100%] max-h-[1100px] min-h-[600px] p-7 rounded-3xl shadow-3xl bg-emerald-700 vc-display-card-full-container ${className}`
|
|
70
|
+
}, /* @__PURE__ */ React__default["default"].createElement("section", {
|
|
71
|
+
className: "flex max-h-[150px] items-end bg-white rounded-bl-[50%] rounded-br-[50%] absolute top-0 w-[110%] h-[55%] min-h-[400px]"
|
|
72
|
+
}), /* @__PURE__ */ React__default["default"].createElement("section", {
|
|
73
|
+
className: "flex flex-col items-center justify-center w-full z-10 text-left credential-details-container max-w-[100%] relative"
|
|
74
|
+
}, /* @__PURE__ */ React__default["default"].createElement("section", {
|
|
75
|
+
className: "flex flex-row items-start justify-start w-full line-clamp-2"
|
|
76
|
+
}, /* @__PURE__ */ React__default["default"].createElement("h3", {
|
|
77
|
+
className: "text-2xl line-clamp-2 tracking-wide leading-snug text-left text-emerald-700",
|
|
78
|
+
"data-testid": "vc-credential-details-title tracking-wide subpixel-antialiased"
|
|
79
|
+
}, "Credential Details")), /* @__PURE__ */ React__default["default"].createElement("section", {
|
|
80
|
+
className: "flex flex-col mt-2 w-full my-2 min-h-[200px] credential-details-info"
|
|
81
|
+
}, renderDetails), /* @__PURE__ */ React__default["default"].createElement("div", {
|
|
78
82
|
className: "w-full mt-2"
|
|
79
83
|
}), /* @__PURE__ */ React__default["default"].createElement("button", {
|
|
80
|
-
|
|
84
|
+
onClick: handleClick,
|
|
85
|
+
className: "vc-flip-btn bg-white my-3 border-2 text-indigo-500 font-semibold py-2 px-4 shadow-3xl rounded-full"
|
|
81
86
|
}, /* @__PURE__ */ React__default["default"].createElement("span", {
|
|
82
87
|
className: "flex justify-center"
|
|
83
88
|
}, /* @__PURE__ */ React__default["default"].createElement("img", {
|
|
@@ -99,4 +104,4 @@ const VCDisplayBackFace = ({
|
|
|
99
104
|
exports.VCDisplayBackFace = VCDisplayBackFace;
|
|
100
105
|
exports.getImageFromProfile = getImageFromProfile;
|
|
101
106
|
exports.getNameFromProfile = getNameFromProfile;
|
|
102
|
-
//# sourceMappingURL=VCDisplayBackFace-
|
|
107
|
+
//# sourceMappingURL=VCDisplayBackFace-30fcbf18.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VCDisplayBackFace-30fcbf18.js","sources":["../../src/helpers/credential.helpers.ts","../../src/components/VCDisplayBackFace/VCDisplayBackFace.tsx"],"sourcesContent":["import { Image, Profile } from '@learncard/types';\n\nexport const getImageFromImage = (image: Image): string => {\n if (typeof image === 'string') return image;\n\n return image.id ?? '';\n};\n\nexport const getNameFromProfile = (profile: Profile): string => {\n if (typeof profile === 'string') return profile;\n\n return profile.name ?? '';\n};\n\nexport const getImageFromProfile = (profile: Profile): string => {\n if (typeof profile === 'string') return '';\n\n return getImageFromImage(profile.image ?? '');\n};\n","import React from 'react';\nimport { VCDisplayCardProps } from '../../types';\nimport { VCVerificationCheckWithText } from '../VCVerificationCheck/VCVerificationCheck';\nimport VCVerificationPill from '../VCVerificationPill/VCVerificationPill';\nimport FlipArrowRight from '../../assets/images/ArrowArcRight.svg';\nimport { getNameFromProfile } from '../../helpers/credential.helpers';\n\nexport const VCDisplayBackFace: React.FC<VCDisplayCardProps> = ({\n issuer,\n credentialSubject,\n className = '',\n loading,\n verification = [],\n handleClick,\n overrideDetailsComponent,\n}) => {\n const descriptionText = credentialSubject?.achievement?.description;\n const criteriaText = credentialSubject?.achievement?.criteria?.narrative;\n const issuerUrl = typeof issuer === 'object' ? issuer.url : '';\n const issuerName = getNameFromProfile(issuer ?? '');\n const defaultDetails = (\n <>\n <div className=\"width-full\">\n <h6 className=\"line-clamp-1 text-grayscale-900 font-bold uppercase text-xs tracking-wider subpixel-antialiased\">\n Description\n </h6>\n <p className=\"line-clamp-3 subpixel-antialiased text-grayscale-600 text-[14px] lc-line-clamp\">\n {descriptionText}\n </p>\n </div>\n\n <div className=\"width-full mt-[10px]\">\n <h6 className=\"line-clamp-1 text-grayscale-900 font-bold uppercase text-xs tracking-wider subpixel-antialiased\">\n Criteria\n </h6>\n <p className=\"line-clamp-3 subpixel-antialiased text-grayscale-600 text-[14px] lc-line-clamp\">\n {criteriaText}\n </p>\n </div>\n\n <div className=\"width-full mt-[10px] line-clamp-1 overflow-hidden vc-issuer-name-info\">\n <h6 className=\"line-clamp-1 text-grayscale-900 font-bold uppercase text-xs tracking-wider subpixel-antialiased\">\n Issuer\n </h6>\n <p className=\"max-w-[344px] line-clamp-1 subpixel-antialiased text-grayscale-600 text-[14px] block overflow-ellipsis break-all\">\n {issuerName}\n </p>\n </div>\n\n {issuerUrl && (\n <p className=\"text-indigo-500 font-bold text-xs width-full text-center mt-8\">\n {issuerUrl}\n </p>\n )}\n </>\n );\n\n const renderDetails = overrideDetailsComponent ? overrideDetailsComponent : defaultDetails;\n\n return (\n <div\n className={`z-[9] vc-display-main-card-back flex overflow-hidden flex-col items-center justify-between relative max-w-[400px] h-[100%] max-h-[1100px] min-h-[600px] p-7 rounded-3xl shadow-3xl bg-emerald-700 vc-display-card-full-container ${className}`}\n >\n <section className=\"flex max-h-[150px] items-end bg-white rounded-bl-[50%] rounded-br-[50%] absolute top-0 w-[110%] h-[55%] min-h-[400px]\"></section>\n <section className=\"flex flex-col items-center justify-center w-full z-10 text-left credential-details-container max-w-[100%] relative\">\n <section className=\"flex flex-row items-start justify-start w-full line-clamp-2\">\n <h3\n className=\"text-2xl line-clamp-2 tracking-wide leading-snug text-left text-emerald-700\"\n data-testid=\"vc-credential-details-title tracking-wide subpixel-antialiased\"\n >\n Credential Details\n </h3>\n </section>\n\n <section className=\"flex flex-col mt-2 w-full my-2 min-h-[200px] credential-details-info\">\n {renderDetails}\n </section>\n\n <div className=\"w-full mt-2\"></div>\n\n <button\n onClick={handleClick}\n className=\"vc-flip-btn bg-white my-3 border-2 text-indigo-500 font-semibold py-2 px-4 shadow-3xl rounded-full\"\n >\n <span className=\"flex justify-center\">\n <img\n className=\"h-8 w-8 my-0 mx-4 scale-x-[-1]\"\n src={FlipArrowRight ?? ''}\n alt=\"Flip Card\"\n />\n </span>\n </button>\n\n <section className=\"flex-col items-center justify-center checklist-container justify-center w-[100%] width-full mt-[20px]\">\n <VCVerificationCheckWithText loading={loading} />\n <section>\n {verification.map(item => (\n <VCVerificationPill\n key={item.check}\n status={item.status}\n message={item.message}\n details={item.details}\n />\n ))}\n </section>\n </section>\n </section>\n </div>\n );\n};\n\nexport default VCDisplayBackFace;\n"],"names":["React","FlipArrowRight","VCVerificationCheckWithText","VCVerificationPill"],"mappings":"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"}
|
|
@@ -1,18 +1,16 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var React = require('react');
|
|
4
|
-
var FlippyCard = require('./FlippyCard-
|
|
4
|
+
var FlippyCard = require('./FlippyCard-2cbe2dbe.js');
|
|
5
5
|
var FatArrow = require('./icon.green.fat-arrow.png');
|
|
6
|
-
var FlipArrowRight = require('./ArrowArcRight.svg');
|
|
7
6
|
var DefaultFace = require('./default-face.jpeg');
|
|
8
7
|
var VCVerificationCheck = require('./VCVerificationCheck-0e495524.js');
|
|
9
|
-
var VCDisplayBackFace = require('./VCDisplayBackFace-
|
|
8
|
+
var VCDisplayBackFace = require('./VCDisplayBackFace-30fcbf18.js');
|
|
10
9
|
|
|
11
10
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
12
11
|
|
|
13
12
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
14
13
|
var FatArrow__default = /*#__PURE__*/_interopDefaultLegacy(FatArrow);
|
|
15
|
-
var FlipArrowRight__default = /*#__PURE__*/_interopDefaultLegacy(FlipArrowRight);
|
|
16
14
|
var DefaultFace__default = /*#__PURE__*/_interopDefaultLegacy(DefaultFace);
|
|
17
15
|
|
|
18
16
|
function toInteger(dirtyNumber) {
|
|
@@ -5688,9 +5686,13 @@ const VCDisplayFrontFace = ({
|
|
|
5688
5686
|
hideProfileBubbles = false,
|
|
5689
5687
|
credentialSubject,
|
|
5690
5688
|
className = "",
|
|
5691
|
-
loading
|
|
5689
|
+
loading,
|
|
5690
|
+
handleClick,
|
|
5691
|
+
overrideCardImageComponent,
|
|
5692
|
+
overrideCardTitle,
|
|
5693
|
+
customHeaderComponent
|
|
5692
5694
|
}) => {
|
|
5693
|
-
var _a, _b, _c, _d, _e
|
|
5695
|
+
var _a, _b, _c, _d, _e;
|
|
5694
5696
|
const credentialAchievementImage = ((_b = (_a = credentialSubject == null ? void 0 : credentialSubject.achievement) == null ? void 0 : _a.image) == null ? void 0 : _b.id) || ((_c = credentialSubject == null ? void 0 : credentialSubject.achievement) == null ? void 0 : _c.image);
|
|
5695
5697
|
const issuerName = VCDisplayBackFace.getNameFromProfile(issuer != null ? issuer : "");
|
|
5696
5698
|
const issueeName = VCDisplayBackFace.getNameFromProfile(issuee != null ? issuee : "");
|
|
@@ -5726,26 +5728,29 @@ const VCDisplayFrontFace = ({
|
|
|
5726
5728
|
if (issuerImageComponent) {
|
|
5727
5729
|
issuerImageEl = issuerImageComponent;
|
|
5728
5730
|
}
|
|
5731
|
+
const credImg = credentialAchievementImage ? /* @__PURE__ */ React__default["default"].createElement("img", {
|
|
5732
|
+
className: "h-full w-full object-cover",
|
|
5733
|
+
src: credentialAchievementImage != null ? credentialAchievementImage : "",
|
|
5734
|
+
alt: "Credential Achievement Image"
|
|
5735
|
+
}) : /* @__PURE__ */ React__default["default"].createElement(React__default["default"].Fragment, null);
|
|
5736
|
+
const renderCardImg = overrideCardImageComponent ? overrideCardImageComponent : credImg;
|
|
5737
|
+
const cardTitle = overrideCardTitle ? overrideCardTitle : title;
|
|
5729
5738
|
return /* @__PURE__ */ React__default["default"].createElement("div", {
|
|
5730
|
-
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}`
|
|
5739
|
+
className: `z-[9] vc-display-main-card-front 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}`
|
|
5731
5740
|
}, /* @__PURE__ */ React__default["default"].createElement("section", {
|
|
5732
5741
|
className: "bg-white rounded-bl-[50%] rounded-br-[50%] absolute top-0 w-[110%] h-[77%]"
|
|
5733
5742
|
}), /* @__PURE__ */ React__default["default"].createElement("section", {
|
|
5734
5743
|
className: "flex flex-col items-center justify-center z-10 text-center credential-thumb-img"
|
|
5735
5744
|
}, /* @__PURE__ */ React__default["default"].createElement("section", {
|
|
5736
5745
|
className: "max-w-[100px] max-h-[100px]"
|
|
5737
|
-
},
|
|
5738
|
-
className: "h-full w-full object-cover",
|
|
5739
|
-
src: credentialAchievementImage != null ? credentialAchievementImage : "",
|
|
5740
|
-
alt: "Credential Achievement Image"
|
|
5741
|
-
})), /* @__PURE__ */ React__default["default"].createElement("section", {
|
|
5746
|
+
}, renderCardImg), /* @__PURE__ */ React__default["default"].createElement("section", {
|
|
5742
5747
|
className: "flex flex-row w-full line-clamp-2"
|
|
5743
5748
|
}, /* @__PURE__ */ React__default["default"].createElement("div", {
|
|
5744
5749
|
className: "flex flex-row w-full line-clamp-2 py-4 vc-flippy-card-title-front "
|
|
5745
5750
|
}, /* @__PURE__ */ React__default["default"].createElement("h3", {
|
|
5746
5751
|
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",
|
|
5747
5752
|
"data-testid": "vc-thumbnail-title"
|
|
5748
|
-
},
|
|
5753
|
+
}, cardTitle != null ? cardTitle : "")), customHeaderComponent && customHeaderComponent), /* @__PURE__ */ React__default["default"].createElement("section", {
|
|
5749
5754
|
className: "flex flex-row items-center justify-center mt-2 w-full my-2 vc-card-issuer-thumbs"
|
|
5750
5755
|
}, !hideProfileBubbles && /* @__PURE__ */ React__default["default"].createElement(React__default["default"].Fragment, null, /* @__PURE__ */ React__default["default"].createElement("div", {
|
|
5751
5756
|
className: "flex items-center justify-center h-16 w-16 shadow-3xl rounded-full overflow-hidden bg-white"
|
|
@@ -5765,22 +5770,21 @@ const VCDisplayFrontFace = ({
|
|
|
5765
5770
|
}, issueeName), " on", " ", createdAt != null ? createdAt : "", " by", " ", /* @__PURE__ */ React__default["default"].createElement("span", {
|
|
5766
5771
|
className: "font-bold text-gray-900"
|
|
5767
5772
|
}, " ", issuerName))), /* @__PURE__ */ React__default["default"].createElement("button", {
|
|
5768
|
-
|
|
5773
|
+
onClick: handleClick,
|
|
5774
|
+
className: "cursor-alias bg-white my-3 border-0 text-indigo-500 font-semibold py-2 px-4 sl"
|
|
5769
5775
|
}, /* @__PURE__ */ React__default["default"].createElement("span", {
|
|
5770
5776
|
className: "flex justify-center"
|
|
5771
5777
|
}, /* @__PURE__ */ React__default["default"].createElement("p", {
|
|
5772
5778
|
className: "flex items-center"
|
|
5773
|
-
}, "Details"), /* @__PURE__ */ React__default["default"].createElement("
|
|
5774
|
-
className: "h-8 w-8 my-0 mx-1",
|
|
5775
|
-
src: (_f = FlipArrowRight__default["default"]) != null ? _f : "",
|
|
5776
|
-
alt: "Flip Card"
|
|
5777
|
-
})))), /* @__PURE__ */ React__default["default"].createElement("div", {
|
|
5779
|
+
}, "View Details")))), /* @__PURE__ */ React__default["default"].createElement("div", {
|
|
5778
5780
|
className: "flex items-center justify-center w-full"
|
|
5779
5781
|
}, /* @__PURE__ */ React__default["default"].createElement(VCVerificationCheck.VCVerificationCheckWithText, {
|
|
5780
5782
|
loading
|
|
5781
5783
|
})));
|
|
5782
5784
|
};
|
|
5783
5785
|
|
|
5786
|
+
const FRONT_FACE = "front";
|
|
5787
|
+
const BACK_FACE = "back";
|
|
5784
5788
|
const getInfoFromCredential = (credential) => {
|
|
5785
5789
|
var _a;
|
|
5786
5790
|
const { issuer, issuanceDate } = credential;
|
|
@@ -5799,8 +5803,13 @@ const VCDisplayCard = ({
|
|
|
5799
5803
|
verification = [],
|
|
5800
5804
|
hideProfileBubbles = false,
|
|
5801
5805
|
subjectImageComponent,
|
|
5802
|
-
issuerImageComponent
|
|
5806
|
+
issuerImageComponent,
|
|
5807
|
+
overrideDetailsComponent,
|
|
5808
|
+
overrideCardTitle,
|
|
5809
|
+
overrideCardImageComponent,
|
|
5810
|
+
customHeaderComponent
|
|
5803
5811
|
}) => {
|
|
5812
|
+
const [flipState, setFlipState] = React.useState(FRONT_FACE);
|
|
5804
5813
|
const {
|
|
5805
5814
|
title,
|
|
5806
5815
|
createdAt,
|
|
@@ -5810,28 +5819,44 @@ const VCDisplayCard = ({
|
|
|
5810
5819
|
} = getInfoFromCredential(credential);
|
|
5811
5820
|
const issuee = issueeOverride || _issuee;
|
|
5812
5821
|
const issuer = issuerOverride || _issuer;
|
|
5813
|
-
|
|
5822
|
+
const handleFlip = () => {
|
|
5823
|
+
if (flipState === FRONT_FACE) {
|
|
5824
|
+
setFlipState(BACK_FACE);
|
|
5825
|
+
}
|
|
5826
|
+
if (flipState === BACK_FACE) {
|
|
5827
|
+
setFlipState(FRONT_FACE);
|
|
5828
|
+
}
|
|
5829
|
+
};
|
|
5830
|
+
return /* @__PURE__ */ React__default["default"].createElement(FlippyCard.FlippyCard, {
|
|
5831
|
+
flipState
|
|
5832
|
+
}, /* @__PURE__ */ React__default["default"].createElement(VCDisplayFrontFace, {
|
|
5814
5833
|
title,
|
|
5815
5834
|
credentialSubject,
|
|
5835
|
+
customHeaderComponent,
|
|
5816
5836
|
issuer,
|
|
5817
5837
|
issuee,
|
|
5818
5838
|
subjectImageComponent,
|
|
5819
5839
|
issuerImageComponent,
|
|
5840
|
+
overrideCardImageComponent,
|
|
5841
|
+
overrideCardTitle,
|
|
5820
5842
|
hideProfileBubbles,
|
|
5821
5843
|
createdAt,
|
|
5822
5844
|
className,
|
|
5823
|
-
loading
|
|
5845
|
+
loading,
|
|
5846
|
+
handleClick: handleFlip
|
|
5824
5847
|
}), /* @__PURE__ */ React__default["default"].createElement(VCDisplayBackFace.VCDisplayBackFace, {
|
|
5825
5848
|
title,
|
|
5826
5849
|
credentialSubject,
|
|
5850
|
+
overrideDetailsComponent,
|
|
5827
5851
|
issuer,
|
|
5828
5852
|
issuee,
|
|
5829
5853
|
createdAt,
|
|
5830
5854
|
className,
|
|
5831
5855
|
loading,
|
|
5832
|
-
verification
|
|
5856
|
+
verification,
|
|
5857
|
+
handleClick: handleFlip
|
|
5833
5858
|
}));
|
|
5834
5859
|
};
|
|
5835
5860
|
|
|
5836
5861
|
exports.VCDisplayCard = VCDisplayCard;
|
|
5837
|
-
//# sourceMappingURL=VCDisplayCard-
|
|
5862
|
+
//# sourceMappingURL=VCDisplayCard-1f6d7964.js.map
|