File: //home/synqowzz/www/wp-content/plugins/elementor/modules/atomic-widgets/styles/size-constants.php
<?php
namespace Elementor\Modules\AtomicWidgets\Styles;
if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly.
}
class Size_Constants {
const UNIT_PX = 'px';
const UNIT_PERCENT = '%';
const UNIT_EM = 'em';
const UNIT_REM = 'rem';
const UNIT_VW = 'vw';
const UNIT_VH = 'vh';
const UNIT_CH = 'ch';
const UNIT_VMIN = 'vmin';
const UNIT_VMAX = 'vmax';
const UNIT_SECOND = 's';
const UNIT_MILLI_SECOND = 'ms';
const UNIT_DEG = 'deg';
const UNIT_RAD = 'rad';
const UNIT_GRAD = 'grad';
const UNIT_TURN = 'turn';
const UNIT_AUTO = 'auto';
const UNIT_CUSTOM = 'custom';
const DEFAULT_UNIT = self::UNIT_PX;
private const LENGTH_UNITS = [
self::UNIT_PX,
self::UNIT_EM,
self::UNIT_REM,
self::UNIT_VW,
self::UNIT_VH,
self::UNIT_CH,
];
private const TIME_UNITS = [
self::UNIT_MILLI_SECOND,
self::UNIT_SECOND,
];
private const ANGLE_UNITS = [
self::UNIT_DEG,
self::UNIT_RAD,
self::UNIT_GRAD,
self::UNIT_TURN,
];
private const EXTENDED_UNITS = [
self::UNIT_AUTO,
self::UNIT_CUSTOM,
];
private const VIEWPORT_MIN_MAX_UNITS = [
self::UNIT_VMIN,
self::UNIT_VMAX,
];
private const NUMERIC_UNITS = [
...self::LENGTH_UNITS,
self::UNIT_PERCENT,
self::UNIT_CUSTOM,
];
private static function presets(): array {
return [
'layout' => self::NUMERIC_UNITS,
'spacing' => self::NUMERIC_UNITS,
'position' => self::NUMERIC_UNITS,
'typography' => self::NUMERIC_UNITS,
'border' => self::NUMERIC_UNITS,
'box_shadow' => self::NUMERIC_UNITS,
'transform' => self::NUMERIC_UNITS,
'spacing_margin' => self::standard_units(),
'anchor_offset' => [
...self::LENGTH_UNITS,
self::UNIT_CUSTOM,
],
'stroke_width' => [
self::UNIT_PX,
self::UNIT_EM,
self::UNIT_REM,
self::UNIT_CUSTOM,
],
'transition' => [
...self::TIME_UNITS,
self::UNIT_CUSTOM,
],
'opacity' => [
self::UNIT_PERCENT,
self::UNIT_CUSTOM,
],
'rotate' => [
...self::ANGLE_UNITS,
self::UNIT_CUSTOM,
],
'drop_shadow' => [
...self::LENGTH_UNITS,
self::UNIT_CUSTOM,
],
'blur_filter' => [
...self::LENGTH_UNITS,
self::UNIT_CUSTOM,
],
'intensity_filter' => [
self::UNIT_PERCENT,
self::UNIT_CUSTOM,
],
'color_tone_filter' => [
self::UNIT_PERCENT,
self::UNIT_CUSTOM,
],
'hue_rotate_filter' => [
...self::ANGLE_UNITS,
self::UNIT_CUSTOM,
],
];
}
public static function standard_units(): array {
return [
...self::LENGTH_UNITS,
self::UNIT_PERCENT,
self::UNIT_AUTO,
self::UNIT_CUSTOM,
];
}
public static function all_supported_units(): array {
return [
...self::LENGTH_UNITS,
...self::TIME_UNITS,
...self::ANGLE_UNITS,
...self::EXTENDED_UNITS,
...self::VIEWPORT_MIN_MAX_UNITS,
self::UNIT_PERCENT,
];
}
public static function grouped_units(): array {
return [
'length' => self::LENGTH_UNITS,
'angle' => self::ANGLE_UNITS,
'time' => self::TIME_UNITS,
'extended_units' => self::EXTENDED_UNITS,
];
}
private static function by_group( string $group ): array {
$groups = self::grouped_units();
return $groups[ $group ] ?? [];
}
public static function get_preset( string $name ): array {
$presets = self::presets();
return $presets[ $name ] ?? [];
}
public static function length(): array {
return self::by_group( 'length' );
}
public static function time(): array {
return self::by_group( 'time' );
}
public static function layout(): array {
return self::get_preset( 'layout' );
}
public static function spacing_margin(): array {
return self::get_preset( 'spacing_margin' );
}
public static function spacing(): array {
return self::get_preset( 'spacing' );
}
public static function position(): array {
return self::get_preset( 'position' );
}
public static function anchor_offset(): array {
return self::get_preset( 'anchor_offset' );
}
public static function typography(): array {
return self::get_preset( 'typography' );
}
public static function stroke_width(): array {
return self::get_preset( 'stroke_width' );
}
public static function transition(): array {
return self::get_preset( 'transition' );
}
public static function border(): array {
return self::get_preset( 'border' );
}
public static function opacity(): array {
return self::get_preset( 'opacity' );
}
public static function box_shadow(): array {
return self::get_preset( 'box_shadow' );
}
public static function rotate(): array {
return self::get_preset( 'rotate' );
}
public static function transform(): array {
return self::get_preset( 'transform' );
}
public static function drop_shadow(): array {
return self::get_preset( 'drop_shadow' );
}
public static function blur_filter(): array {
return self::get_preset( 'blur_filter' );
}
public static function intensity_filter(): array {
return self::get_preset( 'intensity_filter' );
}
public static function color_tone_filter(): array {
return self::get_preset( 'color_tone_filter' );
}
public static function hue_rotate_filter(): array {
return self::get_preset( 'hue_rotate_filter' );
}
}