@learncard/react 2.8.9 → 2.8.11

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.
Files changed (41) hide show
  1. package/dist/cjs/{CertificateDisplayCard-081fb157.js → CertificateDisplayCard-355bb9db.js} +2 -2
  2. package/dist/cjs/{CertificateDisplayCard-081fb157.js.map → CertificateDisplayCard-355bb9db.js.map} +1 -1
  3. package/dist/cjs/Lightbox-d7b749fd.js +175 -0
  4. package/dist/cjs/Lightbox-d7b749fd.js.map +1 -0
  5. package/dist/cjs/{MeritBadgeDisplayCard-3f8eb0fc.js → MeritBadgeDisplayCard-cdb59ca4.js} +2 -2
  6. package/dist/cjs/{MeritBadgeDisplayCard-3f8eb0fc.js.map → MeritBadgeDisplayCard-cdb59ca4.js.map} +1 -1
  7. package/dist/cjs/{VCCard-d4b60ae8.js → VCCard-41ec5401.js} +2 -2
  8. package/dist/cjs/{VCCard-d4b60ae8.js.map → VCCard-41ec5401.js.map} +1 -1
  9. package/dist/cjs/{VCDisplayCard2-0bf59253.js → VCDisplayCard2-896291d9.js} +4 -4
  10. package/dist/cjs/{VCDisplayCard2-0bf59253.js.map → VCDisplayCard2-896291d9.js.map} +1 -1
  11. package/dist/cjs/index.js +5 -5
  12. package/dist/cjs/index13.js +5 -5
  13. package/dist/cjs/index19.js +1 -1
  14. package/dist/cjs/index21.js +2 -2
  15. package/dist/cjs/index37.js +5 -5
  16. package/dist/cjs/index40.js +4 -4
  17. package/dist/cjs/index6.js +2 -2
  18. package/dist/esm/{CertificateDisplayCard-98ec793a.js → CertificateDisplayCard-3ff759b1.js} +2 -2
  19. package/dist/esm/{CertificateDisplayCard-98ec793a.js.map → CertificateDisplayCard-3ff759b1.js.map} +1 -1
  20. package/dist/esm/Lightbox-f02b5b4f.js +169 -0
  21. package/dist/esm/Lightbox-f02b5b4f.js.map +1 -0
  22. package/dist/esm/{MeritBadgeDisplayCard-3a5d50b0.js → MeritBadgeDisplayCard-a3e1cac5.js} +2 -2
  23. package/dist/esm/{MeritBadgeDisplayCard-3a5d50b0.js.map → MeritBadgeDisplayCard-a3e1cac5.js.map} +1 -1
  24. package/dist/esm/{VCCard-d252e48a.js → VCCard-ec7b123f.js} +2 -2
  25. package/dist/esm/{VCCard-d252e48a.js.map → VCCard-ec7b123f.js.map} +1 -1
  26. package/dist/esm/{VCDisplayCard2-e7ea7aaa.js → VCDisplayCard2-a4144508.js} +4 -4
  27. package/dist/esm/{VCDisplayCard2-e7ea7aaa.js.map → VCDisplayCard2-a4144508.js.map} +1 -1
  28. package/dist/esm/index.js +5 -5
  29. package/dist/esm/index13.js +5 -5
  30. package/dist/esm/index19.js +1 -1
  31. package/dist/esm/index21.js +2 -2
  32. package/dist/esm/index37.js +5 -5
  33. package/dist/esm/index40.js +4 -4
  34. package/dist/esm/index6.js +2 -2
  35. package/dist/main.css +1 -1
  36. package/dist/main.js +1 -1
  37. package/package.json +2 -2
  38. package/dist/cjs/Lightbox-880f4672.js +0 -81
  39. package/dist/cjs/Lightbox-880f4672.js.map +0 -1
  40. package/dist/esm/Lightbox-883afe8f.js +0 -75
  41. package/dist/esm/Lightbox-883afe8f.js.map +0 -1
