Automattic\WooCommerce\EmailEditor\Engine\Renderer\ContentRenderer\Layout

Flex_Layout_Renderer::render_inner_blocks_in_layout │ public │ WC 1.0

Render inner blocks in flex layout.

Method of the class: Flex_Layout_Renderer{}

No Hooks.

Returns

string.

Usage

$Flex_Layout_Renderer = new Flex_Layout_Renderer();
$Flex_Layout_Renderer->render_inner_blocks_in_layout( $parsed_block, $rendering_context ): string;
$parsed_block(array) (required)
Parsed block.
$rendering_context(Rendering_Context) (required)
Rendering context.

Flex_Layout_Renderer::render_inner_blocks_in_layout() code WC 11.1.2

public function render_inner_blocks_in_layout( array $parsed_block, Rendering_Context $rendering_context ): string {
	$theme_styles    = $rendering_context->get_theme_styles();
	$flex_gap        = $theme_styles['spacing']['blockGap'] ?? '0px';
	$flex_gap_number = Styles_Helper::parse_value( $flex_gap );

	$margin_top = $parsed_block['email_attrs']['margin-top'] ?? '0px';
	$justify    = $rendering_context->resolve_text_align( $parsed_block['attrs']['layout']['justifyContent'] ?? null );
	$styles     = wp_style_engine_get_styles( $parsed_block['attrs']['style'] ?? array() )['css'] ?? '';
	$styles    .= 'margin-top: ' . $margin_top . ';';
	$styles    .= 'text-align: ' . $justify;

	list( $inner_blocks, $should_wrap ) = $this->compute_widths_for_flex_layout( $parsed_block, $flex_gap_number );

	if ( $should_wrap ) {
		return $this->render_wrapping_layout( $inner_blocks, $styles, $justify, $flex_gap, $rendering_context );
	}

	return $this->render_single_row_layout( $inner_blocks, $styles, $justify, $flex_gap, $rendering_context );
}