← All changes
|
modules/atomic-widgets/styles/size-constants.php
+38
-4
4.0.9
→
4.1.0-beta1
View file →
| @@ -26,8 +26,28 @@ | ||
| 26 | 26 | const UNIT_CUSTOM = 'custom'; |
| 27 | 27 | |
| 28 | 28 | const DEFAULT_UNIT = self::UNIT_PX; |
| 29 | 29 | |
| 30 | + private const ORDER = [ | |
| 31 | + self::UNIT_PX, | |
| 32 | + self::UNIT_PERCENT, | |
| 33 | + self::UNIT_EM, | |
| 34 | + self::UNIT_REM, | |
| 35 | + self::UNIT_VW, | |
| 36 | + self::UNIT_VH, | |
| 37 | + self::UNIT_CH, | |
| 38 | + self::UNIT_VMIN, | |
| 39 | + self::UNIT_VMAX, | |
| 40 | + self::UNIT_DEG, | |
| 41 | + self::UNIT_RAD, | |
| 42 | + self::UNIT_GRAD, | |
| 43 | + self::UNIT_TURN, | |
| 44 | + self::UNIT_SECOND, | |
| 45 | + self::UNIT_MILLI_SECOND, | |
| 46 | + self::UNIT_AUTO, | |
| 47 | + self::UNIT_CUSTOM, | |
| 48 | + ]; | |
| 49 | + | |
| 30 | 50 | private const LENGTH_UNITS = [ |
| 31 | 51 | self::UNIT_PX, |
| 32 | 52 | self::UNIT_EM, |
| 33 | 53 | self::UNIT_REM, |
| @@ -65,10 +85,10 @@ | ||
| 65 | 85 | ]; |
| 66 | 86 | |
| 67 | 87 | private static function presets(): array { |
| 68 | 88 | return [ |
| 69 | - 'layout' => self::NUMERIC_UNITS, | |
| 70 | - 'spacing' => self::NUMERIC_UNITS, | |
| 89 | + 'layout' => self::sort_by_preferred_order( self::NUMERIC_UNITS ), | |
| 90 | + 'spacing' => self::sort_by_preferred_order( self::NUMERIC_UNITS ), | |
| 71 | 91 | 'position' => self::NUMERIC_UNITS, |
| 72 | 92 | 'typography' => self::NUMERIC_UNITS, |
| 73 | 93 | 'border' => self::NUMERIC_UNITS, |
| 74 | 94 | 'box_shadow' => self::NUMERIC_UNITS, |
| @@ -129,15 +149,25 @@ | ||
| 129 | 149 | ], |
| 130 | 150 | ]; |
| 131 | 151 | } |
| 132 | 152 | |
| 153 | + private static function sort_by_preferred_order( array $units ): array { | |
| 154 | + $index = array_flip( self::ORDER ); | |
| 155 | + | |
| 156 | + usort( $units, fn( $a, $b ) => | |
| 157 | + ( $index[ $a ] ?? PHP_INT_MAX ) <=> ( $index[ $b ] ?? PHP_INT_MAX ) | |
| 158 | + ); | |
| 159 | + | |
| 160 | + return $units; | |
| 161 | + } | |
| 162 | + | |
| 133 | 163 | public static function standard_units(): array { |
| 134 | - return [ | |
| 164 | + return self::sort_by_preferred_order( [ | |
| 135 | 165 | ...self::LENGTH_UNITS, |
| 136 | 166 | self::UNIT_PERCENT, |
| 137 | 167 | self::UNIT_AUTO, |
| 138 | 168 | self::UNIT_CUSTOM, |
| 139 | - ]; | |
| 169 | + ] ); | |
| 140 | 170 | } |
| 141 | 171 | |
| 142 | 172 | public static function all_supported_units(): array { |
| 143 | 173 | return [ |
| @@ -176,8 +206,12 @@ | ||
| 176 | 206 | } |
| 177 | 207 | |
| 178 | 208 | public static function time(): array { |
| 179 | 209 | return self::by_group( 'time' ); |
| 210 | + } | |
| 211 | + | |
| 212 | + public static function angle(): array { | |
| 213 | + return self::by_group( 'angle' ); | |
| 180 | 214 | } |
| 181 | 215 | |
| 182 | 216 | public static function layout(): array { |
| 183 | 217 | return self::get_preset( 'layout' ); |