PluginProbe
Elementor Website Builder – more than just a page builder / 4.3.2
Elementor Website Builder – more than just a page builder v4.3.2
4.3.2 4.3.1 4.3.0 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 All 455 releases
← All changes | modules/atomic-widgets/styles/size-constants.php +58 -4 4.0.9 → 4.3.2 View file →
@@ -23,11 +23,33 @@
23 23 const UNIT_GRAD = 'grad';
24 24 const UNIT_TURN = 'turn';
25 25 const UNIT_AUTO = 'auto';
26 26 const UNIT_CUSTOM = 'custom';
27 + const UNIT_FR = 'fr';
27 28
28 29 const DEFAULT_UNIT = self::UNIT_PX;
29 30
31 + private const ORDER = [
32 + self::UNIT_PX,
33 + self::UNIT_PERCENT,
34 + self::UNIT_EM,
35 + self::UNIT_REM,
36 + self::UNIT_VW,
37 + self::UNIT_VH,
38 + self::UNIT_CH,
39 + self::UNIT_VMIN,
40 + self::UNIT_VMAX,
41 + self::UNIT_FR,
42 + self::UNIT_DEG,
43 + self::UNIT_RAD,
44 + self::UNIT_GRAD,
45 + self::UNIT_TURN,
46 + self::UNIT_SECOND,
47 + self::UNIT_MILLI_SECOND,
48 + self::UNIT_AUTO,
49 + self::UNIT_CUSTOM,
50 + ];
51 +
30 52 private const LENGTH_UNITS = [
31 53 self::UNIT_PX,
32 54 self::UNIT_EM,
33 55 self::UNIT_REM,
@@ -65,10 +87,10 @@
65 87 ];
66 88
67 89 private static function presets(): array {
68 90 return [
69 - 'layout' => self::NUMERIC_UNITS,
70 - 'spacing' => self::NUMERIC_UNITS,
91 + 'layout' => self::sort_by_preferred_order( self::NUMERIC_UNITS ),
92 + 'spacing' => self::sort_by_preferred_order( self::NUMERIC_UNITS ),
71 93 'position' => self::NUMERIC_UNITS,
72 94 'typography' => self::NUMERIC_UNITS,
73 95 'border' => self::NUMERIC_UNITS,
74 96 'box_shadow' => self::NUMERIC_UNITS,
@@ -129,15 +151,25 @@
129 151 ],
130 152 ];
131 153 }
132 154
155 + private static function sort_by_preferred_order( array $units ): array {
156 + $index = array_flip( self::ORDER );
157 +
158 + usort( $units, fn( $a, $b ) =>
159 + ( $index[ $a ] ?? PHP_INT_MAX ) <=> ( $index[ $b ] ?? PHP_INT_MAX )
160 + );
161 +
162 + return $units;
163 + }
164 +
133 165 public static function standard_units(): array {
134 - return [
166 + return self::sort_by_preferred_order( [
135 167 ...self::LENGTH_UNITS,
136 168 self::UNIT_PERCENT,
137 169 self::UNIT_AUTO,
138 170 self::UNIT_CUSTOM,
139 - ];
171 + ] );
140 172 }
141 173
142 174 public static function all_supported_units(): array {
143 175 return [
@@ -146,11 +178,29 @@
146 178 ...self::ANGLE_UNITS,
147 179 ...self::EXTENDED_UNITS,
148 180 ...self::VIEWPORT_MIN_MAX_UNITS,
149 181 self::UNIT_PERCENT,
182 + self::UNIT_FR,
150 183 ];
151 184 }
152 185
186 + public static function grid_track(): array {
187 + return [
188 + self::UNIT_FR,
189 + self::UNIT_CUSTOM,
190 + ];
191 + }
192 +
193 + public static function grid_auto_track(): array {
194 + return self::sort_by_preferred_order( [
195 + self::UNIT_PX,
196 + self::UNIT_PERCENT,
197 + self::UNIT_FR,
198 + self::UNIT_AUTO,
199 + self::UNIT_CUSTOM,
200 + ] );
201 + }
202 +
153 203 public static function grouped_units(): array {
154 204 return [
155 205 'length' => self::LENGTH_UNITS,
156 206 'angle' => self::ANGLE_UNITS,
@@ -176,8 +226,12 @@
176 226 }
177 227
178 228 public static function time(): array {
179 229 return self::by_group( 'time' );
230 + }
231 +
232 + public static function angle(): array {
233 + return self::by_group( 'angle' );
180 234 }
181 235
182 236 public static function layout(): array {
183 237 return self::get_preset( 'layout' );