@uniformdev/canvas-next-rsc 19.173.1-alpha.17 → 19.173.2-alpha.210
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/UniformComposition-0pvEHduc.d.mts +64 -0
- package/dist/UniformComposition-0pvEHduc.d.ts +77 -0
- package/dist/UniformComposition-38e22896.d.ts +74 -0
- package/dist/UniformComposition-B-Z17dUt.d.ts +56 -43
- package/dist/UniformComposition-D4tBQ2U4.d.mts +64 -0
- package/dist/UniformComposition-D4tBQ2U4.d.ts +77 -0
- package/dist/UniformComposition-Dw55RFP6.d.mts +67 -0
- package/dist/UniformComposition-Dw55RFP6.d.ts +67 -0
- package/dist/UniformComposition-d178d865.d.ts +77 -0
- package/dist/actions/updateContext.d.ts +2 -0
- package/dist/actions/updateContext.js +17 -0
- package/dist/client/canvasClient.d.ts +5 -0
- package/dist/client/canvasClient.js +53 -0
- package/dist/client/manifestClient.d.ts +209 -0
- package/dist/client/manifestClient.js +33 -0
- package/dist/client/projectMapClient.d.ts +5 -0
- package/dist/client/projectMapClient.js +17 -0
- package/dist/client/routeClient.d.ts +5 -0
- package/dist/client/routeClient.js +68 -0
- package/dist/component.d.mts +23 -5
- package/dist/component.d.ts +23 -5
- package/dist/component.js +67 -25
- package/dist/component.mjs +66 -23
- package/dist/components/DefaultNotImplementedComponent.d.ts +4 -0
- package/dist/components/DefaultNotImplementedComponent.js +45 -0
- package/dist/components/GoogleTagManagerAnalytics.d.ts +3 -0
- package/dist/components/GoogleTagManagerAnalytics.js +44 -0
- package/dist/components/UniformComponent.d.ts +35 -0
- package/dist/components/UniformComponent.js +14 -0
- package/dist/components/UniformComposition.d.ts +47 -0
- package/dist/components/UniformComposition.js +35 -0
- package/dist/components/UniformContext.d.ts +13 -0
- package/dist/components/UniformContext.js +19 -0
- package/dist/components/UniformRichText.d.ts +42 -0
- package/dist/components/UniformRichText.js +15 -0
- package/dist/components/UniformRichTextNode.d.ts +14 -0
- package/dist/components/UniformRichTextNode.js +49 -0
- package/dist/components/UniformScript.d.ts +5 -0
- package/dist/components/UniformScript.js +49 -0
- package/dist/components/UniformSlot.d.ts +48 -0
- package/dist/components/UniformSlot.js +38 -0
- package/dist/components/UniformText.d.ts +10 -0
- package/dist/components/UniformText.js +5 -0
- package/dist/components/__tests__/evaluateComposition.spec.d.ts +1 -0
- package/dist/components/__tests__/evaluateComposition.spec.js +80 -0
- package/dist/components/convertComponentToProps.d.ts +18 -0
- package/dist/components/convertComponentToProps.js +22 -0
- package/dist/components/evaluateComposition.d.ts +32 -0
- package/dist/components/evaluateComposition.js +183 -0
- package/dist/components/getEnrichmentTags.d.ts +5 -0
- package/dist/components/getEnrichmentTags.js +13 -0
- package/dist/components/getUniformContext.d.ts +10 -0
- package/dist/components/getUniformContext.js +17 -0
- package/dist/components/nodes/HeadingRichTextNode.d.ts +2 -0
- package/dist/components/nodes/HeadingRichTextNode.js +6 -0
- package/dist/components/nodes/LinebreakRichTextNode.d.ts +2 -0
- package/dist/components/nodes/LinebreakRichTextNode.js +4 -0
- package/dist/components/nodes/LinkRichTextNode.d.ts +2 -0
- package/dist/components/nodes/LinkRichTextNode.js +6 -0
- package/dist/components/nodes/ListItemRichTextNode.d.ts +2 -0
- package/dist/components/nodes/ListItemRichTextNode.js +5 -0
- package/dist/components/nodes/ListRichTextNode.d.ts +2 -0
- package/dist/components/nodes/ListRichTextNode.js +6 -0
- package/dist/components/nodes/ParagraphRichTextNode.d.ts +2 -0
- package/dist/components/nodes/ParagraphRichTextNode.js +6 -0
- package/dist/components/nodes/TabRichTextNode.d.ts +2 -0
- package/dist/components/nodes/TabRichTextNode.js +4 -0
- package/dist/components/nodes/TextRichTextNode.d.ts +2 -0
- package/dist/components/nodes/TextRichTextNode.js +9 -0
- package/dist/components/renderComponent.d.ts +26 -0
- package/dist/components/renderComponent.js +52 -0
- package/dist/components/resolvePath.d.ts +5 -0
- package/dist/components/resolvePath.js +34 -0
- package/dist/components/retrieveRoute.d.ts +198 -0
- package/dist/components/retrieveRoute.js +146 -0
- package/dist/components/types.d.ts +15 -0
- package/dist/components/types.js +1 -0
- package/dist/config/helpers.d.ts +23 -0
- package/dist/config/helpers.js +34 -0
- package/dist/config/models.d.ts +51 -0
- package/dist/config/models.js +1 -0
- package/dist/config/uniform.server.config.d.ts +3 -0
- package/dist/config/uniform.server.config.js +4 -0
- package/dist/cookie/index.d.ts +12 -0
- package/dist/cookie/index.js +21 -0
- package/dist/handler/createPreviewGETRouteHandler.d.ts +1 -0
- package/dist/handler/createPreviewGETRouteHandler.js +43 -0
- package/dist/handler/createPreviewPOSTRouteHandler.d.ts +1 -0
- package/dist/handler/createPreviewPOSTRouteHandler.js +88 -0
- package/dist/handler/createUniformRouteHandler.d.ts +4 -0
- package/dist/handler/createUniformRouteHandler.js +10 -0
- package/dist/handler/helpers.d.ts +17 -0
- package/dist/handler/helpers.js +148 -0
- package/dist/handler/messages/handleCompositionChanged.d.ts +2 -0
- package/dist/handler/messages/handleCompositionChanged.js +9 -0
- package/dist/handler/messages/handleCompositionDeleted.d.ts +2 -0
- package/dist/handler/messages/handleCompositionDeleted.js +9 -0
- package/dist/handler/messages/handleCompositionPublished.d.ts +2 -0
- package/dist/handler/messages/handleCompositionPublished.js +9 -0
- package/dist/handler/messages/handleManifestPublished.d.ts +2 -0
- package/dist/handler/messages/handleManifestPublished.js +10 -0
- package/dist/handler/messages/handleProjectMapNodeDelete.d.ts +2 -0
- package/dist/handler/messages/handleProjectMapNodeDelete.js +21 -0
- package/dist/handler/messages/handleProjectMapNodeInsert.d.ts +2 -0
- package/dist/handler/messages/handleProjectMapNodeInsert.js +21 -0
- package/dist/handler/messages/handleProjectMapNodeUpdate.d.ts +2 -0
- package/dist/handler/messages/handleProjectMapNodeUpdate.js +22 -0
- package/dist/handler/messages/handleRedirectDelete.d.ts +2 -0
- package/dist/handler/messages/handleRedirectDelete.js +15 -0
- package/dist/handler/messages/handleRedirectInsert.d.ts +2 -0
- package/dist/handler/messages/handleRedirectInsert.js +15 -0
- package/dist/handler/messages/handleRedirectUpdate.d.ts +2 -0
- package/dist/handler/messages/handleRedirectUpdate.js +15 -0
- package/dist/handler.js +2 -1
- package/dist/handler.mjs +2 -1
- package/dist/hooks/useForgetMe.d.ts +4 -0
- package/dist/hooks/useForgetMe.js +10 -0
- package/dist/hooks/useToggleConsent.d.ts +7 -0
- package/dist/hooks/useToggleConsent.js +22 -0
- package/dist/hooks/useUniformContext.d.ts +1 -0
- package/dist/hooks/useUniformContext.js +3 -0
- package/dist/index.d.mts +38 -38
- package/dist/index.d.ts +38 -38
- package/dist/index.esm.js +51 -19
- package/dist/index.js +78 -50
- package/dist/index.mjs +51 -19
- package/dist/models/index.d.ts +30 -0
- package/dist/models/index.js +1 -0
- package/dist/register/componentStore.d.ts +1 -0
- package/dist/register/componentStore.js +2 -0
- package/dist/register/componentStoreResolver.d.ts +4 -0
- package/dist/register/componentStoreResolver.js +5 -0
- package/dist/register/createComponentStore.d.ts +12 -0
- package/dist/register/createComponentStore.js +13 -0
- package/dist/register/createComponentStoreResolver.d.ts +12 -0
- package/dist/register/createComponentStoreResolver.js +9 -0
- package/dist/register/getTypeWithVariant.d.ts +1 -0
- package/dist/register/getTypeWithVariant.js +1 -0
- package/dist/register/registerUniformComponent.d.ts +10 -0
- package/dist/register/registerUniformComponent.js +8 -0
- package/dist/resolve/resolveChildren.d.ts +17 -0
- package/dist/resolve/resolveChildren.js +20 -0
- package/dist/score/index.d.ts +3 -0
- package/dist/score/index.js +114 -0
- package/dist/utils/__tests__/apply.spec.d.ts +1 -0
- package/dist/utils/__tests__/apply.spec.js +358 -0
- package/dist/utils/__tests__/diff.spec.d.ts +1 -0
- package/dist/utils/__tests__/diff.spec.js +394 -0
- package/dist/utils/apply.d.ts +10 -0
- package/dist/utils/apply.js +124 -0
- package/dist/utils/comp.d.ts +25 -0
- package/dist/utils/comp.js +65 -0
- package/dist/utils/diff.d.ts +58 -0
- package/dist/utils/diff.js +144 -0
- package/dist/utils/draft.d.ts +20 -0
- package/dist/utils/draft.js +22 -0
- package/dist/utils/tag.d.ts +2 -0
- package/dist/utils/tag.js +7 -0
- package/dist/utils/url.d.ts +1 -0
- package/dist/utils/url.js +10 -0
- package/package.json +20 -20
package/dist/component.js
CHANGED
|
@@ -48,12 +48,13 @@ var DefaultNotImplementedComponent = ({ component }) => {
|
|
|
48
48
|
};
|
|
49
49
|
|
|
50
50
|
// src/components/UniformRichText.tsx
|
|
51
|
-
var
|
|
52
|
-
var
|
|
51
|
+
var import_canvas = require("@uniformdev/canvas");
|
|
52
|
+
var import_richtext6 = require("@uniformdev/richtext");
|
|
53
|
+
var import_react12 = __toESM(require("react"));
|
|
53
54
|
|
|
54
55
|
// src/components/UniformRichTextNode.tsx
|
|
55
|
-
var
|
|
56
|
-
var
|
|
56
|
+
var import_richtext5 = require("@uniformdev/richtext");
|
|
57
|
+
var import_react11 = __toESM(require("react"));
|
|
57
58
|
|
|
58
59
|
// src/components/nodes/HeadingRichTextNode.tsx
|
|
59
60
|
var import_react2 = __toESM(require("react"));
|
|
@@ -107,25 +108,34 @@ var ParagraphRichTextNode = ({ children, node }) => {
|
|
|
107
108
|
);
|
|
108
109
|
};
|
|
109
110
|
|
|
110
|
-
// src/components/nodes/
|
|
111
|
+
// src/components/nodes/TableCellRichTextNode.tsx
|
|
112
|
+
var import_richtext3 = require("@uniformdev/richtext");
|
|
111
113
|
var import_react8 = __toESM(require("react"));
|
|
114
|
+
var TableCellRichTextNode = ({ children, node }) => {
|
|
115
|
+
const { headerState } = node;
|
|
116
|
+
const TableCellTag = (0, import_richtext3.getRichTextTagFromTableCellHeaderState)(headerState);
|
|
117
|
+
return /* @__PURE__ */ import_react8.default.createElement(TableCellTag, null, children);
|
|
118
|
+
};
|
|
119
|
+
|
|
120
|
+
// src/components/nodes/TabRichTextNode.tsx
|
|
121
|
+
var import_react9 = __toESM(require("react"));
|
|
112
122
|
var TabRichTextNode = () => {
|
|
113
|
-
return /* @__PURE__ */
|
|
123
|
+
return /* @__PURE__ */ import_react9.default.createElement(import_react9.default.Fragment, null, " ");
|
|
114
124
|
};
|
|
115
125
|
|
|
116
126
|
// src/components/nodes/TextRichTextNode.tsx
|
|
117
|
-
var
|
|
118
|
-
var
|
|
127
|
+
var import_richtext4 = require("@uniformdev/richtext");
|
|
128
|
+
var import_react10 = __toESM(require("react"));
|
|
119
129
|
var TextRichTextNode = ({ node }) => {
|
|
120
130
|
const { text, format } = node;
|
|
121
|
-
const tags = (0,
|
|
122
|
-
return /* @__PURE__ */
|
|
131
|
+
const tags = (0, import_richtext4.getRichTextTagsFromTextFormat)(format);
|
|
132
|
+
return /* @__PURE__ */ import_react10.default.createElement(import_react10.default.Fragment, null, tags.length > 0 ? tags.reduceRight((children, Tag) => /* @__PURE__ */ import_react10.default.createElement(Tag, null, children), text) : text);
|
|
123
133
|
};
|
|
124
134
|
|
|
125
135
|
// src/components/UniformRichTextNode.tsx
|
|
126
136
|
function UniformRichTextNode({ node, ...props }) {
|
|
127
137
|
var _a;
|
|
128
|
-
if (!(0,
|
|
138
|
+
if (!(0, import_richtext5.isRichTextNode)(node)) return null;
|
|
129
139
|
let NodeRenderer = (_a = props.resolveRichTextRenderer) == null ? void 0 : _a.call(props, node);
|
|
130
140
|
if (typeof NodeRenderer === "undefined") {
|
|
131
141
|
NodeRenderer = resolveRichTextDefaultRenderer(node);
|
|
@@ -133,8 +143,8 @@ function UniformRichTextNode({ node, ...props }) {
|
|
|
133
143
|
if (!NodeRenderer) {
|
|
134
144
|
return null;
|
|
135
145
|
}
|
|
136
|
-
const children = node.children ? node.children.map((childNode, i) => /* @__PURE__ */
|
|
137
|
-
return /* @__PURE__ */
|
|
146
|
+
const children = node.children ? node.children.map((childNode, i) => /* @__PURE__ */ import_react11.default.createElement(UniformRichTextNode, { ...props, key: i, node: childNode })) : null;
|
|
147
|
+
return /* @__PURE__ */ import_react11.default.createElement(NodeRenderer, { node }, children);
|
|
138
148
|
}
|
|
139
149
|
var rendererMap = /* @__PURE__ */ new Map([
|
|
140
150
|
["heading", HeadingRichTextNode],
|
|
@@ -143,26 +153,58 @@ var rendererMap = /* @__PURE__ */ new Map([
|
|
|
143
153
|
["list", ListRichTextNode],
|
|
144
154
|
["listitem", ListItemRichTextNode],
|
|
145
155
|
["paragraph", ParagraphRichTextNode],
|
|
146
|
-
["quote", ({ children }) => /* @__PURE__ */
|
|
156
|
+
["quote", ({ children }) => /* @__PURE__ */ import_react11.default.createElement("blockquote", null, children)],
|
|
147
157
|
[
|
|
148
158
|
"code",
|
|
149
|
-
({ children }) => /* @__PURE__ */
|
|
159
|
+
({ children }) => /* @__PURE__ */ import_react11.default.createElement("pre", null, /* @__PURE__ */ import_react11.default.createElement("code", null, children))
|
|
150
160
|
],
|
|
151
|
-
["root", ({ children }) => /* @__PURE__ */
|
|
161
|
+
["root", ({ children }) => /* @__PURE__ */ import_react11.default.createElement(import_react11.default.Fragment, null, children)],
|
|
152
162
|
["text", TextRichTextNode],
|
|
153
|
-
["tab", TabRichTextNode]
|
|
163
|
+
["tab", TabRichTextNode],
|
|
164
|
+
[
|
|
165
|
+
"table",
|
|
166
|
+
({ children }) => /* @__PURE__ */ import_react11.default.createElement("table", null, /* @__PURE__ */ import_react11.default.createElement("tbody", null, children))
|
|
167
|
+
],
|
|
168
|
+
["tablerow", ({ children }) => /* @__PURE__ */ import_react11.default.createElement("tr", null, children)],
|
|
169
|
+
["tablecell", TableCellRichTextNode]
|
|
154
170
|
]);
|
|
155
171
|
var resolveRichTextDefaultRenderer = (node) => {
|
|
156
172
|
return rendererMap.get(node.type);
|
|
157
173
|
};
|
|
158
174
|
|
|
159
175
|
// src/components/UniformRichText.tsx
|
|
160
|
-
var UniformRichText =
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
176
|
+
var UniformRichText = import_react12.default.forwardRef(function UniformRichText2({
|
|
177
|
+
parameterId,
|
|
178
|
+
component,
|
|
179
|
+
resolveRichTextRenderer,
|
|
180
|
+
as: Tag = "div",
|
|
181
|
+
context,
|
|
182
|
+
placeholder,
|
|
183
|
+
...props
|
|
184
|
+
}, ref) {
|
|
185
|
+
var _a, _b;
|
|
186
|
+
const isContextualEditing = (_a = context == null ? void 0 : context.isContextualEditing) != null ? _a : false;
|
|
187
|
+
const parameter = (_b = component == null ? void 0 : component.parameters) == null ? void 0 : _b[parameterId];
|
|
188
|
+
if (!parameter) {
|
|
189
|
+
return null;
|
|
190
|
+
}
|
|
191
|
+
const computedPlaceholder = typeof placeholder === "function" ? placeholder({ id: parameterId }) : placeholder;
|
|
192
|
+
const value = parameter.value;
|
|
193
|
+
if (!value || !(0, import_richtext6.isRichTextValue)(value)) return null;
|
|
194
|
+
if (!isContextualEditing && (0, import_richtext6.isRichTextValueConsideredEmpty)(value)) return null;
|
|
195
|
+
return Tag === null ? /* @__PURE__ */ import_react12.default.createElement(UniformRichTextNode, { node: value.root, resolveRichTextRenderer }) : /* @__PURE__ */ import_react12.default.createElement(
|
|
196
|
+
Tag,
|
|
197
|
+
{
|
|
198
|
+
ref,
|
|
199
|
+
...props,
|
|
200
|
+
...isContextualEditing ? {
|
|
201
|
+
[import_canvas.ATTRIBUTE_COMPONENT_ID]: component._id,
|
|
202
|
+
[import_canvas.ATTRIBUTE_PARAMETER_ID]: parameterId,
|
|
203
|
+
[import_canvas.ATTRIBUTE_PARAMETER_TYPE]: "richText"
|
|
204
|
+
} : {}
|
|
205
|
+
},
|
|
206
|
+
(0, import_richtext6.isRichTextValueConsideredEmpty)(value) ? /* @__PURE__ */ import_react12.default.createElement("p", null, /* @__PURE__ */ import_react12.default.createElement("i", null, computedPlaceholder)) : /* @__PURE__ */ import_react12.default.createElement(UniformRichTextNode, { node: value.root, resolveRichTextRenderer })
|
|
207
|
+
);
|
|
166
208
|
});
|
|
167
209
|
|
|
168
210
|
// src/components/UniformSlot.tsx
|
|
@@ -193,9 +235,9 @@ var UniformSlot = ({ data, slot, children }) => {
|
|
|
193
235
|
|
|
194
236
|
// src/components/UniformText.tsx
|
|
195
237
|
var import_core = require("@uniformdev/canvas-react/core");
|
|
196
|
-
var
|
|
238
|
+
var import_react13 = __toESM(require("react"));
|
|
197
239
|
var UniformText = ({ context, ...rest }) => {
|
|
198
|
-
return /* @__PURE__ */
|
|
240
|
+
return /* @__PURE__ */ import_react13.default.createElement(
|
|
199
241
|
import_core.PureUniformText,
|
|
200
242
|
{
|
|
201
243
|
...rest,
|
package/dist/component.mjs
CHANGED
|
@@ -6,14 +6,16 @@ var DefaultNotImplementedComponent = ({ component }) => {
|
|
|
6
6
|
|
|
7
7
|
// src/components/UniformRichText.tsx
|
|
8
8
|
import {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
9
|
+
ATTRIBUTE_COMPONENT_ID,
|
|
10
|
+
ATTRIBUTE_PARAMETER_ID,
|
|
11
|
+
ATTRIBUTE_PARAMETER_TYPE
|
|
12
|
+
} from "@uniformdev/canvas";
|
|
13
|
+
import { isRichTextValue, isRichTextValueConsideredEmpty } from "@uniformdev/richtext";
|
|
14
|
+
import React12 from "react";
|
|
13
15
|
|
|
14
16
|
// src/components/UniformRichTextNode.tsx
|
|
15
17
|
import { isRichTextNode } from "@uniformdev/richtext";
|
|
16
|
-
import
|
|
18
|
+
import React11 from "react";
|
|
17
19
|
|
|
18
20
|
// src/components/nodes/HeadingRichTextNode.tsx
|
|
19
21
|
import React2 from "react";
|
|
@@ -67,19 +69,28 @@ var ParagraphRichTextNode = ({ children, node }) => {
|
|
|
67
69
|
);
|
|
68
70
|
};
|
|
69
71
|
|
|
70
|
-
// src/components/nodes/
|
|
72
|
+
// src/components/nodes/TableCellRichTextNode.tsx
|
|
73
|
+
import { getRichTextTagFromTableCellHeaderState } from "@uniformdev/richtext";
|
|
71
74
|
import React8 from "react";
|
|
75
|
+
var TableCellRichTextNode = ({ children, node }) => {
|
|
76
|
+
const { headerState } = node;
|
|
77
|
+
const TableCellTag = getRichTextTagFromTableCellHeaderState(headerState);
|
|
78
|
+
return /* @__PURE__ */ React8.createElement(TableCellTag, null, children);
|
|
79
|
+
};
|
|
80
|
+
|
|
81
|
+
// src/components/nodes/TabRichTextNode.tsx
|
|
82
|
+
import React9 from "react";
|
|
72
83
|
var TabRichTextNode = () => {
|
|
73
|
-
return /* @__PURE__ */
|
|
84
|
+
return /* @__PURE__ */ React9.createElement(React9.Fragment, null, " ");
|
|
74
85
|
};
|
|
75
86
|
|
|
76
87
|
// src/components/nodes/TextRichTextNode.tsx
|
|
77
88
|
import { getRichTextTagsFromTextFormat } from "@uniformdev/richtext";
|
|
78
|
-
import
|
|
89
|
+
import React10 from "react";
|
|
79
90
|
var TextRichTextNode = ({ node }) => {
|
|
80
91
|
const { text, format } = node;
|
|
81
92
|
const tags = getRichTextTagsFromTextFormat(format);
|
|
82
|
-
return /* @__PURE__ */
|
|
93
|
+
return /* @__PURE__ */ React10.createElement(React10.Fragment, null, tags.length > 0 ? tags.reduceRight((children, Tag) => /* @__PURE__ */ React10.createElement(Tag, null, children), text) : text);
|
|
83
94
|
};
|
|
84
95
|
|
|
85
96
|
// src/components/UniformRichTextNode.tsx
|
|
@@ -93,8 +104,8 @@ function UniformRichTextNode({ node, ...props }) {
|
|
|
93
104
|
if (!NodeRenderer) {
|
|
94
105
|
return null;
|
|
95
106
|
}
|
|
96
|
-
const children = node.children ? node.children.map((childNode, i) => /* @__PURE__ */
|
|
97
|
-
return /* @__PURE__ */
|
|
107
|
+
const children = node.children ? node.children.map((childNode, i) => /* @__PURE__ */ React11.createElement(UniformRichTextNode, { ...props, key: i, node: childNode })) : null;
|
|
108
|
+
return /* @__PURE__ */ React11.createElement(NodeRenderer, { node }, children);
|
|
98
109
|
}
|
|
99
110
|
var rendererMap = /* @__PURE__ */ new Map([
|
|
100
111
|
["heading", HeadingRichTextNode],
|
|
@@ -103,26 +114,58 @@ var rendererMap = /* @__PURE__ */ new Map([
|
|
|
103
114
|
["list", ListRichTextNode],
|
|
104
115
|
["listitem", ListItemRichTextNode],
|
|
105
116
|
["paragraph", ParagraphRichTextNode],
|
|
106
|
-
["quote", ({ children }) => /* @__PURE__ */
|
|
117
|
+
["quote", ({ children }) => /* @__PURE__ */ React11.createElement("blockquote", null, children)],
|
|
107
118
|
[
|
|
108
119
|
"code",
|
|
109
|
-
({ children }) => /* @__PURE__ */
|
|
120
|
+
({ children }) => /* @__PURE__ */ React11.createElement("pre", null, /* @__PURE__ */ React11.createElement("code", null, children))
|
|
110
121
|
],
|
|
111
|
-
["root", ({ children }) => /* @__PURE__ */
|
|
122
|
+
["root", ({ children }) => /* @__PURE__ */ React11.createElement(React11.Fragment, null, children)],
|
|
112
123
|
["text", TextRichTextNode],
|
|
113
|
-
["tab", TabRichTextNode]
|
|
124
|
+
["tab", TabRichTextNode],
|
|
125
|
+
[
|
|
126
|
+
"table",
|
|
127
|
+
({ children }) => /* @__PURE__ */ React11.createElement("table", null, /* @__PURE__ */ React11.createElement("tbody", null, children))
|
|
128
|
+
],
|
|
129
|
+
["tablerow", ({ children }) => /* @__PURE__ */ React11.createElement("tr", null, children)],
|
|
130
|
+
["tablecell", TableCellRichTextNode]
|
|
114
131
|
]);
|
|
115
132
|
var resolveRichTextDefaultRenderer = (node) => {
|
|
116
133
|
return rendererMap.get(node.type);
|
|
117
134
|
};
|
|
118
135
|
|
|
119
136
|
// src/components/UniformRichText.tsx
|
|
120
|
-
var UniformRichText =
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
137
|
+
var UniformRichText = React12.forwardRef(function UniformRichText2({
|
|
138
|
+
parameterId,
|
|
139
|
+
component,
|
|
140
|
+
resolveRichTextRenderer,
|
|
141
|
+
as: Tag = "div",
|
|
142
|
+
context,
|
|
143
|
+
placeholder,
|
|
144
|
+
...props
|
|
145
|
+
}, ref) {
|
|
146
|
+
var _a, _b;
|
|
147
|
+
const isContextualEditing = (_a = context == null ? void 0 : context.isContextualEditing) != null ? _a : false;
|
|
148
|
+
const parameter = (_b = component == null ? void 0 : component.parameters) == null ? void 0 : _b[parameterId];
|
|
149
|
+
if (!parameter) {
|
|
150
|
+
return null;
|
|
151
|
+
}
|
|
152
|
+
const computedPlaceholder = typeof placeholder === "function" ? placeholder({ id: parameterId }) : placeholder;
|
|
153
|
+
const value = parameter.value;
|
|
154
|
+
if (!value || !isRichTextValue(value)) return null;
|
|
155
|
+
if (!isContextualEditing && isRichTextValueConsideredEmpty(value)) return null;
|
|
156
|
+
return Tag === null ? /* @__PURE__ */ React12.createElement(UniformRichTextNode, { node: value.root, resolveRichTextRenderer }) : /* @__PURE__ */ React12.createElement(
|
|
157
|
+
Tag,
|
|
158
|
+
{
|
|
159
|
+
ref,
|
|
160
|
+
...props,
|
|
161
|
+
...isContextualEditing ? {
|
|
162
|
+
[ATTRIBUTE_COMPONENT_ID]: component._id,
|
|
163
|
+
[ATTRIBUTE_PARAMETER_ID]: parameterId,
|
|
164
|
+
[ATTRIBUTE_PARAMETER_TYPE]: "richText"
|
|
165
|
+
} : {}
|
|
166
|
+
},
|
|
167
|
+
isRichTextValueConsideredEmpty(value) ? /* @__PURE__ */ React12.createElement("p", null, /* @__PURE__ */ React12.createElement("i", null, computedPlaceholder)) : /* @__PURE__ */ React12.createElement(UniformRichTextNode, { node: value.root, resolveRichTextRenderer })
|
|
168
|
+
);
|
|
126
169
|
});
|
|
127
170
|
|
|
128
171
|
// src/components/UniformSlot.tsx
|
|
@@ -153,9 +196,9 @@ var UniformSlot = ({ data, slot, children }) => {
|
|
|
153
196
|
|
|
154
197
|
// src/components/UniformText.tsx
|
|
155
198
|
import { PureUniformText } from "@uniformdev/canvas-react/core";
|
|
156
|
-
import
|
|
199
|
+
import React13 from "react";
|
|
157
200
|
var UniformText = ({ context, ...rest }) => {
|
|
158
|
-
return /* @__PURE__ */
|
|
201
|
+
return /* @__PURE__ */ React13.createElement(
|
|
159
202
|
PureUniformText,
|
|
160
203
|
{
|
|
161
204
|
...rest,
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { CANVAS_LOCALIZATION_TYPE } from '@uniformdev/canvas';
|
|
3
|
+
const wrapperStyles = {
|
|
4
|
+
display: 'flex',
|
|
5
|
+
flexDirection: 'column',
|
|
6
|
+
gap: '0.5rem',
|
|
7
|
+
borderLeft: '4px solid #e42535',
|
|
8
|
+
padding: '16px',
|
|
9
|
+
fontSize: '16px',
|
|
10
|
+
borderRadius: '0 8px 8px 0',
|
|
11
|
+
margin: '8px',
|
|
12
|
+
backgroundColor: 'rgba(255, 255, 255, 0.45)',
|
|
13
|
+
color: '#1d3557',
|
|
14
|
+
};
|
|
15
|
+
export function DefaultNotImplementedComponent(props) {
|
|
16
|
+
var _a, _b, _c;
|
|
17
|
+
const componentType = (_a = props.component) === null || _a === void 0 ? void 0 : _a.type;
|
|
18
|
+
if (!componentType) {
|
|
19
|
+
return null;
|
|
20
|
+
}
|
|
21
|
+
if (componentType === CANVAS_LOCALIZATION_TYPE) {
|
|
22
|
+
return (_jsx("div", { style: wrapperStyles, children: _jsxs("p", { children: ["Seems like localization is not enabled in your application. Please read our documentation on how to", ' ', _jsx("a", { href: "https://docs.uniform.app/guides/composition/localization#activate-front-end", target: "_blank", style: { fontWeight: 'bolder', textDecoration: 'underline' }, rel: "noreferrer", children: "enable localization in your front-end application." })] }) }));
|
|
23
|
+
}
|
|
24
|
+
const proposedFileName = `${componentType[0].toUpperCase()}${componentType.substring(1)}`;
|
|
25
|
+
const probableProps = Object.keys((_b = props.component.parameters) !== null && _b !== void 0 ? _b : {});
|
|
26
|
+
const probableSlots = Object.keys((_c = props.component.slots) !== null && _c !== void 0 ? _c : {});
|
|
27
|
+
return (_jsxs("div", { style: wrapperStyles, children: [_jsx("h2", { style: { fontSize: '1.2rem' }, children: "Unknown Component" }), _jsxs("p", { children: ["Received request from Uniform to render a component with the public ID: ", _jsx("code", { children: componentType }), "."] }), _jsxs("p", { children: [_jsx("code", { children: "<UniformComposition />" }), " does not have ", _jsx("code", { children: componentType }), " mapped to a React component yet."] }), _jsx("p", { children: "To teach your app how to render this component:" }), ' ', _jsxs("ul", { style: {
|
|
28
|
+
listStyleType: 'disc',
|
|
29
|
+
marginLeft: '1rem',
|
|
30
|
+
display: 'flex',
|
|
31
|
+
flexDirection: 'column',
|
|
32
|
+
gap: '0.5rem',
|
|
33
|
+
}, children: [_jsxs("li", { children: ["Create a React component and register it with Uniform, for example", _jsx("pre", { children: `function ${proposedFileName}(${probableProps.length > 0 ? `{ ${probableProps.join(', ')} }` : ''}) {
|
|
34
|
+
return (
|
|
35
|
+
<div>
|
|
36
|
+
${proposedFileName}!
|
|
37
|
+
${probableSlots.length > 0
|
|
38
|
+
? probableSlots.map((slot) => `<UniformSlot name="${slot}" />`).join('\n ')
|
|
39
|
+
: ''}
|
|
40
|
+
</div>
|
|
41
|
+
)
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
registerUniformComponent({ type: "${componentType}", component: ${proposedFileName} })` }), _jsxs("details", { children: [_jsx("summary", { style: { cursor: 'pointer' }, children: "Props that your React component will receive" }), _jsx("pre", { children: JSON.stringify(props, null, 2) })] })] }), _jsxs("li", { children: ["Import the component into the file where ", _jsx("code", { children: "<UniformComposition />" }), " is defined, for example ", _jsx("pre", { children: `import "../components/${proposedFileName}.tsx"` })] })] }), ' ', _jsxs("p", { children: ["Need more help?", ' ', _jsx("a", { href: "https://docs.uniform.app/docs/guides/composition/rendering", target: "_blank", rel: "noreferrer", style: { textDecoration: 'underline' }, children: "Check out the documentation." })] })] }));
|
|
45
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import Script from 'next/script';
|
|
4
|
+
import { useEffect } from 'react';
|
|
5
|
+
import { useUniformContext } from '../hooks/useUniformContext';
|
|
6
|
+
const isGtagConfigured = () => {
|
|
7
|
+
return typeof window !== 'undefined' && typeof window.gtag === 'function';
|
|
8
|
+
};
|
|
9
|
+
export const GoogleTagManagerAnalytics = (props) => {
|
|
10
|
+
const { seenComponents } = useUniformContext();
|
|
11
|
+
useEffect(() => {
|
|
12
|
+
if (!(seenComponents === null || seenComponents === void 0 ? void 0 : seenComponents.length)) {
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
if (!isGtagConfigured()) {
|
|
16
|
+
// eslint-disable-next-line no-console
|
|
17
|
+
console.warn('Google Tag Manager is not configured. Please add the gtag script to your site.');
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
seenComponents.forEach((component) => {
|
|
21
|
+
var _a, _b, _c, _d, _e;
|
|
22
|
+
if (component.type === 'personalization') {
|
|
23
|
+
(_b = (_a = window).gtag) === null || _b === void 0 ? void 0 : _b.call(_a, 'event', component.id, {
|
|
24
|
+
event_category: 'Uniform Personalization',
|
|
25
|
+
event_label: component.variants.join(', '),
|
|
26
|
+
is_control_group: component.control ? 1 : 0,
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
else if (component.type === 'test') {
|
|
30
|
+
(_d = (_c = window).gtag) === null || _d === void 0 ? void 0 : _d.call(_c, 'event', component.id, {
|
|
31
|
+
event_category: 'Uniform AB Testing',
|
|
32
|
+
event_label: (_e = component.variant) !== null && _e !== void 0 ? _e : 'No Variant',
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
}, [seenComponents]);
|
|
37
|
+
return (_jsx(_Fragment, { children: Boolean(props === null || props === void 0 ? void 0 : props.measurementId) && (_jsxs(_Fragment, { children: [_jsx(Script, { src: `https://www.googletagmanager.com/gtag/js?id=${props.measurementId}`, strategy: "afterInteractive" }), _jsx(Script, { id: "google-analytics", strategy: "afterInteractive", children: `
|
|
38
|
+
window.dataLayer = window.dataLayer || [];
|
|
39
|
+
function gtag(){window.dataLayer.push(arguments);}
|
|
40
|
+
gtag('js', new Date());
|
|
41
|
+
|
|
42
|
+
gtag('config', '${props.measurementId}');
|
|
43
|
+
` })] })) }));
|
|
44
|
+
};
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import {
|
|
2
|
+
type ComponentInstance,
|
|
3
|
+
type RootComponentInstance,
|
|
4
|
+
RouteGetResponseComposition,
|
|
5
|
+
} from '@uniformdev/canvas';
|
|
6
|
+
import { ReactNode } from 'react';
|
|
7
|
+
export type CompositionContext = Omit<RouteGetResponseComposition, 'compositionApiResponse'> & {
|
|
8
|
+
composition: RootComponentInstance;
|
|
9
|
+
path: string;
|
|
10
|
+
state?: number;
|
|
11
|
+
searchParams:
|
|
12
|
+
| {
|
|
13
|
+
[key: string]: string | undefined;
|
|
14
|
+
}
|
|
15
|
+
| undefined;
|
|
16
|
+
cookieValue: string | undefined;
|
|
17
|
+
isDraftMode: boolean;
|
|
18
|
+
isContextualEditing: boolean;
|
|
19
|
+
};
|
|
20
|
+
export type ComponentProps<TProps = unknown> = TProps & {
|
|
21
|
+
component: ComponentInstance;
|
|
22
|
+
context: CompositionContext;
|
|
23
|
+
};
|
|
24
|
+
export type UniformComponentProps<TRenderProps = unknown> = {
|
|
25
|
+
data: ComponentInstance;
|
|
26
|
+
context: CompositionContext;
|
|
27
|
+
children?: ReactNode | ((props: ComponentProps<TRenderProps>) => JSX.Element);
|
|
28
|
+
};
|
|
29
|
+
export declare function UniformComponent({
|
|
30
|
+
data,
|
|
31
|
+
children,
|
|
32
|
+
context,
|
|
33
|
+
}: UniformComponentProps): import('react').FunctionComponentElement<{
|
|
34
|
+
children?: ReactNode;
|
|
35
|
+
}>;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { createElement, Fragment } from 'react';
|
|
2
|
+
import { componentStoreResolver } from '../register/componentStoreResolver';
|
|
3
|
+
import { resolveChildren } from '../resolve/resolveChildren';
|
|
4
|
+
export function UniformComponent({ data, children, context }) {
|
|
5
|
+
const resolvedChildren = resolveChildren({
|
|
6
|
+
children,
|
|
7
|
+
data,
|
|
8
|
+
context,
|
|
9
|
+
hasParentLayout: false,
|
|
10
|
+
resolveRenderer: componentStoreResolver,
|
|
11
|
+
});
|
|
12
|
+
const childrenToRender = [resolvedChildren];
|
|
13
|
+
return createElement(Fragment, {}, childrenToRender);
|
|
14
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { ContextState } from '@uniformdev/context';
|
|
2
|
+
import { ReactNode } from 'react';
|
|
3
|
+
export type SuspenseOptions =
|
|
4
|
+
| {
|
|
5
|
+
mode: 'off';
|
|
6
|
+
}
|
|
7
|
+
| {
|
|
8
|
+
mode: 'fallback';
|
|
9
|
+
fallback: React.ReactNode;
|
|
10
|
+
};
|
|
11
|
+
export type UniformCompositionProps = {
|
|
12
|
+
/**
|
|
13
|
+
* The params object from Next.js router. Used to resolve a composition.
|
|
14
|
+
*/
|
|
15
|
+
params: {
|
|
16
|
+
slug: string | string[];
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* The searchParams object from Next.js router. Used for signal evaluation.
|
|
20
|
+
*/
|
|
21
|
+
searchParams?: {
|
|
22
|
+
[key: string]: string | undefined;
|
|
23
|
+
};
|
|
24
|
+
/**
|
|
25
|
+
* Behavior of root Suspense component.
|
|
26
|
+
*/
|
|
27
|
+
suspense?:
|
|
28
|
+
| {
|
|
29
|
+
mode: 'off';
|
|
30
|
+
}
|
|
31
|
+
| {
|
|
32
|
+
mode: 'fallback';
|
|
33
|
+
fallback: ReactNode;
|
|
34
|
+
};
|
|
35
|
+
/**
|
|
36
|
+
* Update state that should be added to the call to update before composition evaluation
|
|
37
|
+
*/
|
|
38
|
+
update?: Partial<ContextState>;
|
|
39
|
+
/**
|
|
40
|
+
* The children of the UniformComposition component.
|
|
41
|
+
*/
|
|
42
|
+
children?: ReactNode;
|
|
43
|
+
};
|
|
44
|
+
export declare const UniformComposition: ({
|
|
45
|
+
suspense,
|
|
46
|
+
...props
|
|
47
|
+
}: UniformCompositionProps) => import('react/jsx-runtime').JSX.Element;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Suspense } from 'react';
|
|
3
|
+
import { isDraftModeEnabled, isIncontextEditingEnabled } from '../utils/draft';
|
|
4
|
+
import { resolveComposition } from './retrieveRoute';
|
|
5
|
+
import { UniformComponent } from './UniformComponent';
|
|
6
|
+
import { UniformProvider } from './UniformContext';
|
|
7
|
+
import { UniformScript } from './UniformScript';
|
|
8
|
+
export const UniformComposition = ({ suspense = {
|
|
9
|
+
mode: 'off',
|
|
10
|
+
}, ...props }) => (_jsx(ConditionalWrapper, { options: suspense, children: _jsx(UniformCompositionInner, { ...props }) }));
|
|
11
|
+
const ConditionalWrapper = ({ children, options }) => {
|
|
12
|
+
if (options.mode === 'off') {
|
|
13
|
+
return _jsx(_Fragment, { children: children });
|
|
14
|
+
}
|
|
15
|
+
return _jsx(Suspense, { fallback: options.fallback, children: children });
|
|
16
|
+
};
|
|
17
|
+
const UniformCompositionInner = async ({ params, searchParams, update, children, }) => {
|
|
18
|
+
const { composition: evaluatedComposition, cookieValue, path, searchParams: evaluatedSearchParams, seenComponents, isCanvasEditing, ...rest } = await resolveComposition({
|
|
19
|
+
params,
|
|
20
|
+
searchParams,
|
|
21
|
+
update,
|
|
22
|
+
});
|
|
23
|
+
const context = {
|
|
24
|
+
composition: evaluatedComposition,
|
|
25
|
+
path,
|
|
26
|
+
searchParams,
|
|
27
|
+
cookieValue,
|
|
28
|
+
isDraftMode: isDraftModeEnabled({ searchParams }),
|
|
29
|
+
isContextualEditing: isIncontextEditingEnabled({
|
|
30
|
+
searchParams,
|
|
31
|
+
}),
|
|
32
|
+
...rest,
|
|
33
|
+
};
|
|
34
|
+
return (_jsxs(UniformProvider, { cookieValue: cookieValue, seenComponents: seenComponents, children: [_jsx(UniformScript, { enabled: isCanvasEditing }), _jsx(UniformComponent, { data: evaluatedComposition, context: context }), Boolean(children) && children] }));
|
|
35
|
+
};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { PropsWithChildren } from 'react';
|
|
2
|
+
|
|
3
|
+
import { SeenUniformComponent } from '../models';
|
|
4
|
+
export type UniformContextProps = {
|
|
5
|
+
cookieValue: string | undefined;
|
|
6
|
+
seenComponents: SeenUniformComponent[] | undefined;
|
|
7
|
+
};
|
|
8
|
+
export declare const UniformContext: import('react').Context<UniformContextProps>;
|
|
9
|
+
export declare const UniformProvider: ({
|
|
10
|
+
children,
|
|
11
|
+
cookieValue,
|
|
12
|
+
seenComponents,
|
|
13
|
+
}: PropsWithChildren<UniformContextProps>) => import('react/jsx-runtime').JSX.Element;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
import { createContext, useEffect } from 'react';
|
|
4
|
+
import { removeUniformCookie, setUniformCookie } from '../cookie';
|
|
5
|
+
export const UniformContext = createContext({
|
|
6
|
+
cookieValue: undefined,
|
|
7
|
+
seenComponents: undefined,
|
|
8
|
+
});
|
|
9
|
+
export const UniformProvider = ({ children, cookieValue, seenComponents, }) => {
|
|
10
|
+
useEffect(() => {
|
|
11
|
+
if (cookieValue) {
|
|
12
|
+
setUniformCookie(cookieValue);
|
|
13
|
+
}
|
|
14
|
+
else {
|
|
15
|
+
removeUniformCookie();
|
|
16
|
+
}
|
|
17
|
+
}, [cookieValue]);
|
|
18
|
+
return (_jsx(UniformContext.Provider, { value: { cookieValue, seenComponents }, children: children }));
|
|
19
|
+
};
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { ComponentInstance } from '@uniformdev/canvas';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
|
|
4
|
+
import { RenderRichTextComponentResolver } from './types';
|
|
5
|
+
export type UniformRichTextProps = {
|
|
6
|
+
/**
|
|
7
|
+
* The name of the HTML tag to render.
|
|
8
|
+
* @default "div"
|
|
9
|
+
*/
|
|
10
|
+
as?: React.ElementType;
|
|
11
|
+
/** The ID of the parameter. */
|
|
12
|
+
parameterId: string;
|
|
13
|
+
/**
|
|
14
|
+
* A function which can provide a custom react component
|
|
15
|
+
* for rendering a rich text node
|
|
16
|
+
*/
|
|
17
|
+
resolveRichTextRenderer?: RenderRichTextComponentResolver;
|
|
18
|
+
/** The component instance. */
|
|
19
|
+
component: ComponentInstance;
|
|
20
|
+
} & Omit<React.HTMLAttributes<HTMLDivElement>, 'children'>;
|
|
21
|
+
/**
|
|
22
|
+
* Adds rendering support for Uniform Rich Text parameters
|
|
23
|
+
*/
|
|
24
|
+
export declare const UniformRichText: React.ForwardRefExoticComponent<
|
|
25
|
+
{
|
|
26
|
+
/**
|
|
27
|
+
* The name of the HTML tag to render.
|
|
28
|
+
* @default "div"
|
|
29
|
+
*/
|
|
30
|
+
as?: React.ElementType<any> | undefined;
|
|
31
|
+
/** The ID of the parameter. */
|
|
32
|
+
parameterId: string;
|
|
33
|
+
/**
|
|
34
|
+
* A function which can provide a custom react component
|
|
35
|
+
* for rendering a rich text node
|
|
36
|
+
*/
|
|
37
|
+
resolveRichTextRenderer?: RenderRichTextComponentResolver | undefined;
|
|
38
|
+
/** The component instance. */
|
|
39
|
+
component: ComponentInstance;
|
|
40
|
+
} & Omit<React.HTMLAttributes<HTMLDivElement>, 'children'> &
|
|
41
|
+
React.RefAttributes<unknown>
|
|
42
|
+
>;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { isRichTextValue, isRichTextValueConsideredEmpty, } from '@uniformdev/richtext';
|
|
3
|
+
import React from 'react';
|
|
4
|
+
import { UniformRichTextNode } from './UniformRichTextNode';
|
|
5
|
+
/**
|
|
6
|
+
* Adds rendering support for Uniform Rich Text parameters
|
|
7
|
+
*/
|
|
8
|
+
export const UniformRichText = React.forwardRef(function UniformRichText({ parameterId, component, resolveRichTextRenderer, as: Tag = 'div', ...props }, ref) {
|
|
9
|
+
var _a;
|
|
10
|
+
const parameter = (_a = component === null || component === void 0 ? void 0 : component.parameters) === null || _a === void 0 ? void 0 : _a[parameterId];
|
|
11
|
+
const value = parameter === null || parameter === void 0 ? void 0 : parameter.value;
|
|
12
|
+
if (!value || !isRichTextValue(value) || isRichTextValueConsideredEmpty(value))
|
|
13
|
+
return null;
|
|
14
|
+
return Tag === null ? (_jsx(UniformRichTextNode, { node: value.root, resolveRichTextRenderer: resolveRichTextRenderer })) : (_jsx(Tag, { ref: ref, ...props, children: _jsx(UniformRichTextNode, { node: value.root, resolveRichTextRenderer: resolveRichTextRenderer }) }));
|
|
15
|
+
});
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { RichTextNode } from '@uniformdev/richtext';
|
|
2
|
+
|
|
3
|
+
import { RenderRichTextComponentResolver } from './types';
|
|
4
|
+
export type UniformRichTextNodeProps = {
|
|
5
|
+
node: RichTextNode;
|
|
6
|
+
resolveRichTextRenderer?: RenderRichTextComponentResolver;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Render a single RichText node
|
|
10
|
+
*/
|
|
11
|
+
export declare function UniformRichTextNode({
|
|
12
|
+
node,
|
|
13
|
+
...props
|
|
14
|
+
}: UniformRichTextNodeProps): import('react/jsx-runtime').JSX.Element | null;
|