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/breadly/block-extensions/core-blocks.php
<?php

/**
 * Default core block supports
 */

add_filter( 'gtm_extend_core_block_supports', 'gtm_default_extend_core_block_supports' );
function gtm_default_extend_core_block_supports( $blocks = [] ) {
	$blocks['core/avatar'] = [
		'gtmResponsiveAttributes' => true,
		'gtmBlockStyle'           => true,
		'gtmBlockProps'           => [
			'width' => ['cssProp' => 'core-avatar-width'],
		],
	];

	$blocks['core/paragraph'] = ['gtmBlockVisibility' => true];
	$blocks['core/site-logo'] = [
		'gtmResponsiveAttributes' => true,
		'gtmBlockStyle'           => true,
		'gtmBlockProps'           => [
			'width'  => true,
			'color'  => true,
			"margin" => true,
		],
		'gtmBlockVisibility'      => true,
	];

	$blocks['core/button'] = [
		'gtmResponsiveAttributes' => true,
		'gtmBlockProps'           => ['width' => true, 'color' => true],
		'gtmBlockVisibility'      => true,
	];

	$blocks['core/categories'] = [
		'gtmBlockProps'           => [
			"typography" => true,
			'color'      => true,
			'bg'         => true,
			"margin"     => true,
			"padding"    => true,
			"radius"     => true,
			"shadow"     => true,
		],
		'gtmResponsiveAttributes' => true,
	];

	$blocks['core/cover'] = [
		'gtmBlockProps' => [
			'lazyLoad' => true,
		],
	];

	$blocks['core/image'] = [
		'gtmResponsiveAttributes' => true,
		'gtmBlockProps'           => [
			"margin"       => true,
			"radius"       => true,
			"shadow"       => true,
			'highDpiImage' => true,
			'hoverImage'   => true,
			'lazyLoad'     => true,
		],
		'gtmBlockVisibility'      => true,
	];

	$blocks['core/post-featured-image'] = [
		'gtmBlockProps' => [
			'lazyLoad' => true,
		],
	];

	$blocks['core/group'] = [
		'gtmBlockVisibility' => true,
	];

	$blocks['core/navigation'] = [
		'gtmResponsiveAttributes' => true,
		'gtmBlockVisibility'      => true,
	];

	$blocks['core/post-excerpt'] = [
		'gtmLineClamp' => true,
	];

	$blocks['core/quote'] = [
		'gtmBlockProps'           => [
			"margin"  => true,
			"padding" => true,
			"radius"  => true,
			"shadow"  => true,
		],
		'gtmResponsiveAttributes' => true,
	];

	$blocks['core/query-title'] = [
		'gtmBlockProps'           => [
			"margin" => true,
		],
		'gtmResponsiveAttributes' => true,
	];

	$blocks['core/query-pagination'] = [
		'gtmBlockProps'           => [
			"margin"  => true,
			"padding" => true,
			"radius"  => true,
			"shadow"  => true,
		],
		'gtmResponsiveAttributes' => true,
	];

	$blocks['core/query-pagination-numbers'] = [
		'gtmBlockProps'           => [
			"typography" => true,
			"padding"    => ['cssProp' => 'core-query-pagination-numbers-item-padding'],
			"radius"     => ['cssProp' => 'core-query-pagination-numbers-item-radius'],
			"shadow"     => ['cssProp' => 'core-query-pagination-numbers-item-shadow'],
		],
		'gtmResponsiveAttributes' => true,
	];

	$blocks['core/query-pagination-next'] = [
		'gtmBlockProps'           => [
			"typography" => true,
			"padding"    => ['cssProp' => 'core-query-pagination-next-item-padding'],
			"radius"     => ['cssProp' => 'core-query-pagination-next-item-radius'],
			"shadow"     => ['cssProp' => 'core-query-pagination-next-item-shadow'],
		],
		'gtmResponsiveAttributes' => true,
	];

	$blocks['core/query-pagination-previous'] = [
		'gtmBlockProps'           => [
			"typography" => true,
			"padding"    => ['cssProp' => 'core-query-pagination-previous-item-padding'],
			"radius"     => ['cssProp' => 'core-query-pagination-previous-item-radius'],
			"shadow"     => ['cssProp' => 'core-query-pagination-previous-item-shadow'],
		],
		'gtmResponsiveAttributes' => true,
	];

	$blocks['core/template-part'] = [
		'gtmBlockProps'           => [
			"margin"  => true,
			"padding" => true,
			'width'   => true,
			'height'  => true,
		],
		'gtmBlockVisibility'      => true,
		'gtmResponsiveAttributes' => true,
	];

	return $blocks;
};

/**
 * Extend core block supports on editor
 */

add_filter( 'gtm_config', 'gtm_extend_core_block_supports_config' );
function gtm_extend_core_block_supports_config( $config ) {
	$config['extend_core_block_supports'] = apply_filters( 'gtm_extend_core_block_supports', [] );
	return $config;
};

/**
 * Extend core block supports on server side
 */

add_filter( 'block_type_metadata', 'gtm_extend_core_block_supports' );
function gtm_extend_core_block_supports( $metadata ) {

	$targetBlocks = apply_filters( 'gtm_extend_core_block_supports', [] );

	if ( ! empty( $targetBlocks ) && array_key_exists( $metadata['name'], $targetBlocks ) ) {
		$supports = $targetBlocks[$metadata['name']];

		if ( is_array( $supports ) && ! empty( $supports ) ) {
			if ( ! isset( $metadata['supports'] ) ) {
				$metadata['supports'] = [];
			}

			foreach ( $supports as $support => $features ) {
				$metadata['supports'][$support] = $features;
			}
		}
	}

	return $metadata;
};

/**
 * Register core block style
 */

add_action( 'init', 'gtm_register_core_block_style' );
function gtm_register_core_block_style() {
	register_block_style( 'core/button', [
		'name'  => 'gtm-core-button-fill-small',
		'label' => esc_html__( 'Small fill', 'gutenmate' ),
	] );

	register_block_style( 'core/button', [
		'name'  => 'gtm-core-button-outline-small',
		'label' => esc_html__( 'Small outline', 'gutenmate' ),
	] );

	register_block_style( 'core/button', [
		'name'  => 'gtm-core-button-primary',
		'label' => esc_html__( 'Primary', 'gutenmate' ),
	] );

	register_block_style( 'core/button', [
		'name'  => 'gtm-core-button-secondary',
		'label' => esc_html__( 'Secondary', 'gutenmate' ),
	] );

	register_block_style( 'core/categories', [
		'name'  => 'gtm-core-categories-plain',
		'label' => esc_html__( 'Plain', 'gutenmate' ),
	] );

	register_block_style( 'core/list', [
		'name'  => 'gtm-core-list-plain',
		'label' => esc_html__( 'Plain', 'gutenmate' ),
	] );
}