@learncard/react 2.6.8 → 2.6.9
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/Lightbox-cda1e0d5.js +59 -0
- package/dist/cjs/Lightbox-cda1e0d5.js.map +1 -0
- package/dist/cjs/{VCCard-2de88b09.js → VCCard-46382b57.js} +3 -3
- package/dist/cjs/{VCCard-2de88b09.js.map → VCCard-46382b57.js.map} +1 -1
- package/dist/cjs/{VCDisplayBackFace-e97a48e2.js → VCDisplayBackFace-85c80890.js} +3 -3
- package/dist/cjs/{VCDisplayBackFace-e97a48e2.js.map → VCDisplayBackFace-85c80890.js.map} +1 -1
- package/dist/cjs/{VCDisplayCard-5f2eacc0.js → VCDisplayCard-03fc6bd1.js} +3 -3
- package/dist/cjs/{VCDisplayCard-5f2eacc0.js.map → VCDisplayCard-03fc6bd1.js.map} +1 -1
- package/dist/cjs/{VCDisplayCard2-433add97.js → VCDisplayCard2-9b974b70.js} +39 -17
- package/dist/cjs/VCDisplayCard2-9b974b70.js.map +1 -0
- package/dist/cjs/{VCVerificationPill-ba92fec0.js → VCVerificationPill-ac05903b.js} +2 -2
- package/dist/cjs/{VCVerificationPill-ba92fec0.js.map → VCVerificationPill-ac05903b.js.map} +1 -1
- package/dist/cjs/{credential.helpers-3791642c.js → credential.helpers-40149659.js} +2 -2
- package/dist/cjs/{credential.helpers-3791642c.js.map → credential.helpers-40149659.js.map} +1 -1
- package/dist/cjs/index.js +10 -7
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/index12.js +10 -7
- package/dist/cjs/index12.js.map +1 -1
- package/dist/cjs/index18.js +3 -2
- package/dist/cjs/index18.js.map +1 -1
- package/dist/cjs/index19.js +2 -3
- package/dist/cjs/index19.js.map +1 -1
- package/dist/cjs/index20.js +3 -8
- package/dist/cjs/index20.js.map +1 -1
- package/dist/cjs/index21.js +5 -7
- package/dist/cjs/index21.js.map +1 -1
- package/dist/cjs/index22.js +7 -3
- package/dist/cjs/index22.js.map +1 -1
- package/dist/cjs/index23.js +3 -5
- package/dist/cjs/index23.js.map +1 -1
- package/dist/cjs/index24.js +8 -3
- package/dist/cjs/index24.js.map +1 -1
- package/dist/cjs/index25.js +3 -15
- package/dist/cjs/index25.js.map +1 -1
- package/dist/cjs/index26.js +4 -20
- package/dist/cjs/index26.js.map +1 -1
- package/dist/cjs/index27.js +31 -2
- package/dist/cjs/index27.js.map +1 -1
- package/dist/cjs/index28.js +2 -3
- package/dist/cjs/index28.js.map +1 -1
- package/dist/cjs/index29.js +3 -3
- package/dist/cjs/index30.js +3 -16
- package/dist/cjs/index30.js.map +1 -1
- package/dist/cjs/index31.js +16 -3
- package/dist/cjs/index31.js.map +1 -1
- package/dist/cjs/index32.js +3 -3
- package/dist/cjs/index33.js +3 -15
- package/dist/cjs/index33.js.map +1 -1
- package/dist/cjs/index34.js +15 -22
- package/dist/cjs/index34.js.map +1 -1
- package/dist/cjs/index35.js +17 -6
- package/dist/cjs/index35.js.map +1 -1
- package/dist/cjs/index36.js +6 -10
- package/dist/cjs/index36.js.map +1 -1
- package/dist/cjs/index37.js +13 -7
- package/dist/cjs/index37.js.map +1 -1
- package/dist/cjs/index38.js +15 -3
- package/dist/cjs/index38.js.map +1 -1
- package/dist/cjs/index39.js +4 -7
- package/dist/cjs/index39.js.map +1 -1
- package/dist/cjs/index40.js +4 -6
- package/dist/cjs/index40.js.map +1 -1
- package/dist/cjs/index41.js +6 -6
- package/dist/cjs/index42.js +15 -0
- package/dist/cjs/index42.js.map +1 -0
- package/dist/cjs/{types.esm-8e1827a0.js → types.esm-e38e568c.js} +7 -5
- package/dist/{esm/types.esm-cc97ca0c.js.map → cjs/types.esm-e38e568c.js.map} +1 -1
- package/dist/esm/Lightbox-de99baca.js +53 -0
- package/dist/esm/Lightbox-de99baca.js.map +1 -0
- package/dist/esm/{VCCard-d7e4f9e8.js → VCCard-67827b2a.js} +3 -3
- package/dist/esm/{VCCard-d7e4f9e8.js.map → VCCard-67827b2a.js.map} +1 -1
- package/dist/esm/{VCDisplayBackFace-ba831d15.js → VCDisplayBackFace-4c132537.js} +3 -3
- package/dist/esm/{VCDisplayBackFace-ba831d15.js.map → VCDisplayBackFace-4c132537.js.map} +1 -1
- package/dist/esm/{VCDisplayCard-3c332d86.js → VCDisplayCard-45555392.js} +3 -3
- package/dist/esm/{VCDisplayCard-3c332d86.js.map → VCDisplayCard-45555392.js.map} +1 -1
- package/dist/esm/{VCDisplayCard2-553a4124.js → VCDisplayCard2-081f4ffa.js} +39 -17
- package/dist/esm/VCDisplayCard2-081f4ffa.js.map +1 -0
- package/dist/esm/{VCVerificationPill-2552e3ff.js → VCVerificationPill-f4734545.js} +2 -2
- package/dist/esm/{VCVerificationPill-2552e3ff.js.map → VCVerificationPill-f4734545.js.map} +1 -1
- package/dist/esm/{credential.helpers-fc5676e9.js → credential.helpers-3572f72c.js} +2 -2
- package/dist/esm/{credential.helpers-fc5676e9.js.map → credential.helpers-3572f72c.js.map} +1 -1
- package/dist/esm/index.js +9 -7
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/index12.js +9 -7
- package/dist/esm/index12.js.map +1 -1
- package/dist/esm/index18.js +2 -1
- package/dist/esm/index18.js.map +1 -1
- package/dist/esm/index19.js +1 -2
- package/dist/esm/index19.js.map +1 -1
- package/dist/esm/index20.js +2 -6
- package/dist/esm/index20.js.map +1 -1
- package/dist/esm/index21.js +3 -6
- package/dist/esm/index21.js.map +1 -1
- package/dist/esm/index22.js +6 -2
- package/dist/esm/index22.js.map +1 -1
- package/dist/esm/index23.js +2 -3
- package/dist/esm/index23.js.map +1 -1
- package/dist/esm/index24.js +6 -2
- package/dist/esm/index24.js.map +1 -1
- package/dist/esm/index25.js +2 -13
- package/dist/esm/index25.js.map +1 -1
- package/dist/esm/index26.js +2 -15
- package/dist/esm/index26.js.map +1 -1
- package/dist/esm/index27.js +26 -1
- package/dist/esm/index27.js.map +1 -1
- package/dist/esm/index28.js +1 -1
- package/dist/esm/index29.js +1 -2
- package/dist/esm/index29.js.map +1 -1
- package/dist/esm/index30.js +2 -15
- package/dist/esm/index30.js.map +1 -1
- package/dist/esm/index31.js +15 -2
- package/dist/esm/index31.js.map +1 -1
- package/dist/esm/index32.js +2 -2
- package/dist/esm/index33.js +2 -6
- package/dist/esm/index33.js.map +1 -1
- package/dist/esm/index34.js +6 -21
- package/dist/esm/index34.js.map +1 -1
- package/dist/esm/index35.js +16 -5
- package/dist/esm/index35.js.map +1 -1
- package/dist/esm/index36.js +5 -9
- package/dist/esm/index36.js.map +1 -1
- package/dist/esm/index37.js +12 -6
- package/dist/esm/index37.js.map +1 -1
- package/dist/esm/index38.js +10 -3
- package/dist/esm/index38.js.map +1 -1
- package/dist/esm/index39.js +4 -2
- package/dist/esm/index39.js.map +1 -1
- package/dist/esm/index40.js +3 -3
- package/dist/esm/index41.js +3 -5
- package/dist/esm/index41.js.map +1 -1
- package/dist/esm/index42.js +7 -0
- package/dist/esm/index42.js.map +1 -0
- package/dist/esm/{types.esm-cc97ca0c.js → types.esm-d135a91a.js} +7 -5
- package/dist/{cjs/types.esm-8e1827a0.js.map → esm/types.esm-d135a91a.js.map} +1 -1
- package/dist/index.d.ts +22 -2
- package/dist/main.css +1 -1
- package/dist/main.js +1 -1
- package/package.json +3 -3
- package/dist/cjs/VCDisplayCard2-433add97.js.map +0 -1
- package/dist/esm/VCDisplayCard2-553a4124.js.map +0 -1
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var React = require('react');
|
|
4
|
+
var reactDom = require('react-dom');
|
|
5
|
+
|
|
6
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
7
|
+
|
|
8
|
+
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
9
|
+
|
|
10
|
+
const Lightbox = ({ items, currentUrl, setCurrentUrl }) => {
|
|
11
|
+
const currentItem = items.find((item) => item.url === currentUrl);
|
|
12
|
+
React.useCallback(() => {
|
|
13
|
+
const currentIndex = items.findIndex((item) => item.url === currentUrl);
|
|
14
|
+
const nextItem = items.at((currentIndex + 1) % items.length);
|
|
15
|
+
if (nextItem) {
|
|
16
|
+
setCurrentUrl(nextItem.url);
|
|
17
|
+
}
|
|
18
|
+
}, [currentUrl]);
|
|
19
|
+
React.useCallback(() => {
|
|
20
|
+
const currentIndex = items.findIndex((item) => item.url === currentUrl);
|
|
21
|
+
const previousItem = items.at((currentIndex - 1) % items.length);
|
|
22
|
+
if (previousItem) {
|
|
23
|
+
setCurrentUrl(previousItem.url);
|
|
24
|
+
}
|
|
25
|
+
}, [currentUrl]);
|
|
26
|
+
if (!currentUrl || !currentItem) {
|
|
27
|
+
return null;
|
|
28
|
+
}
|
|
29
|
+
const innerRef = React.createRef();
|
|
30
|
+
return /* @__PURE__ */ React__default["default"].createElement(React__default["default"].Fragment, null, reactDom.createPortal(
|
|
31
|
+
/* @__PURE__ */ React__default["default"].createElement("div", {
|
|
32
|
+
className: "absolute top-0 left-0 w-screen h-screen bg-[rgba(0,0,0,0.9)] text-white flex justify-center items-center z-[999999]",
|
|
33
|
+
onClick: (e) => {
|
|
34
|
+
if (e.target !== innerRef.current) {
|
|
35
|
+
setCurrentUrl(void 0);
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
tabIndex: -1,
|
|
39
|
+
onKeyDown: (e) => {
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
}, currentItem.type === "photo" && /* @__PURE__ */ React__default["default"].createElement("img", {
|
|
43
|
+
className: "cursor-pointer",
|
|
44
|
+
src: currentUrl,
|
|
45
|
+
onClick: () => {
|
|
46
|
+
window.open(currentUrl, "_blank");
|
|
47
|
+
},
|
|
48
|
+
ref: innerRef
|
|
49
|
+
}), currentItem.type === "video" && currentUrl.includes("youtube.com") && /* @__PURE__ */ React__default["default"].createElement("iframe", {
|
|
50
|
+
width: "560",
|
|
51
|
+
height: "315",
|
|
52
|
+
src: currentUrl.replace("watch?v=", "embed/")
|
|
53
|
+
})),
|
|
54
|
+
document.body
|
|
55
|
+
));
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
exports.Lightbox = Lightbox;
|
|
59
|
+
//# sourceMappingURL=Lightbox-cda1e0d5.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Lightbox-cda1e0d5.js","sources":["../../src/components/Lightbox/Lightbox.tsx"],"sourcesContent":["import React, { createRef, useCallback } from 'react';\nimport { createPortal } from 'react-dom';\n\nexport type LightboxItemType = 'photo' | 'video';\n\nexport type LightboxItem = {\n url: string;\n type: LightboxItemType;\n};\n\nexport type LightboxImage = LightboxItem & {\n type: 'photo';\n alt?: string;\n};\n\nexport type LightboxVideo = LightboxItem & {\n type: 'video';\n};\n\nexport type LightboxProps = {\n items: LightboxItem[];\n currentUrl: string | undefined;\n setCurrentUrl: (url: string | undefined) => void;\n};\n\nexport const Lightbox: React.FC<LightboxProps> = ({ items, currentUrl, setCurrentUrl }) => {\n const currentItem = items.find(item => item.url === currentUrl);\n const goToNextItem = useCallback(() => {\n const currentIndex = items.findIndex(item => item.url === currentUrl);\n const nextItem = items.at((currentIndex + 1) % items.length);\n\n if (nextItem) {\n setCurrentUrl(nextItem.url);\n }\n }, [currentUrl]);\n const goToPreviousItem = useCallback(() => {\n const currentIndex = items.findIndex(item => item.url === currentUrl);\n const previousItem = items.at((currentIndex - 1) % items.length);\n\n if (previousItem) {\n setCurrentUrl(previousItem.url);\n }\n }, [currentUrl]);\n\n if (!currentUrl || !currentItem) {\n return null;\n }\n\n const innerRef = createRef<HTMLImageElement>();\n\n return (\n <>\n {createPortal(\n <div\n className=\"absolute top-0 left-0 w-screen h-screen bg-[rgba(0,0,0,0.9)] text-white flex justify-center items-center z-[999999]\"\n onClick={e => {\n if (e.target !== innerRef.current) {\n setCurrentUrl(undefined);\n }\n }}\n tabIndex={-1}\n onKeyDown={e => {\n return; // This doesn't trigger for some reason, so it's disabled for now.\n if (e.key === 'Escape') {\n setCurrentUrl(undefined);\n }\n\n if (e.key === 'ArrowRight') {\n console.log('next');\n goToNextItem();\n }\n\n if (e.key === 'ArrowLeft') {\n console.log('prev');\n goToPreviousItem();\n }\n }}\n >\n {currentItem.type === 'photo' && (\n <img\n className=\"cursor-pointer\"\n src={currentUrl}\n onClick={() => {\n window.open(currentUrl, '_blank');\n }}\n ref={innerRef}\n />\n )}\n {currentItem.type === 'video' && currentUrl.includes('youtube.com') && (\n <iframe\n width=\"560\"\n height=\"315\"\n src={currentUrl.replace('watch?v=', 'embed/')}\n />\n )}\n </div>,\n document.body\n )}\n </>\n );\n};\n"],"names":["useCallback","createRef","React","createPortal"],"mappings":";;;;;;;;;AAyBO,MAAM,WAAoC,CAAC,EAAE,KAAO,EAAA,UAAA,EAAY,eAAoB,KAAA;AACvF,EAAA,MAAM,cAAc,KAAM,CAAA,IAAA,CAAK,CAAQ,IAAA,KAAA,IAAA,CAAK,QAAQ,UAAU,CAAA,CAAA;AAC9D,EAAqBA,kBAAY,MAAM;AACnC,IAAA,MAAM,eAAe,KAAM,CAAA,SAAA,CAAU,CAAQ,IAAA,KAAA,IAAA,CAAK,QAAQ,UAAU,CAAA,CAAA;AACpE,IAAA,MAAM,WAAW,KAAM,CAAA,EAAA,CAAA,CAAI,YAAe,GAAA,CAAA,IAAK,MAAM,MAAM,CAAA,CAAA;AAE3D,IAAA,IAAI,QAAU,EAAA;AACV,MAAA,aAAA,CAAc,SAAS,GAAG,CAAA,CAAA;AAAA,KAC9B;AAAA,GACJ,EAAG,CAAC,UAAU,CAAC,EAAA;AACf,EAAyBA,kBAAY,MAAM;AACvC,IAAA,MAAM,eAAe,KAAM,CAAA,SAAA,CAAU,CAAQ,IAAA,KAAA,IAAA,CAAK,QAAQ,UAAU,CAAA,CAAA;AACpE,IAAA,MAAM,eAAe,KAAM,CAAA,EAAA,CAAA,CAAI,YAAe,GAAA,CAAA,IAAK,MAAM,MAAM,CAAA,CAAA;AAE/D,IAAA,IAAI,YAAc,EAAA;AACd,MAAA,aAAA,CAAc,aAAa,GAAG,CAAA,CAAA;AAAA,KAClC;AAAA,GACJ,EAAG,CAAC,UAAU,CAAC,EAAA;AAEf,EAAI,IAAA,CAAC,UAAc,IAAA,CAAC,WAAa,EAAA;AAC7B,IAAO,OAAA,IAAA,CAAA;AAAA,GACX;AAEA,EAAA,MAAM,WAAWC,eAA4B,EAAA,CAAA;AAE7C,EAAA,uBAESC,yBAAA,CAAA,aAAA,CAAAA,yBAAA,CAAA,QAAA,EAAA,IAAA,EAAAC,qBAAA;AAAA,oBACID,yBAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAA,MACG,SAAU,EAAA,qHAAA;AAAA,MACV,SAAS,CAAK,CAAA,KAAA;AACV,QAAI,IAAA,CAAA,CAAE,MAAW,KAAA,QAAA,CAAS,OAAS,EAAA;AAC/B,UAAA,aAAA,CAAc,KAAS,CAAA,CAAA,CAAA;AAAA,SAC3B;AAAA,OACJ;AAAA,MACA,QAAU,EAAA,CAAA,CAAA;AAAA,MACV,WAAW,CAAK,CAAA,KAAA;AACZ,QAAA,OAAA;AAaA,OACJ;AAAA,KAEC,EAAA,WAAA,CAAY,IAAS,KAAA,OAAA,oBACjBA,yBAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAA,MACG,SAAU,EAAA,gBAAA;AAAA,MACV,GAAK,EAAA,UAAA;AAAA,MACL,SAAS,MAAM;AACX,QAAO,MAAA,CAAA,IAAA,CAAK,YAAY,QAAQ,CAAA,CAAA;AAAA,OACpC;AAAA,MACA,GAAK,EAAA,QAAA;AAAA,KACT,CAAA,EAEH,YAAY,IAAS,KAAA,OAAA,IAAW,WAAW,QAAS,CAAA,aAAa,qBAC7DA,yBAAA,CAAA,aAAA,CAAA,QAAA,EAAA;AAAA,MACG,KAAM,EAAA,KAAA;AAAA,MACN,MAAO,EAAA,KAAA;AAAA,MACP,GAAK,EAAA,UAAA,CAAW,OAAQ,CAAA,UAAA,EAAY,QAAQ,CAAA;AAAA,KAChD,CAER,CAAA;AAAA,IACA,QAAS,CAAA,IAAA;AAAA,GAEjB,CAAA,CAAA;AAER;;;;"}
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
var React = require('react');
|
|
4
4
|
var init = require('@learncard/init');
|
|
5
|
-
var VCDisplayCard = require('./VCDisplayCard-
|
|
6
|
-
var VCDisplayCard2 = require('./VCDisplayCard2-
|
|
5
|
+
var VCDisplayCard = require('./VCDisplayCard-03fc6bd1.js');
|
|
6
|
+
var VCDisplayCard2 = require('./VCDisplayCard2-9b974b70.js');
|
|
7
7
|
|
|
8
8
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
9
9
|
|
|
@@ -76,4 +76,4 @@ const VCCard = ({
|
|
|
76
76
|
};
|
|
77
77
|
|
|
78
78
|
exports.VCCard = VCCard;
|
|
79
|
-
//# sourceMappingURL=VCCard-
|
|
79
|
+
//# sourceMappingURL=VCCard-46382b57.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VCCard-
|
|
1
|
+
{"version":3,"file":"VCCard-46382b57.js","sources":["../../src/components/VCCard/VCCard.tsx"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport { initLearnCard } from '@learncard/init';\nimport { VC, Profile, VerificationItem } from '@learncard/types';\n\nimport { VCDisplayCard } from '../VCDisplayCard';\nimport {\n VCDisplayCard2,\n MediaMetadata,\n VideoMetadata,\n CredentialIconType,\n} from '../VCDisplayCard2';\n\nexport type VCCardProps = {\n credential: VC;\n issueeOverride?: Profile;\n className?: string;\n version?: '1' | '2';\n\n /* Only used for version 2 */\n subjectImageComponent?: React.ReactNode;\n // convertTagsToSkills?: (tags: string[]) => { [skill: string]: string[] };\n handleXClick?: () => void;\n getFileMetadata?: (url: string) => MediaMetadata;\n getVideoMetadata?: (url: string) => VideoMetadata;\n onMediaAttachmentClick?: (url: string) => void;\n bottomRightIcon?: CredentialIconType;\n};\n\nexport const VCCard: React.FC<VCCardProps> = ({\n credential,\n issueeOverride,\n className = '',\n version = '1',\n subjectImageComponent,\n // convertTagsToSkills,\n handleXClick,\n getFileMetadata,\n getVideoMetadata,\n onMediaAttachmentClick,\n bottomRightIcon,\n}) => {\n const [loading, setLoading] = useState(true);\n const [vcVerification, setVCVerification] = useState<VerificationItem[]>([]);\n\n useEffect(() => {\n const verify = async () => {\n const wallet = await initLearnCard();\n const verification = await wallet.invoke.verifyCredential(credential, {}, true);\n setVCVerification(verification);\n setLoading(false);\n };\n\n verify();\n }, [credential]);\n\n if (version === '1') {\n return (\n <VCDisplayCard\n credential={credential}\n issueeOverride={issueeOverride}\n className={className}\n loading={loading}\n verification={vcVerification}\n />\n );\n }\n return (\n <VCDisplayCard2\n credential={credential}\n issueeOverride={issueeOverride}\n verificationInProgress={loading}\n verificationItems={vcVerification}\n subjectImageComponent={subjectImageComponent}\n // convertTagsToSkills={convertTagsToSkills}\n handleXClick={handleXClick}\n getFileMetadata={getFileMetadata}\n getVideoMetadata={getVideoMetadata}\n onMediaAttachmentClick={onMediaAttachmentClick}\n bottomRightIcon={bottomRightIcon}\n />\n );\n};\n\nexport default VCCard;\n"],"names":["useState","useEffect","initLearnCard","React","VCDisplayCard","VCDisplayCard2"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4BO,MAAM,SAAgC,CAAC;AAAA,EAC1C,UAAA;AAAA,EACA,cAAA;AAAA,EACA,SAAY,GAAA,EAAA;AAAA,EACZ,OAAU,GAAA,GAAA;AAAA,EACV,qBAAA;AAAA,EAEA,YAAA;AAAA,EACA,eAAA;AAAA,EACA,gBAAA;AAAA,EACA,sBAAA;AAAA,EACA,eAAA;AACJ,CAAM,KAAA;AACF,EAAA,MAAM,CAAC,OAAA,EAAS,UAAU,CAAA,GAAIA,eAAS,IAAI,CAAA,CAAA;AAC3C,EAAA,MAAM,CAAC,cAAgB,EAAA,iBAAiB,CAAI,GAAAA,cAAA,CAA6B,EAAE,CAAA,CAAA;AAE3E,EAAAC,eAAA,CAAU,MAAM;AACZ,IAAA,MAAM,SAAS,MAAY,OAAA,CAAA,KAAA,CAAA,EAAA,IAAA,EAAA,aAAA;AACvB,MAAM,MAAA,MAAA,GAAS,MAAMC,kBAAc,EAAA,CAAA;AACnC,MAAM,MAAA,YAAA,GAAe,MAAM,MAAO,CAAA,MAAA,CAAO,iBAAiB,UAAY,EAAA,IAAI,IAAI,CAAA,CAAA;AAC9E,MAAA,iBAAA,CAAkB,YAAY,CAAA,CAAA;AAC9B,MAAA,UAAA,CAAW,KAAK,CAAA,CAAA;AAAA,KACpB,CAAA,CAAA;AAEA,IAAO,MAAA,EAAA,CAAA;AAAA,GACX,EAAG,CAAC,UAAU,CAAC,CAAA,CAAA;AAEf,EAAA,IAAI,YAAY,GAAK,EAAA;AACjB,IAAA,uBACKC,yBAAA,CAAA,aAAA,CAAAC,2BAAA,EAAA;AAAA,MACG,UAAA;AAAA,MACA,cAAA;AAAA,MACA,SAAA;AAAA,MACA,OAAA;AAAA,MACA,YAAc,EAAA,cAAA;AAAA,KAClB,CAAA,CAAA;AAAA,GAER;AACA,EAAA,uBACKD,yBAAA,CAAA,aAAA,CAAAE,6BAAA,EAAA;AAAA,IACG,UAAA;AAAA,IACA,cAAA;AAAA,IACA,sBAAwB,EAAA,OAAA;AAAA,IACxB,iBAAmB,EAAA,cAAA;AAAA,IACnB,qBAAA;AAAA,IAEA,YAAA;AAAA,IACA,eAAA;AAAA,IACA,gBAAA;AAAA,IACA,sBAAA;AAAA,IACA,eAAA;AAAA,GACJ,CAAA,CAAA;AAER;;;;"}
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
var React = require('react');
|
|
4
4
|
var VCVerificationCheck = require('./VCVerificationCheck-46fa75d3.js');
|
|
5
|
-
var VCVerificationPill = require('./VCVerificationPill-
|
|
5
|
+
var VCVerificationPill = require('./VCVerificationPill-ac05903b.js');
|
|
6
6
|
var FlipArrowRight = require('./ArrowArcRight.svg');
|
|
7
|
-
var credential_helpers = require('./credential.helpers-
|
|
7
|
+
var credential_helpers = require('./credential.helpers-40149659.js');
|
|
8
8
|
|
|
9
9
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
10
10
|
|
|
@@ -84,4 +84,4 @@ const VCDisplayBackFace = ({
|
|
|
84
84
|
};
|
|
85
85
|
|
|
86
86
|
exports.VCDisplayBackFace = VCDisplayBackFace;
|
|
87
|
-
//# sourceMappingURL=VCDisplayBackFace-
|
|
87
|
+
//# sourceMappingURL=VCDisplayBackFace-85c80890.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VCDisplayBackFace-
|
|
1
|
+
{"version":3,"file":"VCDisplayBackFace-85c80890.js","sources":["../../src/components/VCDisplayBackFace/VCDisplayBackFace.tsx"],"sourcesContent":["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":["getNameFromProfile","React","FlipArrowRight","VCVerificationCheckWithText","VCVerificationPill"],"mappings":"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"}
|
|
@@ -5,8 +5,8 @@ var FlippyCard = require('./FlippyCard-209549c5.js');
|
|
|
5
5
|
var FatArrow = require('./icon.green.fat-arrow.png');
|
|
6
6
|
var DefaultFace = require('./default-face.jpeg');
|
|
7
7
|
var VCVerificationCheck = require('./VCVerificationCheck-46fa75d3.js');
|
|
8
|
-
var credential_helpers = require('./credential.helpers-
|
|
9
|
-
var VCDisplayBackFace = require('./VCDisplayBackFace-
|
|
8
|
+
var credential_helpers = require('./credential.helpers-40149659.js');
|
|
9
|
+
var VCDisplayBackFace = require('./VCDisplayBackFace-85c80890.js');
|
|
10
10
|
|
|
11
11
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
12
12
|
|
|
@@ -188,4 +188,4 @@ const VCDisplayCard = ({
|
|
|
188
188
|
};
|
|
189
189
|
|
|
190
190
|
exports.VCDisplayCard = VCDisplayCard;
|
|
191
|
-
//# sourceMappingURL=VCDisplayCard-
|
|
191
|
+
//# sourceMappingURL=VCDisplayCard-03fc6bd1.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VCDisplayCard-5f2eacc0.js","sources":["../../src/components/VCDisplayFrontFace/VCDisplayFrontFace.tsx","../../src/components/VCDisplayCard/VCDisplayCard.tsx"],"sourcesContent":["import React from 'react';\nimport { VCDisplayCardProps } from '../../types';\nimport FatArrow from '../../assets/images/icon.green.fat-arrow.png';\nimport FlipArrowRight from '../../assets/images/ArrowArcRight.svg';\nimport DefaultFace from '../../assets/images/default-face.jpeg';\nimport { VCVerificationCheckWithText } from '../VCVerificationCheck/VCVerificationCheck';\nimport { getImageFromProfile, getNameFromProfile } from '../../helpers/credential.helpers';\n\nconst VCDisplayFrontFace: React.FC<VCDisplayCardProps> = ({\n title,\n createdAt,\n issuer,\n issuee,\n subjectImageComponent,\n issuerImageComponent,\n hideProfileBubbles = false,\n credentialSubject,\n className = '',\n loading,\n handleClick,\n overrideCardImageComponent,\n overrideCardTitle,\n customHeaderComponent,\n}) => {\n const credentialAchievementImage =\n credentialSubject?.achievement?.image?.id || credentialSubject?.achievement?.image;\n const issuerName = getNameFromProfile(issuer ?? '');\n const issueeName = getNameFromProfile(issuee ?? '');\n const issuerImage = getImageFromProfile(issuer ?? '');\n const issueeImage = getImageFromProfile(issuee ?? '');\n\n const issuerNameAbr = issuerName?.slice(0, 1) ?? '';\n\n let issueeImageEl: React.ReactNode | null = null;\n const issuerImgExists = issuerImage && issuerImage !== '';\n const issueeImgExists = issueeImage && issueeImage !== '';\n if (issueeImgExists) {\n issueeImageEl = (\n <div className=\"flex flex-row items-center justify-center h-full w-full rounded-full border-solid border-4 border-white overflow-hidden bg-white\">\n <img\n className=\"h-full w-full object-cover\"\n src={issueeImage || DefaultFace}\n alt=\"Issuee image\"\n />\n </div>\n );\n } else if (!issueeImgExists && subjectImageComponent) {\n issueeImageEl = subjectImageComponent;\n }\n\n let issuerImageEl: React.ReactNode | null = null;\n\n if (issuerImgExists) {\n issuerImageEl = (\n <img className=\"w-4/6 h-4/6 object-cover\" src={issuerImage} alt=\"Issuer image\" />\n );\n } else {\n issuerImageEl = (\n <div className=\"flex flex-row items-center justify-center h-full w-full overflow-hidden bg-emerald-700 text-white font-medium text-3xl\">\n {issuerNameAbr}\n </div>\n );\n }\n\n if (issuerImageComponent) {\n issuerImageEl = issuerImageComponent;\n }\n\n const credImg = credentialAchievementImage ? (\n <img\n className=\"h-full w-full object-cover\"\n src={credentialAchievementImage ?? ''}\n alt=\"Credential Achievement Image\"\n />\n ) : (\n <></>\n );\n\n const renderCardImg = overrideCardImageComponent ? overrideCardImageComponent : credImg;\n const cardTitle = overrideCardTitle ? overrideCardTitle : title;\n\n return (\n <div\n className={`z-[9] vc-display-main-card-front flex overflow-hidden flex-col items-center justify-between relative max-w-[400px] h-[100%] min-h-[600px] p-7 rounded-3xl shadow-3xl bg-emerald-700 vc-display-card-full-container ${className}`}\n >\n <section className=\"bg-white rounded-bl-[50%] rounded-br-[50%] absolute top-0 w-[110%] h-[77%]\"></section>\n <section className=\"flex flex-col items-center justify-center z-10 text-center credential-thumb-img\">\n <section className=\"max-w-[100px] max-h-[100px]\">{renderCardImg}</section>\n\n <section className=\"flex flex-row w-full line-clamp-2\">\n <div className=\"flex flex-row w-full line-clamp-2 py-4 vc-flippy-card-title-front \">\n <h3\n 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\"\n data-testid=\"vc-thumbnail-title\"\n >\n {cardTitle ?? ''}\n </h3>\n </div>\n\n {customHeaderComponent && customHeaderComponent}\n </section>\n\n <section className=\"flex flex-row items-center justify-center mt-2 w-full my-2 vc-card-issuer-thumbs\">\n {!hideProfileBubbles && (\n <>\n <div className=\"flex items-center justify-center h-16 w-16 shadow-3xl rounded-full overflow-hidden bg-white\">\n {issuerImageEl}\n </div>\n <img\n className=\"h-8 w-8 my-0 mx-4\"\n src={FatArrow ?? ''}\n alt=\"fat arrow icon\"\n />\n <div className=\"flex items-center justify-center h-16 w-16 shadow-3xl rounded-full overflow-hidden bg-white\">\n {issueeImageEl}\n </div>\n </>\n )}\n </section>\n\n <div className=\"w-full mt-2 vc-card-issued-to-info\">\n <p\n className=\"text-sm font-light text-center line-clamp-2 vc-display-issue-details text-gray-900\"\n data-testid=\"vc-thumbnail-createdAt\"\n >\n Issued to <span className=\"font-bold text-gray-900\">{issueeName}</span> on{' '}\n {createdAt ?? ''} by{' '}\n <span className=\"font-bold text-gray-900\"> {issuerName}</span>\n </p>\n </div>\n\n <button\n onClick={handleClick}\n className=\"cursor-alias bg-white my-3 border-0 text-indigo-500 font-semibold py-2 px-4 sl\"\n >\n <span className=\"flex justify-center\">\n <p className=\"flex items-center\">View Details</p>\n </span>\n </button>\n </section>\n\n <div className=\"flex items-center justify-center w-full\">\n <VCVerificationCheckWithText loading={loading} />\n </div>\n </div>\n );\n};\n\nexport default VCDisplayFrontFace;\n","import React, { useState } from 'react';\nimport { AchievementCredential, VC, Profile, VerificationItem } from '@learncard/types';\n\nimport FlippyCard from '../FlippyCard/FlippyCard';\nimport VCDisplayFrontFace from '../VCDisplayFrontFace/VCDisplayFrontFace';\nimport VCDisplayBackFace from '../VCDisplayBackFace/VCDisplayBackFace';\n\nimport { getInfoFromCredential } from '../../helpers/credential.helpers';\n\nconst FRONT_FACE = 'front';\nconst BACK_FACE = 'back';\n\nexport type VCDisplayCardPropsReal = {\n credential: VC | AchievementCredential;\n issueeOverride?: Profile;\n issuerOverride?: Profile;\n className?: string;\n hideProfileBubbles?: boolean;\n loading?: boolean;\n verification?: VerificationItem[];\n subjectImageComponent?: React.ReactNode;\n issuerImageComponent?: React.ReactNode;\n overrideDetailsComponent?: React.ReactNode;\n overrideCardTitle?: string;\n overrideCardImageComponent?: React.ReactNode;\n customHeaderComponent?: React.ReactNode;\n};\n\nexport const VCDisplayCard: React.FC<VCDisplayCardPropsReal> = ({\n credential,\n issueeOverride,\n issuerOverride,\n className = '',\n loading = false,\n verification = [],\n hideProfileBubbles = false,\n subjectImageComponent,\n issuerImageComponent,\n overrideDetailsComponent,\n overrideCardTitle,\n overrideCardImageComponent,\n customHeaderComponent,\n}) => {\n const [flipState, setFlipState] = useState(FRONT_FACE);\n const {\n title,\n createdAt,\n issuer: _issuer,\n issuee: _issuee,\n credentialSubject,\n } = getInfoFromCredential(credential);\n const issuee = issueeOverride || _issuee;\n const issuer = issuerOverride || _issuer;\n\n const handleFlip = () => {\n if (flipState === FRONT_FACE) {\n setFlipState(BACK_FACE);\n }\n if (flipState === BACK_FACE) {\n setFlipState(FRONT_FACE);\n }\n };\n\n return (\n <FlippyCard flipState={flipState}>\n <VCDisplayFrontFace\n title={title}\n credentialSubject={credentialSubject}\n customHeaderComponent={customHeaderComponent}\n issuer={issuer}\n issuee={issuee}\n subjectImageComponent={subjectImageComponent}\n issuerImageComponent={issuerImageComponent}\n overrideCardImageComponent={overrideCardImageComponent}\n overrideCardTitle={overrideCardTitle}\n hideProfileBubbles={hideProfileBubbles}\n createdAt={createdAt}\n className={className}\n loading={loading}\n handleClick={handleFlip}\n />\n <VCDisplayBackFace\n title={title}\n credentialSubject={credentialSubject}\n overrideDetailsComponent={overrideDetailsComponent}\n issuer={issuer}\n issuee={issuee}\n createdAt={createdAt}\n className={className}\n loading={loading}\n verification={verification}\n handleClick={handleFlip}\n />\n </FlippyCard>\n );\n};\n\nexport default VCDisplayCard;\n"],"names":["getNameFromProfile","getImageFromProfile","React","DefaultFace","FatArrow","VCVerificationCheckWithText","useState","getInfoFromCredential","FlippyCard","VCDisplayBackFace"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"VCDisplayCard-03fc6bd1.js","sources":["../../src/components/VCDisplayFrontFace/VCDisplayFrontFace.tsx","../../src/components/VCDisplayCard/VCDisplayCard.tsx"],"sourcesContent":["import React from 'react';\nimport { VCDisplayCardProps } from '../../types';\nimport FatArrow from '../../assets/images/icon.green.fat-arrow.png';\nimport FlipArrowRight from '../../assets/images/ArrowArcRight.svg';\nimport DefaultFace from '../../assets/images/default-face.jpeg';\nimport { VCVerificationCheckWithText } from '../VCVerificationCheck/VCVerificationCheck';\nimport { getImageFromProfile, getNameFromProfile } from '../../helpers/credential.helpers';\n\nconst VCDisplayFrontFace: React.FC<VCDisplayCardProps> = ({\n title,\n createdAt,\n issuer,\n issuee,\n subjectImageComponent,\n issuerImageComponent,\n hideProfileBubbles = false,\n credentialSubject,\n className = '',\n loading,\n handleClick,\n overrideCardImageComponent,\n overrideCardTitle,\n customHeaderComponent,\n}) => {\n const credentialAchievementImage =\n credentialSubject?.achievement?.image?.id || credentialSubject?.achievement?.image;\n const issuerName = getNameFromProfile(issuer ?? '');\n const issueeName = getNameFromProfile(issuee ?? '');\n const issuerImage = getImageFromProfile(issuer ?? '');\n const issueeImage = getImageFromProfile(issuee ?? '');\n\n const issuerNameAbr = issuerName?.slice(0, 1) ?? '';\n\n let issueeImageEl: React.ReactNode | null = null;\n const issuerImgExists = issuerImage && issuerImage !== '';\n const issueeImgExists = issueeImage && issueeImage !== '';\n if (issueeImgExists) {\n issueeImageEl = (\n <div className=\"flex flex-row items-center justify-center h-full w-full rounded-full border-solid border-4 border-white overflow-hidden bg-white\">\n <img\n className=\"h-full w-full object-cover\"\n src={issueeImage || DefaultFace}\n alt=\"Issuee image\"\n />\n </div>\n );\n } else if (!issueeImgExists && subjectImageComponent) {\n issueeImageEl = subjectImageComponent;\n }\n\n let issuerImageEl: React.ReactNode | null = null;\n\n if (issuerImgExists) {\n issuerImageEl = (\n <img className=\"w-4/6 h-4/6 object-cover\" src={issuerImage} alt=\"Issuer image\" />\n );\n } else {\n issuerImageEl = (\n <div className=\"flex flex-row items-center justify-center h-full w-full overflow-hidden bg-emerald-700 text-white font-medium text-3xl\">\n {issuerNameAbr}\n </div>\n );\n }\n\n if (issuerImageComponent) {\n issuerImageEl = issuerImageComponent;\n }\n\n const credImg = credentialAchievementImage ? (\n <img\n className=\"h-full w-full object-cover\"\n src={credentialAchievementImage ?? ''}\n alt=\"Credential Achievement Image\"\n />\n ) : (\n <></>\n );\n\n const renderCardImg = overrideCardImageComponent ? overrideCardImageComponent : credImg;\n const cardTitle = overrideCardTitle ? overrideCardTitle : title;\n\n return (\n <div\n className={`z-[9] vc-display-main-card-front flex overflow-hidden flex-col items-center justify-between relative max-w-[400px] h-[100%] min-h-[600px] p-7 rounded-3xl shadow-3xl bg-emerald-700 vc-display-card-full-container ${className}`}\n >\n <section className=\"bg-white rounded-bl-[50%] rounded-br-[50%] absolute top-0 w-[110%] h-[77%]\"></section>\n <section className=\"flex flex-col items-center justify-center z-10 text-center credential-thumb-img\">\n <section className=\"max-w-[100px] max-h-[100px]\">{renderCardImg}</section>\n\n <section className=\"flex flex-row w-full line-clamp-2\">\n <div className=\"flex flex-row w-full line-clamp-2 py-4 vc-flippy-card-title-front \">\n <h3\n 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\"\n data-testid=\"vc-thumbnail-title\"\n >\n {cardTitle ?? ''}\n </h3>\n </div>\n\n {customHeaderComponent && customHeaderComponent}\n </section>\n\n <section className=\"flex flex-row items-center justify-center mt-2 w-full my-2 vc-card-issuer-thumbs\">\n {!hideProfileBubbles && (\n <>\n <div className=\"flex items-center justify-center h-16 w-16 shadow-3xl rounded-full overflow-hidden bg-white\">\n {issuerImageEl}\n </div>\n <img\n className=\"h-8 w-8 my-0 mx-4\"\n src={FatArrow ?? ''}\n alt=\"fat arrow icon\"\n />\n <div className=\"flex items-center justify-center h-16 w-16 shadow-3xl rounded-full overflow-hidden bg-white\">\n {issueeImageEl}\n </div>\n </>\n )}\n </section>\n\n <div className=\"w-full mt-2 vc-card-issued-to-info\">\n <p\n className=\"text-sm font-light text-center line-clamp-2 vc-display-issue-details text-gray-900\"\n data-testid=\"vc-thumbnail-createdAt\"\n >\n Issued to <span className=\"font-bold text-gray-900\">{issueeName}</span> on{' '}\n {createdAt ?? ''} by{' '}\n <span className=\"font-bold text-gray-900\"> {issuerName}</span>\n </p>\n </div>\n\n <button\n onClick={handleClick}\n className=\"cursor-alias bg-white my-3 border-0 text-indigo-500 font-semibold py-2 px-4 sl\"\n >\n <span className=\"flex justify-center\">\n <p className=\"flex items-center\">View Details</p>\n </span>\n </button>\n </section>\n\n <div className=\"flex items-center justify-center w-full\">\n <VCVerificationCheckWithText loading={loading} />\n </div>\n </div>\n );\n};\n\nexport default VCDisplayFrontFace;\n","import React, { useState } from 'react';\nimport { AchievementCredential, VC, Profile, VerificationItem } from '@learncard/types';\n\nimport FlippyCard from '../FlippyCard/FlippyCard';\nimport VCDisplayFrontFace from '../VCDisplayFrontFace/VCDisplayFrontFace';\nimport VCDisplayBackFace from '../VCDisplayBackFace/VCDisplayBackFace';\n\nimport { getInfoFromCredential } from '../../helpers/credential.helpers';\n\nconst FRONT_FACE = 'front';\nconst BACK_FACE = 'back';\n\nexport type VCDisplayCardPropsReal = {\n credential: VC | AchievementCredential;\n issueeOverride?: Profile;\n issuerOverride?: Profile;\n className?: string;\n hideProfileBubbles?: boolean;\n loading?: boolean;\n verification?: VerificationItem[];\n subjectImageComponent?: React.ReactNode;\n issuerImageComponent?: React.ReactNode;\n overrideDetailsComponent?: React.ReactNode;\n overrideCardTitle?: string;\n overrideCardImageComponent?: React.ReactNode;\n customHeaderComponent?: React.ReactNode;\n};\n\nexport const VCDisplayCard: React.FC<VCDisplayCardPropsReal> = ({\n credential,\n issueeOverride,\n issuerOverride,\n className = '',\n loading = false,\n verification = [],\n hideProfileBubbles = false,\n subjectImageComponent,\n issuerImageComponent,\n overrideDetailsComponent,\n overrideCardTitle,\n overrideCardImageComponent,\n customHeaderComponent,\n}) => {\n const [flipState, setFlipState] = useState(FRONT_FACE);\n const {\n title,\n createdAt,\n issuer: _issuer,\n issuee: _issuee,\n credentialSubject,\n } = getInfoFromCredential(credential);\n const issuee = issueeOverride || _issuee;\n const issuer = issuerOverride || _issuer;\n\n const handleFlip = () => {\n if (flipState === FRONT_FACE) {\n setFlipState(BACK_FACE);\n }\n if (flipState === BACK_FACE) {\n setFlipState(FRONT_FACE);\n }\n };\n\n return (\n <FlippyCard flipState={flipState}>\n <VCDisplayFrontFace\n title={title}\n credentialSubject={credentialSubject}\n customHeaderComponent={customHeaderComponent}\n issuer={issuer}\n issuee={issuee}\n subjectImageComponent={subjectImageComponent}\n issuerImageComponent={issuerImageComponent}\n overrideCardImageComponent={overrideCardImageComponent}\n overrideCardTitle={overrideCardTitle}\n hideProfileBubbles={hideProfileBubbles}\n createdAt={createdAt}\n className={className}\n loading={loading}\n handleClick={handleFlip}\n />\n <VCDisplayBackFace\n title={title}\n credentialSubject={credentialSubject}\n overrideDetailsComponent={overrideDetailsComponent}\n issuer={issuer}\n issuee={issuee}\n createdAt={createdAt}\n className={className}\n loading={loading}\n verification={verification}\n handleClick={handleFlip}\n />\n </FlippyCard>\n );\n};\n\nexport default VCDisplayCard;\n"],"names":["getNameFromProfile","getImageFromProfile","React","DefaultFace","FatArrow","VCVerificationCheckWithText","useState","getInfoFromCredential","FlippyCard","VCDisplayBackFace"],"mappings":"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"}
|
|
@@ -3,9 +3,10 @@
|
|
|
3
3
|
var React = require('react');
|
|
4
4
|
var VCVerificationCheck = require('./VCVerificationCheck-46fa75d3.js');
|
|
5
5
|
var DefaultFace = require('./default-face.jpeg');
|
|
6
|
-
var credential_helpers = require('./credential.helpers-
|
|
6
|
+
var credential_helpers = require('./credential.helpers-40149659.js');
|
|
7
7
|
require('./index-a961acab.js');
|
|
8
|
-
var
|
|
8
|
+
var Lightbox = require('./Lightbox-cda1e0d5.js');
|
|
9
|
+
var types_esm = require('./types.esm-e38e568c.js');
|
|
9
10
|
var AwardRibbon = require('./AwardRibbon-14ba45fb.js');
|
|
10
11
|
var index = require('./index-d836b84d.js');
|
|
11
12
|
|
|
@@ -435,7 +436,8 @@ const MediaAttachmentsBox = ({
|
|
|
435
436
|
attachments,
|
|
436
437
|
getFileMetadata = defaultGetFileMetadata,
|
|
437
438
|
getVideoMetadata = defaultGetVideoMetadata,
|
|
438
|
-
onMediaAttachmentClick
|
|
439
|
+
onMediaAttachmentClick,
|
|
440
|
+
enableLightbox = false
|
|
439
441
|
}) => {
|
|
440
442
|
const [documentMetadata, setDocumentMetadata] = React.useState({});
|
|
441
443
|
const [videoMetadata, setVideoMetadata] = React.useState({});
|
|
@@ -472,13 +474,27 @@ const MediaAttachmentsBox = ({
|
|
|
472
474
|
const videos = attachments.filter((a) => a.type === "video");
|
|
473
475
|
getMetadata([...documentsAndLinks, ...videos]);
|
|
474
476
|
}, []);
|
|
477
|
+
const [currentLightboxUrl, setCurrentLightboxUrl] = React.useState(void 0);
|
|
478
|
+
const lightboxItems = mediaAttachments.filter(
|
|
479
|
+
(a) => a.type === "photo" || a.type === "video"
|
|
480
|
+
);
|
|
481
|
+
const handleMediaAttachmentClick = (url, type) => {
|
|
482
|
+
if (type === "photo" || type === "video") {
|
|
483
|
+
setCurrentLightboxUrl(url);
|
|
484
|
+
}
|
|
485
|
+
onMediaAttachmentClick == null ? void 0 : onMediaAttachmentClick(url, type);
|
|
486
|
+
};
|
|
475
487
|
return /* @__PURE__ */ React__default["default"].createElement("div", {
|
|
476
488
|
className: "media-attachments-box bg-white flex flex-col items-start gap-[10px] rounded-[20px] shadow-bottom px-[15px] py-[20px] w-full"
|
|
477
489
|
}, /* @__PURE__ */ React__default["default"].createElement("h3", {
|
|
478
490
|
className: "text-[20px] leading-[20px] text-grayscale-900"
|
|
479
491
|
}, "Media Attachments"), mediaAttachments.length > 0 && /* @__PURE__ */ React__default["default"].createElement("div", {
|
|
480
492
|
className: "flex gap-[5px] justify-between flex-wrap w-full"
|
|
481
|
-
},
|
|
493
|
+
}, enableLightbox && /* @__PURE__ */ React__default["default"].createElement(Lightbox.Lightbox, {
|
|
494
|
+
items: lightboxItems,
|
|
495
|
+
currentUrl: currentLightboxUrl,
|
|
496
|
+
setCurrentUrl: setCurrentLightboxUrl
|
|
497
|
+
}), mediaAttachments.map((media, index) => {
|
|
482
498
|
var _a, _b;
|
|
483
499
|
let innerContent;
|
|
484
500
|
let title = media.title;
|
|
@@ -488,7 +504,7 @@ const MediaAttachmentsBox = ({
|
|
|
488
504
|
const baseUrl = getBaseUrl(media.url);
|
|
489
505
|
const iconTop = title || baseUrl;
|
|
490
506
|
innerContent = /* @__PURE__ */ React__default["default"].createElement("div", {
|
|
491
|
-
className: "absolute top-0 left-0 right-0 bottom-0 bg-cover bg-no-repeat font-poppins text-white text-[12px] font-[400] leading-[17px] flex flex-col justify-end items-start p-[10px] text-left bg-rose-600",
|
|
507
|
+
className: "absolute top-0 left-0 right-0 bottom-0 bg-cover bg-no-repeat font-poppins text-white text-[12px] font-[400] leading-[17px] flex flex-col justify-end items-start p-[10px] text-left bg-rose-600 rounded-[15px]",
|
|
492
508
|
style: {
|
|
493
509
|
backgroundImage: (metadata == null ? void 0 : metadata.imageUrl) ? `linear-gradient(180deg, rgba(0, 0, 0, 0) 44.20%, rgba(0, 0, 0, 0.6) 69%), url(${(_b = metadata == null ? void 0 : metadata.imageUrl) != null ? _b : ""})` : void 0
|
|
494
510
|
}
|
|
@@ -505,19 +521,21 @@ const MediaAttachmentsBox = ({
|
|
|
505
521
|
className: "line-clamp-2"
|
|
506
522
|
}, title));
|
|
507
523
|
} else {
|
|
508
|
-
innerContent = /* @__PURE__ */ React__default["default"].createElement(
|
|
509
|
-
className: "absolute top-0 left-0 right-0 bottom-0"
|
|
524
|
+
innerContent = /* @__PURE__ */ React__default["default"].createElement("div", {
|
|
525
|
+
className: "absolute top-0 left-0 right-0 bottom-0 h-min"
|
|
526
|
+
}, /* @__PURE__ */ React__default["default"].createElement("img", {
|
|
527
|
+
className: "rounded-[15px]",
|
|
510
528
|
src: media.url
|
|
511
529
|
}), /* @__PURE__ */ React__default["default"].createElement(Camera, {
|
|
512
|
-
className: "
|
|
530
|
+
className: "relative bottom-[30px] left-[10px] z-10"
|
|
513
531
|
}));
|
|
514
532
|
}
|
|
515
|
-
const className = `media-attachment ${media.type} w-[49%] pt-[49%]
|
|
516
|
-
if (onMediaAttachmentClick) {
|
|
533
|
+
const className = `media-attachment ${media.type} w-[49%] pt-[49%] overflow-hidden relative`;
|
|
534
|
+
if (onMediaAttachmentClick || enableLightbox) {
|
|
517
535
|
return /* @__PURE__ */ React__default["default"].createElement("button", {
|
|
518
536
|
key: index,
|
|
519
537
|
className,
|
|
520
|
-
onClick: () =>
|
|
538
|
+
onClick: () => handleMediaAttachmentClick(media.url, media.type)
|
|
521
539
|
}, innerContent);
|
|
522
540
|
}
|
|
523
541
|
return /* @__PURE__ */ React__default["default"].createElement("div", {
|
|
@@ -556,7 +574,7 @@ const MediaAttachmentsBox = ({
|
|
|
556
574
|
return /* @__PURE__ */ React__default["default"].createElement("button", {
|
|
557
575
|
key: index,
|
|
558
576
|
className,
|
|
559
|
-
onClick: () =>
|
|
577
|
+
onClick: () => handleMediaAttachmentClick(docOrLink.url, docOrLink.type)
|
|
560
578
|
}, innerContent);
|
|
561
579
|
}
|
|
562
580
|
return /* @__PURE__ */ React__default["default"].createElement("div", {
|
|
@@ -722,7 +740,8 @@ const VC2BackFace = ({
|
|
|
722
740
|
issueHistory,
|
|
723
741
|
showBackButton,
|
|
724
742
|
showFrontFace,
|
|
725
|
-
customIssueHistoryComponent
|
|
743
|
+
customIssueHistoryComponent,
|
|
744
|
+
enableLightbox
|
|
726
745
|
}) => {
|
|
727
746
|
var _a;
|
|
728
747
|
const expiration = credential.expirationDate ? credential_helpers.format(new Date(credential.expirationDate), "MMM dd, yyyy") : void 0;
|
|
@@ -757,7 +776,8 @@ const VC2BackFace = ({
|
|
|
757
776
|
attachments: credential.attachments,
|
|
758
777
|
getFileMetadata,
|
|
759
778
|
getVideoMetadata,
|
|
760
|
-
onMediaAttachmentClick
|
|
779
|
+
onMediaAttachmentClick,
|
|
780
|
+
enableLightbox
|
|
761
781
|
}), verificationItems && verificationItems.length > 0 && /* @__PURE__ */ React__default["default"].createElement(VerificationsBox, {
|
|
762
782
|
verificationItems
|
|
763
783
|
}));
|
|
@@ -888,7 +908,8 @@ const VCDisplayCard2 = ({
|
|
|
888
908
|
customIssueHistoryComponent,
|
|
889
909
|
issueHistory,
|
|
890
910
|
titleOverride,
|
|
891
|
-
showBackButton = true
|
|
911
|
+
showBackButton = true,
|
|
912
|
+
enableLightbox
|
|
892
913
|
}) => {
|
|
893
914
|
var _a, _b, _c, _d, _e;
|
|
894
915
|
const {
|
|
@@ -984,7 +1005,8 @@ const VCDisplayCard2 = ({
|
|
|
984
1005
|
onMediaAttachmentClick,
|
|
985
1006
|
showBackButton,
|
|
986
1007
|
showFrontFace: () => setIsFront(true),
|
|
987
|
-
customIssueHistoryComponent
|
|
1008
|
+
customIssueHistoryComponent,
|
|
1009
|
+
enableLightbox
|
|
988
1010
|
}), /* @__PURE__ */ React__default["default"].createElement("button", {
|
|
989
1011
|
type: "button",
|
|
990
1012
|
className: "vc-toggle-side-button text-white shadow-bottom bg-[#00000099] px-[30px] py-[8px] rounded-[40px] text-[28px] tracking-[0.75px] uppercase leading-[28px] mt-[40px] w-fit select-none",
|
|
@@ -1014,4 +1036,4 @@ const VCDisplayCard2 = ({
|
|
|
1014
1036
|
};
|
|
1015
1037
|
|
|
1016
1038
|
exports.VCDisplayCard2 = VCDisplayCard2;
|
|
1017
|
-
//# sourceMappingURL=VCDisplayCard2-
|
|
1039
|
+
//# sourceMappingURL=VCDisplayCard2-9b974b70.js.map
|