notion-to-jsx 1.2.5 → 1.2.7

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/index.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  // src/components/Renderer/index.tsx
2
- import React7, { useState as useState5, useMemo as useMemo2, useCallback } from "react";
2
+ import React6, { useState as useState4, useMemo as useMemo2, useCallback } from "react";
3
3
 
4
4
  // src/components/Renderer/styles.css.ts
5
5
  var container = "styles_container__epva5u0";
@@ -29,7 +29,7 @@ var ListItem = ({
29
29
  };
30
30
 
31
31
  // src/components/Renderer/components/MemoizedComponents.tsx
32
- import React4 from "react";
32
+ import React3 from "react";
33
33
 
34
34
  // src/components/Renderer/components/RichText/styles.css.ts
35
35
  import { createRuntimeFn as _7a4682 } from "@vanilla-extract/recipes/createRuntimeFn";
@@ -103,7 +103,7 @@ var RichTexts = ({ richTexts }) => {
103
103
  var RichTexts_default = RichTexts;
104
104
 
105
105
  // src/components/Renderer/components/Image/Image.tsx
106
- import { useState, useEffect } from "react";
106
+ import { useState } from "react";
107
107
 
108
108
  // src/components/Renderer/components/Image/styles.css.ts
109
109
  import { createRuntimeFn as _7a4683 } from "@vanilla-extract/recipes/createRuntimeFn";
@@ -145,9 +145,6 @@ var Image = ({
145
145
  isColumn = false
146
146
  }) => {
147
147
  const [isLoaded, setIsLoaded] = useState(false);
148
- useEffect(() => {
149
- setIsLoaded(false);
150
- }, [src]);
151
148
  return /* @__PURE__ */ jsxs("div", { className: imageContainer, children: [
152
149
  /* @__PURE__ */ jsxs(
153
150
  "div",
@@ -205,9 +202,6 @@ var Image = ({
205
202
  };
206
203
  var Image_default = Image;
207
204
 
208
- // src/components/Renderer/components/Bookmark/Bookmark.tsx
209
- import { useState as useState2, useEffect as useEffect2 } from "react";
210
-
211
205
  // src/components/Renderer/components/Bookmark/styles.css.ts
212
206
  var card = "styles_card__qrq8yf1";
213
207
  var content = "styles_content__qrq8yf2";
@@ -222,73 +216,24 @@ var urlText = "styles_urlText__qrq8yf9";
222
216
 
223
217
  // src/components/Renderer/components/Bookmark/Bookmark.tsx
224
218
  import { jsx as jsx4, jsxs as jsxs2 } from "react/jsx-runtime";
225
- var fetchOpenGraphData = async (url) => {
226
- try {
227
- const apiUrl = `https://api.microlink.io/?url=${encodeURIComponent(url)}`;
228
- const response = await fetch(apiUrl);
229
- const data = await response.json();
230
- if (!response.ok) {
231
- throw new Error("Failed to fetch metadata");
232
- }
233
- const { status, data: metaData, statusCode } = data;
234
- if (status !== "success" || statusCode !== 200) {
235
- throw new Error("API returned error status");
236
- }
237
- const parsedUrl = new URL(url);
238
- const domain = parsedUrl.hostname;
239
- return {
240
- title: metaData.title || domain,
241
- description: metaData.description || "No description available",
242
- image: metaData.image?.url || "",
243
- siteName: metaData.publisher || domain,
244
- url: metaData.url || "",
245
- favicon: metaData.logo?.url || `https://www.google.com/s2/favicons?domain=${domain}&sz=64`
246
- };
247
- } catch (error) {
248
- console.error("Error fetching OpenGraph data:", error);
249
- const parsedUrl = new URL(url);
250
- const domain = parsedUrl.hostname;
251
- return {
252
- title: domain,
253
- description: "No description available",
254
- image: "",
255
- url: "",
256
- siteName: domain,
257
- favicon: `https://www.google.com/s2/favicons?domain=${domain}&sz=64`
258
- };
259
- }
260
- };
261
- var Bookmark = ({ url }) => {
262
- const [ogData, setOgData] = useState2(null);
263
- const [error, setError] = useState2(false);
264
- useEffect2(() => {
265
- const loadOgData = async () => {
266
- try {
267
- const data = await fetchOpenGraphData(url);
268
- setOgData(data);
269
- } catch (err) {
270
- setError(true);
271
- }
272
- };
273
- loadOgData();
274
- }, [url]);
219
+ var Bookmark = ({ url, metadata }) => {
275
220
  return /* @__PURE__ */ jsx4("a", { href: url, target: "_blank", rel: "noopener noreferrer", className: link2, children: /* @__PURE__ */ jsxs2("div", { className: card, children: [
276
221
  /* @__PURE__ */ jsxs2("div", { className: content, children: [
277
222
  /* @__PURE__ */ jsxs2("div", { children: [
278
- /* @__PURE__ */ jsx4("h4", { className: title, children: ogData?.title || url }),
279
- /* @__PURE__ */ jsx4("p", { className: description, children: ogData?.description || "" })
223
+ /* @__PURE__ */ jsx4("h4", { className: title, children: metadata?.title || url }),
224
+ /* @__PURE__ */ jsx4("p", { className: description, children: metadata?.description || "" })
280
225
  ] }),
281
226
  /* @__PURE__ */ jsxs2("div", { className: siteName, children: [
282
- ogData?.favicon && /* @__PURE__ */ jsx4("img", { src: ogData.favicon, alt: "", className: favicon }),
283
- /* @__PURE__ */ jsx4("span", { className: urlText, children: ogData?.url || "" })
227
+ metadata?.favicon && /* @__PURE__ */ jsx4("img", { src: metadata.favicon, alt: "", className: favicon }),
228
+ /* @__PURE__ */ jsx4("span", { className: urlText, children: metadata?.url || "" })
284
229
  ] })
285
230
  ] }),
286
- ogData?.image && /* @__PURE__ */ jsx4("div", { className: previewContainer, children: /* @__PURE__ */ jsx4(
231
+ metadata?.image && /* @__PURE__ */ jsx4("div", { className: previewContainer, children: /* @__PURE__ */ jsx4(
287
232
  "img",
288
233
  {
289
234
  className: previewImage,
290
- src: ogData.image,
291
- alt: ogData.title,
235
+ src: metadata.image,
236
+ alt: metadata.title,
292
237
  loading: "lazy",
293
238
  onError: (e) => {
294
239
  const target = e.target;
@@ -301,7 +246,7 @@ var Bookmark = ({ url }) => {
301
246
  var Bookmark_default = Bookmark;
302
247
 
303
248
  // src/components/Renderer/components/LinkPreview/LinkPreview.tsx
304
- import { useState as useState3, useEffect as useEffect3 } from "react";
249
+ import { useState as useState2, useEffect } from "react";
305
250
 
306
251
  // src/components/Renderer/components/LinkPreview/styles.css.ts
307
252
  var content2 = "styles_content__o1p3m12";
@@ -435,13 +380,13 @@ var formatUpdatedTime = (dateString) => {
435
380
  }
436
381
  };
437
382
  var LinkPreview = ({ url }) => {
438
- const [repoData, setRepoData] = useState3(null);
439
- const [figmaData, setFigmaData] = useState3(null);
440
- const [loading, setLoading] = useState3(true);
441
- const [linkType, setLinkType] = useState3(
383
+ const [repoData, setRepoData] = useState2(null);
384
+ const [figmaData, setFigmaData] = useState2(null);
385
+ const [loading, setLoading] = useState2(true);
386
+ const [linkType, setLinkType] = useState2(
442
387
  "unknown"
443
388
  );
444
- useEffect3(() => {
389
+ useEffect(() => {
445
390
  const loadLinkData = async () => {
446
391
  setLoading(true);
447
392
  const type = getLinkType(url);
@@ -511,22 +456,22 @@ var LinkPreview = ({ url }) => {
511
456
  var LinkPreview_default = LinkPreview;
512
457
 
513
458
  // src/components/Renderer/components/MemoizedComponents.tsx
514
- var MemoizedRichText = React4.memo(
459
+ var MemoizedRichText = React3.memo(
515
460
  RichTexts_default,
516
461
  (prev, next) => {
517
462
  return JSON.stringify(prev.richTexts) === JSON.stringify(next.richTexts);
518
463
  }
519
464
  );
520
- var MemoizedImage = React4.memo(Image_default, (prev, next) => {
465
+ var MemoizedImage = React3.memo(Image_default, (prev, next) => {
521
466
  return prev.src === next.src && prev.alt === next.alt && JSON.stringify(prev.caption) === JSON.stringify(next.caption);
522
467
  });
523
- var MemoizedBookmark = React4.memo(
468
+ var MemoizedBookmark = React3.memo(
524
469
  Bookmark_default,
525
470
  (prev, next) => {
526
471
  return prev.url === next.url;
527
472
  }
528
473
  );
529
- var MemoizedLinkPreview = React4.memo(
474
+ var MemoizedLinkPreview = React3.memo(
530
475
  LinkPreview_default,
531
476
  (prev, next) => {
532
477
  return prev.url === next.url;
@@ -795,7 +740,7 @@ var Table_default = Table;
795
740
  var Table_default2 = Table_default;
796
741
 
797
742
  // src/components/Renderer/components/Toggle/Toggle.tsx
798
- import { useState as useState4 } from "react";
743
+ import { useState as useState3 } from "react";
799
744
 
800
745
  // src/components/Renderer/components/Toggle/styles.css.ts
801
746
  var toggleContainer = "styles_toggleContainer__p7ue1z0";
@@ -807,7 +752,7 @@ var toggleIconOpen = "styles_toggleIconOpen__p7ue1z3";
807
752
  // src/components/Renderer/components/Toggle/Toggle.tsx
808
753
  import { jsx as jsx14, jsxs as jsxs7 } from "react/jsx-runtime";
809
754
  var Toggle = ({ block, tabIndex = 0, onFocus }) => {
810
- const [isOpen, setIsOpen] = useState4(false);
755
+ const [isOpen, setIsOpen] = useState3(false);
811
756
  if (!block.toggle || !block.children) {
812
757
  return null;
813
758
  }
@@ -894,7 +839,13 @@ var BlockRenderer = ({
894
839
  }
895
840
  ) });
896
841
  case "bookmark":
897
- return /* @__PURE__ */ jsx15(MemoizedBookmark, { url: block.bookmark.url });
842
+ return /* @__PURE__ */ jsx15(
843
+ MemoizedBookmark,
844
+ {
845
+ url: block.bookmark.url,
846
+ metadata: block.bookmark.metadata
847
+ }
848
+ );
898
849
  case "column_list":
899
850
  return /* @__PURE__ */ jsx15(ColumnList_default, { block, onFocus });
900
851
  case "column":
@@ -941,10 +892,10 @@ var Cover_default = Cover;
941
892
 
942
893
  // src/components/Renderer/index.tsx
943
894
  import { Fragment as Fragment4, jsx as jsx18, jsxs as jsxs8 } from "react/jsx-runtime";
944
- var Renderer = React7.memo(
895
+ var Renderer = React6.memo(
945
896
  ({ blocks, isDarkMode = false, title: title3, cover: cover2, onBlockFocus }) => {
946
897
  const theme = isDarkMode ? darkTheme : lightTheme;
947
- const [focusedIndex, setFocusedIndex] = useState5(-1);
898
+ const [focusedIndex, setFocusedIndex] = useState4(-1);
948
899
  const handleBlockFocus = useCallback(
949
900
  (index) => {
950
901
  setFocusedIndex(index);