HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: /var/www/html/insiders/wp-load/wp-content/plugins/gutenmate/block-supports/flexbox-child.php
<?php

// No need to register any attributes, just use block style's compiler
add_filter( 'register_block_type_args', 'gtm_register_flexbox_child_support', 10, 2 );
function gtm_register_flexbox_child_support( $args, $name ) {
	add_filter( "gtm.BlockStyleCompiler.{$name}", 'gtm_compile_css_flexbox_child', 10, 3 );

	return $args;
}

function gtm_compile_css_flexbox_child( $output, $attributes, $blockName ) {
	$block_style = ['classes' => [], 'style' => []];

	if ( isset( $attributes['gtmFlexShrink'] ) ) {
		gtm_css_compileCssVar( $block_style,
			'flexbox-shrink',
			$attributes['gtmFlexShrink']
		);
	}

	if ( isset( $attributes['gtmFlexGrow'] ) ) {
		gtm_css_compileCssVar( $block_style,
			'flexbox-grow',
			$attributes['gtmFlexGrow']
		);
	}

	////////////////////

	// Check rendered style to avoid unnecessary operation
	// Because this feature is applied on all blocks
	if ( ! empty( $block_style['style'] ) || ! empty( $block_style['style'] ) ) {
		// Apply to output
		$block_style['style'] = ['{{BLOCK}}' => $block_style['style']];

		return [
			'classes' => array_merge( $output['classes'], $block_style['classes'] ),
			'style'   => array_replace_recursive( $output['style'], $block_style['style'] ),
		];
	} else {
		// No changes
		return $output;
	}
}