From 115032d1eb51fd2354618b9f5a4114c0b067e2b5 Mon Sep 17 00:00:00 2001 From: Ben Dwyer Date: Fri, 14 Jun 2024 13:37:48 +0100 Subject: [PATCH] Remove the property from the user variation before merginng it with the new variation --- .../use-theme-style-variations-by-property.js | 20 ++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/packages/edit-site/src/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js b/packages/edit-site/src/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js index 3419cf512ee0aa..6449b5b3423320 100644 --- a/packages/edit-site/src/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js +++ b/packages/edit-site/src/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js @@ -68,14 +68,14 @@ export function useCurrentMergeThemeStyleVariationsWithUserConfig( { variationsFromTheme: _variationsFromTheme || [], }; }, [] ); - const { user: baseVariation } = useContext( GlobalStylesContext ); + const { user: userVariation } = useContext( GlobalStylesContext ); return useMemo( () => { - const clonedBaseVariation = cloneDeep( baseVariation ); + const clonedUserVariation = cloneDeep( userVariation ); // Get user variation and remove the settings for the given property. - const userVariation = removePropertyFromObject( - clonedBaseVariation, + const userVariationWithoutProperty = removePropertyFromObject( + clonedUserVariation, property ); userVariation.title = __( 'Default' ); @@ -85,11 +85,17 @@ export function useCurrentMergeThemeStyleVariationsWithUserConfig( { return isVariationWithSingleProperty( variation, property ); } ) .map( ( variation ) => { - return mergeBaseAndUserConfigs( baseVariation, variation ); + return mergeBaseAndUserConfigs( + userVariationWithoutProperty, + variation + ); } ); - return [ userVariation, ...variationsWithSinglePropertyAndBase ]; - }, [ property, baseVariation, variationsFromTheme ] ); + return [ + userVariationWithoutProperty, + ...variationsWithSinglePropertyAndBase, + ]; + }, [ property, userVariation, variationsFromTheme ] ); } /**