@opinly/next 0.1.13 → 0.1.14

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 (151) hide show
  1. package/dist/components/author-page/_helpers/json-ld.js +1 -0
  2. package/dist/components/author-page/_helpers/json-ld.mjs +1 -0
  3. package/dist/components/author-page/index.js +57 -22
  4. package/dist/components/author-page/index.js.map +1 -1
  5. package/dist/components/author-page/index.mjs +50 -0
  6. package/dist/components/author-page/index.mjs.map +1 -0
  7. package/dist/components/authors-page/index.js +63 -29
  8. package/dist/components/authors-page/index.js.map +1 -1
  9. package/dist/components/authors-page/index.mjs +71 -0
  10. package/dist/components/authors-page/{index.cjs.map → index.mjs.map} +1 -1
  11. package/dist/components/blog-post/_components/content.js +63 -28
  12. package/dist/components/blog-post/_components/content.js.map +1 -1
  13. package/dist/components/blog-post/_components/content.mjs +126 -0
  14. package/dist/components/blog-post/_components/content.mjs.map +1 -0
  15. package/dist/components/blog-post/_components/faq.js +32 -8
  16. package/dist/components/blog-post/_components/faq.js.map +1 -1
  17. package/dist/components/blog-post/_components/faq.mjs +15 -0
  18. package/dist/components/blog-post/_components/{faq.cjs.map → faq.mjs.map} +1 -1
  19. package/dist/components/blog-post/_components/share.js +58 -24
  20. package/dist/components/blog-post/_components/share.js.map +1 -1
  21. package/dist/components/blog-post/_components/share.mjs +66 -0
  22. package/dist/components/blog-post/_components/{share.cjs.map → share.mjs.map} +1 -1
  23. package/dist/components/blog-post/_components/table-of-contents.js +58 -23
  24. package/dist/components/blog-post/_components/table-of-contents.js.map +1 -1
  25. package/dist/components/blog-post/_components/table-of-contents.mjs +48 -0
  26. package/dist/components/blog-post/_components/table-of-contents.mjs.map +1 -0
  27. package/dist/components/blog-post/_helpers/calc-reading-time.js +1 -0
  28. package/dist/components/blog-post/_helpers/calc-reading-time.mjs +1 -0
  29. package/dist/components/blog-post/_helpers/extract-headings.js +26 -2
  30. package/dist/components/blog-post/_helpers/extract-headings.js.map +1 -1
  31. package/dist/components/blog-post/_helpers/extract-headings.mjs +20 -0
  32. package/dist/components/blog-post/_helpers/{extract-headings.cjs.map → extract-headings.mjs.map} +1 -1
  33. package/dist/components/blog-post/_helpers/json-ld.js +38 -11
  34. package/dist/components/blog-post/_helpers/json-ld.js.map +1 -1
  35. package/dist/components/blog-post/_helpers/{json-ld.cjs → json-ld.mjs} +12 -39
  36. package/dist/components/blog-post/_helpers/{json-ld.cjs.map → json-ld.mjs.map} +1 -1
  37. package/dist/components/blog-post/_helpers/reading-time.js +27 -2
  38. package/dist/components/blog-post/_helpers/reading-time.js.map +1 -1
  39. package/dist/components/blog-post/_helpers/reading-time.mjs +25 -0
  40. package/dist/components/blog-post/_helpers/{reading-time.cjs.map → reading-time.mjs.map} +1 -1
  41. package/dist/components/blog-post/_types/blog-post.js +16 -0
  42. package/dist/components/blog-post/_types/blog-post.js.map +1 -1
  43. package/dist/components/blog-post/_types/blog-post.mjs +1 -0
  44. package/dist/components/blog-post/_types/blog-post.mjs.map +1 -0
  45. package/dist/components/blog-post/_types/class-names.js +16 -0
  46. package/dist/components/blog-post/_types/class-names.js.map +1 -1
  47. package/dist/components/blog-post/_types/class-names.mjs +1 -0
  48. package/dist/components/blog-post/_types/class-names.mjs.map +1 -0
  49. package/dist/components/blog-post/index.js +77 -47
  50. package/dist/components/blog-post/index.js.map +1 -1
  51. package/dist/components/blog-post/index.mjs +118 -0
  52. package/dist/components/blog-post/{index.cjs.map → index.mjs.map} +1 -1
  53. package/dist/components/bread-crumbs.js +47 -13
  54. package/dist/components/bread-crumbs.js.map +1 -1
  55. package/dist/components/bread-crumbs.mjs +26 -0
  56. package/dist/components/{bread-crumbs.cjs.map → bread-crumbs.mjs.map} +1 -1
  57. package/dist/components/folder-page/index.js +36 -12
  58. package/dist/components/folder-page/index.js.map +1 -1
  59. package/dist/components/folder-page/index.mjs +37 -0
  60. package/dist/components/folder-page/{index.cjs.map → index.mjs.map} +1 -1
  61. package/dist/components/home-page/folders.js +64 -29
  62. package/dist/components/home-page/folders.js.map +1 -1
  63. package/dist/components/home-page/folders.mjs +63 -0
  64. package/dist/components/home-page/{folders.cjs.map → folders.mjs.map} +1 -1
  65. package/dist/components/home-page/index.js +35 -11
  66. package/dist/components/home-page/index.js.map +1 -1
  67. package/dist/components/home-page/index.mjs +20 -0
  68. package/dist/components/home-page/{index.cjs.map → index.mjs.map} +1 -1
  69. package/dist/components/home-page/pagination.js +43 -9
  70. package/dist/components/home-page/pagination.js.map +1 -1
  71. package/dist/components/home-page/pagination.mjs +57 -0
  72. package/dist/components/home-page/{pagination.cjs.map → pagination.mjs.map} +1 -1
  73. package/dist/components/home-page/top-posts.js +34 -10
  74. package/dist/components/home-page/top-posts.js.map +1 -1
  75. package/dist/components/home-page/top-posts.mjs +28 -0
  76. package/dist/components/home-page/{top-posts.cjs.map → top-posts.mjs.map} +1 -1
  77. package/dist/components/not-found.js +49 -15
  78. package/dist/components/not-found.js.map +1 -1
  79. package/dist/components/not-found.mjs +26 -0
  80. package/dist/components/{not-found.cjs.map → not-found.mjs.map} +1 -1
  81. package/dist/components/opinly-blog.js +39 -15
  82. package/dist/components/opinly-blog.js.map +1 -1
  83. package/dist/components/opinly-blog.mjs +33 -0
  84. package/dist/components/{opinly-blog.cjs.map → opinly-blog.mjs.map} +1 -1
  85. package/dist/components/post-preview.js +77 -41
  86. package/dist/components/post-preview.js.map +1 -1
  87. package/dist/components/post-preview.mjs +77 -0
  88. package/dist/components/post-preview.mjs.map +1 -0
  89. package/dist/index.js +22 -1
  90. package/dist/index.js.map +1 -1
  91. package/dist/index.mjs +2 -0
  92. package/dist/index.mjs.map +1 -0
  93. package/dist/utils/dates.js +26 -2
  94. package/dist/utils/dates.js.map +1 -1
  95. package/dist/utils/dates.mjs +9 -0
  96. package/dist/utils/{dates.cjs.map → dates.mjs.map} +1 -1
  97. package/dist/utils/generate-metadata.d.cts +5 -3
  98. package/dist/utils/generate-metadata.d.ts +5 -3
  99. package/dist/utils/generate-metadata.js +33 -9
  100. package/dist/utils/generate-metadata.js.map +1 -1
  101. package/dist/utils/generate-metadata.mjs +36 -0
  102. package/dist/utils/generate-metadata.mjs.map +1 -0
  103. package/dist/utils/merge.js +29 -5
  104. package/dist/utils/merge.js.map +1 -1
  105. package/dist/utils/merge.mjs +9 -0
  106. package/dist/utils/{merge.cjs.map → merge.mjs.map} +1 -1
  107. package/dist/utils/sdk-config.d.cts +1 -0
  108. package/dist/utils/sdk-config.d.ts +1 -0
  109. package/dist/utils/sdk-config.js +31 -4
  110. package/dist/utils/sdk-config.js.map +1 -1
  111. package/dist/utils/sdk-config.mjs +32 -0
  112. package/dist/utils/sdk-config.mjs.map +1 -0
  113. package/package.json +2 -2
  114. package/dist/components/author-page/_helpers/json-ld.cjs +0 -2
  115. package/dist/components/author-page/index.cjs +0 -83
  116. package/dist/components/author-page/index.cjs.map +0 -1
  117. package/dist/components/authors-page/index.cjs +0 -105
  118. package/dist/components/blog-post/_components/content.cjs +0 -159
  119. package/dist/components/blog-post/_components/content.cjs.map +0 -1
  120. package/dist/components/blog-post/_components/faq.cjs +0 -39
  121. package/dist/components/blog-post/_components/share.cjs +0 -100
  122. package/dist/components/blog-post/_components/table-of-contents.cjs +0 -81
  123. package/dist/components/blog-post/_components/table-of-contents.cjs.map +0 -1
  124. package/dist/components/blog-post/_helpers/calc-reading-time.cjs +0 -2
  125. package/dist/components/blog-post/_helpers/extract-headings.cjs +0 -44
  126. package/dist/components/blog-post/_helpers/reading-time.cjs +0 -50
  127. package/dist/components/blog-post/_types/blog-post.cjs +0 -17
  128. package/dist/components/blog-post/_types/blog-post.cjs.map +0 -1
  129. package/dist/components/blog-post/_types/class-names.cjs +0 -17
  130. package/dist/components/blog-post/_types/class-names.cjs.map +0 -1
  131. package/dist/components/blog-post/index.cjs +0 -148
  132. package/dist/components/bread-crumbs.cjs +0 -60
  133. package/dist/components/folder-page/index.cjs +0 -61
  134. package/dist/components/home-page/folders.cjs +0 -98
  135. package/dist/components/home-page/index.cjs +0 -44
  136. package/dist/components/home-page/pagination.cjs +0 -91
  137. package/dist/components/home-page/top-posts.cjs +0 -52
  138. package/dist/components/not-found.cjs +0 -60
  139. package/dist/components/opinly-blog.cjs +0 -57
  140. package/dist/components/post-preview.cjs +0 -111
  141. package/dist/components/post-preview.cjs.map +0 -1
  142. package/dist/index.cjs +0 -23
  143. package/dist/index.cjs.map +0 -1
  144. package/dist/utils/dates.cjs +0 -33
  145. package/dist/utils/generate-metadata.cjs +0 -60
  146. package/dist/utils/generate-metadata.cjs.map +0 -1
  147. package/dist/utils/merge.cjs +0 -33
  148. package/dist/utils/sdk-config.cjs +0 -55
  149. package/dist/utils/sdk-config.cjs.map +0 -1
  150. /package/dist/components/author-page/_helpers/{json-ld.cjs.map → json-ld.mjs.map} +0 -0
  151. /package/dist/components/blog-post/_helpers/{calc-reading-time.cjs.map → calc-reading-time.mjs.map} +0 -0
