diff --git a/src/block/icon-label/deprecated.js b/src/block/icon-label/deprecated.js index 68ede172c..504e597a5 100644 --- a/src/block/icon-label/deprecated.js +++ b/src/block/icon-label/deprecated.js @@ -12,25 +12,43 @@ const deprecated = [ attributes: attributes( '3.13.1' ), save: withVersion( '3.13.1' )( Save ), isEligible: ( attributes, innerBlocks ) => { - const hasIconSize = innerBlocks[ 0 ].attributes.iconSize ? true : false - const hasIconGap = attributes.iconGap ? true : false - const hasIconGap2 = attributes.iconGap2 ? true : false + const iconBlockAttributes = innerBlocks[ 0 ].attributes + const hasIconSize = iconBlockAttributes.iconSize || iconBlockAttributes.iconSizeTablet || iconBlockAttributes.iconSizeMobile ? true : false + const hasIconGap = attributes.iconGap || attributes.iconGapTablet || attributes.iconGapMobile ? true : false + const hasIconGap2 = attributes.iconGap2 || attributes.iconGap2Tablet || attributes.iconGap2Mobile ? true : false return hasIconGap || ( hasIconSize && ! hasIconGap2 ) }, migrate: ( attributes, innerBlocks ) => { const newAttributes = { ...attributes } - const { iconGap } = attributes + const { + iconGap, iconGapTablet, iconGapMobile, + } = attributes const iconBlockAttributes = innerBlocks[ 0 ].attributes - const { iconSize } = iconBlockAttributes + const { + iconSize, iconSizeTablet, iconSizeMobile, + } = iconBlockAttributes const _iconSize = iconSize ? iconSize : 36 + const _iconSizeTablet = iconSizeTablet ? iconSizeTablet : _iconSize + const _iconSizeMobile = iconSizeMobile ? iconSizeMobile : _iconSizeTablet + const _iconGap = iconGap ? iconGap : 64 + const _iconGapTablet = iconGapTablet ? iconGapTablet : _iconGap + const _iconGapMobile = iconGapMobile ? iconGapMobile : _iconGapTablet const newIconGap = _iconGap - _iconSize >= 0 ? _iconGap - _iconSize : 0 + const newIconGapTablet = _iconGapTablet - _iconSizeTablet >= 0 ? _iconGapTablet - _iconSizeTablet : 0 + const newIconGapMobile = _iconGapMobile - _iconSizeMobile >= 0 ? _iconGapMobile - _iconSizeMobile : 0 + newAttributes.iconGap2 = newIconGap === 28 ? '' : newIconGap + newAttributes.iconGap2Tablet = newIconGapTablet === 28 ? '' : newIconGapTablet + newAttributes.iconGap2Mobile = newIconGapMobile === 28 ? '' : newIconGapMobile + newAttributes.iconGap = '' + newAttributes.iconGapTablet = '' + newAttributes.iconGapMobile = '' return newAttributes }, diff --git a/src/block/icon-label/deprecated.php b/src/block/icon-label/deprecated.php index 50d8db609..7b2fd4667 100644 --- a/src/block/icon-label/deprecated.php +++ b/src/block/icon-label/deprecated.php @@ -17,10 +17,15 @@ function stackable_render_block_icon_label( $block_content, $block ) { return $block_content; } + $has_icon_gap = isset( $attributes[ 'iconGap' ] ) || isset( $attributes[ 'iconGapTablet' ] ) || isset( $attributes[ 'iconGapMobile' ] ); + $has_icon_gap2 = isset( $attributes[ 'iconGap2' ] ) || isset( $attributes[ 'iconGap2Tablet' ] ) || isset( $attributes[ 'iconGap2Mobile' ] ); + $icon_block_attrs = $block[ 'innerBlocks' ][0]['attrs']; + $has_icon_size = isset( $icon_block_attrs['iconSize'] ) || isset( $icon_block_attrs['iconSizeTablet'] ) || isset( $icon_block_attrs['iconSizeMobile'] ); + // check if the block uses the old icon gap attribute - $use_old_styles = ( isset( $attributes[ 'iconGap' ] ) || isset( $icon_block_attrs['iconSize'] ) ) && ! isset( $attributes[ 'iconGap2' ] ); + $use_old_styles = ( $has_icon_gap || $has_icon_size ) && ! $has_icon_gap2; if ( $use_old_styles ) { return preg_replace( '/stk-block-icon-label/i', 'stk-block-icon-label stk-block-icon-label--use-flex-basis', $block_content );