@@ -828,7 +828,7 @@ function wp_get_layout_style( $selector, $layout, $has_block_gap_support = false
828828 $ responsive_gap_value = '0px ' ;
829829 }
830830
831- $ should_output_grid_columns = null === $ viewport_overrides || $ has_viewport_property_override ( 'minimumColumnWidth ' ) || $ has_viewport_property_override ( 'columnCount ' );
831+ $ should_output_grid_columns = null === $ viewport_overrides || $ has_viewport_property_override ( 'minimumColumnWidth ' ) || $ has_viewport_property_override ( 'columnCount ' ) || $ has_viewport_property_override ( ' autoFit ' ) ;
832832 $ uses_gap_in_grid_columns = ! empty ( $ layout_for_styles ['columnCount ' ] ) && ! empty ( $ layout_for_styles ['minimumColumnWidth ' ] );
833833 if ( $ has_block_gap_override && $ uses_gap_in_grid_columns ) {
834834 $ should_output_grid_columns = true ;
@@ -837,14 +837,18 @@ function wp_get_layout_style( $selector, $layout, $has_block_gap_support = false
837837 $ should_output_grid_rows = ( null === $ viewport_overrides || $ has_viewport_property_override ( 'rowCount ' ) ) && ! empty ( $ layout_for_styles ['columnCount ' ] ) && ! empty ( $ layout_for_styles ['rowCount ' ] );
838838 $ grid_declarations = array ();
839839
840+ // When enabled, columns stretch to fill the available space using
841+ // `auto-fit`; otherwise empty tracks are preserved with `auto-fill`.
842+ $ auto_placement = ! empty ( $ layout_for_styles ['autoFit ' ] ) ? 'auto-fit ' : 'auto-fill ' ;
843+
840844 if ( $ should_output_grid_columns && ! empty ( $ layout_for_styles ['columnCount ' ] ) && ! empty ( $ layout_for_styles ['minimumColumnWidth ' ] ) ) {
841845 $ max_value = 'max(min( ' . $ layout_for_styles ['minimumColumnWidth ' ] . ', 100%), (100% - ( ' . $ responsive_gap_value . ' * ( ' . $ layout_for_styles ['columnCount ' ] . ' - 1))) / ' . $ layout_for_styles ['columnCount ' ] . ') ' ;
842- $ grid_declarations ['grid-template-columns ' ] = 'repeat(auto-fill , minmax( ' . $ max_value . ', 1fr)) ' ;
846+ $ grid_declarations ['grid-template-columns ' ] = 'repeat( ' . $ auto_placement . ' , minmax( ' . $ max_value . ', 1fr)) ' ;
843847 } elseif ( $ should_output_grid_columns && ! empty ( $ layout_for_styles ['columnCount ' ] ) ) {
844848 $ grid_declarations ['grid-template-columns ' ] = 'repeat( ' . $ layout_for_styles ['columnCount ' ] . ', minmax(0, 1fr)) ' ;
845849 } elseif ( $ should_output_grid_columns ) {
846850 $ minimum_column_width = ! empty ( $ layout_for_styles ['minimumColumnWidth ' ] ) ? $ layout_for_styles ['minimumColumnWidth ' ] : '12rem ' ;
847- $ grid_declarations ['grid-template-columns ' ] = 'repeat(auto-fill , minmax(min( ' . $ minimum_column_width . ', 100%), 1fr)) ' ;
851+ $ grid_declarations ['grid-template-columns ' ] = 'repeat( ' . $ auto_placement . ' , minmax(min( ' . $ minimum_column_width . ', 100%), 1fr)) ' ;
848852 }
849853
850854 if ( ! empty ( $ grid_declarations ) ) {
0 commit comments