| @@ -5,8 +5,9 @@ | ||
| 5 | 5 | exit; |
| 6 | 6 | } |
| 7 | 7 | |
| 8 | 8 | use ABlocks\Classes\ControlBaseAbstract; |
| 9 | +use ABlocks\Helper; | |
| 9 | 10 | |
| 10 | 11 | class Transform extends ControlBaseAbstract { |
| 11 | 12 | public static function get_attribute_default_value( $is_responsive = false ) { |
| 12 | 13 | if ( $is_responsive ) { |
| @@ -187,9 +188,9 @@ | ||
| 187 | 188 | |
| 188 | 189 | public static function get_css( $attributeValue, $property = '', $device = '' ) { |
| 189 | 190 | $value = wp_parse_args( |
| 190 | 191 | $attributeValue, |
| 191 | - self::get_attribute_default_value( (bool) $device ) | |
| 192 | + $device ? self::responsive_defaults() : self::get_attribute_default_value( false ) | |
| 192 | 193 | ); |
| 193 | 194 | |
| 194 | 195 | $css = []; |
| 195 | 196 | $transformations = []; |
| @@ -194,34 +195,20 @@ | ||
| 194 | 195 | $css = []; |
| 195 | 196 | $transformations = []; |
| 196 | 197 | $transformOrigin = ''; |
| 197 | 198 | |
| 198 | - $x_offset_unit = self::get_unit( | |
| 199 | - [ | |
| 200 | - 'unit' => ! empty( $value['offsetXUnit'] ) ? $value['offsetXUnit'] : 'px', | |
| 201 | - 'unitTablet' => ! empty( $value['offsetXUnitTablet'] ) ? $value['offsetXUnitTablet'] : 'px', | |
| 202 | - 'unitMobile' => ! empty( $value['offsetXUnitMobile'] ) ? $value['offsetXUnitMobile'] : 'px', | |
| 203 | - ], | |
| 204 | - $device | |
| 205 | - ); | |
| 206 | - $y_offset_unit = self::get_unit( | |
| 207 | - [ | |
| 208 | - 'unit' => ! empty( $value['offsetYUnit'] ) ? $value['offsetYUnit'] : 'px', | |
| 209 | - 'unitTablet' => ! empty( $value['offsetYUnitTablet'] ) ? $value['offsetYUnitTablet'] : 'px', | |
| 210 | - 'unitMobile' => ! empty( $value['offsetYUnitMobile'] ) ? $value['offsetYUnitMobile'] : 'px', | |
| 211 | - ], | |
| 212 | - $device | |
| 213 | - ); | |
| 199 | + $x_offset_unit = ( Helper::get_responsive_value( $value, 'offsetXUnit', $device ) ?: 'px' ); | |
| 200 | + $y_offset_unit = ( Helper::get_responsive_value( $value, 'offsetYUnit', $device ) ?: 'px' ); | |
| 214 | 201 | |
| 215 | - if ( ! empty( $value[ 'rotate' . $device ] ) ) { | |
| 202 | + if ( Helper::has_responsive_value( $value[ 'rotate' . $device ] ?? null ) ) { | |
| 216 | 203 | $transformations[] = 'rotate(' . $value[ 'rotate' . $device ] . 'deg)'; |
| 217 | 204 | } |
| 218 | 205 | |
| 219 | - if ( ! empty( $value[ 'rotateX' . $device ] ) ) { | |
| 206 | + if ( Helper::has_responsive_value( $value[ 'rotateX' . $device ] ?? null ) ) { | |
| 220 | 207 | $transformations[] = 'rotateX(' . $value[ 'rotateX' . $device ] . 'deg)'; |
| 221 | 208 | } |
| 222 | 209 | |
| 223 | - if ( ! empty( $value[ 'rotateY' . $device ] ) ) { | |
| 210 | + if ( Helper::has_responsive_value( $value[ 'rotateY' . $device ] ?? null ) ) { | |
| 224 | 211 | $transformations[] = 'rotateY(' . $value[ 'rotateY' . $device ] . 'deg)'; |
| 225 | 212 | } |
| 226 | 213 | |
| 227 | 214 | if ( $value[ 'rotate3D' . $device ] !== false ) { |
| @@ -233,17 +220,17 @@ | ||
| 233 | 220 | $perspective = ! empty( $value[ 'rotateP' . $device ] ) ? $value[ 'rotateP' . $device ] : 0; |
| 234 | 221 | $transformations[] = 'perspective(' . $perspective . 'px)'; |
| 235 | 222 | } |
| 236 | 223 | |
| 237 | - if ( ! empty( $value[ 'scale' . $device ] ) ) { | |
| 224 | + if ( Helper::has_responsive_value( $value[ 'scale' . $device ] ?? null ) ) { | |
| 238 | 225 | $transformations[] = 'scale(' . $value[ 'scale' . $device ] . ')'; |
| 239 | 226 | } |
| 240 | 227 | |
| 241 | - if ( ! empty( $value[ 'scaleX' . $device ] ) ) { | |
| 228 | + if ( Helper::has_responsive_value( $value[ 'scaleX' . $device ] ?? null ) ) { | |
| 242 | 229 | $transformations[] = 'scaleX(' . $value[ 'scaleX' . $device ] . ')'; |
| 243 | 230 | } |
| 244 | 231 | |
| 245 | - if ( ! empty( $value[ 'scaleY' . $device ] ) ) { | |
| 232 | + if ( Helper::has_responsive_value( $value[ 'scaleY' . $device ] ?? null ) ) { | |
| 246 | 233 | $transformations[] = 'scaleY(' . $value[ 'scaleY' . $device ] . ')'; |
| 247 | 234 | } |
| 248 | 235 | |
| 249 | 236 | if ( isset( $value['flipHorizontal'] ) && $value['flipHorizontal'] !== false ) { |
| @@ -253,21 +240,21 @@ | ||
| 253 | 240 | if ( isset( $value['flipVertical'] ) && $value['flipVertical'] !== false ) { |
| 254 | 241 | $transformations[] = 'scaleY(-1)'; |
| 255 | 242 | } |
| 256 | 243 | |
| 257 | - if ( ! empty( $value[ 'offsetX' . $device ] ) ) { | |
| 244 | + if ( Helper::has_responsive_value( $value[ 'offsetX' . $device ] ?? null ) ) { | |
| 258 | 245 | $transformations[] = 'translateX(' . $value[ 'offsetX' . $device ] . $x_offset_unit . ')'; |
| 259 | 246 | } |
| 260 | 247 | |
| 261 | - if ( ! empty( $value[ 'offsetY' . $device ] ) ) { | |
| 248 | + if ( Helper::has_responsive_value( $value[ 'offsetY' . $device ] ?? null ) ) { | |
| 262 | 249 | $transformations[] = 'translateY(' . $value[ 'offsetY' . $device ] . $y_offset_unit . ')'; |
| 263 | 250 | } |
| 264 | 251 | |
| 265 | - if ( ! empty( $value[ 'skewX' . $device ] ) ) { | |
| 252 | + if ( Helper::has_responsive_value( $value[ 'skewX' . $device ] ?? null ) ) { | |
| 266 | 253 | $transformations[] = 'skewX(' . $value[ 'skewX' . $device ] . 'deg)'; |
| 267 | 254 | } |
| 268 | 255 | |
| 269 | - if ( ! empty( $value[ 'skewY' . $device ] ) ) { | |
| 256 | + if ( Helper::has_responsive_value( $value[ 'skewY' . $device ] ?? null ) ) { | |
| 270 | 257 | $transformations[] = 'skewY(' . $value[ 'skewY' . $device ] . 'deg)'; |
| 271 | 258 | } |
| 272 | 259 | |
| 273 | 260 | if ( ! empty( $value[ 'xAnchorPoint' . $device ] ) ) { |
| @@ -289,27 +276,13 @@ | ||
| 289 | 276 | return $css; |
| 290 | 277 | } |
| 291 | 278 | |
| 292 | 279 | public static function get_hover_css( $attribute_value, $property = '', $device = '' ) { |
| 293 | - $value = wp_parse_args( $attribute_value, self::get_attribute_default_value( (bool) $device ) ); | |
| 280 | + $value = wp_parse_args( $attribute_value, $device ? self::responsive_defaults() : self::get_attribute_default_value( false ) ); | |
| 294 | 281 | $transformations = []; |
| 295 | 282 | $transformOrigin = ''; |
| 296 | - $x_offset_hover_unit = self::get_unit( | |
| 297 | - [ | |
| 298 | - 'unit' => ! empty( $value['offsetXHUnit'] ) ? $value['offsetXHUnit'] : 'px', | |
| 299 | - 'unitTablet' => ! empty( $value['offsetXHUnitTablet'] ) ? $value['offsetXHUnitTablet'] : 'px', | |
| 300 | - 'unitMobile' => ! empty( $value['offsetXHUnitMobile'] ) ? $value['offsetXHUnitMobile'] : 'px', | |
| 301 | - ], | |
| 302 | - $device | |
| 303 | - ); | |
| 304 | - $y_offset_hover_unit = self::get_unit( | |
| 305 | - [ | |
| 306 | - 'unit' => ! empty( $value['offsetYHUnit'] ) ? $value['offsetYHUnit'] : 'px', | |
| 307 | - 'unitTablet' => ! empty( $value['offsetYHUnitTablet'] ) ? $value['offsetYHUnitTablet'] : 'px', | |
| 308 | - 'unitMobile' => ! empty( $value['offsetYHUnitMobile'] ) ? $value['offsetYHUnitMobile'] : 'px', | |
| 309 | - ], | |
| 310 | - $device | |
| 311 | - ); | |
| 283 | + $x_offset_hover_unit = ( Helper::get_responsive_value( $value, 'offsetXHUnit', $device ) ?: 'px' ); | |
| 284 | + $y_offset_hover_unit = ( Helper::get_responsive_value( $value, 'offsetYHUnit', $device ) ?: 'px' ); | |
| 312 | 285 | |
| 313 | 286 | if ( '' !== $value[ 'rotateH' . $device ] ) { |
| 314 | 287 | $rotateH = isset( $value[ 'rotateH' . $device ] ) ? $value[ 'rotateH' . $device ] : 0; |
| 315 | 288 | $transformations[] = 'rotate(' . $rotateH . 'deg)'; |