PluginProbe
Elementor Website Builder – more than just a page builder / 4.3.0-beta3
Elementor Website Builder – more than just a page builder v4.3.0-beta3
4.3.0-beta3 4.3.0-beta2 4.3.0-beta1 4.2.4 4.2.3 4.2.2 4.2.1 4.2.0 4.1.5 4.2.0-beta2 4.2.0-dev2 4.2.0-beta1 4.1.4 4.1.3 4.1.2 4.1.1 4.1.0 4.1.0-beta3 4.1.0-dev3 4.0.9 4.1.0-beta2 4.1.0-dev2 4.0.8 4.1.0-beta1 4.1.0-dev1 All 452 releases
← All changes | modules/variables/classes/size-style-schema.php +16 -0 4.1.0-dev14.3.0-beta3 View file →
@@ -3,12 +3,14 @@
3 3 namespace Elementor\Modules\Variables\Classes;
4 4
5 5 use Elementor\Modules\AtomicWidgets\PropTypes\Base\Array_Prop_Type;
6 6 use Elementor\Modules\AtomicWidgets\PropTypes\Base\Object_Prop_Type;
7 +use Elementor\Modules\AtomicWidgets\PropTypes\Grid_Track_Size_Prop_Type;
7 8 use Elementor\Modules\AtomicWidgets\PropTypes\Size_Prop_Type;
8 9 use Elementor\Modules\AtomicWidgets\PropTypes\Union_Prop_Type;
9 10 use Elementor\Modules\AtomicWidgets\Styles\Size_Constants;
10 11 use Elementor\Modules\Variables\PropTypes\Size_Variable_Prop_Type;
12 +use Elementor\Utils as ElementorUtils;
11 13
12 14 if ( ! defined( 'ABSPATH' ) ) {
13 15 exit; // Exit if accessed directly.
14 16 }
@@ -13,8 +15,10 @@
13 15 exit; // Exit if accessed directly.
14 16 }
15 17
16 18 class Size_Style_Schema {
19 + private const PRO_VERSION_FOR_GRID_TRACK_VARIABLES = '4.2';
20 +
17 21 private $units_to_skip = [];
18 22
19 23 public function __construct() {
20 24 $this->units_to_skip = [
@@ -67,10 +71,22 @@
67 71 if ( $this->skip_by_units( $size_prop_type ) ) {
68 72 return $size_prop_type;
69 73 }
70 74
75 + if (
76 + $size_prop_type instanceof Grid_Track_Size_Prop_Type
77 + && ! $this->is_grid_track_variables_supported_by_pro()
78 + ) {
79 + return $size_prop_type;
80 + }
81 +
71 82 return Union_Prop_Type::create_from( $size_prop_type )
72 83 ->add_prop_type( Size_Variable_Prop_Type::make() );
84 + }
85 +
86 + private function is_grid_track_variables_supported_by_pro(): bool {
87 + return ElementorUtils::has_pro()
88 + && version_compare( ELEMENTOR_PRO_VERSION, self::PRO_VERSION_FOR_GRID_TRACK_VARIABLES, '>=' );
73 89 }
74 90
75 91 private function update_array( Array_Prop_Type $array_prop_type ): Array_Prop_Type {
76 92 return $array_prop_type->set_item_type(