diff --git a/packages/optimizely-cms-sdk/src/react/server.tsx b/packages/optimizely-cms-sdk/src/react/server.tsx
index 025ce4ce..4f3e8278 100644
--- a/packages/optimizely-cms-sdk/src/react/server.tsx
+++ b/packages/optimizely-cms-sdk/src/react/server.tsx
@@ -213,6 +213,11 @@ function FallbackColumn({ node, children }: StructureContainerProps) {
);
}
+function FallbackGridComponent({ node, children }: StructureContainerProps) {
+ const { pa } = getPreviewUtils(node);
+ return
{children}
;
+}
+
function FallbackComponent({ children }: { children: ReactNode }) {
return isDev() ? (
= {
row: FallbackRow,
column: FallbackColumn,
+ component: FallbackGridComponent,
};
export function OptimizelyGridSection({
nodes,
row,
column,
+ component,
}: OptimizelyGridSectionProps) {
const locallyDefined: Record = {
row,
column,
+ component,
};
return nodes.map((node, i) => {
const tag = getDisplayTemplateTag(node.displayTemplateKey);
const parsedDisplaySettings = parseDisplaySettings(node.displaySettings);
- if (isComponentNode(node)) {
- return (
-
- );
- }
-
const { nodeType } = node;
const globalNames: Record = {
row: '_Row',
column: '_Column',
+ component: '_Component',
};
// Pick the component in the following order:
@@ -286,6 +283,21 @@ export function OptimizelyGridSection({
fallbacks[nodeType] ??
React.Fragment;
+ if (isComponentNode(node)) {
+ return (
+
+
+
+ );
+ }
+
return (