@@ -0,0 +1,169 @@
1
+ import React, { useRef, useState, useCallback, useEffect } from 'react';
2
+ import { createPortal } from 'react-dom';
3
+
4
+ var __async$1 = (__this, __arguments, generator) => {
5
+ return new Promise((resolve, reject) => {
6
+ var fulfilled = (value) => {
7
+ try {
8
+ step(generator.next(value));
9
+ } catch (e) {
10
+ reject(e);
11
+ }
12
+ };
13
+ var rejected = (value) => {
14
+ try {
15
+ step(generator.throw(value));
16
+ } catch (e) {
17
+ reject(e);
18
+ }
19
+ };
20
+ var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
21
+ step((generator = generator.apply(__this, __arguments)).next());
22
+ });
23
+ };
24
+ const getVideoMetadata = (url) => __async$1(void 0, null, function* () {
25
+ var _a, _b, _c;
26
+ try {
27
+ const parsedUrl = new URL(url);
28
+ const hostname = parsedUrl.hostname.replace(/^www\./, "");
29
+ if (hostname.includes("youtube.com") || hostname === "youtu.be") {
30
+ const match = url.match(
31
+ /(?:youtu\.be\/|youtube\.com\/(?:watch\?v=|embed\/|v\/|shorts\/))([\w-]{11})/
32
+ );
33
+ const videoId = (_a = match == null ? void 0 : match[1]) != null ? _a : null;
34
+ return {
35
+ type: "youtube",
36
+ videoId,
37
+ embedUrl: videoId ? `https://www.youtube.com/embed/${videoId}` : null,
38
+ thumbnailUrl: videoId ? `https://img.youtube.com/vi/${videoId}/maxresdefault.jpg` : null
39
+ };
40
+ }
41
+ if (hostname.includes("vimeo.com")) {
42
+ const match = url.match(/vimeo\.com\/(\d+)/);
43
+ const videoId = (_b = match == null ? void 0 : match[1]) != null ? _b : null;
44
+ const oembedUrl = `https://vimeo.com/api/oembed.json?url=${encodeURIComponent(url)}`;
45
+ const res = yield fetch(oembedUrl);
46
+ const data = yield res.json();
47
+ return {
48
+ type: "vimeo",
49
+ videoId,
50
+ embedUrl: videoId ? `https://player.vimeo.com/video/${videoId}` : null,
51
+ thumbnailUrl: (_c = data == null ? void 0 : data.thumbnail_url) != null ? _c : null
52
+ };
53
+ }
54
+ return {
55
+ type: "unknown",
56
+ videoId: null,
57
+ embedUrl: null,
58
+ thumbnailUrl: null
59
+ };
60
+ } catch (err) {
61
+ console.error("Failed to extract video metadata:", err);
62
+ return {
63
+ type: "unknown",
64
+ videoId: null,
65
+ embedUrl: null,
66
+ thumbnailUrl: null
67
+ };
68
+ }
69
+ });
70
+
71
+ var __async = (__this, __arguments, generator) => {
72
+ return new Promise((resolve, reject) => {
73
+ var fulfilled = (value) => {
74
+ try {
75
+ step(generator.next(value));
76
+ } catch (e) {
77
+ reject(e);
78
+ }
79
+ };
80
+ var rejected = (value) => {
81
+ try {
82
+ step(generator.throw(value));
83
+ } catch (e) {
84
+ reject(e);
85
+ }
86
+ };
87
+ var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
88
+ step((generator = generator.apply(__this, __arguments)).next());
89
+ });
90
+ };
91
+ const Lightbox = ({ items, currentUrl, setCurrentUrl }) => {
92
+ const currentItem = items.find((item) => item.url === currentUrl);
93
+ const innerRef = useRef(null);
94
+ const [videoMetadata, setVideoMetadata] = useState(null);
95
+ const goToNextItem = useCallback(() => {
96
+ const currentIndex = items.findIndex((item) => item.url === currentUrl);
97
+ const nextItem = items.at((currentIndex + 1) % items.length);
98
+ if (nextItem)
99
+ setCurrentUrl(nextItem.url);
100
+ }, [currentUrl, items, setCurrentUrl]);
101
+ const goToPreviousItem = useCallback(() => {
102
+ const currentIndex = items.findIndex((item) => item.url === currentUrl);
103
+ const previousItem = items.at((currentIndex - 1 + items.length) % items.length);
104
+ if (previousItem)
105
+ setCurrentUrl(previousItem.url);
106
+ }, [currentUrl, items, setCurrentUrl]);
107
+ useEffect(() => {
108
+ const keydownListener = (e) => {
109
+ if (!currentUrl || !currentItem)
110
+ return;
111
+ if (e.key === "Escape") {
112
+ e.preventDefault();
113
+ setCurrentUrl(void 0);
114
+ }
115
+ if (e.key === "ArrowRight") {
116
+ e.preventDefault();
117
+ goToNextItem();
118
+ }
119
+ if (e.key === "ArrowLeft") {
120
+ e.preventDefault();
121
+ goToPreviousItem();
122
+ }
123
+ };
124
+ window.addEventListener("keydown", keydownListener);
125
+ return () => window.removeEventListener("keydown", keydownListener);
126
+ }, [currentUrl, currentItem, goToNextItem, goToPreviousItem, setCurrentUrl]);
127
+ useEffect(() => {
128
+ const fetchMetadata = () => __async(void 0, null, function* () {
129
+ if ((currentItem == null ? void 0 : currentItem.type) === "video") {
130
+ const metadata = yield getVideoMetadata(currentItem.url);
131
+ setVideoMetadata(metadata);
132
+ } else {
133
+ setVideoMetadata(null);
134
+ }
135
+ });
136
+ fetchMetadata();
137
+ }, []);
138
+ if (!currentUrl || !currentItem)
139
+ return null;
140
+ return createPortal(
141
+ /* @__PURE__ */ React.createElement("div", {
142
+ 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]",
143
+ onClick: (e) => {
144
+ if (e.target !== innerRef.current) {
145
+ setCurrentUrl(void 0);
146
+ }
147
+ }
148
+ }, currentItem.type === "photo" && /* @__PURE__ */ React.createElement("img", {
149
+ className: "cursor-pointer max-w-[90vw] max-h-[90vh]",
150
+ src: currentUrl,
151
+ onClick: () => window.open(currentUrl, "_blank"),
152
+ ref: innerRef,
153
+ alt: ""
154
+ }), currentItem.type === "video" && (videoMetadata == null ? void 0 : videoMetadata.embedUrl) && /* @__PURE__ */ React.createElement("div", {
155
+ className: "relative w-[90vw] max-w-[800px] aspect-video"
156
+ }, /* @__PURE__ */ React.createElement("iframe", {
157
+ src: videoMetadata.embedUrl,
158
+ className: "absolute top-0 left-0 w-full h-full rounded-md",
159
+ title: "Video player",
160
+ frameBorder: "0",
161
+ allow: "accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",
162
+ allowFullScreen: true
163
+ }))),
164
+ document.body
165
+ );
166
+ };
167
+
168
+ export { Lightbox as L };
169
+ //# sourceMappingURL=Lightbox-f02b5b4f.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Lightbox-f02b5b4f.js","sources":["../../src/helpers/video.helpers.ts","../../src/components/Lightbox/Lightbox.tsx"],"sourcesContent":["type VideoPlatform = 'youtube' | 'vimeo' | 'unknown';\n\nexport type VideoMetadata = {\n type: VideoPlatform;\n videoId: string | null;\n embedUrl: string | null;\n thumbnailUrl: string | null;\n};\n\nexport const getVideoMetadata = async (url: string): Promise<VideoMetadata> => {\n try {\n const parsedUrl = new URL(url);\n const hostname = parsedUrl.hostname.replace(/^www\\./, '');\n\n // YouTube\n if (hostname.includes('youtube.com') || hostname === 'youtu.be') {\n const match = url.match(\n /(?:youtu\\.be\\/|youtube\\.com\\/(?:watch\\?v=|embed\\/|v\\/|shorts\\/))([\\w-]{11})/\n );\n const videoId = match?.[1] ?? null;\n\n return {\n type: 'youtube',\n videoId,\n embedUrl: videoId ? `https://www.youtube.com/embed/${videoId}` : null,\n thumbnailUrl: videoId\n ? `https://img.youtube.com/vi/${videoId}/maxresdefault.jpg`\n : null,\n };\n }\n\n // Vimeo\n if (hostname.includes('vimeo.com')) {\n const match = url.match(/vimeo\\.com\\/(\\d+)/);\n const videoId = match?.[1] ?? null;\n\n const oembedUrl = `https://vimeo.com/api/oembed.json?url=${encodeURIComponent(url)}`;\n const res = await fetch(oembedUrl);\n const data = await res.json();\n\n return {\n type: 'vimeo',\n videoId,\n embedUrl: videoId ? `https://player.vimeo.com/video/${videoId}` : null,\n thumbnailUrl: data?.thumbnail_url ?? null,\n };\n }\n\n return {\n type: 'unknown',\n videoId: null,\n embedUrl: null,\n thumbnailUrl: null,\n };\n } catch (err) {\n console.error('Failed to extract video metadata:', err);\n return {\n type: 'unknown',\n videoId: null,\n embedUrl: null,\n thumbnailUrl: null,\n };\n }\n};\n","import React, { useCallback, useEffect, useRef, useState } from 'react';\nimport { createPortal } from 'react-dom';\nimport { getVideoMetadata, VideoMetadata } from '../../helpers/video.helpers';\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 innerRef = useRef<HTMLImageElement>(null);\n const [videoMetadata, setVideoMetadata] = useState<VideoMetadata | null>(null);\n\n const goToNextItem = useCallback(() => {\n const currentIndex = items.findIndex(item => item.url === currentUrl);\n const nextItem = items.at((currentIndex + 1) % items.length);\n if (nextItem) setCurrentUrl(nextItem.url);\n }, [currentUrl, items, setCurrentUrl]);\n\n const goToPreviousItem = useCallback(() => {\n const currentIndex = items.findIndex(item => item.url === currentUrl);\n const previousItem = items.at((currentIndex - 1 + items.length) % items.length);\n if (previousItem) setCurrentUrl(previousItem.url);\n }, [currentUrl, items, setCurrentUrl]);\n\n useEffect(() => {\n const keydownListener = (e: KeyboardEvent) => {\n if (!currentUrl || !currentItem) return;\n\n if (e.key === 'Escape') {\n e.preventDefault();\n setCurrentUrl(undefined);\n }\n\n if (e.key === 'ArrowRight') {\n e.preventDefault();\n goToNextItem();\n }\n\n if (e.key === 'ArrowLeft') {\n e.preventDefault();\n goToPreviousItem();\n }\n };\n\n window.addEventListener('keydown', keydownListener);\n return () => window.removeEventListener('keydown', keydownListener);\n }, [currentUrl, currentItem, goToNextItem, goToPreviousItem, setCurrentUrl]);\n\n useEffect(() => {\n const fetchMetadata = async () => {\n if (currentItem?.type === 'video') {\n const metadata = await getVideoMetadata(currentItem.url);\n setVideoMetadata(metadata);\n } else {\n setVideoMetadata(null);\n }\n };\n\n fetchMetadata();\n }, []);\n\n if (!currentUrl || !currentItem) return null;\n\n return 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 >\n {currentItem.type === 'photo' && (\n <img\n className=\"cursor-pointer max-w-[90vw] max-h-[90vh]\"\n src={currentUrl}\n onClick={() => window.open(currentUrl, '_blank')}\n ref={innerRef}\n alt=\"\"\n />\n )}\n\n {currentItem.type === 'video' && videoMetadata?.embedUrl && (\n <div className=\"relative w-[90vw] max-w-[800px] aspect-video\">\n <iframe\n src={videoMetadata.embedUrl}\n className=\"absolute top-0 left-0 w-full h-full rounded-md\"\n title=\"Video player\"\n frameBorder=\"0\"\n allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\"\n allowFullScreen\n />\n </div>\n )}\n </div>,\n document.body\n );\n};\n"],"names":["__async"],"mappings":"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"}
@@ -4,7 +4,7 @@ import { a as getColorForVerificationStatus, b as getInfoFromCredential, d as ge
4
4
  import { a as LCCategoryEnum } from './index-28917993.js';
5
5
  import { V as VerificationStatusEnum } from './types.esm-603cf59d.js';
6
6
  import CaretRightFilled from './CaretRightFilled.svg';
7
- import { L as Lightbox } from './Lightbox-883afe8f.js';
7
+ import { L as Lightbox } from './Lightbox-f02b5b4f.js';
8
8
  import ThreeDots from './DotsThreeOutline.svg';
9
9
 
10
10
  const AlignmentRow = ({
@@ -857,4 +857,4 @@ const MeritBadgeDisplayCard = ({
857
857
  };
858
858
 
859
859
  export { MeritBadgeBackFace as M, MeritBadgeDisplayCard as a, MeritBadgeFrontFace as b };
860
- //# sourceMappingURL=MeritBadgeDisplayCard-3a5d50b0.js.map
860
+ //# sourceMappingURL=MeritBadgeDisplayCard-a3e1cac5.js.map