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 (