@timbenniks/contentstack-platform-sdk 0.1.0

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 (244) hide show
  1. package/dist/auth/index.cjs +607 -0
  2. package/dist/auth/index.cjs.map +1 -0
  3. package/dist/auth/index.d.cts +108 -0
  4. package/dist/auth/index.d.ts +108 -0
  5. package/dist/auth/index.mjs +25 -0
  6. package/dist/auth/index.mjs.map +1 -0
  7. package/dist/brandkit/index.cjs +525 -0
  8. package/dist/brandkit/index.cjs.map +1 -0
  9. package/dist/brandkit/index.d.cts +95 -0
  10. package/dist/brandkit/index.d.ts +95 -0
  11. package/dist/brandkit/index.mjs +11 -0
  12. package/dist/brandkit/index.mjs.map +1 -0
  13. package/dist/chunk-3C6J2BDB.mjs +84 -0
  14. package/dist/chunk-3C6J2BDB.mjs.map +1 -0
  15. package/dist/chunk-3KE63N3I.mjs +64 -0
  16. package/dist/chunk-3KE63N3I.mjs.map +1 -0
  17. package/dist/chunk-4CJ4IVPJ.mjs +212 -0
  18. package/dist/chunk-4CJ4IVPJ.mjs.map +1 -0
  19. package/dist/chunk-4JFUI7MJ.mjs +368 -0
  20. package/dist/chunk-4JFUI7MJ.mjs.map +1 -0
  21. package/dist/chunk-7VFGD32I.mjs +26 -0
  22. package/dist/chunk-7VFGD32I.mjs.map +1 -0
  23. package/dist/chunk-ARPJDW3A.mjs +44 -0
  24. package/dist/chunk-ARPJDW3A.mjs.map +1 -0
  25. package/dist/chunk-AVJHCFRK.mjs +52 -0
  26. package/dist/chunk-AVJHCFRK.mjs.map +1 -0
  27. package/dist/chunk-BK2IBTQS.mjs +131 -0
  28. package/dist/chunk-BK2IBTQS.mjs.map +1 -0
  29. package/dist/chunk-BUZ6CQHE.mjs +75 -0
  30. package/dist/chunk-BUZ6CQHE.mjs.map +1 -0
  31. package/dist/chunk-CKMAOWBQ.mjs +379 -0
  32. package/dist/chunk-CKMAOWBQ.mjs.map +1 -0
  33. package/dist/chunk-DJQLN4TR.mjs +1 -0
  34. package/dist/chunk-DJQLN4TR.mjs.map +1 -0
  35. package/dist/chunk-DMERADWM.mjs +67 -0
  36. package/dist/chunk-DMERADWM.mjs.map +1 -0
  37. package/dist/chunk-EREPKWTW.mjs +926 -0
  38. package/dist/chunk-EREPKWTW.mjs.map +1 -0
  39. package/dist/chunk-FQP4PB5X.mjs +88 -0
  40. package/dist/chunk-FQP4PB5X.mjs.map +1 -0
  41. package/dist/chunk-GNPQJBFX.mjs +144 -0
  42. package/dist/chunk-GNPQJBFX.mjs.map +1 -0
  43. package/dist/chunk-GOSB24M6.mjs +87 -0
  44. package/dist/chunk-GOSB24M6.mjs.map +1 -0
  45. package/dist/chunk-JL2E3EOT.mjs +255 -0
  46. package/dist/chunk-JL2E3EOT.mjs.map +1 -0
  47. package/dist/chunk-JYGZBKTH.mjs +222 -0
  48. package/dist/chunk-JYGZBKTH.mjs.map +1 -0
  49. package/dist/chunk-JZE2W7VW.mjs +52 -0
  50. package/dist/chunk-JZE2W7VW.mjs.map +1 -0
  51. package/dist/chunk-K76DKSHJ.mjs +18 -0
  52. package/dist/chunk-K76DKSHJ.mjs.map +1 -0
  53. package/dist/chunk-KLVIROVU.mjs +232 -0
  54. package/dist/chunk-KLVIROVU.mjs.map +1 -0
  55. package/dist/chunk-LPVVA5J3.mjs +18 -0
  56. package/dist/chunk-LPVVA5J3.mjs.map +1 -0
  57. package/dist/chunk-NKLOZ5VI.mjs +112 -0
  58. package/dist/chunk-NKLOZ5VI.mjs.map +1 -0
  59. package/dist/chunk-QGA4WBDC.mjs +7 -0
  60. package/dist/chunk-QGA4WBDC.mjs.map +1 -0
  61. package/dist/chunk-QW7TVYOA.mjs +56 -0
  62. package/dist/chunk-QW7TVYOA.mjs.map +1 -0
  63. package/dist/chunk-SU5QEKYW.mjs +83 -0
  64. package/dist/chunk-SU5QEKYW.mjs.map +1 -0
  65. package/dist/chunk-T5A2E2RI.mjs +654 -0
  66. package/dist/chunk-T5A2E2RI.mjs.map +1 -0
  67. package/dist/chunk-T5OIJQK7.mjs +116 -0
  68. package/dist/chunk-T5OIJQK7.mjs.map +1 -0
  69. package/dist/chunk-VW7DD6HV.mjs +253 -0
  70. package/dist/chunk-VW7DD6HV.mjs.map +1 -0
  71. package/dist/chunk-XH7NLHGW.mjs +133 -0
  72. package/dist/chunk-XH7NLHGW.mjs.map +1 -0
  73. package/dist/client-DJ5haQGd.d.cts +22 -0
  74. package/dist/client-DwVGVSQz.d.ts +22 -0
  75. package/dist/cma/index.cjs +1349 -0
  76. package/dist/cma/index.cjs.map +1 -0
  77. package/dist/cma/index.d.cts +22 -0
  78. package/dist/cma/index.d.ts +22 -0
  79. package/dist/cma/index.mjs +70 -0
  80. package/dist/cma/index.mjs.map +1 -0
  81. package/dist/errors-CAw-IRCP.d.cts +65 -0
  82. package/dist/errors-CAw-IRCP.d.ts +65 -0
  83. package/dist/generative-ai/index.cjs +401 -0
  84. package/dist/generative-ai/index.cjs.map +1 -0
  85. package/dist/generative-ai/index.d.cts +31 -0
  86. package/dist/generative-ai/index.d.ts +31 -0
  87. package/dist/generative-ai/index.mjs +10 -0
  88. package/dist/generative-ai/index.mjs.map +1 -0
  89. package/dist/images/index.cjs +185 -0
  90. package/dist/images/index.cjs.map +1 -0
  91. package/dist/images/index.d.cts +27 -0
  92. package/dist/images/index.d.ts +27 -0
  93. package/dist/images/index.mjs +8 -0
  94. package/dist/images/index.mjs.map +1 -0
  95. package/dist/index.cjs +2909 -0
  96. package/dist/index.cjs.map +1 -0
  97. package/dist/index.d.cts +30 -0
  98. package/dist/index.d.ts +30 -0
  99. package/dist/index.mjs +153 -0
  100. package/dist/index.mjs.map +1 -0
  101. package/dist/knowledge-vault/index.cjs +413 -0
  102. package/dist/knowledge-vault/index.cjs.map +1 -0
  103. package/dist/knowledge-vault/index.d.cts +49 -0
  104. package/dist/knowledge-vault/index.d.ts +49 -0
  105. package/dist/knowledge-vault/index.mjs +10 -0
  106. package/dist/knowledge-vault/index.mjs.map +1 -0
  107. package/dist/launch/index.cjs +624 -0
  108. package/dist/launch/index.cjs.map +1 -0
  109. package/dist/launch/index.d.cts +169 -0
  110. package/dist/launch/index.d.ts +169 -0
  111. package/dist/launch/index.mjs +11 -0
  112. package/dist/launch/index.mjs.map +1 -0
  113. package/dist/react/auth/index.cjs +113 -0
  114. package/dist/react/auth/index.cjs.map +1 -0
  115. package/dist/react/auth/index.d.cts +33 -0
  116. package/dist/react/auth/index.d.ts +33 -0
  117. package/dist/react/auth/index.mjs +13 -0
  118. package/dist/react/auth/index.mjs.map +1 -0
  119. package/dist/react/content/index.cjs +113 -0
  120. package/dist/react/content/index.cjs.map +1 -0
  121. package/dist/react/content/index.d.cts +25 -0
  122. package/dist/react/content/index.d.ts +25 -0
  123. package/dist/react/content/index.mjs +7 -0
  124. package/dist/react/content/index.mjs.map +1 -0
  125. package/dist/react/hooks/index.cjs +2097 -0
  126. package/dist/react/hooks/index.cjs.map +1 -0
  127. package/dist/react/hooks/index.d.cts +77 -0
  128. package/dist/react/hooks/index.d.ts +77 -0
  129. package/dist/react/hooks/index.mjs +46 -0
  130. package/dist/react/hooks/index.mjs.map +1 -0
  131. package/dist/react/index.cjs +2307 -0
  132. package/dist/react/index.cjs.map +1 -0
  133. package/dist/react/index.d.cts +16 -0
  134. package/dist/react/index.d.ts +16 -0
  135. package/dist/react/index.mjs +67 -0
  136. package/dist/react/index.mjs.map +1 -0
  137. package/dist/react/provider/index.cjs +83 -0
  138. package/dist/react/provider/index.cjs.map +1 -0
  139. package/dist/react/provider/index.d.cts +30 -0
  140. package/dist/react/provider/index.d.ts +30 -0
  141. package/dist/react/provider/index.mjs +11 -0
  142. package/dist/react/provider/index.mjs.map +1 -0
  143. package/dist/regions/index.cjs +171 -0
  144. package/dist/regions/index.cjs.map +1 -0
  145. package/dist/regions/index.d.cts +55 -0
  146. package/dist/regions/index.d.ts +55 -0
  147. package/dist/regions/index.mjs +13 -0
  148. package/dist/regions/index.mjs.map +1 -0
  149. package/dist/request-builders-BxeolQIw.d.ts +735 -0
  150. package/dist/request-builders-C2IG1LUo.d.cts +735 -0
  151. package/dist/rte/index.cjs +683 -0
  152. package/dist/rte/index.cjs.map +1 -0
  153. package/dist/rte/index.d.cts +33 -0
  154. package/dist/rte/index.d.ts +33 -0
  155. package/dist/rte/index.mjs +17 -0
  156. package/dist/rte/index.mjs.map +1 -0
  157. package/dist/server/index.cjs +917 -0
  158. package/dist/server/index.cjs.map +1 -0
  159. package/dist/server/index.d.cts +6 -0
  160. package/dist/server/index.d.ts +6 -0
  161. package/dist/server/index.mjs +45 -0
  162. package/dist/server/index.mjs.map +1 -0
  163. package/dist/server/middleware/index.cjs +614 -0
  164. package/dist/server/middleware/index.cjs.map +1 -0
  165. package/dist/server/middleware/index.d.cts +77 -0
  166. package/dist/server/middleware/index.d.ts +77 -0
  167. package/dist/server/middleware/index.mjs +27 -0
  168. package/dist/server/middleware/index.mjs.map +1 -0
  169. package/dist/server/proxy/index.cjs +329 -0
  170. package/dist/server/proxy/index.cjs.map +1 -0
  171. package/dist/server/proxy/index.d.cts +143 -0
  172. package/dist/server/proxy/index.d.ts +143 -0
  173. package/dist/server/proxy/index.mjs +29 -0
  174. package/dist/server/proxy/index.mjs.map +1 -0
  175. package/dist/server/webhooks/index.cjs +131 -0
  176. package/dist/server/webhooks/index.cjs.map +1 -0
  177. package/dist/server/webhooks/index.d.cts +230 -0
  178. package/dist/server/webhooks/index.d.ts +230 -0
  179. package/dist/server/webhooks/index.mjs +23 -0
  180. package/dist/server/webhooks/index.mjs.map +1 -0
  181. package/dist/types-6D9VR7pT.d.cts +26 -0
  182. package/dist/types-AelT0rFJ.d.cts +21 -0
  183. package/dist/types-AelT0rFJ.d.ts +21 -0
  184. package/dist/types-Bu5yCgmw.d.ts +26 -0
  185. package/dist/types-DgixK-ll.d.cts +23 -0
  186. package/dist/types-DgixK-ll.d.ts +23 -0
  187. package/dist/types-DrMwdlH9.d.cts +245 -0
  188. package/dist/types-DrMwdlH9.d.ts +245 -0
  189. package/dist/ui/css/index.cjs +31 -0
  190. package/dist/ui/css/index.cjs.map +1 -0
  191. package/dist/ui/css/index.d.cts +15 -0
  192. package/dist/ui/css/index.d.ts +15 -0
  193. package/dist/ui/css/index.mjs +7 -0
  194. package/dist/ui/css/index.mjs.map +1 -0
  195. package/dist/ui/index.cjs +368 -0
  196. package/dist/ui/index.cjs.map +1 -0
  197. package/dist/ui/index.d.cts +4 -0
  198. package/dist/ui/index.d.ts +4 -0
  199. package/dist/ui/index.mjs +33 -0
  200. package/dist/ui/index.mjs.map +1 -0
  201. package/dist/ui/theme/index.cjs +105 -0
  202. package/dist/ui/theme/index.cjs.map +1 -0
  203. package/dist/ui/theme/index.d.cts +33 -0
  204. package/dist/ui/theme/index.d.ts +33 -0
  205. package/dist/ui/theme/index.mjs +15 -0
  206. package/dist/ui/theme/index.mjs.map +1 -0
  207. package/dist/ui/tokens/index.cjs +286 -0
  208. package/dist/ui/tokens/index.cjs.map +1 -0
  209. package/dist/ui/tokens/index.d.cts +54 -0
  210. package/dist/ui/tokens/index.d.ts +54 -0
  211. package/dist/ui/tokens/index.mjs +17 -0
  212. package/dist/ui/tokens/index.mjs.map +1 -0
  213. package/dist/ui/tokens.css +408 -0
  214. package/dist/vue/auth/index.cjs +141 -0
  215. package/dist/vue/auth/index.cjs.map +1 -0
  216. package/dist/vue/auth/index.d.cts +78 -0
  217. package/dist/vue/auth/index.d.ts +78 -0
  218. package/dist/vue/auth/index.mjs +13 -0
  219. package/dist/vue/auth/index.mjs.map +1 -0
  220. package/dist/vue/composables/index.cjs +2108 -0
  221. package/dist/vue/composables/index.cjs.map +1 -0
  222. package/dist/vue/composables/index.d.cts +78 -0
  223. package/dist/vue/composables/index.d.ts +78 -0
  224. package/dist/vue/composables/index.mjs +46 -0
  225. package/dist/vue/composables/index.mjs.map +1 -0
  226. package/dist/vue/content/index.cjs +142 -0
  227. package/dist/vue/content/index.cjs.map +1 -0
  228. package/dist/vue/content/index.d.cts +47 -0
  229. package/dist/vue/content/index.d.ts +47 -0
  230. package/dist/vue/content/index.mjs +7 -0
  231. package/dist/vue/content/index.mjs.map +1 -0
  232. package/dist/vue/index.cjs +2389 -0
  233. package/dist/vue/index.cjs.map +1 -0
  234. package/dist/vue/index.d.cts +16 -0
  235. package/dist/vue/index.d.ts +16 -0
  236. package/dist/vue/index.mjs +69 -0
  237. package/dist/vue/index.mjs.map +1 -0
  238. package/dist/vue/provider/index.cjs +97 -0
  239. package/dist/vue/provider/index.cjs.map +1 -0
  240. package/dist/vue/provider/index.d.cts +90 -0
  241. package/dist/vue/provider/index.d.ts +90 -0
  242. package/dist/vue/provider/index.mjs +13 -0
  243. package/dist/vue/provider/index.mjs.map +1 -0
  244. package/package.json +195 -0
