@@ -20,11 +20,11 @@ const { GlobalStylesContext } = unlock( blockEditorPrivateApis );
20
20
21
21
export default function StyleVariationsContainer ( { gap = 2 } ) {
22
22
const { user } = useContext ( GlobalStylesContext ) ;
23
- const [ currentUserStyles , setCurrentUserStyles ] = useState ( { ... user } ) ;
23
+ const [ currentUserStyles , setCurrentUserStyles ] = useState ( user ) ;
24
24
const userStyles = currentUserStyles ?. styles ;
25
25
26
26
useEffect ( ( ) => {
27
- setCurrentUserStyles ( { ... user } ) ;
27
+ setCurrentUserStyles ( user ) ;
28
28
} , [ user ] ) ;
29
29
30
30
const variations = useSelect ( ( select ) => {
@@ -53,6 +53,7 @@ export default function StyleVariationsContainer( { gap = 2 } ) {
53
53
return [
54
54
...withEmptyVariation . map ( ( variation ) => {
55
55
const blockStyles = { ...variation ?. styles ?. blocks } || { } ;
56
+
56
57
// We need to copy any user custom CSS to the variation to prevent it being lost
57
58
// when switching variations.
58
59
if ( userStyles ?. blocks ) {
@@ -62,20 +63,14 @@ export default function StyleVariationsContainer( { gap = 2 } ) {
62
63
if ( userStyles . blocks [ blockName ] . css ) {
63
64
const variationBlockStyles =
64
65
blockStyles [ blockName ] || { } ;
65
- const customCSS =
66
- blockStyles [ blockName ] ?. css ||
67
- userStyles . blocks [ blockName ] . css
68
- ? {
69
- css : `${
70
- blockStyles [ blockName ] ?. css ||
71
- ''
72
- } ${
73
- userStyles . blocks [ blockName ]
74
- . css || ''
75
- } `,
76
- }
77
- : { } ;
78
-
66
+ const customCSS = {
67
+ css : `${
68
+ blockStyles [ blockName ] ?. css || ''
69
+ } ${
70
+ userStyles . blocks [ blockName ] . css . trim ( ) ||
71
+ ''
72
+ } `,
73
+ } ;
79
74
blockStyles [ blockName ] = {
80
75
...variationBlockStyles ,
81
76
...customCSS ,
@@ -110,7 +105,7 @@ export default function StyleVariationsContainer( { gap = 2 } ) {
110
105
} ;
111
106
} ) ,
112
107
] ;
113
- } , [ multiplePropertyVariations , userStyles . blocks , userStyles ?. css ] ) ;
108
+ } , [ multiplePropertyVariations , userStyles ? .blocks , userStyles ?. css ] ) ;
114
109
115
110
return (
116
111
< Grid
0 commit comments