@@ -33,10 +33,11 @@ function gutenberg_register_layout_support( $block_type ) {
33
33
* @param boolean $has_block_gap_support Whether the theme has support for the block gap.
34
34
* @param string $gap_value The block gap value to apply.
35
35
* @param boolean $should_skip_gap_serialization Whether to skip applying the user-defined value set in the editor.
36
+ * @param string $fallback_gap_value The block gap value to apply.
36
37
*
37
38
* @return string CSS style.
38
39
*/
39
- function gutenberg_get_layout_style ( $ selector , $ layout , $ has_block_gap_support = false , $ gap_value = null , $ should_skip_gap_serialization = false ) {
40
+ function gutenberg_get_layout_style ( $ selector , $ layout , $ has_block_gap_support = false , $ gap_value = null , $ should_skip_gap_serialization = false , $ fallback_gap_value = ' 0.5em ' ) {
40
41
$ layout_type = isset ( $ layout ['type ' ] ) ? $ layout ['type ' ] : 'default ' ;
41
42
42
43
$ style = '' ;
@@ -102,14 +103,14 @@ function gutenberg_get_layout_style( $selector, $layout, $has_block_gap_support
102
103
$ style .= 'display: flex; ' ;
103
104
if ( $ has_block_gap_support ) {
104
105
if ( is_array ( $ gap_value ) ) {
105
- $ gap_row = isset ( $ gap_value ['top ' ] ) ? $ gap_value ['top ' ] : ' 0.5em ' ;
106
- $ gap_column = isset ( $ gap_value ['left ' ] ) ? $ gap_value ['left ' ] : ' 0.5em ' ;
106
+ $ gap_row = isset ( $ gap_value ['top ' ] ) ? $ gap_value ['top ' ] : $ fallback_gap_value ;
107
+ $ gap_column = isset ( $ gap_value ['left ' ] ) ? $ gap_value ['left ' ] : $ fallback_gap_value ;
107
108
$ gap_value = $ gap_row === $ gap_column ? $ gap_row : $ gap_row . ' ' . $ gap_column ;
108
109
}
109
- $ gap_style = $ gap_value && ! $ should_skip_gap_serialization ? $ gap_value : ' var( --wp--style--block-gap, 0.5em ) ' ;
110
+ $ gap_style = $ gap_value && ! $ should_skip_gap_serialization ? $ gap_value : " var( --wp--style--block-gap, $ fallback_gap_value ) " ;
110
111
$ style .= "gap: $ gap_style; " ;
111
112
} else {
112
- $ style .= ' gap: 0.5em; ' ;
113
+ $ style .= " gap: $ fallback_gap_value ; " ;
113
114
}
114
115
115
116
$ style .= "flex-wrap: $ flex_wrap; " ;
@@ -185,10 +186,12 @@ function gutenberg_render_layout_support_flag( $block_content, $block ) {
185
186
$ gap_value = $ gap_value && preg_match ( '%[ \\\(&=}]|/\*% ' , $ gap_value ) ? null : $ gap_value ;
186
187
}
187
188
189
+ $ fallback_gap_value = _wp_array_get ( $ block_type ->supports , array ( 'spacing ' , 'blockGap ' , '__experimentalDefault ' ), '0.5em ' );
190
+
188
191
// If a block's block.json skips serialization for spacing or spacing.blockGap,
189
192
// don't apply the user-defined value to the styles.
190
193
$ should_skip_gap_serialization = gutenberg_should_skip_block_supports_serialization ( $ block_type , 'spacing ' , 'blockGap ' );
191
- $ style = gutenberg_get_layout_style ( ". $ class_name " , $ used_layout , $ has_block_gap_support , $ gap_value , $ should_skip_gap_serialization );
194
+ $ style = gutenberg_get_layout_style ( ". $ class_name " , $ used_layout , $ has_block_gap_support , $ gap_value , $ should_skip_gap_serialization, $ fallback_gap_value );
192
195
// This assumes the hook only applies to blocks with a single wrapper.
193
196
// I think this is a reasonable limitation for that particular hook.
194
197
$ content = preg_replace (
0 commit comments