PluginProbe ʕ •ᴥ•ʔ
MailPoet – Newsletters, Email Marketing, and Automation / 5.34.2
MailPoet – Newsletters, Email Marketing, and Automation v5.34.2
5.35.0 5.34.3 5.34.2 5.34.1 5.34.0 5.33.1 5.33.0 5.32.0 5.31.0 5.30.0 5.29.0 5.28.1 5.28.0 5.27.0 5.26.0 5.26.1 5.25.0 5.24.0 4.43.0 4.43.1 4.44.0 4.44.1 4.45.0 4.46.0 4.47.0 4.48.0 4.48.1 4.48.2 4.49.0 4.49.1 4.5.0 4.5.1 4.5.2 4.50.0 4.50.1 4.51.0 4.51.1 4.51.2 4.52.0 4.53.0 4.54.0 4.55.0 4.56.0 4.57.0 4.58.0 4.58.1 4.58.2 4.6.0 4.6.1 4.6.2 4.7.0 4.7.1 4.8.0 4.8.1 4.9.0 5.0.0 5.0.1 5.0.2 5.1.0 5.1.1 5.10.0 5.10.1 5.11.0 5.12.0 5.12.1 5.12.10 5.12.11 5.12.12 5.12.13 5.12.2 5.12.3 5.12.4 5.12.5 5.12.6 5.12.7 5.12.8 5.12.9 5.13.0 5.13.1 5.13.2 5.14.0 5.14.1 5.14.2 5.14.3 5.15.0 5.15.1 5.16.0 5.16.1 5.16.2 5.16.3 5.16.4 5.17.0 5.17.1 5.17.2 5.17.3 5.17.4 5.17.5 5.17.6 5.18.0 5.19.0 5.2.0 5.2.1 5.2.2 5.2.3 5.20.0 5.21.0 5.21.1 5.21.2 5.21.3 5.22.0 5.22.1 5.22.2 5.22.3 5.22.4 5.23.0 5.23.1 5.23.2 5.3.0 5.3.1 5.3.2 5.3.3 5.3.4 5.3.5 5.3.6 5.3.7 5.4.0 5.4.1 5.4.2 5.5.0 5.5.1 5.5.2 5.6.0 5.6.1 5.6.2 5.6.3 5.6.4 5.7.0 5.7.1 5.8.0 5.8.1 5.9.0 3.0.0-beta.15 3.7.1 3.0.0-beta.16 3.7.2 3.0.0-beta.17 3.7.3 3.0.0-beta.18 3.7.4 3.0.0-beta.19 3.7.5 3.0.0-beta.2 3.7.6 3.0.0-beta.20 3.7.8 3.0.0-beta.21 3.70.0 3.0.0-beta.22 3.71.0 3.0.0-beta.23 3.71.1 3.0.0-beta.23.1 3.71.2 3.0.0-beta.23.2 3.71.3 3.0.0-beta.24 3.72.0 3.0.0-beta.25 3.73.0 3.0.0-beta.26 3.73.1 3.0.0-beta.27 3.73.2 3.0.0-beta.28 3.74.0 3.0.0-beta.29 3.74.1 3.0.0-beta.3 3.74.2 3.0.0-beta.30 3.74.3 3.0.0-beta.31 3.75.0 3.0.0-beta.32 3.75.1 3.0.0-beta.33 3.76.0 3.0.0-beta.33.1 3.77.0 3.0.0-beta.34.0.0 3.77.1 3.0.0-beta.36.0.0 3.78.0 3.0.0-beta.36.0.1 3.79.0 3.0.0-beta.36.2.0 3.8 3.0.0-beta.36.3.0 3.8.1 3.0.0-beta.36.3.1 3.8.2 3.0.0-beta.37.0.0 3.8.3 3.0.0-beta.4 3.8.4 3.0.0-beta.5 3.8.5 3.0.0-beta.6 3.8.6 3.0.0-beta.7 3.80.0 3.0.0-beta.7.1 3.81.0 3.0.0-beta.8 3.82.0 3.0.0-beta.9 3.83.0 3.0.0-rc.1.0.0 3.84.0 3.0.0-rc.1.0.1 3.84.1 3.0.0-rc.1.0.2 3.85.0 3.0.0-rc.1.0.3 3.85.1 3.0.0-rc.1.0.4 3.86.0 3.0.0-rc.2.0.0 3.87.0 3.0.0-rc.2.0.1 3.87.1 3.0.0-rc.2.0.2 3.87.2 3.0.0-rc.2.0.3 3.88.0 3.0.1 3.88.1 3.0.2 3.88.2 3.0.3 3.89.0 3.0.4 3.89.1 3.0.5 3.89.2 3.0.6 3.89.3 3.0.7 3.89.4 3.0.8 3.9.0 3.0.9 3.9.1 3.1.0 3.90.0 3.10 3.90.1 3.10.1 3.90.2 3.100.0 3.91.0 3.100.1 3.91.1 3.100.2 3.92.0 3.101.0 3.92.1 3.101.1 3.93.0 3.102.0 3.93.1 3.102.1 3.94.0 3.103.0 3.95.0 3.103.1 3.95.1 3.11.0 3.96.0 3.11.1 3.96.1 3.11.2 3.97.0 3.11.3 3.98.0 3.11.4 3.98.1 3.11.5 3.99.0 3.12.0 3.99.1 3.12.1 4.0.0 3.13.0 4.0.1 3.14.0 4.1.0 3.14.1 4.1.1 3.15.0 4.10.0 3.16.0 4.11.0 3.16.1 4.11.1 3.16.2 4.12.0 3.16.3 4.12.1 3.17.0 4.12.2 3.17.1 4.13.0 3.17.2 4.14.0 3.18.0 4.15.0 3.18.1 4.16.0 3.18.2 4.17.0 3.19.0 4.17.1 3.19.1 4.18.0 3.19.2 4.18.1 3.19.3 4.19.0 3.2.0 4.2.0 3.2.1 4.20.0 3.2.2 4.20.1 3.2.3 4.20.2 3.2.4 4.21.0 3.2.5 4.22.0 3.20.0 4.22.1 3.21.0 4.22.2 3.21.1 4.23.0 3.22.0 4.24.0 3.23.0 4.25.0 3.23.1 4.26.0 3.23.2 4.26.1 3.24.0 4.27.0 3.25.0 4.28.0 3.25.1 4.29.0 3.26.0 4.3.0 3.26.1 4.3.1 3.27.0 4.30.0 3.28.0 4.31.0 3.29.0 4.31.1 3.3.0 4.32.0 3.3.1 4.33.0 3.3.2 4.34.0 3.3.3 4.35.0 3.3.4 4.35.1 3.3.5 4.36.0 3.3.6 4.37.0 3.30.0 4.38.0 3.31.0 4.39.0 3.31.1 4.4.0 3.32.0 4.40.0 3.32.1 4.41.0 3.32.2 4.41.1 3.33.0 4.41.2 3.34.0 4.41.3 3.34.1 4.42.0 3.34.2 4.42.1 3.34.3 3.34.4 3.35.0 3.35.1 3.35.3 3.35.4 3.36.0 3.37.0 3.37.1 3.37.2 3.37.3 3.38.0 3.38.1 3.39.0 3.39.1 3.39.2 3.4.0 3.4.1 3.4.2 3.4.3 3.4.4 3.40.0 3.40.1 3.41.0 3.41.1 3.41.2 3.42.0 3.42.1 3.42.2 3.42.3 3.43.0 3.43.1 3.44.0 3.45.0 3.45.1 3.46.0 3.46.1 3.46.10 3.46.11 3.46.12 3.46.13 3.46.14 3.46.2 3.46.3 3.46.4 3.46.5 3.46.6 3.46.7 3.46.8 3.46.9 3.47.0 3.47.1 3.47.10 3.47.11 3.47.2 3.47.3 3.47.5 3.47.6 3.47.7 3.47.9 3.48.0 3.48.1 3.49.0 3.49.1 3.5.0 3.5.1 3.50.0 3.51.0 3.51.1 3.51.2 3.52.0 3.53.0 3.54.0 3.54.1 3.54.2 3.54.3 3.55.0 3.55.1 3.56.0 3.56.1 3.56.2 3.57.0 3.57.1 3.58.0 3.59.0 3.59.1 3.59.2 3.6.0 3.6.1 3.6.2 3.6.3 3.6.4 3.6.5 3.6.6 3.6.7 3.60.0 3.60.1 3.60.10 3.60.11 3.60.12 3.60.2 3.60.3 3.60.4 3.60.6 3.60.7 3.60.8 3.60.9 3.61.0 3.62.0 3.62.1 3.63.0 3.64.0 3.64.1 3.64.2 3.64.3 3.65.0 trunk 3.65.1 3.0.0 3.66.0 3.0.0-beta.1 3.67.0 3.0.0-beta.10 3.67.1 3.0.0-beta.11 3.68.0 3.0.0-beta.12 3.69.0 3.0.0-beta.13 3.69.1 3.0.0-beta.14 3.7.0
mailpoet / vendor-prefixed / sabberworm / php-css-parser / src / Value / Size.php
mailpoet / vendor-prefixed / sabberworm / php-css-parser / src / Value Last commit date
CSSFunction.php 2 years ago CSSString.php 4 years ago CalcFunction.php 2 years ago CalcRuleValueList.php 4 years ago Color.php 2 years ago LineName.php 4 years ago PrimitiveValue.php 4 years ago RuleValueList.php 4 years ago Size.php 2 years ago URL.php 2 years ago Value.php 2 years ago ValueList.php 4 years ago index.php 3 years ago
Size.php
122 lines
1 <?php
2 namespace MailPoetVendor\Sabberworm\CSS\Value;
3 if (!defined('ABSPATH')) exit;
4 use MailPoetVendor\Sabberworm\CSS\OutputFormat;
5 use MailPoetVendor\Sabberworm\CSS\Parsing\ParserState;
6 use MailPoetVendor\Sabberworm\CSS\Parsing\UnexpectedEOFException;
7 use MailPoetVendor\Sabberworm\CSS\Parsing\UnexpectedTokenException;
8 class Size extends PrimitiveValue
9 {
10 const ABSOLUTE_SIZE_UNITS = ['px', 'cm', 'mm', 'mozmm', 'in', 'pt', 'pc', 'vh', 'vw', 'vmin', 'vmax', 'rem'];
11 const RELATIVE_SIZE_UNITS = ['%', 'em', 'ex', 'ch', 'fr'];
12 const NON_SIZE_UNITS = ['deg', 'grad', 'rad', 's', 'ms', 'turn', 'Hz', 'kHz'];
13 private static $SIZE_UNITS = null;
14 private $fSize;
15 private $sUnit;
16 private $bIsColorComponent;
17 public function __construct($fSize, $sUnit = null, $bIsColorComponent = \false, $iLineNo = 0)
18 {
19 parent::__construct($iLineNo);
20 $this->fSize = (float) $fSize;
21 $this->sUnit = $sUnit;
22 $this->bIsColorComponent = $bIsColorComponent;
23 }
24 public static function parse(ParserState $oParserState, $bIsColorComponent = \false)
25 {
26 $sSize = '';
27 if ($oParserState->comes('-')) {
28 $sSize .= $oParserState->consume('-');
29 }
30 while (\is_numeric($oParserState->peek()) || $oParserState->comes('.') || $oParserState->comes('e', \true)) {
31 if ($oParserState->comes('.')) {
32 $sSize .= $oParserState->consume('.');
33 } elseif ($oParserState->comes('e', \true)) {
34 $sLookahead = $oParserState->peek(1, 1);
35 if (\is_numeric($sLookahead) || $sLookahead === '+' || $sLookahead === '-') {
36 $sSize .= $oParserState->consume(2);
37 } else {
38 break;
39 // Reached the unit part of the number like "em" or "ex"
40 }
41 } else {
42 $sSize .= $oParserState->consume(1);
43 }
44 }
45 $sUnit = null;
46 $aSizeUnits = self::getSizeUnits();
47 foreach ($aSizeUnits as $iLength => &$aValues) {
48 $sKey = \strtolower($oParserState->peek($iLength));
49 if (\array_key_exists($sKey, $aValues)) {
50 if (($sUnit = $aValues[$sKey]) !== null) {
51 $oParserState->consume($iLength);
52 break;
53 }
54 }
55 }
56 return new Size((float) $sSize, $sUnit, $bIsColorComponent, $oParserState->currentLine());
57 }
58 private static function getSizeUnits()
59 {
60 if (!\is_array(self::$SIZE_UNITS)) {
61 self::$SIZE_UNITS = [];
62 foreach (\array_merge(self::ABSOLUTE_SIZE_UNITS, self::RELATIVE_SIZE_UNITS, self::NON_SIZE_UNITS) as $val) {
63 $iSize = \strlen($val);
64 if (!isset(self::$SIZE_UNITS[$iSize])) {
65 self::$SIZE_UNITS[$iSize] = [];
66 }
67 self::$SIZE_UNITS[$iSize][\strtolower($val)] = $val;
68 }
69 \krsort(self::$SIZE_UNITS, \SORT_NUMERIC);
70 }
71 return self::$SIZE_UNITS;
72 }
73 public function setUnit($sUnit)
74 {
75 $this->sUnit = $sUnit;
76 }
77 public function getUnit()
78 {
79 return $this->sUnit;
80 }
81 public function setSize($fSize)
82 {
83 $this->fSize = (float) $fSize;
84 }
85 public function getSize()
86 {
87 return $this->fSize;
88 }
89 public function isColorComponent()
90 {
91 return $this->bIsColorComponent;
92 }
93 public function isSize()
94 {
95 if (\in_array($this->sUnit, self::NON_SIZE_UNITS, \true)) {
96 return \false;
97 }
98 return !$this->isColorComponent();
99 }
100 public function isRelative()
101 {
102 if (\in_array($this->sUnit, self::RELATIVE_SIZE_UNITS, \true)) {
103 return \true;
104 }
105 if ($this->sUnit === null && $this->fSize != 0) {
106 return \true;
107 }
108 return \false;
109 }
110 public function __toString()
111 {
112 return $this->render(new OutputFormat());
113 }
114 public function render(OutputFormat $oOutputFormat)
115 {
116 $l = \localeconv();
117 $sPoint = \preg_quote($l['decimal_point'], '/');
118 $sSize = \preg_match("/[\\d\\.]+e[+-]?\\d+/i", (string) $this->fSize) ? \preg_replace("/{$sPoint}?0+\$/", "", \sprintf("%f", $this->fSize)) : $this->fSize;
119 return \preg_replace(["/{$sPoint}/", "/^(-?)0\\./"], ['.', '$1.'], $sSize) . ($this->sUnit === null ? '' : $this->sUnit);
120 }
121 }
122