mirror of
https://github.com/gosticks/wordpress-develop.git
synced 2026-06-28 14:20:15 +00:00
Editor: Backport foundation for Layout block support refactor (part 1).
Backports the following changes from the Gutenberg repository: * [WordPress/gutenberg/40875 gutenberg/40875] Layout: Use semantic classnames, centralize layout definitions, reduce duplication, and fix blockGap in theme.json * [WordPress/gutenberg/42544 gutenberg/42544] Layout: Add a disable-layout-styles theme supports flag to opt out of all layout styles gutenberg/42544 * [WordPress/gutenberg/42087 gutenberg/42087] Theme.json: Add block support feature level selectors for blocks gutenberg/42087 * [WordPress/gutenberg/43792 gutenberg/43792] Global Styles: Split root layout rules into a different function gutenberg/43792 * [WordPress/gutenberg/42544 gutenberg/42544] Layout: Add a disable-layout-styles theme supports flag to opt out of all layout styles gutenberg/42544 * [WordPress/gutenberg/42665 gutenberg/42665] Layout: Reduce specificity of fallback blockGap styles gutenberg/42665 * [WordPress/gutenberg/42085 gutenberg/42085] Core CSS support for root padding and alignfull blocks gutenberg/42085 Notes: * It doesn't entirely port over PR 40875 — the remaining PHP changes for that PR will be explored in a separate PR targeting `layout.php`. * [54159] was reverted in [54160] due to PHPUnit test failures for tests added by the commit. Later, tests passed when applied on top of `trunk`. There were various outages today of upstream `wp-env` dependencies, which likely were the root cause of the earlier failures. For historical tracking and to make sure, recommitting [54159] but instead on top of current `trunk`. See PR 3205 for more details. * Giving additional props for those who did a deep dive investigation into the failed tests. Follow-up to [54160], [54159]. Props andrewserong, aaronrobertshaw, isabel_brison, bernhard-reiter, hellofromTonya. See #56467. git-svn-id: https://develop.svn.wordpress.org/trunk@54162 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
@@ -209,6 +209,7 @@ function get_default_block_editor_settings() {
|
||||
'disableCustomColors' => get_theme_support( 'disable-custom-colors' ),
|
||||
'disableCustomFontSizes' => get_theme_support( 'disable-custom-font-sizes' ),
|
||||
'disableCustomGradients' => get_theme_support( 'disable-custom-gradients' ),
|
||||
'disableLayoutStyles' => get_theme_support( 'disable-layout-styles' ),
|
||||
'enableCustomLineHeight' => get_theme_support( 'custom-line-height' ),
|
||||
'enableCustomSpacing' => get_theme_support( 'custom-spacing' ),
|
||||
'enableCustomUnits' => get_theme_support( 'custom-units' ),
|
||||
@@ -417,6 +418,18 @@ function get_block_editor_settings( array $custom_settings, $block_editor_contex
|
||||
$block_classes['css'] = $actual_css;
|
||||
$global_styles[] = $block_classes;
|
||||
}
|
||||
} else {
|
||||
// If there is no `theme.json` file, ensure base layout styles are still available.
|
||||
$block_classes = array(
|
||||
'css' => 'base-layout-styles',
|
||||
'__unstableType' => 'base-layout',
|
||||
'isGlobalStyles' => true,
|
||||
);
|
||||
$actual_css = wp_get_global_stylesheet( array( $block_classes['css'] ) );
|
||||
if ( '' !== $actual_css ) {
|
||||
$block_classes['css'] = $actual_css;
|
||||
$global_styles[] = $block_classes;
|
||||
}
|
||||
}
|
||||
|
||||
$editor_settings['styles'] = array_merge( $global_styles, get_block_editor_theme_styles() );
|
||||
@@ -474,9 +487,24 @@ function get_block_editor_settings( array $custom_settings, $block_editor_contex
|
||||
$editor_settings['enableCustomSpacing'] = $editor_settings['__experimentalFeatures']['spacing']['padding'];
|
||||
unset( $editor_settings['__experimentalFeatures']['spacing']['padding'] );
|
||||
}
|
||||
if ( isset( $editor_settings['__experimentalFeatures']['spacing']['customSpacingSize'] ) ) {
|
||||
$editor_settings['disableCustomSpacingSizes'] = ! $editor_ettings['__experimentalFeatures']['spacing']['customSpacingSize'];
|
||||
unset( $editor_settings['__experimentalFeatures']['spacing']['customSpacingSize'] );
|
||||
}
|
||||
|
||||
if ( isset( $editor_settings['__experimentalFeatures']['spacing']['spacingSizes'] ) ) {
|
||||
$spacing_sizes_by_origin = $editor_settings['__experimentalFeatures']['spacing']['spacingSizes'];
|
||||
$editor_settings['spacingSizes'] = isset( $spacing_sizes_by_origin['custom'] ) ?
|
||||
$spacing_sizes_by_origin['custom'] : (
|
||||
isset( $spacing_sizes_by_origin['theme'] ) ?
|
||||
$spacing_sizes_by_origin['theme'] :
|
||||
$spacing_sizes_by_origin['default']
|
||||
);
|
||||
}
|
||||
|
||||
$editor_settings['__unstableResolvedAssets'] = _wp_get_iframed_editor_assets();
|
||||
$editor_settings['localAutosaveInterval'] = 15;
|
||||
$editor_settings['disableLayoutStyles'] = current_theme_supports( 'disable-layout-styles' );
|
||||
$editor_settings['__experimentalDiscussionSettings'] = array(
|
||||
'commentOrder' => get_option( 'comment_order' ),
|
||||
'commentsPerPage' => get_option( 'comments_per_page' ),
|
||||
|
||||
Reference in New Issue
Block a user