@@ -0,0 +1,33 @@
1
+ import { C as ContentstackUser } from '../../types-Bu5yCgmw.js';
2
+ import '../../regions/index.js';
3
+
4
+ interface UseContentstackUserReturn {
5
+ user: ContentstackUser | null;
6
+ loading: boolean;
7
+ isAuthenticated: boolean;
8
+ }
9
+ declare function useContentstackUser(): UseContentstackUserReturn;
10
+
11
+ interface ContentstackLoginButtonProps {
12
+ scopes?: string[];
13
+ redirectTo?: string;
14
+ className?: string;
15
+ children?: React.ReactNode;
16
+ }
17
+ declare function ContentstackLoginButton({ redirectTo, className, children, }: ContentstackLoginButtonProps): React.JSX.Element;
18
+
19
+ interface ContentstackLogoutButtonProps {
20
+ redirectTo?: string;
21
+ className?: string;
22
+ children?: React.ReactNode;
23
+ }
24
+ declare function ContentstackLogoutButton({ redirectTo, className, children, }: ContentstackLogoutButtonProps): React.JSX.Element;
25
+
26
+ interface ContentstackAuthGuardProps {
27
+ children: React.ReactNode;
28
+ fallback?: React.ReactNode;
29
+ loadingFallback?: React.ReactNode;
30
+ }
31
+ declare function ContentstackAuthGuard({ children, fallback, loadingFallback, }: ContentstackAuthGuardProps): React.JSX.Element | null;
32
+
33
+ export { ContentstackAuthGuard, type ContentstackAuthGuardProps, ContentstackLoginButton, type ContentstackLoginButtonProps, ContentstackLogoutButton, type ContentstackLogoutButtonProps, type UseContentstackUserReturn, useContentstackUser };
@@ -0,0 +1,13 @@
1
+ import {
2
+ ContentstackAuthGuard,
3
+ ContentstackLoginButton,
4
+ ContentstackLogoutButton,
5
+ useContentstackUser
6
+ } from "../../chunk-3C6J2BDB.mjs";
7
+ export {
8
+ ContentstackAuthGuard,
9
+ ContentstackLoginButton,
10
+ ContentstackLogoutButton,
11
+ useContentstackUser
12
+ };
13
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,113 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/react/content/index.ts
21
+ var content_exports = {};
22
+ __export(content_exports, {
23
+ ContentstackRichText: () => ContentstackRichText
24
+ });
25
+ module.exports = __toCommonJS(content_exports);
26
+
27
+ // src/react/content/ContentstackRichText.tsx
28
+ var import_jsx_runtime = require("react/jsx-runtime");
29
+ var EMPTY_RENDERERS = {};
30
+ function isTextNode(node) {
31
+ return "text" in node;
32
+ }
33
+ function renderTextNode(node, index) {
34
+ let content = node.text;
35
+ if (!content) return null;
36
+ if (node.bold) content = /* @__PURE__ */ (0, import_jsx_runtime.jsx)("strong", { children: content }, `mark-b-${index}`);
37
+ if (node.italic) content = /* @__PURE__ */ (0, import_jsx_runtime.jsx)("em", { children: content }, `mark-i-${index}`);
38
+ if (node.underline) content = /* @__PURE__ */ (0, import_jsx_runtime.jsx)("u", { children: content }, `mark-u-${index}`);
39
+ if (node.strikethrough) content = /* @__PURE__ */ (0, import_jsx_runtime.jsx)("s", { children: content }, `mark-s-${index}`);
40
+ if (node.code) content = /* @__PURE__ */ (0, import_jsx_runtime.jsx)("code", { children: content }, `mark-c-${index}`);
41
+ if (node.superscript) content = /* @__PURE__ */ (0, import_jsx_runtime.jsx)("sup", { children: content }, `mark-sup-${index}`);
42
+ if (node.subscript) content = /* @__PURE__ */ (0, import_jsx_runtime.jsx)("sub", { children: content }, `mark-sub-${index}`);
43
+ return content;
44
+ }
45
+ var DEFAULT_RENDERERS = {
46
+ doc: (_node, children) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, { children }),
47
+ p: (node, children) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", { children }, node.uid),
48
+ h1: (node, children) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)("h1", { children }, node.uid),
49
+ h2: (node, children) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)("h2", { children }, node.uid),
50
+ h3: (node, children) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)("h3", { children }, node.uid),
51
+ h4: (node, children) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)("h4", { children }, node.uid),
52
+ h5: (node, children) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)("h5", { children }, node.uid),
53
+ h6: (node, children) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)("h6", { children }, node.uid),
54
+ blockquote: (node, children) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)("blockquote", { children }, node.uid),
55
+ ol: (node, children) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)("ol", { children }, node.uid),
56
+ ul: (node, children) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)("ul", { children }, node.uid),
57
+ li: (node, children) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)("li", { children }, node.uid),
58
+ hr: (node) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)("hr", {}, node.uid),
59
+ img: (node) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)("img", { src: node.attrs?.src, alt: node.attrs?.alt ?? "" }, node.uid),
60
+ a: (node, children) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)("a", { href: node.attrs?.href, target: node.attrs?.target, children }, node.uid),
61
+ code: (node, children) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)("pre", { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("code", { children }) }, node.uid),
62
+ table: (node, children) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)("table", { children }, node.uid),
63
+ thead: (node, children) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)("thead", { children }, node.uid),
64
+ tbody: (node, children) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)("tbody", { children }, node.uid),
65
+ tr: (node, children) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)("tr", { children }, node.uid),
66
+ th: (node, children) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)("th", { children }, node.uid),
67
+ td: (node, children) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)("td", { children }, node.uid)
68
+ };
69
+ function renderNode(node, renderers, index) {
70
+ if (isTextNode(node)) {
71
+ return renderTextNode(node, index);
72
+ }
73
+ if (node.type === "reference" && node.attrs) {
74
+ if (node.attrs.type === "entry" && renderers.renderEntry) {
75
+ return renderers.renderEntry(node.attrs, node);
76
+ }
77
+ if (node.attrs.type === "asset" && renderers.renderAsset) {
78
+ return renderers.renderAsset(node.attrs, node);
79
+ }
80
+ return null;
81
+ }
82
+ const childElements = node.children?.map((child, i) => renderNode(child, renderers, i));
83
+ const children = childElements ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, { children: childElements }) : null;
84
+ const customRenderer = renderers.nodes?.[node.type];
85
+ if (customRenderer) {
86
+ return customRenderer(node, children);
87
+ }
88
+ const defaultRenderer = DEFAULT_RENDERERS[node.type];
89
+ if (defaultRenderer) {
90
+ return defaultRenderer(node, children);
91
+ }
92
+ return children;
93
+ }
94
+ function ContentstackRichText({
95
+ document,
96
+ renderers = EMPTY_RENDERERS,
97
+ fallback = null,
98
+ className
99
+ }) {
100
+ if (!document) {
101
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, { children: fallback });
102
+ }
103
+ const children = document.children?.map((child, i) => renderNode(child, renderers, i));
104
+ if (className) {
105
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className, children });
106
+ }
107
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, { children });
108
+ }
109
+ // Annotate the CommonJS export names for ESM import in node:
110
+ 0 && (module.exports = {
111
+ ContentstackRichText
112
+ });
113
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/react/content/index.ts","../../../src/react/content/ContentstackRichText.tsx"],"sourcesContent":["export {\n ContentstackRichText,\n type ContentstackRichTextProps,\n type RichTextNodeRenderer,\n type RichTextRenderers,\n} from \"./ContentstackRichText\"\n","import type { ReactNode } from \"react\"\nimport type { RTEDocNode, RTENode, RTETextNode } from \"../../index.js\"\n\nexport type RichTextNodeRenderer = (node: RTENode, children: ReactNode) => ReactNode\n\nexport interface RichTextRenderers {\n /** Override rendering for specific node types */\n nodes?: Partial<Record<string, RichTextNodeRenderer>>\n /** Render entry references */\n renderEntry?: (attrs: Record<string, unknown>, node: RTENode) => ReactNode\n /** Render asset references */\n renderAsset?: (attrs: Record<string, unknown>, node: RTENode) => ReactNode\n}\n\nexport interface ContentstackRichTextProps {\n /** The RTE document node from a CDA or CMA response */\n document: RTEDocNode | null | undefined\n /** Custom renderers for node types, entries, and assets */\n renderers?: RichTextRenderers\n /** Fallback content when document is null/undefined */\n fallback?: ReactNode\n /** CSS class applied to the wrapper div */\n className?: string\n}\n\n/** Hoisted empty object to avoid new reference on every render (rerender-memo-with-default-value) */\nconst EMPTY_RENDERERS: RichTextRenderers = {}\n\nfunction isTextNode(node: RTENode | RTETextNode): node is RTETextNode {\n return \"text\" in node\n}\n\nfunction renderTextNode(node: RTETextNode, index: number): ReactNode {\n let content: ReactNode = node.text\n\n if (!content) return null\n\n if (node.bold) content = <strong key={`mark-b-${index}`}>{content}</strong>\n if (node.italic) content = <em key={`mark-i-${index}`}>{content}</em>\n if (node.underline) content = <u key={`mark-u-${index}`}>{content}</u>\n if (node.strikethrough) content = <s key={`mark-s-${index}`}>{content}</s>\n if (node.code) content = <code key={`mark-c-${index}`}>{content}</code>\n if (node.superscript) content = <sup key={`mark-sup-${index}`}>{content}</sup>\n if (node.subscript) content = <sub key={`mark-sub-${index}`}>{content}</sub>\n\n return content\n}\n\nconst DEFAULT_RENDERERS: Record<string, (node: RTENode, children: ReactNode) => ReactNode> = {\n doc: (_node, children) => <>{children}</>,\n p: (node, children) => <p key={node.uid}>{children}</p>,\n h1: (node, children) => <h1 key={node.uid}>{children}</h1>,\n h2: (node, children) => <h2 key={node.uid}>{children}</h2>,\n h3: (node, children) => <h3 key={node.uid}>{children}</h3>,\n h4: (node, children) => <h4 key={node.uid}>{children}</h4>,\n h5: (node, children) => <h5 key={node.uid}>{children}</h5>,\n h6: (node, children) => <h6 key={node.uid}>{children}</h6>,\n blockquote: (node, children) => <blockquote key={node.uid}>{children}</blockquote>,\n ol: (node, children) => <ol key={node.uid}>{children}</ol>,\n ul: (node, children) => <ul key={node.uid}>{children}</ul>,\n li: (node, children) => <li key={node.uid}>{children}</li>,\n hr: (node) => <hr key={node.uid} />,\n img: (node) => (\n <img key={node.uid} src={node.attrs?.src as string} alt={(node.attrs?.alt as string) ?? \"\"} />\n ),\n a: (node, children) => (\n <a key={node.uid} href={node.attrs?.href as string} target={node.attrs?.target as string}>\n {children}\n </a>\n ),\n code: (node, children) => (\n <pre key={node.uid}>\n <code>{children}</code>\n </pre>\n ),\n table: (node, children) => <table key={node.uid}>{children}</table>,\n thead: (node, children) => <thead key={node.uid}>{children}</thead>,\n tbody: (node, children) => <tbody key={node.uid}>{children}</tbody>,\n tr: (node, children) => <tr key={node.uid}>{children}</tr>,\n th: (node, children) => <th key={node.uid}>{children}</th>,\n td: (node, children) => <td key={node.uid}>{children}</td>,\n}\n\nfunction renderNode(\n node: RTENode | RTETextNode,\n renderers: RichTextRenderers,\n index: number,\n): ReactNode {\n if (isTextNode(node)) {\n return renderTextNode(node, index)\n }\n\n // Handle reference nodes\n if (node.type === \"reference\" && node.attrs) {\n if (node.attrs.type === \"entry\" && renderers.renderEntry) {\n return renderers.renderEntry(node.attrs, node)\n }\n if (node.attrs.type === \"asset\" && renderers.renderAsset) {\n return renderers.renderAsset(node.attrs, node)\n }\n return null\n }\n\n // Render children recursively\n const childElements = node.children?.map((child, i) => renderNode(child, renderers, i))\n const children: ReactNode = childElements ? <>{childElements}</> : null\n\n // Check for custom renderer\n const customRenderer = renderers.nodes?.[node.type]\n if (customRenderer) {\n return customRenderer(node, children)\n }\n\n // Fall back to defaults\n const defaultRenderer = DEFAULT_RENDERERS[node.type]\n if (defaultRenderer) {\n return defaultRenderer(node, children)\n }\n\n // Unknown node type: render children only\n return children\n}\n\nexport function ContentstackRichText({\n document,\n renderers = EMPTY_RENDERERS,\n fallback = null,\n className,\n}: ContentstackRichTextProps): React.JSX.Element {\n if (!document) {\n return <>{fallback}</>\n }\n\n const children = document.children?.map((child, i) => renderNode(child, renderers, i))\n\n if (className) {\n return <div className={className}>{children}</div>\n }\n\n return <>{children}</>\n}\n"],"mappings":"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","names":[]}
@@ -0,0 +1,25 @@
1
+ import { ReactNode } from 'react';
2
+ import { R as RTEDocNode, a as RTENode } from '../../types-AelT0rFJ.cjs';
3
+
4
+ type RichTextNodeRenderer = (node: RTENode, children: ReactNode) => ReactNode;
5
+ interface RichTextRenderers {
6
+ /** Override rendering for specific node types */
7
+ nodes?: Partial<Record<string, RichTextNodeRenderer>>;
8
+ /** Render entry references */
9
+ renderEntry?: (attrs: Record<string, unknown>, node: RTENode) => ReactNode;
10
+ /** Render asset references */
11
+ renderAsset?: (attrs: Record<string, unknown>, node: RTENode) => ReactNode;
12
+ }
13
+ interface ContentstackRichTextProps {
14
+ /** The RTE document node from a CDA or CMA response */
15
+ document: RTEDocNode | null | undefined;
16
+ /** Custom renderers for node types, entries, and assets */
17
+ renderers?: RichTextRenderers;
18
+ /** Fallback content when document is null/undefined */
19
+ fallback?: ReactNode;
20
+ /** CSS class applied to the wrapper div */
21
+ className?: string;
22
+ }
23
+ declare function ContentstackRichText({ document, renderers, fallback, className, }: ContentstackRichTextProps): React.JSX.Element;
24
+
25
+ export { ContentstackRichText, type ContentstackRichTextProps, type RichTextNodeRenderer, type RichTextRenderers };
@@ -0,0 +1,25 @@
1
+ import { ReactNode } from 'react';
2
+ import { R as RTEDocNode, a as RTENode } from '../../types-AelT0rFJ.js';
3
+
4
+ type RichTextNodeRenderer = (node: RTENode, children: ReactNode) => ReactNode;
5
+ interface RichTextRenderers {
6
+ /** Override rendering for specific node types */
7
+ nodes?: Partial<Record<string, RichTextNodeRenderer>>;
8
+ /** Render entry references */
9
+ renderEntry?: (attrs: Record<string, unknown>, node: RTENode) => ReactNode;
10
+ /** Render asset references */
11
+ renderAsset?: (attrs: Record<string, unknown>, node: RTENode) => ReactNode;
12
+ }
13
+ interface ContentstackRichTextProps {
14
+ /** The RTE document node from a CDA or CMA response */
15
+ document: RTEDocNode | null | undefined;
16
+ /** Custom renderers for node types, entries, and assets */
17
+ renderers?: RichTextRenderers;
18
+ /** Fallback content when document is null/undefined */
19
+ fallback?: ReactNode;
20
+ /** CSS class applied to the wrapper div */
21
+ className?: string;
22
+ }
23
+ declare function ContentstackRichText({ document, renderers, fallback, className, }: ContentstackRichTextProps): React.JSX.Element;
24
+
25
+ export { ContentstackRichText, type ContentstackRichTextProps, type RichTextNodeRenderer, type RichTextRenderers };
@@ -0,0 +1,7 @@
1
+ import {
2
+ ContentstackRichText
3
+ } from "../../chunk-GOSB24M6.mjs";
4
+ export {
5
+ ContentstackRichText
6
+ };
7
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}