@@ -1 +1,2 @@
1
+ "use strict";
1
2
  //# sourceMappingURL=json-ld.js.map
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=json-ld.mjs.map
@@ -1,49 +1,84 @@
1
- import { jsx, jsxs } from "react/jsx-runtime";
2
- import Image from "next/image";
3
- import { opinlyConfig } from "../../utils/sdk-config";
4
- import { PostPreview } from "../post-preview";
5
- import { BreadCrumbs } from "../bread-crumbs";
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var author_page_exports = {};
30
+ __export(author_page_exports, {
31
+ AuthorPage: () => AuthorPage
32
+ });
33
+ module.exports = __toCommonJS(author_page_exports);
34
+ var import_jsx_runtime = require("react/jsx-runtime");
35
+ var import_image = __toESM(require("next/image"), 1);
36
+ var import_sdk_config = require("../../utils/sdk-config");
37
+ var import_post_preview = require("../post-preview");
38
+ var import_bread_crumbs = require("../bread-crumbs");
6
39
  const AuthorPage = ({
7
40
  author
8
41
  }) => {
9
- return /* @__PURE__ */ jsxs("div", { className: "max-w-5xl mx-auto px-4 py-10", children: [
10
- /* @__PURE__ */ jsx(
11
- BreadCrumbs,
42
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "max-w-5xl mx-auto px-4 py-10", children: [
43
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
44
+ import_bread_crumbs.BreadCrumbs,
12
45
  {
13
46
  breadcrumbs: [
14
47
  {
15
48
  name: "Authors",
16
- url: `${opinlyConfig.blogPrefix}/authors`
49
+ url: `${import_sdk_config.opinlyConfig.blogPrefix}/authors`
17
50
  }
18
51
  ]
19
52
  }
20
53
  ),
21
- /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-6 mb-10", children: [
22
- author.image.fileKey && /* @__PURE__ */ jsx(
23
- Image,
54
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "flex items-center gap-6 mb-10", children: [
55
+ author.image.fileKey && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
56
+ import_image.default,
24
57
  {
25
- src: `${opinlyConfig.imagesPrefix}/${author.image.fileKey}`,
58
+ unoptimized: import_sdk_config.opinlyConfig.unoptimizedImages,
59
+ src: `${import_sdk_config.opinlyConfig.imagesPrefix}/${author.image.fileKey}`,
26
60
  alt: author.image.alt || author.name,
27
61
  width: 150,
28
62
  height: 150,
29
63
  className: "rounded-full border"
30
64
  }
31
65
  ),
32
- /* @__PURE__ */ jsxs("div", { children: [
33
- /* @__PURE__ */ jsx("h1", { className: "text-3xl font-bold mb-1", children: author.name }),
34
- author.bio && /* @__PURE__ */ jsx("p", { className: "text-muted-foreground text-base max-w-2xl", children: author.bio })
66
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { children: [
67
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("h1", { className: "text-3xl font-bold mb-1", children: author.name }),
68
+ author.bio && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", { className: "text-muted-foreground text-base max-w-2xl", children: author.bio })
35
69
  ] })
36
70
  ] }),
37
- /* @__PURE__ */ jsxs("h2", { className: "text-xl font-semibold mb-6", children: [
71
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("h2", { className: "text-xl font-semibold mb-6", children: [
38
72
  "Posts by ",
39
73
  author.name
40
74
  ] }),
41
- /* @__PURE__ */ jsx("div", { className: "grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-8", children: author.posts && author.posts.length > 0 ? author.posts.map(
42
- (post) => post && /* @__PURE__ */ jsx(PostPreview, { post }, post.slug)
43
- ) : /* @__PURE__ */ jsx("div", { className: "text-muted-foreground col-span-full", children: "No posts yet." }) })
75
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-8", children: author.posts && author.posts.length > 0 ? author.posts.map(
76
+ (post) => post && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_post_preview.PostPreview, { post }, post.slug)
77
+ ) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "text-muted-foreground col-span-full", children: "No posts yet." }) })
44
78
  ] });
45
79
  };
