@wordpress/global-styles-engine 1.10.1-next.v.202604091042.0 → 1.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/utils/get-global-styles-changes.ts"],
4
- "sourcesContent": ["/**\n * External dependencies\n */\nimport memoize from 'memize';\n\n/**\n * WordPress dependencies\n */\nimport { __, _n, sprintf } from '@wordpress/i18n';\n// @ts-expect-error blocks package not typed yet.\nimport { getBlockTypes } from '@wordpress/blocks';\n\ntype TranslationMap = Record< string, string >;\ntype BlockNamesMap = Record< string, string >;\ntype ChangeEntry = [ string, string ];\n\ninterface GetGlobalStylesChangesOptions {\n\tmaxResults?: number;\n}\n\nconst globalStylesChangesCache = new Map< string, ChangeEntry[] >();\nconst EMPTY_ARRAY: string[] = [];\nconst translationMap: TranslationMap = {\n\tcaption: __( 'Caption' ),\n\tlink: __( 'Link' ),\n\tbutton: __( 'Button' ),\n\theading: __( 'Heading' ),\n\th1: __( 'H1' ),\n\th2: __( 'H2' ),\n\th3: __( 'H3' ),\n\th4: __( 'H4' ),\n\th5: __( 'H5' ),\n\th6: __( 'H6' ),\n\t'settings.color': __( 'Color' ),\n\t'settings.typography': __( 'Typography' ),\n\t'settings.shadow': __( 'Shadow' ),\n\t'settings.layout': __( 'Layout' ),\n\t'styles.color': __( 'Colors' ),\n\t'styles.spacing': __( 'Spacing' ),\n\t'styles.background': __( 'Background' ),\n\t'styles.typography': __( 'Typography' ),\n};\nconst getBlockNames = memoize(\n\t(): BlockNamesMap =>\n\t\tgetBlockTypes().reduce< BlockNamesMap >(\n\t\t\t(\n\t\t\t\taccumulator: BlockNamesMap,\n\t\t\t\t{\n\t\t\t\t\tname,\n\t\t\t\t\ttitle,\n\t\t\t\t}: {\n\t\t\t\t\tname: string;\n\t\t\t\t\ttitle: string;\n\t\t\t\t}\n\t\t\t) => {\n\t\t\t\taccumulator[ name ] = title;\n\t\t\t\treturn accumulator;\n\t\t\t},\n\t\t\t{}\n\t\t)\n);\nconst isObject = ( obj: any ): obj is Record< string, any > =>\n\tobj !== null && typeof obj === 'object';\n\n/**\n * Get the translation for a given global styles key.\n * @param key A key representing a path to a global style property or setting.\n * @return A translated key or undefined if no translation exists.\n */\nfunction getTranslation( key: string ): string | undefined {\n\tif ( translationMap[ key ] ) {\n\t\treturn translationMap[ key ];\n\t}\n\n\tconst keyArray = key.split( '.' );\n\n\tif ( keyArray?.[ 0 ] === 'blocks' ) {\n\t\tconst blockName = getBlockNames()?.[ keyArray[ 1 ] ];\n\t\treturn blockName || keyArray[ 1 ];\n\t}\n\n\tif ( keyArray?.[ 0 ] === 'elements' ) {\n\t\treturn translationMap[ keyArray[ 1 ] ] || keyArray[ 1 ];\n\t}\n\n\treturn undefined;\n}\n\n/**\n * A deep comparison of two objects, optimized for comparing global styles.\n * @param changedObject The changed object to compare.\n * @param originalObject The original object to compare against.\n * @param parentPath A key/value pair object of block names and their rendered titles.\n * @return An array of paths whose values have changed.\n */\nfunction deepCompare(\n\tchangedObject: any,\n\toriginalObject: any,\n\tparentPath: string = ''\n): string | string[] | undefined {\n\t// We have two non-object values to compare.\n\tif ( ! isObject( changedObject ) && ! isObject( originalObject ) ) {\n\t\t/*\n\t\t * Only return a path if the value has changed.\n\t\t * And then only the path name up to 2 levels deep.\n\t\t */\n\t\treturn changedObject !== originalObject\n\t\t\t? parentPath.split( '.' ).slice( 0, 2 ).join( '.' )\n\t\t\t: undefined;\n\t}\n\n\t// Enable comparison when an object doesn't have a corresponding property to compare.\n\tchangedObject = isObject( changedObject ) ? changedObject : {};\n\toriginalObject = isObject( originalObject ) ? originalObject : {};\n\n\tconst allKeys = new Set( [\n\t\t...Object.keys( changedObject ),\n\t\t...Object.keys( originalObject ),\n\t] );\n\n\tlet diffs: string[] = [];\n\tfor ( const key of allKeys ) {\n\t\tconst path = parentPath ? parentPath + '.' + key : key;\n\t\tconst changedPath = deepCompare(\n\t\t\tchangedObject[ key ],\n\t\t\toriginalObject[ key ],\n\t\t\tpath\n\t\t);\n\t\tif ( changedPath ) {\n\t\t\tdiffs = diffs.concat( changedPath );\n\t\t}\n\t}\n\treturn diffs;\n}\n\n/**\n * Returns an array of translated summarized global styles changes.\n * Results are cached using a Map() key of `JSON.stringify( { next, previous } )`.\n *\n * @param next The changed object to compare.\n * @param previous The original object to compare against.\n * @return A 2-dimensional array of tuples: [ \"group\", \"translated change\" ].\n */\nexport function getGlobalStylesChangelist(\n\tnext: any,\n\tprevious: any\n): ChangeEntry[] {\n\tconst cacheKey = JSON.stringify( { next, previous } );\n\n\tif ( globalStylesChangesCache.has( cacheKey ) ) {\n\t\treturn globalStylesChangesCache.get( cacheKey )!;\n\t}\n\n\t/*\n\t * Compare the two changesets with normalized keys.\n\t * The order of these keys determines the order in which\n\t * they'll appear in the results.\n\t */\n\tconst changedValueTree = deepCompare(\n\t\t{\n\t\t\tstyles: {\n\t\t\t\tbackground: next?.styles?.background,\n\t\t\t\tcolor: next?.styles?.color,\n\t\t\t\ttypography: next?.styles?.typography,\n\t\t\t\tspacing: next?.styles?.spacing,\n\t\t\t},\n\t\t\tblocks: next?.styles?.blocks,\n\t\t\telements: next?.styles?.elements,\n\t\t\tsettings: next?.settings,\n\t\t},\n\t\t{\n\t\t\tstyles: {\n\t\t\t\tbackground: previous?.styles?.background,\n\t\t\t\tcolor: previous?.styles?.color,\n\t\t\t\ttypography: previous?.styles?.typography,\n\t\t\t\tspacing: previous?.styles?.spacing,\n\t\t\t},\n\t\t\tblocks: previous?.styles?.blocks,\n\t\t\telements: previous?.styles?.elements,\n\t\t\tsettings: previous?.settings,\n\t\t}\n\t);\n\n\tif (\n\t\t! changedValueTree ||\n\t\t( Array.isArray( changedValueTree ) && ! changedValueTree.length )\n\t) {\n\t\tglobalStylesChangesCache.set( cacheKey, [] );\n\t\treturn [];\n\t}\n\n\tconst changedValueArray = Array.isArray( changedValueTree )\n\t\t? changedValueTree\n\t\t: [ changedValueTree ];\n\n\t// Remove duplicate results.\n\tconst result = [ ...new Set( changedValueArray ) ]\n\t\t/*\n\t\t * Translate the keys.\n\t\t * Remove empty translations.\n\t\t */\n\t\t.reduce< ChangeEntry[] >( ( acc, curr ) => {\n\t\t\tconst translation = getTranslation( curr );\n\t\t\tif ( translation ) {\n\t\t\t\tacc.push( [ curr.split( '.' )[ 0 ], translation ] );\n\t\t\t}\n\t\t\treturn acc;\n\t\t}, [] );\n\n\tglobalStylesChangesCache.set( cacheKey, result );\n\n\treturn result;\n}\n\n/**\n * From a getGlobalStylesChangelist() result, returns an array of translated global styles changes, grouped by type.\n * The types are 'blocks', 'elements', 'settings', and 'styles'.\n *\n * @param next The changed object to compare.\n * @param previous The original object to compare against.\n * @param options Options. maxResults: results to return before truncating.\n * @return An array of translated changes.\n */\nexport default function getGlobalStylesChanges(\n\tnext: any,\n\tprevious: any,\n\toptions: GetGlobalStylesChangesOptions = {}\n): string[] {\n\tlet changeList = getGlobalStylesChangelist( next, previous );\n\tconst changesLength = changeList.length;\n\tconst { maxResults } = options;\n\n\tif ( changesLength ) {\n\t\t// Truncate to `n` results if necessary.\n\t\tif ( !! maxResults && changesLength > maxResults ) {\n\t\t\tchangeList = changeList.slice( 0, maxResults );\n\t\t}\n\t\treturn Object.entries(\n\t\t\tchangeList.reduce< Record< string, string[] > >( ( acc, curr ) => {\n\t\t\t\tconst group = acc[ curr[ 0 ] ] || [];\n\t\t\t\tif ( ! group.includes( curr[ 1 ] ) ) {\n\t\t\t\t\tacc[ curr[ 0 ] ] = [ ...group, curr[ 1 ] ];\n\t\t\t\t}\n\t\t\t\treturn acc;\n\t\t\t}, {} )\n\t\t).map( ( [ key, changeValues ] ) => {\n\t\t\tconst changeValuesLength = changeValues.length;\n\t\t\tconst joinedChangesValue = changeValues.join(\n\t\t\t\t/* translators: Used between list items, there is a space after the comma. */\n\t\t\t\t__( ', ' ) // eslint-disable-line @wordpress/i18n-no-flanking-whitespace\n\t\t\t);\n\t\t\tswitch ( key ) {\n\t\t\t\tcase 'blocks': {\n\t\t\t\t\treturn sprintf(\n\t\t\t\t\t\t// translators: %s: a list of block names separated by a comma.\n\t\t\t\t\t\t_n( '%s block.', '%s blocks.', changeValuesLength ),\n\t\t\t\t\t\tjoinedChangesValue\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tcase 'elements': {\n\t\t\t\t\treturn sprintf(\n\t\t\t\t\t\t// translators: %s: a list of element names separated by a comma.\n\t\t\t\t\t\t_n( '%s element.', '%s elements.', changeValuesLength ),\n\t\t\t\t\t\tjoinedChangesValue\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tcase 'settings': {\n\t\t\t\t\treturn sprintf(\n\t\t\t\t\t\t// translators: %s: a list of theme.json setting labels separated by a comma.\n\t\t\t\t\t\t__( '%s settings.' ),\n\t\t\t\t\t\tjoinedChangesValue\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tcase 'styles': {\n\t\t\t\t\treturn sprintf(\n\t\t\t\t\t\t// translators: %s: a list of theme.json top-level styles labels separated by a comma.\n\t\t\t\t\t\t__( '%s styles.' ),\n\t\t\t\t\t\tjoinedChangesValue\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tdefault: {\n\t\t\t\t\treturn sprintf(\n\t\t\t\t\t\t// translators: %s: a list of global styles changes separated by a comma.\n\t\t\t\t\t\t__( '%s.' ),\n\t\t\t\t\t\tjoinedChangesValue\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\t}\n\n\treturn EMPTY_ARRAY;\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["/**\n * External dependencies\n */\nimport memoize from 'memize';\n\n/**\n * WordPress dependencies\n */\nimport { __, _n, sprintf } from '@wordpress/i18n';\nimport { getBlockTypes } from '@wordpress/blocks';\n\ntype TranslationMap = Record< string, string >;\ntype BlockNamesMap = Record< string, string >;\ntype ChangeEntry = [ string, string ];\n\ninterface GetGlobalStylesChangesOptions {\n\tmaxResults?: number;\n}\n\nconst globalStylesChangesCache = new Map< string, ChangeEntry[] >();\nconst EMPTY_ARRAY: string[] = [];\nconst translationMap: TranslationMap = {\n\tcaption: __( 'Caption' ),\n\tlink: __( 'Link' ),\n\tbutton: __( 'Button' ),\n\theading: __( 'Heading' ),\n\th1: __( 'H1' ),\n\th2: __( 'H2' ),\n\th3: __( 'H3' ),\n\th4: __( 'H4' ),\n\th5: __( 'H5' ),\n\th6: __( 'H6' ),\n\t'settings.color': __( 'Color' ),\n\t'settings.typography': __( 'Typography' ),\n\t'settings.shadow': __( 'Shadow' ),\n\t'settings.layout': __( 'Layout' ),\n\t'styles.color': __( 'Colors' ),\n\t'styles.spacing': __( 'Spacing' ),\n\t'styles.background': __( 'Background' ),\n\t'styles.typography': __( 'Typography' ),\n};\nconst getBlockNames = memoize(\n\t(): BlockNamesMap =>\n\t\tgetBlockTypes().reduce< BlockNamesMap >(\n\t\t\t(\n\t\t\t\taccumulator: BlockNamesMap,\n\t\t\t\t{\n\t\t\t\t\tname,\n\t\t\t\t\ttitle,\n\t\t\t\t}: {\n\t\t\t\t\tname: string;\n\t\t\t\t\ttitle: string;\n\t\t\t\t}\n\t\t\t) => {\n\t\t\t\taccumulator[ name ] = title;\n\t\t\t\treturn accumulator;\n\t\t\t},\n\t\t\t{}\n\t\t)\n);\nconst isObject = ( obj: any ): obj is Record< string, any > =>\n\tobj !== null && typeof obj === 'object';\n\n/**\n * Get the translation for a given global styles key.\n * @param key A key representing a path to a global style property or setting.\n * @return A translated key or undefined if no translation exists.\n */\nfunction getTranslation( key: string ): string | undefined {\n\tif ( translationMap[ key ] ) {\n\t\treturn translationMap[ key ];\n\t}\n\n\tconst keyArray = key.split( '.' );\n\n\tif ( keyArray?.[ 0 ] === 'blocks' ) {\n\t\tconst blockName = getBlockNames()?.[ keyArray[ 1 ] ];\n\t\treturn blockName || keyArray[ 1 ];\n\t}\n\n\tif ( keyArray?.[ 0 ] === 'elements' ) {\n\t\treturn translationMap[ keyArray[ 1 ] ] || keyArray[ 1 ];\n\t}\n\n\treturn undefined;\n}\n\n/**\n * A deep comparison of two objects, optimized for comparing global styles.\n * @param changedObject The changed object to compare.\n * @param originalObject The original object to compare against.\n * @param parentPath A key/value pair object of block names and their rendered titles.\n * @return An array of paths whose values have changed.\n */\nfunction deepCompare(\n\tchangedObject: any,\n\toriginalObject: any,\n\tparentPath: string = ''\n): string | string[] | undefined {\n\t// We have two non-object values to compare.\n\tif ( ! isObject( changedObject ) && ! isObject( originalObject ) ) {\n\t\t/*\n\t\t * Only return a path if the value has changed.\n\t\t * And then only the path name up to 2 levels deep.\n\t\t */\n\t\treturn changedObject !== originalObject\n\t\t\t? parentPath.split( '.' ).slice( 0, 2 ).join( '.' )\n\t\t\t: undefined;\n\t}\n\n\t// Enable comparison when an object doesn't have a corresponding property to compare.\n\tchangedObject = isObject( changedObject ) ? changedObject : {};\n\toriginalObject = isObject( originalObject ) ? originalObject : {};\n\n\tconst allKeys = new Set( [\n\t\t...Object.keys( changedObject ),\n\t\t...Object.keys( originalObject ),\n\t] );\n\n\tlet diffs: string[] = [];\n\tfor ( const key of allKeys ) {\n\t\tconst path = parentPath ? parentPath + '.' + key : key;\n\t\tconst changedPath = deepCompare(\n\t\t\tchangedObject[ key ],\n\t\t\toriginalObject[ key ],\n\t\t\tpath\n\t\t);\n\t\tif ( changedPath ) {\n\t\t\tdiffs = diffs.concat( changedPath );\n\t\t}\n\t}\n\treturn diffs;\n}\n\n/**\n * Returns an array of translated summarized global styles changes.\n * Results are cached using a Map() key of `JSON.stringify( { next, previous } )`.\n *\n * @param next The changed object to compare.\n * @param previous The original object to compare against.\n * @return A 2-dimensional array of tuples: [ \"group\", \"translated change\" ].\n */\nexport function getGlobalStylesChangelist(\n\tnext: any,\n\tprevious: any\n): ChangeEntry[] {\n\tconst cacheKey = JSON.stringify( { next, previous } );\n\n\tif ( globalStylesChangesCache.has( cacheKey ) ) {\n\t\treturn globalStylesChangesCache.get( cacheKey )!;\n\t}\n\n\t/*\n\t * Compare the two changesets with normalized keys.\n\t * The order of these keys determines the order in which\n\t * they'll appear in the results.\n\t */\n\tconst changedValueTree = deepCompare(\n\t\t{\n\t\t\tstyles: {\n\t\t\t\tbackground: next?.styles?.background,\n\t\t\t\tcolor: next?.styles?.color,\n\t\t\t\ttypography: next?.styles?.typography,\n\t\t\t\tspacing: next?.styles?.spacing,\n\t\t\t},\n\t\t\tblocks: next?.styles?.blocks,\n\t\t\telements: next?.styles?.elements,\n\t\t\tsettings: next?.settings,\n\t\t},\n\t\t{\n\t\t\tstyles: {\n\t\t\t\tbackground: previous?.styles?.background,\n\t\t\t\tcolor: previous?.styles?.color,\n\t\t\t\ttypography: previous?.styles?.typography,\n\t\t\t\tspacing: previous?.styles?.spacing,\n\t\t\t},\n\t\t\tblocks: previous?.styles?.blocks,\n\t\t\telements: previous?.styles?.elements,\n\t\t\tsettings: previous?.settings,\n\t\t}\n\t);\n\n\tif (\n\t\t! changedValueTree ||\n\t\t( Array.isArray( changedValueTree ) && ! changedValueTree.length )\n\t) {\n\t\tglobalStylesChangesCache.set( cacheKey, [] );\n\t\treturn [];\n\t}\n\n\tconst changedValueArray = Array.isArray( changedValueTree )\n\t\t? changedValueTree\n\t\t: [ changedValueTree ];\n\n\t// Remove duplicate results.\n\tconst result = [ ...new Set( changedValueArray ) ]\n\t\t/*\n\t\t * Translate the keys.\n\t\t * Remove empty translations.\n\t\t */\n\t\t.reduce< ChangeEntry[] >( ( acc, curr ) => {\n\t\t\tconst translation = getTranslation( curr );\n\t\t\tif ( translation ) {\n\t\t\t\tacc.push( [ curr.split( '.' )[ 0 ], translation ] );\n\t\t\t}\n\t\t\treturn acc;\n\t\t}, [] );\n\n\tglobalStylesChangesCache.set( cacheKey, result );\n\n\treturn result;\n}\n\n/**\n * From a getGlobalStylesChangelist() result, returns an array of translated global styles changes, grouped by type.\n * The types are 'blocks', 'elements', 'settings', and 'styles'.\n *\n * @param next The changed object to compare.\n * @param previous The original object to compare against.\n * @param options Options. maxResults: results to return before truncating.\n * @return An array of translated changes.\n */\nexport default function getGlobalStylesChanges(\n\tnext: any,\n\tprevious: any,\n\toptions: GetGlobalStylesChangesOptions = {}\n): string[] {\n\tlet changeList = getGlobalStylesChangelist( next, previous );\n\tconst changesLength = changeList.length;\n\tconst { maxResults } = options;\n\n\tif ( changesLength ) {\n\t\t// Truncate to `n` results if necessary.\n\t\tif ( !! maxResults && changesLength > maxResults ) {\n\t\t\tchangeList = changeList.slice( 0, maxResults );\n\t\t}\n\t\treturn Object.entries(\n\t\t\tchangeList.reduce< Record< string, string[] > >( ( acc, curr ) => {\n\t\t\t\tconst group = acc[ curr[ 0 ] ] || [];\n\t\t\t\tif ( ! group.includes( curr[ 1 ] ) ) {\n\t\t\t\t\tacc[ curr[ 0 ] ] = [ ...group, curr[ 1 ] ];\n\t\t\t\t}\n\t\t\t\treturn acc;\n\t\t\t}, {} )\n\t\t).map( ( [ key, changeValues ] ) => {\n\t\t\tconst changeValuesLength = changeValues.length;\n\t\t\tconst joinedChangesValue = changeValues.join(\n\t\t\t\t/* translators: Used between list items, there is a space after the comma. */\n\t\t\t\t__( ', ' ) // eslint-disable-line @wordpress/i18n-no-flanking-whitespace\n\t\t\t);\n\t\t\tswitch ( key ) {\n\t\t\t\tcase 'blocks': {\n\t\t\t\t\treturn sprintf(\n\t\t\t\t\t\t// translators: %s: a list of block names separated by a comma.\n\t\t\t\t\t\t_n( '%s block.', '%s blocks.', changeValuesLength ),\n\t\t\t\t\t\tjoinedChangesValue\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tcase 'elements': {\n\t\t\t\t\treturn sprintf(\n\t\t\t\t\t\t// translators: %s: a list of element names separated by a comma.\n\t\t\t\t\t\t_n( '%s element.', '%s elements.', changeValuesLength ),\n\t\t\t\t\t\tjoinedChangesValue\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tcase 'settings': {\n\t\t\t\t\treturn sprintf(\n\t\t\t\t\t\t// translators: %s: a list of theme.json setting labels separated by a comma.\n\t\t\t\t\t\t__( '%s settings.' ),\n\t\t\t\t\t\tjoinedChangesValue\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tcase 'styles': {\n\t\t\t\t\treturn sprintf(\n\t\t\t\t\t\t// translators: %s: a list of theme.json top-level styles labels separated by a comma.\n\t\t\t\t\t\t__( '%s styles.' ),\n\t\t\t\t\t\tjoinedChangesValue\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tdefault: {\n\t\t\t\t\treturn sprintf(\n\t\t\t\t\t\t// translators: %s: a list of global styles changes separated by a comma.\n\t\t\t\t\t\t__( '%s.' ),\n\t\t\t\t\t\tjoinedChangesValue\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\t}\n\n\treturn EMPTY_ARRAY;\n}\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -1,4 +1,5 @@
1
- import type { BlockType, GlobalStylesConfig, GlobalStylesStyles } from '../types';
1
+ import type { BlockType } from '@wordpress/blocks';
2
+ import type { GlobalStylesConfig, GlobalStylesStyles } from '../types';
2
3
  /**
3
4
  * Layout definition structure
4
5
  */
@@ -1 +1 @@
1
- {"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../src/core/render.tsx"],"names":[],"mappings":"AAoCA,OAAO,KAAK,EAEX,SAAS,EACT,kBAAkB,EAClB,kBAAkB,EAClB,MAAM,UAAU,CAAC;AA6ClB;;GAEG;AACH,UAAU,gBAAgB;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,KAAK,CAAE;QACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAE,MAAM,EAAE,GAAG,CAAE,CAAC;KAC9B,CAAE,CAAC;IACJ,UAAU,CAAC,EAAE,KAAK,CAAE;QACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAE,MAAM,EAAE,GAAG,CAAE,CAAC;KAC9B,CAAE,CAAC;CACJ;AA6BD,MAAM,MAAM,cAAc,GAAG,MAAM,CAClC,MAAM,EACN;IACC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,gBAAgB,CAAC,EACd,MAAM,GACN,MAAM,CAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAAE,MAAM,EAAE,MAAM,CAAE,CAAE,CAAC;IACvD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,uBAAuB,CAAC,EAAE,MAAM,CAAE,MAAM,EAAE,MAAM,CAAE,CAAC;CACnD,CACD,CAAC;AAgYF;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CACpC,WAAW,GAAE,GAAQ,EACrB,QAAQ,GAAE,MAAW,EACrB,mBAAmB,CAAC,EAAE,OAAO,EAC7B,IAAI,GAAE,GAAQ,EACd,kBAAkB,GAAE,OAAe,GACjC,MAAM,EAAE,CAqJV;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,eAAe,CAAE,EAChC,iBAAsC,EACtC,KAAK,EACL,QAAQ,EACR,kBAAkB,EAClB,qBAAqB,EACrB,gBAAgB,GAChB,EAAE;IACF,iBAAiB,CAAC,EAAE,MAAM,CAAE,MAAM,EAAE,gBAAgB,CAAE,CAAC;IACvD,KAAK,CAAC,EAAE,kBAAkB,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC1B,GAAI,MAAM,CA0HV;AA8BD,eAAO,MAAM,kBAAkB,GAC9B,MAAM,kBAAkB,EACxB,gBAAgB,MAAM,GAAG,cAAc,KACrC,GAAG,EAgPL,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAChC,MAAM,kBAAkB,EACxB,gBAAgB,MAAM,GAAG,cAAc,KACrC,GAAG,EAgEL,CAAC;AAgFF,eAAO,MAAM,wBAAwB,GACpC,MAAM,kBAAkB,EACxB,gBAAgB,cAAc,KAC5B,MAuDF,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAC7B,MAAM,kBAAkB,EACxB,gBAAgB,MAAM,GAAG,cAAc,EACvC,qBAAqB,OAAO,EAC5B,wBAAwB,OAAO,EAC/B,sBAAqB,OAAe,EACpC,qBAAoB,OAAe,EACnC,eAAc,MAAM,CAAE,MAAM,EAAE,OAAO,CAAO,KAC1C,MAgVF,CAAC;AAEF,wBAAgB,kBAAkB,CACjC,IAAI,EAAE,kBAAkB,EACxB,cAAc,EAAE,cAAc,GAC5B,MAAM,EAAE,CAKV;AA0BD,eAAO,MAAM,iBAAiB,GAC7B,YAAY,SAAS,EAAE,EACvB,sBAAsB,MAAM,mBAmE5B,CAAC;AAwCF,wBAAgB,iBAAiB,CAAE,GAAG,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,UAuDpE;AAED,MAAM,WAAW,yBAAyB;IACzC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,cAAc,CAAC,EAAE,CAAE,SAAS,EAAE,MAAM,KAAM,GAAG,EAAE,CAAC;IAChD,YAAY,CAAC,EAAE,MAAM,CAAE,MAAM,EAAE,OAAO,CAAE,CAAC;CACzC;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CACnC,MAAM,GAAE,kBAAkB,GAAG,SAAc,EAC3C,UAAU,GAAE,GAAG,EAAO,EACtB,OAAO,GAAE,yBAA8B,GACrC,CAAE,GAAG,EAAE,EAAE,GAAG,CAAE,CAuFhB"}
1
+ {"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../src/core/render.tsx"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  /**
2
- * Internal dependencies
2
+ * WordPress dependencies
3
3
  */
4
- import type { BlockType } from '../types';
4
+ import type { BlockType } from '@wordpress/blocks';
5
5
  /**
6
6
  * Determine the CSS selector for the block type and target provided, returning
7
7
  * it if available.
@@ -1 +1 @@
1
- {"version":3,"file":"selectors.d.ts","sourceRoot":"","sources":["../../src/core/selectors.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAI1C;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAC/B,SAAS,EAAE,SAAS,EACpB,MAAM,GAAE,MAAe,EACvB,OAAO,GAAE;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAO,GAClC,MAAM,GAAG,IAAI,CAkGf"}
1
+ {"version":3,"file":"selectors.d.ts","sourceRoot":"","sources":["../../src/core/selectors.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAQnD;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAC/B,SAAS,EAAE,SAAS,EACpB,MAAM,GAAE,MAAe,EACvB,OAAO,GAAE;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAO,GAClC,MAAM,GAAG,IAAI,CAkGf"}
@@ -146,36 +146,6 @@ export interface SpacingSettings {
146
146
  margin?: string | Record<string, string>;
147
147
  blockGap?: string;
148
148
  }
149
- /**
150
- * Block type definition with global styles support
151
- */
152
- export interface BlockType {
153
- name: string;
154
- title: string;
155
- category: string;
156
- example?: any;
157
- attributes?: Record<string, unknown>;
158
- supports?: {
159
- __experimentalSelector?: string;
160
- inserter?: boolean;
161
- spacing?: boolean | {
162
- blockGap?: boolean | string[] | {
163
- __experimentalDefault?: string;
164
- sides: string[];
165
- };
166
- };
167
- [key: string]: unknown;
168
- };
169
- selectors?: Record<string, string | Record<string, string>>;
170
- }
171
- /**
172
- * Block style variation
173
- */
174
- export interface BlockStyleVariation {
175
- name: string;
176
- label: string;
177
- styles?: Record<string, any>;
178
- }
179
149
  /**
180
150
  * Global styles settings node
181
151
  */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"get-global-styles-changes.d.ts","sourceRoot":"","sources":["../../src/utils/get-global-styles-changes.ts"],"names":[],"mappings":"AAcA,KAAK,WAAW,GAAG,CAAE,MAAM,EAAE,MAAM,CAAE,CAAC;AAEtC,UAAU,6BAA6B;IACtC,UAAU,CAAC,EAAE,MAAM,CAAC;CACpB;AAqHD;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CACxC,IAAI,EAAE,GAAG,EACT,QAAQ,EAAE,GAAG,GACX,WAAW,EAAE,CAkEf;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,OAAO,UAAU,sBAAsB,CAC7C,IAAI,EAAE,GAAG,EACT,QAAQ,EAAE,GAAG,EACb,OAAO,GAAE,6BAAkC,GACzC,MAAM,EAAE,CAiEV"}
1
+ {"version":3,"file":"get-global-styles-changes.d.ts","sourceRoot":"","sources":["../../src/utils/get-global-styles-changes.ts"],"names":[],"mappings":"AAaA,KAAK,WAAW,GAAG,CAAE,MAAM,EAAE,MAAM,CAAE,CAAC;AAEtC,UAAU,6BAA6B;IACtC,UAAU,CAAC,EAAE,MAAM,CAAC;CACpB;AAqHD;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CACxC,IAAI,EAAE,GAAG,EACT,QAAQ,EAAE,GAAG,GACX,WAAW,EAAE,CAkEf;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,OAAO,UAAU,sBAAsB,CAC7C,IAAI,EAAE,GAAG,EACT,QAAQ,EAAE,GAAG,EACb,OAAO,GAAE,6BAAkC,GACzC,MAAM,EAAE,CAiEV"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wordpress/global-styles-engine",
3
- "version": "1.10.1-next.v.202604091042.0+668146787",
3
+ "version": "1.11.0",
4
4
  "description": "Pure CSS generation engine for WordPress global styles.",
5
5
  "author": "The WordPress Contributors",
6
6
  "license": "GPL-2.0-or-later",
@@ -42,10 +42,10 @@
42
42
  "types": "build-types/index.d.ts",
43
43
  "sideEffects": false,
44
44
  "dependencies": {
45
- "@wordpress/blocks": "^15.16.1-next.v.202604091042.0+668146787",
46
- "@wordpress/data": "^10.43.1-next.v.202604091042.0+668146787",
47
- "@wordpress/i18n": "^6.17.1-next.v.202604091042.0+668146787",
48
- "@wordpress/style-engine": "^2.43.1-next.v.202604091042.0+668146787",
45
+ "@wordpress/blocks": "^15.17.0",
46
+ "@wordpress/data": "^10.44.0",
47
+ "@wordpress/i18n": "^6.17.0",
48
+ "@wordpress/style-engine": "^2.44.0",
49
49
  "colord": "^2.9.2",
50
50
  "deepmerge": "^4.3.0",
51
51
  "fast-deep-equal": "^3.1.3",
@@ -59,5 +59,5 @@
59
59
  "publishConfig": {
60
60
  "access": "public"
61
61
  },
62
- "gitHead": "73606df74f1c38a084bfa5db97205259ef817593"
62
+ "gitHead": "b862d8c84121a47bbeff882f6c87e61681ce2e0d"
63
63
  }
@@ -7,8 +7,8 @@ import {
7
7
  getBlockSupport,
8
8
  getBlockTypes,
9
9
  store as blocksStore,
10
- // @ts-expect-error - @wordpress/blocks module doesn't have TypeScript declarations
11
10
  } from '@wordpress/blocks';
11
+ import type { BlockType } from '@wordpress/blocks';
12
12
  import { getCSSRules, getCSSValueFromRawStyle } from '@wordpress/style-engine';
13
13
  import { select } from '@wordpress/data';
14
14
 
@@ -34,12 +34,7 @@ import { setBackgroundStyleDefaults } from '../utils/background';
34
34
  import { LAYOUT_DEFINITIONS } from '../utils/layout';
35
35
  import { getValueFromObjectPath, setImmutably } from '../utils/object';
36
36
  import { getSetting } from '../settings/get-setting';
37
- import type {
38
- BlockStyleVariation,
39
- BlockType,
40
- GlobalStylesConfig,
41
- GlobalStylesStyles,
42
- } from '../types';
37
+ import type { GlobalStylesConfig, GlobalStylesStyles } from '../types';
43
38
 
44
39
  // =============================================================================
45
40
  // LOCAL TYPE DEFINITIONS
@@ -143,6 +138,8 @@ export type BlockSelectors = Record<
143
138
  }
144
139
  >;
145
140
 
141
+ type ElementName = keyof typeof ELEMENTS;
142
+
146
143
  // Elements that rely on class names in their selectors.
147
144
  const ELEMENT_CLASS_NAMES = {
148
145
  button: 'wp-element-button',
@@ -956,12 +953,15 @@ export const getNodesWithStyles = (
956
953
  Object.entries(
957
954
  typedVariation?.elements ?? {}
958
955
  ).forEach( ( [ element, elementStyles ] ) => {
959
- if ( elementStyles && ELEMENTS[ element ] ) {
956
+ if (
957
+ elementStyles &&
958
+ ELEMENTS[ element as ElementName ]
959
+ ) {
960
960
  variationNodesToAdd.push( {
961
961
  styles: elementStyles,
962
962
  selector: scopeSelector(
963
963
  variationSelector,
964
- ELEMENTS[ element ]
964
+ ELEMENTS[ element as ElementName ]
965
965
  ),
966
966
  } );
967
967
  }
@@ -1040,14 +1040,16 @@ export const getNodesWithStyles = (
1040
1040
  ] ) => {
1041
1041
  if (
1042
1042
  variationBlockElementStyles &&
1043
- ELEMENTS[ variationBlockElement ]
1043
+ ELEMENTS[
1044
+ variationBlockElement as ElementName
1045
+ ]
1044
1046
  ) {
1045
1047
  variationNodesToAdd.push( {
1046
1048
  styles: variationBlockElementStyles,
1047
1049
  selector: scopeSelector(
1048
1050
  variationBlockSelector,
1049
1051
  ELEMENTS[
1050
- variationBlockElement
1052
+ variationBlockElement as ElementName
1051
1053
  ]
1052
1054
  ),
1053
1055
  } );
@@ -1088,7 +1090,7 @@ export const getNodesWithStyles = (
1088
1090
  typeof blockSelectors !== 'string' &&
1089
1091
  value &&
1090
1092
  blockSelectors?.[ blockName ] &&
1091
- ELEMENTS[ elementName ]
1093
+ ELEMENTS[ elementName as ElementName ]
1092
1094
  ) {
1093
1095
  nodes.push( {
1094
1096
  styles: value,
@@ -1096,7 +1098,9 @@ export const getNodesWithStyles = (
1096
1098
  .split( ',' )
1097
1099
  .map( ( sel: string ) => {
1098
1100
  const elementSelectors =
1099
- ELEMENTS[ elementName ].split( ',' );
1101
+ ELEMENTS[
1102
+ elementName as ElementName
1103
+ ].split( ',' );
1100
1104
  return elementSelectors.map(
1101
1105
  ( elementSelector: string ) =>
1102
1106
  sel + ' ' + elementSelector
@@ -1726,10 +1730,9 @@ export const getBlockSelectors = (
1726
1730
  'color.__experimentalDuotone',
1727
1731
  false
1728
1732
  );
1729
- duotoneSelector =
1730
- duotoneSupport &&
1731
- rootSelector &&
1732
- scopeSelector( rootSelector, duotoneSupport );
1733
+ if ( typeof duotoneSupport === 'string' && rootSelector ) {
1734
+ duotoneSelector = scopeSelector( rootSelector, duotoneSupport );
1735
+ }
1733
1736
  }
1734
1737
 
1735
1738
  const hasLayoutSupport =
@@ -1741,7 +1744,7 @@ export const getBlockSelectors = (
1741
1744
 
1742
1745
  const blockStyleVariations = getBlockStyles( name );
1743
1746
  const styleVariationSelectors: Record< string, string > = {};
1744
- blockStyleVariations?.forEach( ( variation: BlockStyleVariation ) => {
1747
+ blockStyleVariations?.forEach( ( variation ) => {
1745
1748
  const variationSuffix = variationInstanceId
1746
1749
  ? `-${ variationInstanceId }`
1747
1750
  : '';
@@ -1943,7 +1946,7 @@ export function generateGlobalStyles(
1943
1946
  },
1944
1947
  {
1945
1948
  assets: svgs,
1946
- __unstableType: 'svg',
1949
+ __unstableType: 'svgs',
1947
1950
  isGlobalStyles: true,
1948
1951
  },
1949
1952
  ];
@@ -1,7 +1,11 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import type { BlockType } from '@wordpress/blocks';
5
+
1
6
  /**
2
7
  * Internal dependencies
3
8
  */
4
- import type { BlockType } from '../types';
5
9
  import { scopeSelector } from '../utils/common';
6
10
  import { getValueFromObjectPath } from '../utils/object';
7
11
 
@@ -808,6 +808,53 @@ describe( 'global styles renderer', () => {
808
808
  ':root :where(p){color:red;}'
809
809
  );
810
810
  } );
811
+
812
+ it( 'should output duotone SVG filters with __unstableType of svgs', () => {
813
+ const mockSelect = require( '@wordpress/data' ).select as jest.Mock;
814
+ mockSelect.mockReturnValue( {
815
+ getBlockStyles: () => [],
816
+ } );
817
+
818
+ const config = {
819
+ version: 3,
820
+ settings: {
821
+ color: {
822
+ duotone: {
823
+ theme: [
824
+ {
825
+ slug: 'midnight',
826
+ name: 'Midnight',
827
+ colors: [ '#263135', '#69a8a7' ],
828
+ },
829
+ ],
830
+ },
831
+ },
832
+ },
833
+ styles: {},
834
+ };
835
+
836
+ const blockTypes = [
837
+ {
838
+ name: 'core/image',
839
+ selectors: {
840
+ root: '.wp-block-image',
841
+ filter: { duotone: '.wp-block-image img' },
842
+ },
843
+ },
844
+ ];
845
+
846
+ const [ styles ] = generateGlobalStyles( config, blockTypes );
847
+
848
+ const svgStyle = styles.find(
849
+ ( s: any ) => s.__unstableType === 'svgs'
850
+ );
851
+
852
+ expect( svgStyle ).toBeDefined();
853
+ expect( svgStyle.__unstableType ).toBe( 'svgs' );
854
+ expect( svgStyle.assets.join( '' ) ).toContain(
855
+ 'wp-duotone-midnight'
856
+ );
857
+ } );
811
858
  } );
812
859
 
813
860
  describe( 'getBlockSelectors', () => {
package/src/types.ts CHANGED
@@ -184,47 +184,6 @@ export interface SpacingSettings {
184
184
  blockGap?: string;
185
185
  }
186
186
 
187
- // =============================================================================
188
- // BLOCK SYSTEM TYPES (need to move to the blocks package eventually)
189
- // =============================================================================
190
-
191
- /**
192
- * Block type definition with global styles support
193
- */
194
- export interface BlockType {
195
- name: string;
196
- title: string;
197
- category: string;
198
- example?: any;
199
- attributes?: Record< string, unknown >;
200
- supports?: {
201
- __experimentalSelector?: string;
202
- inserter?: boolean;
203
- spacing?:
204
- | boolean
205
- | {
206
- blockGap?:
207
- | boolean
208
- | string[]
209
- | {
210
- __experimentalDefault?: string;
211
- sides: string[];
212
- };
213
- };
214
- [ key: string ]: unknown;
215
- };
216
- selectors?: Record< string, string | Record< string, string > >;
217
- }
218
-
219
- /**
220
- * Block style variation
221
- */
222
- export interface BlockStyleVariation {
223
- name: string;
224
- label: string;
225
- styles?: Record< string, any >;
226
- }
227
-
228
187
  // =============================================================================
229
188
  // GLOBAL STYLES STRUCTURE TYPES
230
189
  // =============================================================================
@@ -7,7 +7,6 @@ import memoize from 'memize';
7
7
  * WordPress dependencies
8
8
  */
9
9
  import { __, _n, sprintf } from '@wordpress/i18n';
10
- // @ts-expect-error blocks package not typed yet.
11
10
  import { getBlockTypes } from '@wordpress/blocks';
12
11
 
13
12
  type TranslationMap = Record< string, string >;