@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.
- package/dist/auth/index.cjs +607 -0
- package/dist/auth/index.cjs.map +1 -0
- package/dist/auth/index.d.cts +108 -0
- package/dist/auth/index.d.ts +108 -0
- package/dist/auth/index.mjs +25 -0
- package/dist/auth/index.mjs.map +1 -0
- package/dist/brandkit/index.cjs +525 -0
- package/dist/brandkit/index.cjs.map +1 -0
- package/dist/brandkit/index.d.cts +95 -0
- package/dist/brandkit/index.d.ts +95 -0
- package/dist/brandkit/index.mjs +11 -0
- package/dist/brandkit/index.mjs.map +1 -0
- package/dist/chunk-3C6J2BDB.mjs +84 -0
- package/dist/chunk-3C6J2BDB.mjs.map +1 -0
- package/dist/chunk-3KE63N3I.mjs +64 -0
- package/dist/chunk-3KE63N3I.mjs.map +1 -0
- package/dist/chunk-4CJ4IVPJ.mjs +212 -0
- package/dist/chunk-4CJ4IVPJ.mjs.map +1 -0
- package/dist/chunk-4JFUI7MJ.mjs +368 -0
- package/dist/chunk-4JFUI7MJ.mjs.map +1 -0
- package/dist/chunk-7VFGD32I.mjs +26 -0
- package/dist/chunk-7VFGD32I.mjs.map +1 -0
- package/dist/chunk-ARPJDW3A.mjs +44 -0
- package/dist/chunk-ARPJDW3A.mjs.map +1 -0
- package/dist/chunk-AVJHCFRK.mjs +52 -0
- package/dist/chunk-AVJHCFRK.mjs.map +1 -0
- package/dist/chunk-BK2IBTQS.mjs +131 -0
- package/dist/chunk-BK2IBTQS.mjs.map +1 -0
- package/dist/chunk-BUZ6CQHE.mjs +75 -0
- package/dist/chunk-BUZ6CQHE.mjs.map +1 -0
- package/dist/chunk-CKMAOWBQ.mjs +379 -0
- package/dist/chunk-CKMAOWBQ.mjs.map +1 -0
- package/dist/chunk-DJQLN4TR.mjs +1 -0
- package/dist/chunk-DJQLN4TR.mjs.map +1 -0
- package/dist/chunk-DMERADWM.mjs +67 -0
- package/dist/chunk-DMERADWM.mjs.map +1 -0
- package/dist/chunk-EREPKWTW.mjs +926 -0
- package/dist/chunk-EREPKWTW.mjs.map +1 -0
- package/dist/chunk-FQP4PB5X.mjs +88 -0
- package/dist/chunk-FQP4PB5X.mjs.map +1 -0
- package/dist/chunk-GNPQJBFX.mjs +144 -0
- package/dist/chunk-GNPQJBFX.mjs.map +1 -0
- package/dist/chunk-GOSB24M6.mjs +87 -0
- package/dist/chunk-GOSB24M6.mjs.map +1 -0
- package/dist/chunk-JL2E3EOT.mjs +255 -0
- package/dist/chunk-JL2E3EOT.mjs.map +1 -0
- package/dist/chunk-JYGZBKTH.mjs +222 -0
- package/dist/chunk-JYGZBKTH.mjs.map +1 -0
- package/dist/chunk-JZE2W7VW.mjs +52 -0
- package/dist/chunk-JZE2W7VW.mjs.map +1 -0
- package/dist/chunk-K76DKSHJ.mjs +18 -0
- package/dist/chunk-K76DKSHJ.mjs.map +1 -0
- package/dist/chunk-KLVIROVU.mjs +232 -0
- package/dist/chunk-KLVIROVU.mjs.map +1 -0
- package/dist/chunk-LPVVA5J3.mjs +18 -0
- package/dist/chunk-LPVVA5J3.mjs.map +1 -0
- package/dist/chunk-NKLOZ5VI.mjs +112 -0
- package/dist/chunk-NKLOZ5VI.mjs.map +1 -0
- package/dist/chunk-QGA4WBDC.mjs +7 -0
- package/dist/chunk-QGA4WBDC.mjs.map +1 -0
- package/dist/chunk-QW7TVYOA.mjs +56 -0
- package/dist/chunk-QW7TVYOA.mjs.map +1 -0
- package/dist/chunk-SU5QEKYW.mjs +83 -0
- package/dist/chunk-SU5QEKYW.mjs.map +1 -0
- package/dist/chunk-T5A2E2RI.mjs +654 -0
- package/dist/chunk-T5A2E2RI.mjs.map +1 -0
- package/dist/chunk-T5OIJQK7.mjs +116 -0
- package/dist/chunk-T5OIJQK7.mjs.map +1 -0
- package/dist/chunk-VW7DD6HV.mjs +253 -0
- package/dist/chunk-VW7DD6HV.mjs.map +1 -0
- package/dist/chunk-XH7NLHGW.mjs +133 -0
- package/dist/chunk-XH7NLHGW.mjs.map +1 -0
- package/dist/client-DJ5haQGd.d.cts +22 -0
- package/dist/client-DwVGVSQz.d.ts +22 -0
- package/dist/cma/index.cjs +1349 -0
- package/dist/cma/index.cjs.map +1 -0
- package/dist/cma/index.d.cts +22 -0
- package/dist/cma/index.d.ts +22 -0
- package/dist/cma/index.mjs +70 -0
- package/dist/cma/index.mjs.map +1 -0
- package/dist/errors-CAw-IRCP.d.cts +65 -0
- package/dist/errors-CAw-IRCP.d.ts +65 -0
- package/dist/generative-ai/index.cjs +401 -0
- package/dist/generative-ai/index.cjs.map +1 -0
- package/dist/generative-ai/index.d.cts +31 -0
- package/dist/generative-ai/index.d.ts +31 -0
- package/dist/generative-ai/index.mjs +10 -0
- package/dist/generative-ai/index.mjs.map +1 -0
- package/dist/images/index.cjs +185 -0
- package/dist/images/index.cjs.map +1 -0
- package/dist/images/index.d.cts +27 -0
- package/dist/images/index.d.ts +27 -0
- package/dist/images/index.mjs +8 -0
- package/dist/images/index.mjs.map +1 -0
- package/dist/index.cjs +2909 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +30 -0
- package/dist/index.d.ts +30 -0
- package/dist/index.mjs +153 -0
- package/dist/index.mjs.map +1 -0
- package/dist/knowledge-vault/index.cjs +413 -0
- package/dist/knowledge-vault/index.cjs.map +1 -0
- package/dist/knowledge-vault/index.d.cts +49 -0
- package/dist/knowledge-vault/index.d.ts +49 -0
- package/dist/knowledge-vault/index.mjs +10 -0
- package/dist/knowledge-vault/index.mjs.map +1 -0
- package/dist/launch/index.cjs +624 -0
- package/dist/launch/index.cjs.map +1 -0
- package/dist/launch/index.d.cts +169 -0
- package/dist/launch/index.d.ts +169 -0
- package/dist/launch/index.mjs +11 -0
- package/dist/launch/index.mjs.map +1 -0
- package/dist/react/auth/index.cjs +113 -0
- package/dist/react/auth/index.cjs.map +1 -0
- package/dist/react/auth/index.d.cts +33 -0
- package/dist/react/auth/index.d.ts +33 -0
- package/dist/react/auth/index.mjs +13 -0
- package/dist/react/auth/index.mjs.map +1 -0
- package/dist/react/content/index.cjs +113 -0
- package/dist/react/content/index.cjs.map +1 -0
- package/dist/react/content/index.d.cts +25 -0
- package/dist/react/content/index.d.ts +25 -0
- package/dist/react/content/index.mjs +7 -0
- package/dist/react/content/index.mjs.map +1 -0
- package/dist/react/hooks/index.cjs +2097 -0
- package/dist/react/hooks/index.cjs.map +1 -0
- package/dist/react/hooks/index.d.cts +77 -0
- package/dist/react/hooks/index.d.ts +77 -0
- package/dist/react/hooks/index.mjs +46 -0
- package/dist/react/hooks/index.mjs.map +1 -0
- package/dist/react/index.cjs +2307 -0
- package/dist/react/index.cjs.map +1 -0
- package/dist/react/index.d.cts +16 -0
- package/dist/react/index.d.ts +16 -0
- package/dist/react/index.mjs +67 -0
- package/dist/react/index.mjs.map +1 -0
- package/dist/react/provider/index.cjs +83 -0
- package/dist/react/provider/index.cjs.map +1 -0
- package/dist/react/provider/index.d.cts +30 -0
- package/dist/react/provider/index.d.ts +30 -0
- package/dist/react/provider/index.mjs +11 -0
- package/dist/react/provider/index.mjs.map +1 -0
- package/dist/regions/index.cjs +171 -0
- package/dist/regions/index.cjs.map +1 -0
- package/dist/regions/index.d.cts +55 -0
- package/dist/regions/index.d.ts +55 -0
- package/dist/regions/index.mjs +13 -0
- package/dist/regions/index.mjs.map +1 -0
- package/dist/request-builders-BxeolQIw.d.ts +735 -0
- package/dist/request-builders-C2IG1LUo.d.cts +735 -0
- package/dist/rte/index.cjs +683 -0
- package/dist/rte/index.cjs.map +1 -0
- package/dist/rte/index.d.cts +33 -0
- package/dist/rte/index.d.ts +33 -0
- package/dist/rte/index.mjs +17 -0
- package/dist/rte/index.mjs.map +1 -0
- package/dist/server/index.cjs +917 -0
- package/dist/server/index.cjs.map +1 -0
- package/dist/server/index.d.cts +6 -0
- package/dist/server/index.d.ts +6 -0
- package/dist/server/index.mjs +45 -0
- package/dist/server/index.mjs.map +1 -0
- package/dist/server/middleware/index.cjs +614 -0
- package/dist/server/middleware/index.cjs.map +1 -0
- package/dist/server/middleware/index.d.cts +77 -0
- package/dist/server/middleware/index.d.ts +77 -0
- package/dist/server/middleware/index.mjs +27 -0
- package/dist/server/middleware/index.mjs.map +1 -0
- package/dist/server/proxy/index.cjs +329 -0
- package/dist/server/proxy/index.cjs.map +1 -0
- package/dist/server/proxy/index.d.cts +143 -0
- package/dist/server/proxy/index.d.ts +143 -0
- package/dist/server/proxy/index.mjs +29 -0
- package/dist/server/proxy/index.mjs.map +1 -0
- package/dist/server/webhooks/index.cjs +131 -0
- package/dist/server/webhooks/index.cjs.map +1 -0
- package/dist/server/webhooks/index.d.cts +230 -0
- package/dist/server/webhooks/index.d.ts +230 -0
- package/dist/server/webhooks/index.mjs +23 -0
- package/dist/server/webhooks/index.mjs.map +1 -0
- package/dist/types-6D9VR7pT.d.cts +26 -0
- package/dist/types-AelT0rFJ.d.cts +21 -0
- package/dist/types-AelT0rFJ.d.ts +21 -0
- package/dist/types-Bu5yCgmw.d.ts +26 -0
- package/dist/types-DgixK-ll.d.cts +23 -0
- package/dist/types-DgixK-ll.d.ts +23 -0
- package/dist/types-DrMwdlH9.d.cts +245 -0
- package/dist/types-DrMwdlH9.d.ts +245 -0
- package/dist/ui/css/index.cjs +31 -0
- package/dist/ui/css/index.cjs.map +1 -0
- package/dist/ui/css/index.d.cts +15 -0
- package/dist/ui/css/index.d.ts +15 -0
- package/dist/ui/css/index.mjs +7 -0
- package/dist/ui/css/index.mjs.map +1 -0
- package/dist/ui/index.cjs +368 -0
- package/dist/ui/index.cjs.map +1 -0
- package/dist/ui/index.d.cts +4 -0
- package/dist/ui/index.d.ts +4 -0
- package/dist/ui/index.mjs +33 -0
- package/dist/ui/index.mjs.map +1 -0
- package/dist/ui/theme/index.cjs +105 -0
- package/dist/ui/theme/index.cjs.map +1 -0
- package/dist/ui/theme/index.d.cts +33 -0
- package/dist/ui/theme/index.d.ts +33 -0
- package/dist/ui/theme/index.mjs +15 -0
- package/dist/ui/theme/index.mjs.map +1 -0
- package/dist/ui/tokens/index.cjs +286 -0
- package/dist/ui/tokens/index.cjs.map +1 -0
- package/dist/ui/tokens/index.d.cts +54 -0
- package/dist/ui/tokens/index.d.ts +54 -0
- package/dist/ui/tokens/index.mjs +17 -0
- package/dist/ui/tokens/index.mjs.map +1 -0
- package/dist/ui/tokens.css +408 -0
- package/dist/vue/auth/index.cjs +141 -0
- package/dist/vue/auth/index.cjs.map +1 -0
- package/dist/vue/auth/index.d.cts +78 -0
- package/dist/vue/auth/index.d.ts +78 -0
- package/dist/vue/auth/index.mjs +13 -0
- package/dist/vue/auth/index.mjs.map +1 -0
- package/dist/vue/composables/index.cjs +2108 -0
- package/dist/vue/composables/index.cjs.map +1 -0
- package/dist/vue/composables/index.d.cts +78 -0
- package/dist/vue/composables/index.d.ts +78 -0
- package/dist/vue/composables/index.mjs +46 -0
- package/dist/vue/composables/index.mjs.map +1 -0
- package/dist/vue/content/index.cjs +142 -0
- package/dist/vue/content/index.cjs.map +1 -0
- package/dist/vue/content/index.d.cts +47 -0
- package/dist/vue/content/index.d.ts +47 -0
- package/dist/vue/content/index.mjs +7 -0
- package/dist/vue/content/index.mjs.map +1 -0
- package/dist/vue/index.cjs +2389 -0
- package/dist/vue/index.cjs.map +1 -0
- package/dist/vue/index.d.cts +16 -0
- package/dist/vue/index.d.ts +16 -0
- package/dist/vue/index.mjs +69 -0
- package/dist/vue/index.mjs.map +1 -0
- package/dist/vue/provider/index.cjs +97 -0
- package/dist/vue/provider/index.cjs.map +1 -0
- package/dist/vue/provider/index.d.cts +90 -0
- package/dist/vue/provider/index.d.ts +90 -0
- package/dist/vue/provider/index.mjs +13 -0
- package/dist/vue/provider/index.mjs.map +1 -0
- package/package.json +195 -0
|
@@ -0,0 +1,142 @@
|
|
|
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/vue/content/index.ts
|
|
21
|
+
var content_exports = {};
|
|
22
|
+
__export(content_exports, {
|
|
23
|
+
ContentstackRichText: () => ContentstackRichText
|
|
24
|
+
});
|
|
25
|
+
module.exports = __toCommonJS(content_exports);
|
|
26
|
+
|
|
27
|
+
// src/vue/content/ContentstackRichText.ts
|
|
28
|
+
var import_vue = require("vue");
|
|
29
|
+
var EMPTY_RENDERERS = {};
|
|
30
|
+
function isTextNode(node) {
|
|
31
|
+
return "text" in node;
|
|
32
|
+
}
|
|
33
|
+
function renderTextNode(node, index) {
|
|
34
|
+
if (!node.text) return null;
|
|
35
|
+
let content = node.text;
|
|
36
|
+
if (node.bold) content = (0, import_vue.h)("strong", { key: `mark-b-${index}` }, content);
|
|
37
|
+
if (node.italic) content = (0, import_vue.h)("em", { key: `mark-i-${index}` }, content);
|
|
38
|
+
if (node.underline) content = (0, import_vue.h)("u", { key: `mark-u-${index}` }, content);
|
|
39
|
+
if (node.strikethrough) content = (0, import_vue.h)("s", { key: `mark-s-${index}` }, content);
|
|
40
|
+
if (node.code) content = (0, import_vue.h)("code", { key: `mark-c-${index}` }, content);
|
|
41
|
+
if (node.superscript) content = (0, import_vue.h)("sup", { key: `mark-sup-${index}` }, content);
|
|
42
|
+
if (node.subscript) content = (0, import_vue.h)("sub", { key: `mark-sub-${index}` }, content);
|
|
43
|
+
return content;
|
|
44
|
+
}
|
|
45
|
+
var DEFAULT_RENDERERS = {
|
|
46
|
+
doc: (_node, children) => (0, import_vue.h)("div", { style: "display:contents" }, children),
|
|
47
|
+
p: (node, children) => (0, import_vue.h)("p", { key: node.uid }, children),
|
|
48
|
+
h1: (node, children) => (0, import_vue.h)("h1", { key: node.uid }, children),
|
|
49
|
+
h2: (node, children) => (0, import_vue.h)("h2", { key: node.uid }, children),
|
|
50
|
+
h3: (node, children) => (0, import_vue.h)("h3", { key: node.uid }, children),
|
|
51
|
+
h4: (node, children) => (0, import_vue.h)("h4", { key: node.uid }, children),
|
|
52
|
+
h5: (node, children) => (0, import_vue.h)("h5", { key: node.uid }, children),
|
|
53
|
+
h6: (node, children) => (0, import_vue.h)("h6", { key: node.uid }, children),
|
|
54
|
+
blockquote: (node, children) => (0, import_vue.h)("blockquote", { key: node.uid }, children),
|
|
55
|
+
ol: (node, children) => (0, import_vue.h)("ol", { key: node.uid }, children),
|
|
56
|
+
ul: (node, children) => (0, import_vue.h)("ul", { key: node.uid }, children),
|
|
57
|
+
li: (node, children) => (0, import_vue.h)("li", { key: node.uid }, children),
|
|
58
|
+
hr: (node) => (0, import_vue.h)("hr", { key: node.uid }),
|
|
59
|
+
img: (node) => (0, import_vue.h)("img", {
|
|
60
|
+
key: node.uid,
|
|
61
|
+
src: node.attrs?.src,
|
|
62
|
+
alt: node.attrs?.alt ?? ""
|
|
63
|
+
}),
|
|
64
|
+
a: (node, children) => (0, import_vue.h)(
|
|
65
|
+
"a",
|
|
66
|
+
{
|
|
67
|
+
key: node.uid,
|
|
68
|
+
href: node.attrs?.href,
|
|
69
|
+
target: node.attrs?.target
|
|
70
|
+
},
|
|
71
|
+
children
|
|
72
|
+
),
|
|
73
|
+
code: (node, children) => (0, import_vue.h)("pre", { key: node.uid }, [(0, import_vue.h)("code", null, children)]),
|
|
74
|
+
table: (node, children) => (0, import_vue.h)("table", { key: node.uid }, children),
|
|
75
|
+
thead: (node, children) => (0, import_vue.h)("thead", { key: node.uid }, children),
|
|
76
|
+
tbody: (node, children) => (0, import_vue.h)("tbody", { key: node.uid }, children),
|
|
77
|
+
tr: (node, children) => (0, import_vue.h)("tr", { key: node.uid }, children),
|
|
78
|
+
th: (node, children) => (0, import_vue.h)("th", { key: node.uid }, children),
|
|
79
|
+
td: (node, children) => (0, import_vue.h)("td", { key: node.uid }, children)
|
|
80
|
+
};
|
|
81
|
+
function renderNode(node, renderers, index) {
|
|
82
|
+
if (isTextNode(node)) {
|
|
83
|
+
return renderTextNode(node, index);
|
|
84
|
+
}
|
|
85
|
+
if (node.type === "reference" && node.attrs) {
|
|
86
|
+
if (node.attrs.type === "entry" && renderers.renderEntry) {
|
|
87
|
+
return renderers.renderEntry(node.attrs, node);
|
|
88
|
+
}
|
|
89
|
+
if (node.attrs.type === "asset" && renderers.renderAsset) {
|
|
90
|
+
return renderers.renderAsset(node.attrs, node);
|
|
91
|
+
}
|
|
92
|
+
return null;
|
|
93
|
+
}
|
|
94
|
+
const childElements = node.children?.map((child, i) => renderNode(child, renderers, i)) ?? [];
|
|
95
|
+
const children = childElements.filter((c) => c !== null);
|
|
96
|
+
const customRenderer = renderers.nodes?.[node.type];
|
|
97
|
+
if (customRenderer) {
|
|
98
|
+
return customRenderer(node, children);
|
|
99
|
+
}
|
|
100
|
+
const defaultRenderer = DEFAULT_RENDERERS[node.type];
|
|
101
|
+
if (defaultRenderer) {
|
|
102
|
+
return defaultRenderer(node, children);
|
|
103
|
+
}
|
|
104
|
+
return children.length > 0 ? (0, import_vue.h)("span", null, children) : null;
|
|
105
|
+
}
|
|
106
|
+
var ContentstackRichText = (0, import_vue.defineComponent)({
|
|
107
|
+
name: "ContentstackRichText",
|
|
108
|
+
props: {
|
|
109
|
+
document: {
|
|
110
|
+
type: Object,
|
|
111
|
+
default: void 0
|
|
112
|
+
},
|
|
113
|
+
renderers: {
|
|
114
|
+
type: Object,
|
|
115
|
+
default: () => EMPTY_RENDERERS
|
|
116
|
+
},
|
|
117
|
+
class: {
|
|
118
|
+
type: String,
|
|
119
|
+
default: void 0
|
|
120
|
+
}
|
|
121
|
+
},
|
|
122
|
+
setup(props, { slots }) {
|
|
123
|
+
return () => {
|
|
124
|
+
if (!props.document) {
|
|
125
|
+
return slots.fallback?.() ?? null;
|
|
126
|
+
}
|
|
127
|
+
const children = props.document.children?.map(
|
|
128
|
+
(child, i) => renderNode(child, props.renderers ?? EMPTY_RENDERERS, i)
|
|
129
|
+
) ?? [];
|
|
130
|
+
const filtered = children.filter((c) => c !== null);
|
|
131
|
+
if (props.class) {
|
|
132
|
+
return (0, import_vue.h)("div", { class: props.class }, filtered);
|
|
133
|
+
}
|
|
134
|
+
return filtered.length > 0 ? (0, import_vue.h)("div", { style: "display:contents" }, filtered) : null;
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
});
|
|
138
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
139
|
+
0 && (module.exports = {
|
|
140
|
+
ContentstackRichText
|
|
141
|
+
});
|
|
142
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/vue/content/index.ts","../../../src/vue/content/ContentstackRichText.ts"],"sourcesContent":["export {\n ContentstackRichText,\n type RichTextNodeRenderer,\n type RichTextRenderers,\n} from \"./ContentstackRichText\"\n","import { type PropType, type VNode, defineComponent, h } from \"vue\"\nimport type { RTEDocNode, RTENode, RTETextNode } from \"../../index.js\"\n\nexport type RichTextNodeRenderer = (node: RTENode, children: VNode[]) => VNode | null\n\nexport interface RichTextRenderers {\n nodes?: Partial<Record<string, RichTextNodeRenderer>>\n renderEntry?: (attrs: Record<string, unknown>, node: RTENode) => VNode | null\n renderAsset?: (attrs: Record<string, unknown>, node: RTENode) => VNode | null\n}\n\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): VNode | string | null {\n if (!node.text) return null\n let content: VNode | string = node.text\n\n if (node.bold) content = h(\"strong\", { key: `mark-b-${index}` }, content)\n if (node.italic) content = h(\"em\", { key: `mark-i-${index}` }, content)\n if (node.underline) content = h(\"u\", { key: `mark-u-${index}` }, content)\n if (node.strikethrough) content = h(\"s\", { key: `mark-s-${index}` }, content)\n if (node.code) content = h(\"code\", { key: `mark-c-${index}` }, content)\n if (node.superscript) content = h(\"sup\", { key: `mark-sup-${index}` }, content)\n if (node.subscript) content = h(\"sub\", { key: `mark-sub-${index}` }, content)\n\n return content\n}\n\nconst DEFAULT_RENDERERS: Record<string, (node: RTENode, children: VNode[]) => VNode> = {\n doc: (_node, children) => h(\"div\", { style: \"display:contents\" }, children),\n p: (node, children) => h(\"p\", { key: node.uid }, children),\n h1: (node, children) => h(\"h1\", { key: node.uid }, children),\n h2: (node, children) => h(\"h2\", { key: node.uid }, children),\n h3: (node, children) => h(\"h3\", { key: node.uid }, children),\n h4: (node, children) => h(\"h4\", { key: node.uid }, children),\n h5: (node, children) => h(\"h5\", { key: node.uid }, children),\n h6: (node, children) => h(\"h6\", { key: node.uid }, children),\n blockquote: (node, children) => h(\"blockquote\", { key: node.uid }, children),\n ol: (node, children) => h(\"ol\", { key: node.uid }, children),\n ul: (node, children) => h(\"ul\", { key: node.uid }, children),\n li: (node, children) => h(\"li\", { key: node.uid }, children),\n hr: (node) => h(\"hr\", { key: node.uid }),\n img: (node) =>\n h(\"img\", {\n key: node.uid,\n src: node.attrs?.src as string,\n alt: (node.attrs?.alt as string) ?? \"\",\n }),\n a: (node, children) =>\n h(\n \"a\",\n {\n key: node.uid,\n href: node.attrs?.href as string,\n target: node.attrs?.target as string,\n },\n children,\n ),\n code: (node, children) => h(\"pre\", { key: node.uid }, [h(\"code\", null, children)]),\n table: (node, children) => h(\"table\", { key: node.uid }, children),\n thead: (node, children) => h(\"thead\", { key: node.uid }, children),\n tbody: (node, children) => h(\"tbody\", { key: node.uid }, children),\n tr: (node, children) => h(\"tr\", { key: node.uid }, children),\n th: (node, children) => h(\"th\", { key: node.uid }, children),\n td: (node, children) => h(\"td\", { key: node.uid }, children),\n}\n\nfunction renderNode(\n node: RTENode | RTETextNode,\n renderers: RichTextRenderers,\n index: number,\n): VNode | string | null {\n if (isTextNode(node)) {\n return renderTextNode(node, index)\n }\n\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 const childElements = node.children?.map((child, i) => renderNode(child, renderers, i)) ?? []\n const children = childElements.filter((c): c is VNode | string => c !== null)\n\n const customRenderer = renderers.nodes?.[node.type]\n if (customRenderer) {\n return customRenderer(node, children as VNode[])\n }\n\n const defaultRenderer = DEFAULT_RENDERERS[node.type]\n if (defaultRenderer) {\n return defaultRenderer(node, children as VNode[])\n }\n\n return children.length > 0 ? h(\"span\", null, children) : null\n}\n\nexport const ContentstackRichText = defineComponent({\n name: \"ContentstackRichText\",\n props: {\n document: {\n type: Object as PropType<RTEDocNode | null | undefined>,\n default: undefined,\n },\n renderers: {\n type: Object as PropType<RichTextRenderers>,\n default: () => EMPTY_RENDERERS,\n },\n class: {\n type: String,\n default: undefined,\n },\n },\n setup(props, { slots }) {\n return () => {\n if (!props.document) {\n return slots.fallback?.() ?? null\n }\n\n const children =\n props.document.children?.map((child, i) =>\n renderNode(child, props.renderers ?? EMPTY_RENDERERS, i),\n ) ?? []\n const filtered = children.filter((c): c is VNode | string => c !== null)\n\n if (props.class) {\n return h(\"div\", { class: props.class }, filtered)\n }\n\n return filtered.length > 0 ? h(\"div\", { style: \"display:contents\" }, filtered) : null\n }\n },\n})\n"],"mappings":"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","names":[]}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import * as vue from 'vue';
|
|
2
|
+
import { PropType, VNode } from 'vue';
|
|
3
|
+
import { R as RTEDocNode, a as RTENode } from '../../types-AelT0rFJ.cjs';
|
|
4
|
+
|
|
5
|
+
type RichTextNodeRenderer = (node: RTENode, children: VNode[]) => VNode | null;
|
|
6
|
+
interface RichTextRenderers {
|
|
7
|
+
nodes?: Partial<Record<string, RichTextNodeRenderer>>;
|
|
8
|
+
renderEntry?: (attrs: Record<string, unknown>, node: RTENode) => VNode | null;
|
|
9
|
+
renderAsset?: (attrs: Record<string, unknown>, node: RTENode) => VNode | null;
|
|
10
|
+
}
|
|
11
|
+
declare const ContentstackRichText: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
12
|
+
document: {
|
|
13
|
+
type: PropType<RTEDocNode | null | undefined>;
|
|
14
|
+
default: undefined;
|
|
15
|
+
};
|
|
16
|
+
renderers: {
|
|
17
|
+
type: PropType<RichTextRenderers>;
|
|
18
|
+
default: () => RichTextRenderers;
|
|
19
|
+
};
|
|
20
|
+
class: {
|
|
21
|
+
type: StringConstructor;
|
|
22
|
+
default: undefined;
|
|
23
|
+
};
|
|
24
|
+
}>, () => VNode<vue.RendererNode, vue.RendererElement, {
|
|
25
|
+
[key: string]: any;
|
|
26
|
+
}> | VNode<vue.RendererNode, vue.RendererElement, {
|
|
27
|
+
[key: string]: any;
|
|
28
|
+
}>[] | null, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<vue.ExtractPropTypes<{
|
|
29
|
+
document: {
|
|
30
|
+
type: PropType<RTEDocNode | null | undefined>;
|
|
31
|
+
default: undefined;
|
|
32
|
+
};
|
|
33
|
+
renderers: {
|
|
34
|
+
type: PropType<RichTextRenderers>;
|
|
35
|
+
default: () => RichTextRenderers;
|
|
36
|
+
};
|
|
37
|
+
class: {
|
|
38
|
+
type: StringConstructor;
|
|
39
|
+
default: undefined;
|
|
40
|
+
};
|
|
41
|
+
}>> & Readonly<{}>, {
|
|
42
|
+
class: string;
|
|
43
|
+
document: RTEDocNode | null | undefined;
|
|
44
|
+
renderers: RichTextRenderers;
|
|
45
|
+
}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
|
|
46
|
+
|
|
47
|
+
export { ContentstackRichText, type RichTextNodeRenderer, type RichTextRenderers };
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import * as vue from 'vue';
|
|
2
|
+
import { PropType, VNode } from 'vue';
|
|
3
|
+
import { R as RTEDocNode, a as RTENode } from '../../types-AelT0rFJ.js';
|
|
4
|
+
|
|
5
|
+
type RichTextNodeRenderer = (node: RTENode, children: VNode[]) => VNode | null;
|
|
6
|
+
interface RichTextRenderers {
|
|
7
|
+
nodes?: Partial<Record<string, RichTextNodeRenderer>>;
|
|
8
|
+
renderEntry?: (attrs: Record<string, unknown>, node: RTENode) => VNode | null;
|
|
9
|
+
renderAsset?: (attrs: Record<string, unknown>, node: RTENode) => VNode | null;
|
|
10
|
+
}
|
|
11
|
+
declare const ContentstackRichText: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
12
|
+
document: {
|
|
13
|
+
type: PropType<RTEDocNode | null | undefined>;
|
|
14
|
+
default: undefined;
|
|
15
|
+
};
|
|
16
|
+
renderers: {
|
|
17
|
+
type: PropType<RichTextRenderers>;
|
|
18
|
+
default: () => RichTextRenderers;
|
|
19
|
+
};
|
|
20
|
+
class: {
|
|
21
|
+
type: StringConstructor;
|
|
22
|
+
default: undefined;
|
|
23
|
+
};
|
|
24
|
+
}>, () => VNode<vue.RendererNode, vue.RendererElement, {
|
|
25
|
+
[key: string]: any;
|
|
26
|
+
}> | VNode<vue.RendererNode, vue.RendererElement, {
|
|
27
|
+
[key: string]: any;
|
|
28
|
+
}>[] | null, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<vue.ExtractPropTypes<{
|
|
29
|
+
document: {
|
|
30
|
+
type: PropType<RTEDocNode | null | undefined>;
|
|
31
|
+
default: undefined;
|
|
32
|
+
};
|
|
33
|
+
renderers: {
|
|
34
|
+
type: PropType<RichTextRenderers>;
|
|
35
|
+
default: () => RichTextRenderers;
|
|
36
|
+
};
|
|
37
|
+
class: {
|
|
38
|
+
type: StringConstructor;
|
|
39
|
+
default: undefined;
|
|
40
|
+
};
|
|
41
|
+
}>> & Readonly<{}>, {
|
|
42
|
+
class: string;
|
|
43
|
+
document: RTEDocNode | null | undefined;
|
|
44
|
+
renderers: RichTextRenderers;
|
|
45
|
+
}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
|
|
46
|
+
|
|
47
|
+
export { ContentstackRichText, type RichTextNodeRenderer, type RichTextRenderers };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|