46
- export {
80
+ // Annotate the CommonJS export names for ESM import in node:
81
+ 0 && (module.exports = {
47
82
  AuthorPage
48
- };
83
+ });
49
84
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/author-page/index.tsx"],"sourcesContent":["import { Opinly } from \"@opinly/backend\";\nimport Image from \"next/image\";\nimport { opinlyConfig } from \"../../utils/sdk-config\";\nimport { PostPreview } from \"../post-preview\";\nimport { BreadCrumbs } from \"../bread-crumbs\";\n\nexport const AuthorPage = ({\n author,\n}: {\n author: Extract<\n Awaited<ReturnType<Opinly[\"content\"][\"blog\"]>>,\n { type: \"author\" }\n >[\"data\"];\n}) => {\n return (\n <div className=\"max-w-5xl mx-auto px-4 py-10\">\n <BreadCrumbs\n breadcrumbs={[\n {\n name: \"Authors\",\n url: `${opinlyConfig.blogPrefix}/authors`,\n },\n ]}\n />\n {/* Author Header */}\n <div className=\"flex items-center gap-6 mb-10\">\n {author.image.fileKey && (\n <Image\n src={`${opinlyConfig.imagesPrefix}/${author.image.fileKey}`}\n alt={author.image.alt || author.name}\n width={150}\n height={150}\n className=\"rounded-full border\"\n />\n )}\n <div>\n <h1 className=\"text-3xl font-bold mb-1\">{author.name}</h1>\n {author.bio && (\n <p className=\"text-muted-foreground text-base max-w-2xl\">\n {author.bio}\n </p>\n )}\n </div>\n </div>\n\n {/* Posts Grid */}\n <h2 className=\"text-xl font-semibold mb-6\">Posts by {author.name}</h2>\n <div className=\"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-8\">\n {author.posts && author.posts.length > 0 ? (\n author.posts.map(\n (post) => post && <PostPreview key={post.slug} post={post} />\n )\n ) : (\n <div className=\"text-muted-foreground col-span-full\">\n No posts yet.\n </div>\n )}\n </div>\n </div>\n );\n};\n"],"mappings":"AAgBM,cAmBE,YAnBF;AAfN,OAAO,WAAW;AAClB,SAAS,oBAAoB;AAC7B,SAAS,mBAAmB;AAC5B,SAAS,mBAAmB;AAErB,MAAM,aAAa,CAAC;AAAA,EACzB;AACF,MAKM;AACJ,SACE,qBAAC,SAAI,WAAU,gCACb;AAAA;AAAA,MAAC;AAAA;AAAA,QACC,aAAa;AAAA,UACX;AAAA,YACE,MAAM;AAAA,YACN,KAAK,GAAG,aAAa,UAAU;AAAA,UACjC;AAAA,QACF;AAAA;AAAA,IACF;AAAA,IAEA,qBAAC,SAAI,WAAU,iCACZ;AAAA,aAAO,MAAM,WACZ;AAAA,QAAC;AAAA;AAAA,UACC,KAAK,GAAG,aAAa,YAAY,IAAI,OAAO,MAAM,OAAO;AAAA,UACzD,KAAK,OAAO,MAAM,OAAO,OAAO;AAAA,UAChC,OAAO;AAAA,UACP,QAAQ;AAAA,UACR,WAAU;AAAA;AAAA,MACZ;AAAA,MAEF,qBAAC,SACC;AAAA,4BAAC,QAAG,WAAU,2BAA2B,iBAAO,MAAK;AAAA,QACpD,OAAO,OACN,oBAAC,OAAE,WAAU,6CACV,iBAAO,KACV;AAAA,SAEJ;AAAA,OACF;AAAA,IAGA,qBAAC,QAAG,WAAU,8BAA6B;AAAA;AAAA,MAAU,OAAO;AAAA,OAAK;AAAA,IACjE,oBAAC,SAAI,WAAU,wDACZ,iBAAO,SAAS,OAAO,MAAM,SAAS,IACrC,OAAO,MAAM;AAAA,MACX,CAAC,SAAS,QAAQ,oBAAC,eAA4B,QAAX,KAAK,IAAkB;AAAA,IAC7D,IAEA,oBAAC,SAAI,WAAU,uCAAsC,2BAErD,GAEJ;AAAA,KACF;AAEJ;","names":[]}
1
+ {"version":3,"sources":["../../../src/components/author-page/index.tsx"],"sourcesContent":["import { Opinly } from \"@opinly/backend\";\nimport Image from \"next/image\";\nimport { opinlyConfig } from \"../../utils/sdk-config\";\nimport { PostPreview } from \"../post-preview\";\nimport { BreadCrumbs } from \"../bread-crumbs\";\n\nexport const AuthorPage = ({\n author,\n}: {\n author: Extract<\n Awaited<ReturnType<Opinly[\"content\"][\"blog\"]>>,\n { type: \"author\" }\n >[\"data\"];\n}) => {\n return (\n <div className=\"max-w-5xl mx-auto px-4 py-10\">\n <BreadCrumbs\n breadcrumbs={[\n {\n name: \"Authors\",\n url: `${opinlyConfig.blogPrefix}/authors`,\n },\n ]}\n />\n {/* Author Header */}\n <div className=\"flex items-center gap-6 mb-10\">\n {author.image.fileKey && (\n <Image\n unoptimized={opinlyConfig.unoptimizedImages}\n src={`${opinlyConfig.imagesPrefix}/${author.image.fileKey}`}\n alt={author.image.alt || author.name}\n width={150}\n height={150}\n className=\"rounded-full border\"\n />\n )}\n <div>\n <h1 className=\"text-3xl font-bold mb-1\">{author.name}</h1>\n {author.bio && (\n <p className=\"text-muted-foreground text-base max-w-2xl\">\n {author.bio}\n </p>\n )}\n </div>\n </div>\n\n {/* Posts Grid */}\n <h2 className=\"text-xl font-semibold mb-6\">Posts by {author.name}</h2>\n <div className=\"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-8\">\n {author.posts && author.posts.length > 0 ? (\n author.posts.map(\n (post) => post && <PostPreview key={post.slug} post={post} />\n )\n ) : (\n <div className=\"text-muted-foreground col-span-full\">\n No posts yet.\n </div>\n )}\n </div>\n </div>\n );\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAgBM;AAfN,mBAAkB;AAClB,wBAA6B;AAC7B,0BAA4B;AAC5B,0BAA4B;AAErB,MAAM,aAAa,CAAC;AAAA,EACzB;AACF,MAKM;AACJ,SACE,6CAAC,SAAI,WAAU,gCACb;AAAA;AAAA,MAAC;AAAA;AAAA,QACC,aAAa;AAAA,UACX;AAAA,YACE,MAAM;AAAA,YACN,KAAK,GAAG,+BAAa,UAAU;AAAA,UACjC;AAAA,QACF;AAAA;AAAA,IACF;AAAA,IAEA,6CAAC,SAAI,WAAU,iCACZ;AAAA,aAAO,MAAM,WACZ;AAAA,QAAC,aAAAA;AAAA,QAAA;AAAA,UACC,aAAa,+BAAa;AAAA,UAC1B,KAAK,GAAG,+BAAa,YAAY,IAAI,OAAO,MAAM,OAAO;AAAA,UACzD,KAAK,OAAO,MAAM,OAAO,OAAO;AAAA,UAChC,OAAO;AAAA,UACP,QAAQ;AAAA,UACR,WAAU;AAAA;AAAA,MACZ;AAAA,MAEF,6CAAC,SACC;AAAA,oDAAC,QAAG,WAAU,2BAA2B,iBAAO,MAAK;AAAA,QACpD,OAAO,OACN,4CAAC,OAAE,WAAU,6CACV,iBAAO,KACV;AAAA,SAEJ;AAAA,OACF;AAAA,IAGA,6CAAC,QAAG,WAAU,8BAA6B;AAAA;AAAA,MAAU,OAAO;AAAA,OAAK;AAAA,IACjE,4CAAC,SAAI,WAAU,wDACZ,iBAAO,SAAS,OAAO,MAAM,SAAS,IACrC,OAAO,MAAM;AAAA,MACX,CAAC,SAAS,QAAQ,4CAAC,mCAA4B,QAAX,KAAK,IAAkB;AAAA,IAC7D,IAEA,4CAAC,SAAI,WAAU,uCAAsC,2BAErD,GAEJ;AAAA,KACF;AAEJ;","names":["Image"]}
@@ -0,0 +1,50 @@
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import Image from "next/image";
3
+ import { opinlyConfig } from "../../utils/sdk-config";
4
+ import { PostPreview } from "../post-preview";
5
+ import { BreadCrumbs } from "../bread-crumbs";
6
+ const AuthorPage = ({
7
+ author
8
+ }) => {
9
+ return /* @__PURE__ */ jsxs("div", { className: "max-w-5xl mx-auto px-4 py-10", children: [
10
+ /* @__PURE__ */ jsx(
11
+ BreadCrumbs,
12
+ {
13
+ breadcrumbs: [
14
+ {
15
+ name: "Authors",
16
+ url: `${opinlyConfig.blogPrefix}/authors`
17
+ }
18
+ ]
19
+ }
20
+ ),
21
+ /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-6 mb-10", children: [
22
+ author.image.fileKey && /* @__PURE__ */ jsx(
23
+ Image,
24
+ {
25
+ unoptimized: opinlyConfig.unoptimizedImages,
26
+ src: `${opinlyConfig.imagesPrefix}/${author.image.fileKey}`,
27
+ alt: author.image.alt || author.name,
28
+ width: 150,
29
+ height: 150,
30
+ className: "rounded-full border"
31
+ }
32
+ ),
33
+ /* @__PURE__ */ jsxs("div", { children: [
34
+ /* @__PURE__ */ jsx("h1", { className: "text-3xl font-bold mb-1", children: author.name }),
35
+ author.bio && /* @__PURE__ */ jsx("p", { className: "text-muted-foreground text-base max-w-2xl", children: author.bio })
36
+ ] })
37
+ ] }),
38
+ /* @__PURE__ */ jsxs("h2", { className: "text-xl font-semibold mb-6", children: [
39
+ "Posts by ",
40
+ author.name
41
+ ] }),
42
+ /* @__PURE__ */ jsx("div", { className: "grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-8", children: author.posts && author.posts.length > 0 ? author.posts.map(
43
+ (post) => post && /* @__PURE__ */ jsx(PostPreview, { post }, post.slug)
44
+ ) : /* @__PURE__ */ jsx("div", { className: "text-muted-foreground col-span-full", children: "No posts yet." }) })
45
+ ] });
46
+ };
47
+ export {
48
+ AuthorPage
49
+ };
50
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/components/author-page/index.tsx"],"sourcesContent":["import { Opinly } from \"@opinly/backend\";\nimport Image from \"next/image\";\nimport { opinlyConfig } from \"../../utils/sdk-config\";\nimport { PostPreview } from \"../post-preview\";\nimport { BreadCrumbs } from \"../bread-crumbs\";\n\nexport const AuthorPage = ({\n author,\n}: {\n author: Extract<\n Awaited<ReturnType<Opinly[\"content\"][\"blog\"]>>,\n { type: \"author\" }\n >[\"data\"];\n}) => {\n return (\n <div className=\"max-w-5xl mx-auto px-4 py-10\">\n <BreadCrumbs\n breadcrumbs={[\n {\n name: \"Authors\",\n url: `${opinlyConfig.blogPrefix}/authors`,\n },\n ]}\n />\n {/* Author Header */}\n <div className=\"flex items-center gap-6 mb-10\">\n {author.image.fileKey && (\n <Image\n unoptimized={opinlyConfig.unoptimizedImages}\n src={`${opinlyConfig.imagesPrefix}/${author.image.fileKey}`}\n alt={author.image.alt || author.name}\n width={150}\n height={150}\n className=\"rounded-full border\"\n />\n )}\n <div>\n <h1 className=\"text-3xl font-bold mb-1\">{author.name}</h1>\n {author.bio && (\n <p className=\"text-muted-foreground text-base max-w-2xl\">\n {author.bio}\n </p>\n )}\n </div>\n </div>\n\n {/* Posts Grid */}\n <h2 className=\"text-xl font-semibold mb-6\">Posts by {author.name}</h2>\n <div className=\"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-8\">\n {author.posts && author.posts.length > 0 ? (\n author.posts.map(\n (post) => post && <PostPreview key={post.slug} post={post} />\n )\n ) : (\n <div className=\"text-muted-foreground col-span-full\">\n No posts yet.\n </div>\n )}\n </div>\n </div>\n );\n};\n"],"mappings":"AAgBM,cAoBE,YApBF;AAfN,OAAO,WAAW;AAClB,SAAS,oBAAoB;AAC7B,SAAS,mBAAmB;AAC5B,SAAS,mBAAmB;AAErB,MAAM,aAAa,CAAC;AAAA,EACzB;AACF,MAKM;AACJ,SACE,qBAAC,SAAI,WAAU,gCACb;AAAA;AAAA,MAAC;AAAA;AAAA,QACC,aAAa;AAAA,UACX;AAAA,YACE,MAAM;AAAA,YACN,KAAK,GAAG,aAAa,UAAU;AAAA,UACjC;AAAA,QACF;AAAA;AAAA,IACF;AAAA,IAEA,qBAAC,SAAI,WAAU,iCACZ;AAAA,aAAO,MAAM,WACZ;AAAA,QAAC;AAAA;AAAA,UACC,aAAa,aAAa;AAAA,UAC1B,KAAK,GAAG,aAAa,YAAY,IAAI,OAAO,MAAM,OAAO;AAAA,UACzD,KAAK,OAAO,MAAM,OAAO,OAAO;AAAA,UAChC,OAAO;AAAA,UACP,QAAQ;AAAA,UACR,WAAU;AAAA;AAAA,MACZ;AAAA,MAEF,qBAAC,SACC;AAAA,4BAAC,QAAG,WAAU,2BAA2B,iBAAO,MAAK;AAAA,QACpD,OAAO,OACN,oBAAC,OAAE,WAAU,6CACV,iBAAO,KACV;AAAA,SAEJ;AAAA,OACF;AAAA,IAGA,qBAAC,QAAG,WAAU,8BAA6B;AAAA;AAAA,MAAU,OAAO;AAAA,OAAK;AAAA,IACjE,oBAAC,SAAI,WAAU,wDACZ,iBAAO,SAAS,OAAO,MAAM,SAAS,IACrC,OAAO,MAAM;AAAA,MACX,CAAC,SAAS,QAAQ,oBAAC,eAA4B,QAAX,KAAK,IAAkB;AAAA,IAC7D,IAEA,oBAAC,SAAI,WAAU,uCAAsC,2BAErD,GAEJ;AAAA,KACF;AAEJ;","names":[]}
@@ -1,15 +1,48 @@
1
- import { jsx, jsxs } from "react/jsx-runtime";
2
- import Image from "next/image";
3
- import { opinlyConfig } from "../../utils/sdk-config";
4
- import { PostPreview } from "../post-preview";
5
- import { BreadCrumbs } from "../bread-crumbs";
6
- import Link from "next/link";
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var authors_page_exports = {};
30
+ __export(authors_page_exports, {
31
+ AuthorsPage: () => AuthorsPage
32
+ });
33
+ module.exports = __toCommonJS(authors_page_exports);
34
+ var import_jsx_runtime = require("react/jsx-runtime");
35
+ var import_image = __toESM(require("next/image"), 1);
36
+ var import_sdk_config = require("../../utils/sdk-config");
37
+ var import_post_preview = require("../post-preview");
38
+ var import_bread_crumbs = require("../bread-crumbs");
39
+ var import_link = __toESM(require("next/link"), 1);
7
40
  const AuthorsPage = ({
8
41
  authors
9
42
  }) => {
10
- return /* @__PURE__ */ jsxs("div", { className: "max-w-5xl mx-auto px-4 py-10", children: [
11
- /* @__PURE__ */ jsx(
12
- BreadCrumbs,
43
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "max-w-5xl mx-auto px-4 py-10", children: [
44
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
45
+ import_bread_crumbs.BreadCrumbs,
13
46
  {
14
47
  breadcrumbs: [
15
48
  {
@@ -18,38 +51,38 @@ const AuthorsPage = ({
18
51
  ]
19
52
  }
20
53
  ),
21
- /* @__PURE__ */ jsx("h1", { className: "text-3xl font-bold mb-10", children: "Authors" }),
22
- /* @__PURE__ */ jsx("div", { className: "space-y-16", children: authors.map((author, idx) => {
23
- const authorSlug = `${opinlyConfig.blogPrefix}/authors/${author.slug}`;
24
- return /* @__PURE__ */ jsxs(
54
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("h1", { className: "text-3xl font-bold mb-10", children: "Authors" }),
55
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "space-y-16", children: authors.map((author, idx) => {
56
+ const authorSlug = `${import_sdk_config.opinlyConfig.blogPrefix}/authors/${author.slug}`;
57
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
25
58
  "div",
26
59
  {
27
60
  className: "rounded-lg p-6 flex flex-col gap-6",
28
61
  children: [
29
- /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-6 mb-4", children: [
30
- author.image?.fileKey && /* @__PURE__ */ jsx(Link, { href: authorSlug, children: /* @__PURE__ */ jsx(
31
- Image,
62
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "flex items-center gap-6 mb-4", children: [
63
+ author.image?.fileKey && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_link.default, { href: authorSlug, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
64
+ import_image.default,
32
65
  {
33
- src: `${opinlyConfig.imagesPrefix}/${author.image.fileKey}`,
66
+ src: `${import_sdk_config.opinlyConfig.imagesPrefix}/${author.image.fileKey}`,
34
67
  alt: author.image.alt || author.name,
35
68
  width: 100,
36
69
  height: 100,
37
70
  className: "rounded-full border"
38
71
  }
39
72
  ) }),
40
- /* @__PURE__ */ jsxs("div", { children: [
41
- /* @__PURE__ */ jsx(Link, { href: authorSlug, children: /* @__PURE__ */ jsx("h2", { className: "text-2xl font-semibold mb-1", children: author.name }) }),
42
- author.bio && /* @__PURE__ */ jsx("p", { className: "text-muted-foreground text-base max-w-2xl", children: author.bio })
73
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { children: [
74
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_link.default, { href: authorSlug, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("h2", { className: "text-2xl font-semibold mb-1", children: author.name }) }),
75
+ author.bio && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", { className: "text-muted-foreground text-base max-w-2xl", children: author.bio })
43
76
  ] })
44
77
  ] }),
45
- /* @__PURE__ */ jsxs("div", { children: [
46
- /* @__PURE__ */ jsx("div", { className: "grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-6 mb-4", children: author.posts && author.posts.length > 0 ? author.posts.map(
47
- (post) => post && /* @__PURE__ */ jsx(PostPreview, { post }, post.slug)
48
- ) : /* @__PURE__ */ jsx("div", { className: "text-muted-foreground col-span-full", children: "No posts yet." }) }),
49
- /* @__PURE__ */ jsx("div", { className: "flex justify-end", children: /* @__PURE__ */ jsxs(
50
- Link,
78
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { children: [
79
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-6 mb-4", children: author.posts && author.posts.length > 0 ? author.posts.map(
80
+ (post) => post && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_post_preview.PostPreview, { post }, post.slug)
81
+ ) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "text-muted-foreground col-span-full", children: "No posts yet." }) }),
82
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "flex justify-end", children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
83
+ import_link.default,
51
84
  {
52
- href: `${opinlyConfig.blogPrefix}/authors/${author.slug}`,
85
+ href: `${import_sdk_config.opinlyConfig.blogPrefix}/authors/${author.slug}`,
53
86
  className: "text-bold",
54
87
  children: [
55
88
  "View more posts from ",
@@ -65,7 +98,8 @@ const AuthorsPage = ({
65
98
  }) })
66
99
  ] });
67
100
  };
68
- export {
101
+ // Annotate the CommonJS export names for ESM import in node:
102
+ 0 && (module.exports = {
69
103
  AuthorsPage
70
- };
104
+ });
71
105
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/authors-page/index.tsx"],"sourcesContent":["import type { Opinly } from \"@opinly/backend\";\nimport Image from \"next/image\";\nimport { opinlyConfig } from \"../../utils/sdk-config\";\n\nimport { PostPreview } from \"../post-preview\";\nimport { BreadCrumbs } from \"../bread-crumbs\";\nimport Link from \"next/link\";\n\nexport const AuthorsPage = ({\n authors,\n}: {\n authors: Extract<\n Awaited<ReturnType<Opinly[\"content\"][\"blog\"]>>,\n { type: \"authors\" }\n >[\"data\"];\n}) => {\n return (\n <div className=\"max-w-5xl mx-auto px-4 py-10\">\n <BreadCrumbs\n breadcrumbs={[\n {\n name: \"Authors\",\n },\n ]}\n />\n <h1 className=\"text-3xl font-bold mb-10\">Authors</h1>\n <div className=\"space-y-16\">\n {authors.map((author, idx) => {\n const authorSlug = `${opinlyConfig.blogPrefix}/authors/${author.slug}`;\n\n return (\n <div\n key={author.name + idx}\n className=\"rounded-lg p-6 flex flex-col gap-6\"\n >\n <div className=\"flex items-center gap-6 mb-4\">\n {author.image?.fileKey && (\n <Link href={authorSlug}>\n <Image\n src={`${opinlyConfig.imagesPrefix}/${author.image.fileKey}`}\n alt={author.image.alt || author.name}\n width={100}\n height={100}\n className=\"rounded-full border\"\n />\n </Link>\n )}\n <div>\n <Link href={authorSlug}>\n <h2 className=\"text-2xl font-semibold mb-1\">\n {author.name}\n </h2>\n </Link>\n\n {author.bio && (\n <p className=\"text-muted-foreground text-base max-w-2xl\">\n {author.bio}\n </p>\n )}\n </div>\n </div>\n <div>\n <div className=\"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-6 mb-4\">\n {author.posts && author.posts.length > 0 ? (\n author.posts.map(\n (post) =>\n post && <PostPreview key={post.slug} post={post} />\n )\n ) : (\n <div className=\"text-muted-foreground col-span-full\">\n No posts yet.\n </div>\n )}\n </div>\n <div className=\"flex justify-end\">\n <Link\n href={`${opinlyConfig.blogPrefix}/authors/${author.slug}`}\n className=\"text-bold\"\n >\n View more posts from {author.name}\n </Link>\n </div>\n </div>\n </div>\n );\n })}\n </div>\n </div>\n );\n};\n"],"mappings":"AAkBM,cA6BU,YA7BV;AAjBN,OAAO,WAAW;AAClB,SAAS,oBAAoB;AAE7B,SAAS,mBAAmB;AAC5B,SAAS,mBAAmB;AAC5B,OAAO,UAAU;AAEV,MAAM,cAAc,CAAC;AAAA,EAC1B;AACF,MAKM;AACJ,SACE,qBAAC,SAAI,WAAU,gCACb;AAAA;AAAA,MAAC;AAAA;AAAA,QACC,aAAa;AAAA,UACX;AAAA,YACE,MAAM;AAAA,UACR;AAAA,QACF;AAAA;AAAA,IACF;AAAA,IACA,oBAAC,QAAG,WAAU,4BAA2B,qBAAO;AAAA,IAChD,oBAAC,SAAI,WAAU,cACZ,kBAAQ,IAAI,CAAC,QAAQ,QAAQ;AAC5B,YAAM,aAAa,GAAG,aAAa,UAAU,YAAY,OAAO,IAAI;AAEpE,aACE;AAAA,QAAC;AAAA;AAAA,UAEC,WAAU;AAAA,UAEV;AAAA,iCAAC,SAAI,WAAU,gCACZ;AAAA,qBAAO,OAAO,WACb,oBAAC,QAAK,MAAM,YACV;AAAA,gBAAC;AAAA;AAAA,kBACC,KAAK,GAAG,aAAa,YAAY,IAAI,OAAO,MAAM,OAAO;AAAA,kBACzD,KAAK,OAAO,MAAM,OAAO,OAAO;AAAA,kBAChC,OAAO;AAAA,kBACP,QAAQ;AAAA,kBACR,WAAU;AAAA;AAAA,cACZ,GACF;AAAA,cAEF,qBAAC,SACC;AAAA,oCAAC,QAAK,MAAM,YACV,8BAAC,QAAG,WAAU,+BACX,iBAAO,MACV,GACF;AAAA,gBAEC,OAAO,OACN,oBAAC,OAAE,WAAU,6CACV,iBAAO,KACV;AAAA,iBAEJ;AAAA,eACF;AAAA,YACA,qBAAC,SACC;AAAA,kCAAC,SAAI,WAAU,6DACZ,iBAAO,SAAS,OAAO,MAAM,SAAS,IACrC,OAAO,MAAM;AAAA,gBACX,CAAC,SACC,QAAQ,oBAAC,eAA4B,QAAX,KAAK,IAAkB;AAAA,cACrD,IAEA,oBAAC,SAAI,WAAU,uCAAsC,2BAErD,GAEJ;AAAA,cACA,oBAAC,SAAI,WAAU,oBACb;AAAA,gBAAC;AAAA;AAAA,kBACC,MAAM,GAAG,aAAa,UAAU,YAAY,OAAO,IAAI;AAAA,kBACvD,WAAU;AAAA,kBACX;AAAA;AAAA,oBACuB,OAAO;AAAA;AAAA;AAAA,cAC/B,GACF;AAAA,eACF;AAAA;AAAA;AAAA,QAlDK,OAAO,OAAO;AAAA,MAmDrB;AAAA,IAEJ,CAAC,GACH;AAAA,KACF;AAEJ;","names":[]}
1
+ {"version":3,"sources":["../../../src/components/authors-page/index.tsx"],"sourcesContent":["import type { Opinly } from \"@opinly/backend\";\nimport Image from \"next/image\";\nimport { opinlyConfig } from \"../../utils/sdk-config\";\n\nimport { PostPreview } from \"../post-preview\";\nimport { BreadCrumbs } from \"../bread-crumbs\";\nimport Link from \"next/link\";\n\nexport const AuthorsPage = ({\n authors,\n}: {\n authors: Extract<\n Awaited<ReturnType<Opinly[\"content\"][\"blog\"]>>,\n { type: \"authors\" }\n >[\"data\"];\n}) => {\n return (\n <div className=\"max-w-5xl mx-auto px-4 py-10\">\n <BreadCrumbs\n breadcrumbs={[\n {\n name: \"Authors\",\n },\n ]}\n />\n <h1 className=\"text-3xl font-bold mb-10\">Authors</h1>\n <div className=\"space-y-16\">\n {authors.map((author, idx) => {\n const authorSlug = `${opinlyConfig.blogPrefix}/authors/${author.slug}`;\n\n return (\n <div\n key={author.name + idx}\n className=\"rounded-lg p-6 flex flex-col gap-6\"\n >\n <div className=\"flex items-center gap-6 mb-4\">\n {author.image?.fileKey && (\n <Link href={authorSlug}>\n <Image\n src={`${opinlyConfig.imagesPrefix}/${author.image.fileKey}`}\n alt={author.image.alt || author.name}\n width={100}\n height={100}\n className=\"rounded-full border\"\n />\n </Link>\n )}\n <div>\n <Link href={authorSlug}>\n <h2 className=\"text-2xl font-semibold mb-1\">\n {author.name}\n </h2>\n </Link>\n\n {author.bio && (\n <p className=\"text-muted-foreground text-base max-w-2xl\">\n {author.bio}\n </p>\n )}\n </div>\n </div>\n <div>\n <div className=\"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-6 mb-4\">\n {author.posts && author.posts.length > 0 ? (\n author.posts.map(\n (post) =>\n post && <PostPreview key={post.slug} post={post} />\n )\n ) : (\n <div className=\"text-muted-foreground col-span-full\">\n No posts yet.\n </div>\n )}\n </div>\n <div className=\"flex justify-end\">\n <Link\n href={`${opinlyConfig.blogPrefix}/authors/${author.slug}`}\n className=\"text-bold\"\n >\n View more posts from {author.name}\n </Link>\n </div>\n </div>\n </div>\n );\n })}\n </div>\n </div>\n );\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAkBM;AAjBN,mBAAkB;AAClB,wBAA6B;AAE7B,0BAA4B;AAC5B,0BAA4B;AAC5B,kBAAiB;AAEV,MAAM,cAAc,CAAC;AAAA,EAC1B;AACF,MAKM;AACJ,SACE,6CAAC,SAAI,WAAU,gCACb;AAAA;AAAA,MAAC;AAAA;AAAA,QACC,aAAa;AAAA,UACX;AAAA,YACE,MAAM;AAAA,UACR;AAAA,QACF;AAAA;AAAA,IACF;AAAA,IACA,4CAAC,QAAG,WAAU,4BAA2B,qBAAO;AAAA,IAChD,4CAAC,SAAI,WAAU,cACZ,kBAAQ,IAAI,CAAC,QAAQ,QAAQ;AAC5B,YAAM,aAAa,GAAG,+BAAa,UAAU,YAAY,OAAO,IAAI;AAEpE,aACE;AAAA,QAAC;AAAA;AAAA,UAEC,WAAU;AAAA,UAEV;AAAA,yDAAC,SAAI,WAAU,gCACZ;AAAA,qBAAO,OAAO,WACb,4CAAC,YAAAA,SAAA,EAAK,MAAM,YACV;AAAA,gBAAC,aAAAC;AAAA,gBAAA;AAAA,kBACC,KAAK,GAAG,+BAAa,YAAY,IAAI,OAAO,MAAM,OAAO;AAAA,kBACzD,KAAK,OAAO,MAAM,OAAO,OAAO;AAAA,kBAChC,OAAO;AAAA,kBACP,QAAQ;AAAA,kBACR,WAAU;AAAA;AAAA,cACZ,GACF;AAAA,cAEF,6CAAC,SACC;AAAA,4DAAC,YAAAD,SAAA,EAAK,MAAM,YACV,sDAAC,QAAG,WAAU,+BACX,iBAAO,MACV,GACF;AAAA,gBAEC,OAAO,OACN,4CAAC,OAAE,WAAU,6CACV,iBAAO,KACV;AAAA,iBAEJ;AAAA,eACF;AAAA,YACA,6CAAC,SACC;AAAA,0DAAC,SAAI,WAAU,6DACZ,iBAAO,SAAS,OAAO,MAAM,SAAS,IACrC,OAAO,MAAM;AAAA,gBACX,CAAC,SACC,QAAQ,4CAAC,mCAA4B,QAAX,KAAK,IAAkB;AAAA,cACrD,IAEA,4CAAC,SAAI,WAAU,uCAAsC,2BAErD,GAEJ;AAAA,cACA,4CAAC,SAAI,WAAU,oBACb;AAAA,gBAAC,YAAAA;AAAA,gBAAA;AAAA,kBACC,MAAM,GAAG,+BAAa,UAAU,YAAY,OAAO,IAAI;AAAA,kBACvD,WAAU;AAAA,kBACX;AAAA;AAAA,oBACuB,OAAO;AAAA;AAAA;AAAA,cAC/B,GACF;AAAA,eACF;AAAA;AAAA;AAAA,QAlDK,OAAO,OAAO;AAAA,MAmDrB;AAAA,IAEJ,CAAC,GACH;AAAA,KACF;AAEJ;","names":["Link","Image"]}
@@ -0,0 +1,71 @@
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import Image from "next/image";
3
+ import { opinlyConfig } from "../../utils/sdk-config";
4
+ import { PostPreview } from "../post-preview";
5
+ import { BreadCrumbs } from "../bread-crumbs";
6
+ import Link from "next/link";
7
+ const AuthorsPage = ({
8
+ authors
9
+ }) => {
10
+ return /* @__PURE__ */ jsxs("div", { className: "max-w-5xl mx-auto px-4 py-10", children: [
11
+ /* @__PURE__ */ jsx(
12
+ BreadCrumbs,
13
+ {
14
+ breadcrumbs: [
15
+ {
16
+ name: "Authors"
17
+ }
18
+ ]
19
+ }
20
+ ),
21
+ /* @__PURE__ */ jsx("h1", { className: "text-3xl font-bold mb-10", children: "Authors" }),
22
+ /* @__PURE__ */ jsx("div", { className: "space-y-16", children: authors.map((author, idx) => {
23
+ const authorSlug = `${opinlyConfig.blogPrefix}/authors/${author.slug}`;
24
+ return /* @__PURE__ */ jsxs(
25
+ "div",
26
+ {
27
+ className: "rounded-lg p-6 flex flex-col gap-6",
28
+ children: [
29
+ /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-6 mb-4", children: [
30
+ author.image?.fileKey && /* @__PURE__ */ jsx(Link, { href: authorSlug, children: /* @__PURE__ */ jsx(
31
+ Image,
32
+ {
33
+ src: `${opinlyConfig.imagesPrefix}/${author.image.fileKey}`,
34
+ alt: author.image.alt || author.name,
35
+ width: 100,
36
+ height: 100,
37
+ className: "rounded-full border"
38
+ }
39
+ ) }),
40
+ /* @__PURE__ */ jsxs("div", { children: [
41
+ /* @__PURE__ */ jsx(Link, { href: authorSlug, children: /* @__PURE__ */ jsx("h2", { className: "text-2xl font-semibold mb-1", children: author.name }) }),
42
+ author.bio && /* @__PURE__ */ jsx("p", { className: "text-muted-foreground text-base max-w-2xl", children: author.bio })
43
+ ] })
44
+ ] }),
45
+ /* @__PURE__ */ jsxs("div", { children: [
46
+ /* @__PURE__ */ jsx("div", { className: "grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-6 mb-4", children: author.posts && author.posts.length > 0 ? author.posts.map(
47
+ (post) => post && /* @__PURE__ */ jsx(PostPreview, { post }, post.slug)
48
+ ) : /* @__PURE__ */ jsx("div", { className: "text-muted-foreground col-span-full", children: "No posts yet." }) }),
49
+ /* @__PURE__ */ jsx("div", { className: "flex justify-end", children: /* @__PURE__ */ jsxs(
50
+ Link,
51
+ {
52
+ href: `${opinlyConfig.blogPrefix}/authors/${author.slug}`,
53
+ className: "text-bold",
54
+ children: [
55
+ "View more posts from ",
56
+ author.name
57
+ ]
58
+ }
59
+ ) })
60
+ ] })
61
+ ]
62
+ },
63
+ author.name + idx
64
+ );
65
+ }) })
66
+ ] });
67
+ };
68
+ export {
69
+ AuthorsPage
70
+ };
71
+ //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/authors-page/index.tsx"],"sourcesContent":["import type { Opinly } from \"@opinly/backend\";\nimport Image from \"next/image\";\nimport { opinlyConfig } from \"../../utils/sdk-config\";\n\nimport { PostPreview } from \"../post-preview\";\nimport { BreadCrumbs } from \"../bread-crumbs\";\nimport Link from \"next/link\";\n\nexport const AuthorsPage = ({\n authors,\n}: {\n authors: Extract<\n Awaited<ReturnType<Opinly[\"content\"][\"blog\"]>>,\n { type: \"authors\" }\n >[\"data\"];\n}) => {\n return (\n <div className=\"max-w-5xl mx-auto px-4 py-10\">\n <BreadCrumbs\n breadcrumbs={[\n {\n name: \"Authors\",\n },\n ]}\n />\n <h1 className=\"text-3xl font-bold mb-10\">Authors</h1>\n <div className=\"space-y-16\">\n {authors.map((author, idx) => {\n const authorSlug = `${opinlyConfig.blogPrefix}/authors/${author.slug}`;\n\n return (\n <div\n key={author.name + idx}\n className=\"rounded-lg p-6 flex flex-col gap-6\"\n >\n <div className=\"flex items-center gap-6 mb-4\">\n {author.image?.fileKey && (\n <Link href={authorSlug}>\n <Image\n src={`${opinlyConfig.imagesPrefix}/${author.image.fileKey}`}\n alt={author.image.alt || author.name}\n width={100}\n height={100}\n className=\"rounded-full border\"\n />\n </Link>\n )}\n <div>\n <Link href={authorSlug}>\n <h2 className=\"text-2xl font-semibold mb-1\">\n {author.name}\n </h2>\n </Link>\n\n {author.bio && (\n <p className=\"text-muted-foreground text-base max-w-2xl\">\n {author.bio}\n </p>\n )}\n </div>\n </div>\n <div>\n <div className=\"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-6 mb-4\">\n {author.posts && author.posts.length > 0 ? (\n author.posts.map(\n (post) =>\n post && <PostPreview key={post.slug} post={post} />\n )\n ) : (\n <div className=\"text-muted-foreground col-span-full\">\n No posts yet.\n </div>\n )}\n </div>\n <div className=\"flex justify-end\">\n <Link\n href={`${opinlyConfig.blogPrefix}/authors/${author.slug}`}\n className=\"text-bold\"\n >\n View more posts from {author.name}\n </Link>\n </div>\n </div>\n </div>\n );\n })}\n </div>\n </div>\n );\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAkBM;AAjBN,mBAAkB;AAClB,wBAA6B;AAE7B,0BAA4B;AAC5B,0BAA4B;AAC5B,kBAAiB;AAEV,MAAM,cAAc,CAAC;AAAA,EAC1B;AACF,MAKM;AACJ,SACE,6CAAC,SAAI,WAAU,gCACb;AAAA;AAAA,MAAC;AAAA;AAAA,QACC,aAAa;AAAA,UACX;AAAA,YACE,MAAM;AAAA,UACR;AAAA,QACF;AAAA;AAAA,IACF;AAAA,IACA,4CAAC,QAAG,WAAU,4BAA2B,qBAAO;AAAA,IAChD,4CAAC,SAAI,WAAU,cACZ,kBAAQ,IAAI,CAAC,QAAQ,QAAQ;AAC5B,YAAM,aAAa,GAAG,+BAAa,UAAU,YAAY,OAAO,IAAI;AAEpE,aACE;AAAA,QAAC;AAAA;AAAA,UAEC,WAAU;AAAA,UAEV;AAAA,yDAAC,SAAI,WAAU,gCACZ;AAAA,qBAAO,OAAO,WACb,4CAAC,YAAAA,SAAA,EAAK,MAAM,YACV;AAAA,gBAAC,aAAAC;AAAA,gBAAA;AAAA,kBACC,KAAK,GAAG,+BAAa,YAAY,IAAI,OAAO,MAAM,OAAO;AAAA,kBACzD,KAAK,OAAO,MAAM,OAAO,OAAO;AAAA,kBAChC,OAAO;AAAA,kBACP,QAAQ;AAAA,kBACR,WAAU;AAAA;AAAA,cACZ,GACF;AAAA,cAEF,6CAAC,SACC;AAAA,4DAAC,YAAAD,SAAA,EAAK,MAAM,YACV,sDAAC,QAAG,WAAU,+BACX,iBAAO,MACV,GACF;AAAA,gBAEC,OAAO,OACN,4CAAC,OAAE,WAAU,6CACV,iBAAO,KACV;AAAA,iBAEJ;AAAA,eACF;AAAA,YACA,6CAAC,SACC;AAAA,0DAAC,SAAI,WAAU,6DACZ,iBAAO,SAAS,OAAO,MAAM,SAAS,IACrC,OAAO,MAAM;AAAA,gBACX,CAAC,SACC,QAAQ,4CAAC,mCAA4B,QAAX,KAAK,IAAkB;AAAA,cACrD,IAEA,4CAAC,SAAI,WAAU,uCAAsC,2BAErD,GAEJ;AAAA,cACA,4CAAC,SAAI,WAAU,oBACb;AAAA,gBAAC,YAAAA;AAAA,gBAAA;AAAA,kBACC,MAAM,GAAG,+BAAa,UAAU,YAAY,OAAO,IAAI;AAAA,kBACvD,WAAU;AAAA,kBACX;AAAA;AAAA,oBACuB,OAAO;AAAA;AAAA;AAAA,cAC/B,GACF;AAAA,eACF;AAAA;AAAA;AAAA,QAlDK,OAAO,OAAO;AAAA,MAmDrB;AAAA,IAEJ,CAAC,GACH;AAAA,KACF;AAEJ;","names":["Link","Image"]}
1
+ {"version":3,"sources":["../../../src/components/authors-page/index.tsx"],"sourcesContent":["import type { Opinly } from \"@opinly/backend\";\nimport Image from \"next/image\";\nimport { opinlyConfig } from \"../../utils/sdk-config\";\n\nimport { PostPreview } from \"../post-preview\";\nimport { BreadCrumbs } from \"../bread-crumbs\";\nimport Link from \"next/link\";\n\nexport const AuthorsPage = ({\n authors,\n}: {\n authors: Extract<\n Awaited<ReturnType<Opinly[\"content\"][\"blog\"]>>,\n { type: \"authors\" }\n >[\"data\"];\n}) => {\n return (\n <div className=\"max-w-5xl mx-auto px-4 py-10\">\n <BreadCrumbs\n breadcrumbs={[\n {\n name: \"Authors\",\n },\n ]}\n />\n <h1 className=\"text-3xl font-bold mb-10\">Authors</h1>\n <div className=\"space-y-16\">\n {authors.map((author, idx) => {\n const authorSlug = `${opinlyConfig.blogPrefix}/authors/${author.slug}`;\n\n return (\n <div\n key={author.name + idx}\n className=\"rounded-lg p-6 flex flex-col gap-6\"\n >\n <div className=\"flex items-center gap-6 mb-4\">\n {author.image?.fileKey && (\n <Link href={authorSlug}>\n <Image\n src={`${opinlyConfig.imagesPrefix}/${author.image.fileKey}`}\n alt={author.image.alt || author.name}\n width={100}\n height={100}\n className=\"rounded-full border\"\n />\n </Link>\n )}\n <div>\n <Link href={authorSlug}>\n <h2 className=\"text-2xl font-semibold mb-1\">\n {author.name}\n </h2>\n </Link>\n\n {author.bio && (\n <p className=\"text-muted-foreground text-base max-w-2xl\">\n {author.bio}\n </p>\n )}\n </div>\n </div>\n <div>\n <div className=\"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-6 mb-4\">\n {author.posts && author.posts.length > 0 ? (\n author.posts.map(\n (post) =>\n post && <PostPreview key={post.slug} post={post} />\n )\n ) : (\n <div className=\"text-muted-foreground col-span-full\">\n No posts yet.\n </div>\n )}\n </div>\n <div className=\"flex justify-end\">\n <Link\n href={`${opinlyConfig.blogPrefix}/authors/${author.slug}`}\n className=\"text-bold\"\n >\n View more posts from {author.name}\n </Link>\n </div>\n </div>\n </div>\n );\n })}\n </div>\n </div>\n );\n};\n"],"mappings":"AAkBM,cA6BU,YA7BV;AAjBN,OAAO,WAAW;AAClB,SAAS,oBAAoB;AAE7B,SAAS,mBAAmB;AAC5B,SAAS,mBAAmB;AAC5B,OAAO,UAAU;AAEV,MAAM,cAAc,CAAC;AAAA,EAC1B;AACF,MAKM;AACJ,SACE,qBAAC,SAAI,WAAU,gCACb;AAAA;AAAA,MAAC;AAAA;AAAA,QACC,aAAa;AAAA,UACX;AAAA,YACE,MAAM;AAAA,UACR;AAAA,QACF;AAAA;AAAA,IACF;AAAA,IACA,oBAAC,QAAG,WAAU,4BAA2B,qBAAO;AAAA,IAChD,oBAAC,SAAI,WAAU,cACZ,kBAAQ,IAAI,CAAC,QAAQ,QAAQ;AAC5B,YAAM,aAAa,GAAG,aAAa,UAAU,YAAY,OAAO,IAAI;AAEpE,aACE;AAAA,QAAC;AAAA;AAAA,UAEC,WAAU;AAAA,UAEV;AAAA,iCAAC,SAAI,WAAU,gCACZ;AAAA,qBAAO,OAAO,WACb,oBAAC,QAAK,MAAM,YACV;AAAA,gBAAC;AAAA;AAAA,kBACC,KAAK,GAAG,aAAa,YAAY,IAAI,OAAO,MAAM,OAAO;AAAA,kBACzD,KAAK,OAAO,MAAM,OAAO,OAAO;AAAA,kBAChC,OAAO;AAAA,kBACP,QAAQ;AAAA,kBACR,WAAU;AAAA;AAAA,cACZ,GACF;AAAA,cAEF,qBAAC,SACC;AAAA,oCAAC,QAAK,MAAM,YACV,8BAAC,QAAG,WAAU,+BACX,iBAAO,MACV,GACF;AAAA,gBAEC,OAAO,OACN,oBAAC,OAAE,WAAU,6CACV,iBAAO,KACV;AAAA,iBAEJ;AAAA,eACF;AAAA,YACA,qBAAC,SACC;AAAA,kCAAC,SAAI,WAAU,6DACZ,iBAAO,SAAS,OAAO,MAAM,SAAS,IACrC,OAAO,MAAM;AAAA,gBACX,CAAC,SACC,QAAQ,oBAAC,eAA4B,QAAX,KAAK,IAAkB;AAAA,cACrD,IAEA,oBAAC,SAAI,WAAU,uCAAsC,2BAErD,GAEJ;AAAA,cACA,oBAAC,SAAI,WAAU,oBACb;AAAA,gBAAC;AAAA;AAAA,kBACC,MAAM,GAAG,aAAa,UAAU,YAAY,OAAO,IAAI;AAAA,kBACvD,WAAU;AAAA,kBACX;AAAA;AAAA,oBACuB,OAAO;AAAA;AAAA;AAAA,cAC/B,GACF;AAAA,eACF;AAAA;AAAA;AAAA,QAlDK,OAAO,OAAO;AAAA,MAmDrB;AAAA,IAEJ,CAAC,GACH;AAAA,KACF;AAEJ;","names":[]}
@@ -1,20 +1,53 @@
1
- import { jsx } from "react/jsx-runtime";
2
- import { cn } from "../../../utils/merge";
3
- import Link from "next/link";
4
- import Image from "next/image";
5
- import { opinlyConfig } from "../../../utils/sdk-config";
6
- import React from "react";
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var content_exports = {};
30
+ __export(content_exports, {
31
+ Content: () => Content
32
+ });
33
+ module.exports = __toCommonJS(content_exports);
34
+ var import_jsx_runtime = require("react/jsx-runtime");
35
+ var import_merge = require("../../../utils/merge");
36
+ var import_link = __toESM(require("next/link"), 1);
37
+ var import_image = __toESM(require("next/image"), 1);
38
+ var import_sdk_config = require("../../../utils/sdk-config");
39
+ var import_react2 = __toESM(require("react"), 1);
7
40
  function renderTiptapContent(content, classNames) {
8
41
  if (!content?.content) return [];
9
42
  return content.content.map((node, index) => {
10
43
  switch (node.type) {
11
44
  case "paragraph":
12
- return /* @__PURE__ */ jsx("p", { className: classNames.paragraph || "mb-4", children: renderChildren(node.content, classNames) }, index);
45
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", { className: classNames.paragraph || "mb-4", children: renderChildren(node.content, classNames) }, index);
13
46
  case "heading": {
14
47
  const text = node.content?.[0]?.text ?? "";
15
48
  const slug = text.toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/^-+|-+$/g, "");
16
49
  const Tag = `h${node.attrs?.level || 1}`;
17
- return /* @__PURE__ */ jsx(
50
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
18
51
  Tag,
19
52
  {
20
53
  id: slug,
@@ -29,18 +62,19 @@ function renderTiptapContent(content, classNames) {
29
62
  if (!fileKey) {
30
63
  return null;
31
64
  }
32
- return /* @__PURE__ */ jsx(
65
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
33
66
  "div",
34
67
  {
35
- className: cn(
68
+ className: (0, import_merge.cn)(
36
69
  "relative w-full max-w-[800px] my-6",
37
70
  classNames.image
38
71
  ),
39
72
  style: { aspectRatio: "2 / 1" },
40
- children: /* @__PURE__ */ jsx(
41
- Image,
73
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
74
+ import_image.default,
42
75
  {
43
- src: `${opinlyConfig.imagesPrefix}/${fileKey}`,
76
+ unoptimized: import_sdk_config.opinlyConfig.unoptimizedImages,
77
+ src: `${import_sdk_config.opinlyConfig.imagesPrefix}/${fileKey}`,
44
78
  title: node.attrs?.title || "",
45
79
  alt: node.attrs?.alt || "",
46
80
  fill: true,
@@ -52,28 +86,28 @@ function renderTiptapContent(content, classNames) {
52
86
  index
53
87
  );
54
88
  case "bulletList":
55
- return /* @__PURE__ */ jsx(
89
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
56
90
  "ul",
57
91
  {
58
- className: cn("list-disc pl-6 my-4", classNames.bulletList),
92
+ className: (0, import_merge.cn)("list-disc pl-6 my-4", classNames.bulletList),
59
93
  children: renderTiptapContent(node, classNames)
60
94
  },
61
95
  index
62
96
  );
63
97
  case "orderedList":
64
- return /* @__PURE__ */ jsx(
98
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
65
99
  "ol",
66
100
  {
67
- className: cn("list-decimal pl-6 my-4", classNames.orderedList),
101
+ className: (0, import_merge.cn)("list-decimal pl-6 my-4", classNames.orderedList),
68
102
  children: renderTiptapContent(node, classNames)
69
103
  },
70
104
  index
71
105
  );
72
106
  case "listItem":
73
107
  if (node.content && node.content.length === 1 && node.content[0].type === "paragraph") {
74
- return /* @__PURE__ */ jsx("li", { className: cn("my-1", classNames.listItem), children: renderChildren(node.content[0].content, classNames) }, index);
108
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("li", { className: (0, import_merge.cn)("my-1", classNames.listItem), children: renderChildren(node.content[0].content, classNames) }, index);
75
109
  }
76
- return /* @__PURE__ */ jsx("li", { className: cn("my-1", classNames.listItem), children: renderChildren(node.content, classNames) }, index);
110
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("li", { className: (0, import_merge.cn)("my-1", classNames.listItem), children: renderChildren(node.content, classNames) }, index);
77
111
  default:
78
112
  return null;
79
113
  }
@@ -83,7 +117,7 @@ const Content = ({
83
117
  content,
84
118
  classNames
85
119
  }) => {
86
- return /* @__PURE__ */ jsx("div", { className: "prose min-w-full", children: renderTiptapContent(content, classNames) });
120
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "prose min-w-full", children: renderTiptapContent(content, classNames) });
87
121
  };
88
122
  function renderChildren(nodes, classNames) {
89
123
  if (!nodes) {
@@ -95,11 +129,11 @@ function renderChildren(nodes, classNames) {
95
129
  let text = child.text;
96
130
  if (child.marks) {
97
131
  child.marks.forEach((mark) => {
98
- if (mark.type === "bold") text = /* @__PURE__ */ jsx("strong", { children: text }, idx);
99
- if (mark.type === "italic") text = /* @__PURE__ */ jsx("em", { children: text }, idx);
132
+ if (mark.type === "bold") text = /* @__PURE__ */ (0, import_jsx_runtime.jsx)("strong", { children: text }, idx);
133
+ if (mark.type === "italic") text = /* @__PURE__ */ (0, import_jsx_runtime.jsx)("em", { children: text }, idx);
100
134
  if (mark.type === "link")
101
- text = /* @__PURE__ */ jsx(
102
- Link,
135
+ text = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
136
+ import_link.default,
103
137
  {
104
138
  href: mark.attrs?.href,
105
139
  className: classNames.link || "text-blue-600 underline",
@@ -109,17 +143,18 @@ function renderChildren(nodes, classNames) {
109
143
  );
110
144
  });
111
145
  }
112
- return /* @__PURE__ */ jsx("span", { children: text }, idx);
146
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: text }, idx);
113
147
  } else {
114
148
  console.log("child", child);
115
- return /* @__PURE__ */ jsx(React.Fragment, { children: renderTiptapContent(
149
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react2.default.Fragment, { children: renderTiptapContent(
116
150
  { ...child, content: child.content },
117
151
  classNames
118
152
  ) }, idx);
119
153
  }
120
154
  }).filter(Boolean);
121
155
  }
122
- export {
156
+ // Annotate the CommonJS export names for ESM import in node:
157
+ 0 && (module.exports = {
123
158
  Content
124
- };
159
+ });
125
160
  //# sourceMappingURL=content.js.map