← All changes
|
modules/atomic-widgets/props-resolver/transformers/styles/background-overlay-transformer.php
+4
-12
4.3.4
→
3.29.0-beta4
View file →
| @@ -13,23 +13,19 @@ | ||
| 13 | 13 | class Background_Overlay_Transformer extends Transformer_Base { |
| 14 | 14 | public function transform( $value, Props_Resolver_Context $context ) { |
| 15 | 15 | $normalized_values = $this->normalize_overlay_values( $value ); |
| 16 | 16 | |
| 17 | - if ( empty( $normalized_values ) ) { | |
| 18 | - return null; | |
| 19 | - } | |
| 20 | - | |
| 21 | - return [ | |
| 17 | + return array_filter( [ | |
| 22 | 18 | 'background-image' => $this->get_values_string( $normalized_values, 'src', Background_Image_Overlay_Transformer::DEFAULT_IMAGE, true ), |
| 23 | 19 | 'background-repeat' => $this->get_values_string( $normalized_values, 'repeat', Background_Image_Overlay_Transformer::DEFAULT_REPEAT ), |
| 24 | 20 | 'background-attachment' => $this->get_values_string( $normalized_values, 'attachment', Background_Image_Overlay_Transformer::DEFAULT_ATTACHMENT ), |
| 25 | 21 | 'background-size' => $this->get_values_string( $normalized_values, 'size', Background_Image_Overlay_Transformer::DEFAULT_SIZE ), |
| 26 | 22 | 'background-position' => $this->get_values_string( $normalized_values, 'position', Background_Image_Overlay_Transformer::DEFAULT_POSITION ), |
| 27 | - ]; | |
| 23 | + ] ); | |
| 28 | 24 | } |
| 29 | 25 | |
| 30 | 26 | private function normalize_overlay_values( $overlays ): array { |
| 31 | - $mapped_values = array_map( function( $value ) { | |
| 27 | + return array_map( function( $value ) { | |
| 32 | 28 | if ( is_string( $value ) ) { |
| 33 | 29 | return [ |
| 34 | 30 | 'src' => $value, |
| 35 | 31 | 'repeat' => null, |
| @@ -40,12 +36,8 @@ | ||
| 40 | 36 | } |
| 41 | 37 | |
| 42 | 38 | return $value; |
| 43 | 39 | }, $overlays ); |
| 44 | - | |
| 45 | - return array_filter( $mapped_values, function( $value ) { | |
| 46 | - return is_array( $value ) && ! empty( $value['src'] ); | |
| 47 | - } ); | |
| 48 | 40 | } |
| 49 | 41 | |
| 50 | 42 | private function get_values_string( $value, string $prop, string $default_value, bool $prevent_unification = false ) { |
| 51 | 43 | $is_empty = empty( array_filter( $value, function ( array $item ) use ( $prop ) { |
| @@ -52,9 +44,9 @@ | ||
| 52 | 44 | return isset( $item[ $prop ] ) && ! is_null( $item[ $prop ] ); |
| 53 | 45 | } ) ); |
| 54 | 46 | |
| 55 | 47 | if ( $is_empty ) { |
| 56 | - return $default_value; | |
| 48 | + return null; | |
| 57 | 49 | } |
| 58 | 50 | |
| 59 | 51 | $formatted_values = array_map( function ( $item ) use ( $prop, $default_value ) { |
| 60 | 52 | if ( is_string( $item ) ) { |