Skip to content

Commit a930a64

Browse files
committed
Update use-global-styles-output.js
1 parent 090ebc1 commit a930a64

File tree

1 file changed

+34
-20
lines changed

1 file changed

+34
-20
lines changed

src/OnboardingSPA/utils/global-styles/use-global-styles-output.js

Lines changed: 34 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,12 @@ import {
1919
// eslint-disable-next-line @wordpress/no-unsafe-wp-apis
2020
__experimentalGetGapCSSValue as getGapCSSValue,
2121
} from '@wordpress/block-editor';
22-
2322
/**
2423
* Internal dependencies
2524
*/
2625
import {
2726
appendToSelector,
27+
getBlockStyleVariationSelector,
2828
getResolvedValue,
2929
getValueFromObjectPath,
3030
LAYOUT_DEFINITIONS,
@@ -1202,7 +1202,7 @@ const getSelectorsConfig = ( blockType, rootSelector ) => {
12021202
return config;
12031203
};
12041204

1205-
export const getBlockSelectors = ( blockTypes ) => {
1205+
export const getBlockSelectors = ( blockTypes, storedPreviewSettings ) => {
12061206
const result = {};
12071207
blockTypes.forEach( ( blockType ) => {
12081208
const name = blockType.name;
@@ -1231,20 +1231,31 @@ export const getBlockSelectors = ( blockTypes ) => {
12311231
blockType?.supports?.spacing?.blockGap?.__experimentalDefault;
12321232

12331233
// TO-DO Check this logic
1234-
// const blockStyleVariations = BLOCK_SUPPORT_FEATURE_LEVEL_SELECTORS;
1235-
// const styleVariationSelectors = {};
1236-
// blockStyleVariations?.forEach((variation) => {
1237-
// const variationSuffix = variationInstanceId
1238-
// ? `-${variationInstanceId}`
1239-
// : '';
1240-
// const variationName = `${variation.name}${variationSuffix}`;
1241-
// const styleVariationSelector = getBlockStyleVariationSelector(
1242-
// variationName,
1243-
// selector
1244-
// );
1245-
1246-
// styleVariationSelectors[variationName] = styleVariationSelector;
1247-
// });
1234+
const blockStyleVariation =
1235+
storedPreviewSettings.globalStyles.blocks[ name ]?.variations;
1236+
const blockStyleVariationArray = blockStyleVariation
1237+
? [ blockStyleVariation ]
1238+
: [];
1239+
const styleVariationSelectors = {};
1240+
1241+
if ( blockStyleVariationArray.length !== 0 ) {
1242+
blockStyleVariationArray?.forEach( ( variation ) => {
1243+
Object.entries( variation ).forEach( ( [ key, value ] ) => {
1244+
const variationSuffix = blockType?.apiVersion
1245+
? `--${ blockType?.apiVersion }`
1246+
: '';
1247+
const variationName = `${ key }${ variationSuffix }`;
1248+
const styleVariationSelector =
1249+
getBlockStyleVariationSelector(
1250+
variationName,
1251+
selector
1252+
);
1253+
1254+
styleVariationSelectors[ variationName ] =
1255+
styleVariationSelector;
1256+
} );
1257+
} );
1258+
}
12481259

12491260
// For each block support feature add any custom selectors.
12501261
const featureSelectors = getSelectorsConfig( blockType, selector );
@@ -1258,9 +1269,9 @@ export const getBlockSelectors = ( blockTypes ) => {
12581269
hasLayoutSupport,
12591270
name,
12601271
selector,
1261-
// styleVariationSelectors: blockStyleVariations?.length
1262-
// ? styleVariationSelectors
1263-
// : undefined,
1272+
styleVariationSelectors: blockStyleVariationArray?.length
1273+
? styleVariationSelectors
1274+
: undefined,
12641275
};
12651276
} );
12661277

@@ -1376,7 +1387,10 @@ export function generateStyles(
13761387
}
13771388

13781389
const updatedConfig = updateConfigWithSeparator( previewSettings );
1379-
const blockSelectors = getBlockSelectors( getBlockTypes() );
1390+
const blockSelectors = getBlockSelectors(
1391+
getBlockTypes(),
1392+
storedPreviewSettings
1393+
);
13801394

13811395
// Generate custom properties, global styles, and SVG filters
13821396
const customProperties = toCustomProperties(

0 commit comments

Comments
 (0)