File: /var/www/html/insiders/wp-load/wp-content/plugins/gutenmate/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/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/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' ),
] );
}