@@ -12,7 +12,7 @@ import {
1212import * as React from "react" ;
1313import { Centered } from "./Centered" ;
1414import { CenteredVertically } from "./CenteredVertically" ;
15- import { updateStyleDefinition } from "../core-utils" ;
15+ import { isServer , updateStyleDefinition } from "../core-utils" ;
1616
1717function applyCentering ( children : React . ReactNode , centerType : CenterType | undefined ) {
1818 switch ( centerType ) {
@@ -73,28 +73,20 @@ const SpaceInner: React.FC<IReactSpaceInnerProps & { wrapperInstance: Space }> =
7373 ...{ id : idToUse } ,
7474 } ) ;
7575
76+ if ( SSR_SUPPORT_ENABLED && ! isServer ( ) ) {
77+ const preRenderedStyle = document . getElementById ( `style_${ idToUse } _ssr` ) ;
78+ if ( preRenderedStyle ) {
79+ const newStyle = document . createElement ( "style" ) ;
80+ newStyle . id = `style_${ idToUse } ` ;
81+ newStyle . innerHTML = preRenderedStyle . innerHTML ;
82+ document . head . appendChild ( newStyle ) ;
83+ space . ssrStyle = preRenderedStyle . innerHTML ;
84+ }
85+ updateStyleDefinition ( space ) ;
86+ }
87+
7688 useEffectOnce ( ( ) => {
7789 space . element = elementRef . current ! ;
78-
79- if ( SSR_SUPPORT_ENABLED ) {
80- if ( space . element . getAttribute ( "data-ssr" ) === "1" ) {
81- const preRenderedStyle = space . element . children [ 0 ] ;
82- if ( preRenderedStyle ) {
83- const id = preRenderedStyle . getAttribute ( "data-id" ) ;
84- if ( id ) {
85- space . id = id ;
86- console . log ( space . id ) ;
87- }
88-
89- const newStyle = document . createElement ( "style" ) ;
90- newStyle . id = `style_${ space . id } ` ;
91- newStyle . innerHTML = preRenderedStyle . innerHTML ;
92- document . head . appendChild ( newStyle ) ;
93- }
94- space . element . removeAttribute ( "data-ssr" ) ;
95- updateStyleDefinition ( space ) ;
96- }
97- }
9890 } ) ;
9991
10092 const userClasses = className ? className . split ( " " ) . map ( ( c ) => c . trim ( ) ) : [ ] ;
@@ -132,22 +124,18 @@ const SpaceInner: React.FC<IReactSpaceInnerProps & { wrapperInstance: Space }> =
132124 ...events ,
133125 } as any ;
134126
135- if ( SSR_SUPPORT_ENABLED ) {
136- outerProps [ "data-ssr" ] = "1" ;
137- }
138-
139127 return (
140128 < >
141129 { resizeHandles . mouseHandles . map ( ( handleProps ) => handleRender ?.( handleProps ) || < div { ...handleProps } /> ) }
130+ { SSR_SUPPORT_ENABLED && space . ssrStyle ? (
131+ < style id = { `style_${ space . id } _ssr` } > { space . ssrStyle } </ style >
132+ ) : (
133+ < style id = { `style_${ space . id } _ssr` } />
134+ ) }
142135 { React . createElement (
143136 props . as || "div" ,
144137 outerProps ,
145138 < >
146- { SSR_SUPPORT_ENABLED && space . ssrStyle && (
147- < style className = "ssr" data-id = { space . id } >
148- { space . ssrStyle }
149- </ style >
150- ) }
151139 < div className = { innerClasses . join ( " " ) } style = { innerStyle } >
152140 < ParentContext . Provider value = { space . id } >
153141 < LayerContext . Provider value = { undefined } >
0 commit comments