Skip to content

Commit

Permalink
Themes: Add shadow presets support for theme.json.
Browse files Browse the repository at this point in the history
Adds shadow presets support for `theme.json` within the `WP_Theme_JSON` by 

* Adding it to presets metadata and valid settings.
* Defining the default shadow presets in Core's `theme.json`.

Includes PHPUnit tests. 

References:
* [WordPress/gutenberg#46813 Gutenberg PR 46813]
* [WordPress/gutenberg#47272 Gutenberg PR 47272]

Follow-up to [54162], [52049], [50973].

Props madhudollu, mamaduka, oandregal, scruffian, hellofromTonya.
Fixes #57559.
Built from https://develop.svn.wordpress.org/trunk@55176


git-svn-id: http://core.svn.wordpress.org/trunk@54709 1a063a9b-81f0-0310-95a4-ce76da25c4cd
  • Loading branch information
VenusPR committed Feb 1, 2023
1 parent 0405f83 commit 0302b5b
Show file tree
Hide file tree
Showing 3 changed files with 30 additions and 2 deletions.
16 changes: 15 additions & 1 deletion wp-includes/class-wp-theme-json.php
Original file line number Diff line number Diff line change
Expand Up @@ -115,6 +115,7 @@ class WP_Theme_JSON {
* `use_default_names` preset key, and simplified the metadata structure.
* @since 6.0.0 Replaced `override` with `prevent_override` and updated the
* `prevent_override` value for `color.duotone` to use `color.defaultDuotone`.
* @since 6.2.0 Added 'shadow' presets.
* @var array
*/
const PRESETS_METADATA = array(
Expand Down Expand Up @@ -176,6 +177,15 @@ class WP_Theme_JSON {
'classes' => array(),
'properties' => array( 'padding', 'margin' ),
),
array(
'path' => array( 'shadow', 'presets' ),
'prevent_override' => array( 'shadow', 'defaultPresets' ),
'use_default_names' => false,
'value_key' => 'shadow',
'css_vars' => '--wp--preset--shadow--$slug',
'classes' => array(),
'properties' => array( 'box-shadow' ),
),
);

/**
Expand Down Expand Up @@ -294,7 +304,7 @@ class WP_Theme_JSON {
* and `typography`, and renamed others according to the new schema.
* @since 6.0.0 Added `color.defaultDuotone`.
* @since 6.1.0 Added `layout.definitions` and `useRootPaddingAwareAlignments`.
* @since 6.2.0 Added `dimensions.minHeight`.
* @since 6.2.0 Added `dimensions.minHeight`, 'shadow.presets', and 'shadow.defaultPresets'.
* @var array
*/
const VALID_SETTINGS = array(
Expand Down Expand Up @@ -338,6 +348,10 @@ class WP_Theme_JSON {
'padding' => null,
'units' => null,
),
'shadow' => array(
'presets' => null,
'defaultPresets' => null,
),
'typography' => array(
'fluid' => null,
'customFontSize' => null,
Expand Down
14 changes: 14 additions & 0 deletions wp-includes/theme.json
Original file line number Diff line number Diff line change
Expand Up @@ -325,6 +325,20 @@
}
}
},
"shadow": {
"presets": [
{
"name": "Natural",
"slug": "natural",
"shadow": "0 .2rem .3rem 0 rgba(0,0,0, 0.3), 0 .5rem .6rem 0 rgba(0,0,0, 0.4)"
},
{
"name": "Sharp",
"slug": "sharp",
"shadow": ".5rem .5rem 0 0 rgba(0,0,0, 0.4)"
}
]
},
"spacing": {
"blockGap": null,
"margin": false,
Expand Down
2 changes: 1 addition & 1 deletion wp-includes/version.php
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
*
* @global string $wp_version
*/
$wp_version = '6.2-alpha-55175';
$wp_version = '6.2-alpha-55176';

/**
* Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.
Expand Down

0 comments on commit 0302b5b

Please sign in to comment.