diff --git a/composer.lock b/composer.lock
index 66f4b95..b692a0f 100644
--- a/composer.lock
+++ b/composer.lock
@@ -388,12 +388,12 @@
"source": {
"type": "git",
"url": "https://github.com/tbela99/css.git",
- "reference": "66357d1655adee242c91093fdca40a8d2696df4a"
+ "reference": "8156a0f72deb264573b0262b9ffa39f7945e05f6"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/tbela99/css/zipball/66357d1655adee242c91093fdca40a8d2696df4a",
- "reference": "66357d1655adee242c91093fdca40a8d2696df4a",
+ "url": "https://api.github.com/repos/tbela99/css/zipball/8156a0f72deb264573b0262b9ffa39f7945e05f6",
+ "reference": "8156a0f72deb264573b0262b9ffa39f7945e05f6",
"shasum": ""
},
"require": {
@@ -435,7 +435,7 @@
"issues": "https://github.com/tbela99/css/issues",
"source": "https://github.com/tbela99/css/tree/php56-backport"
},
- "time": "2022-07-01T19:53:21+00:00"
+ "time": "2022-07-14T01:12:39+00:00"
}
],
"packages-dev": [],
@@ -454,5 +454,5 @@
"ext-simplexml": "*"
},
"platform-dev": [],
- "plugin-api-version": "2.3.0"
+ "plugin-api-version": "2.1.0"
}
diff --git a/gzip.xml b/gzip.xml
index fd8a545..5cc1513 100644
--- a/gzip.xml
+++ b/gzip.xml
@@ -7,10 +7,9 @@
Released under dual license LGPL v3 | MIT
contact@tbela.net
https://tbela.net
- 3.1.1
+ 3.1.2
PLG_SYSTEM_GZIP_XML_DESCRIPTION
- docs
css
fields
helpers
@@ -19,7 +18,6 @@
language
worker/dist
worker/css
- docs/
push
vendor
autoload.php
diff --git a/package.json b/package.json
index acdacaa..1a9ac84 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "gzip",
- "version": "3.1.1",
+ "version": "3.1.2",
"scripts": {
"build": "./build.sh",
"rollup-config": "./node_modules/rollup/dist/bin/rollup ./config/rollup/rollup.js -f iife --name=rollupConfig > ./rollup.config.js",
diff --git a/vendor/composer/ClassLoader.php b/vendor/composer/ClassLoader.php
index afef3fa..0cd6055 100644
--- a/vendor/composer/ClassLoader.php
+++ b/vendor/composer/ClassLoader.php
@@ -149,7 +149,7 @@ public function getFallbackDirsPsr4()
/**
* @return string[] Array of classname => path
- * @psalm-return array
+ * @psalm-var array
*/
public function getClassMap()
{
diff --git a/vendor/composer/InstalledVersions.php b/vendor/composer/InstalledVersions.php
index 41bc143..d50e0c9 100644
--- a/vendor/composer/InstalledVersions.php
+++ b/vendor/composer/InstalledVersions.php
@@ -21,8 +21,6 @@
* See also https://getcomposer.org/doc/07-runtime.md#installed-versions
*
* To require its presence, you can require `composer-runtime-api ^2.0`
- *
- * @final
*/
class InstalledVersions
{
diff --git a/vendor/composer/autoload_classmap.php b/vendor/composer/autoload_classmap.php
index 0fb0a2c..b26f1b1 100644
--- a/vendor/composer/autoload_classmap.php
+++ b/vendor/composer/autoload_classmap.php
@@ -2,7 +2,7 @@
// autoload_classmap.php @generated by Composer
-$vendorDir = dirname(__DIR__);
+$vendorDir = dirname(dirname(__FILE__));
$baseDir = dirname($vendorDir);
return array(
diff --git a/vendor/composer/autoload_files.php b/vendor/composer/autoload_files.php
index ee3a2d6..315ab83 100644
--- a/vendor/composer/autoload_files.php
+++ b/vendor/composer/autoload_files.php
@@ -2,7 +2,7 @@
// autoload_files.php @generated by Composer
-$vendorDir = dirname(__DIR__);
+$vendorDir = dirname(dirname(__FILE__));
$baseDir = dirname($vendorDir);
return array(
diff --git a/vendor/composer/autoload_namespaces.php b/vendor/composer/autoload_namespaces.php
index 15a2ff3..b7fc012 100644
--- a/vendor/composer/autoload_namespaces.php
+++ b/vendor/composer/autoload_namespaces.php
@@ -2,7 +2,7 @@
// autoload_namespaces.php @generated by Composer
-$vendorDir = dirname(__DIR__);
+$vendorDir = dirname(dirname(__FILE__));
$baseDir = dirname($vendorDir);
return array(
diff --git a/vendor/composer/autoload_psr4.php b/vendor/composer/autoload_psr4.php
index da7d2e3..4dcf4e8 100644
--- a/vendor/composer/autoload_psr4.php
+++ b/vendor/composer/autoload_psr4.php
@@ -2,7 +2,7 @@
// autoload_psr4.php @generated by Composer
-$vendorDir = dirname(__DIR__);
+$vendorDir = dirname(dirname(__FILE__));
$baseDir = dirname($vendorDir);
return array(
diff --git a/vendor/composer/autoload_real.php b/vendor/composer/autoload_real.php
index 9a18e82..58a29dd 100644
--- a/vendor/composer/autoload_real.php
+++ b/vendor/composer/autoload_real.php
@@ -25,15 +25,38 @@ public static function getLoader()
require __DIR__ . '/platform_check.php';
spl_autoload_register(array('ComposerAutoloaderInit25e05d6f03a126040f1a3cf5082f1706', 'loadClassLoader'), true, true);
- self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__));
+ self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(\dirname(__FILE__)));
spl_autoload_unregister(array('ComposerAutoloaderInit25e05d6f03a126040f1a3cf5082f1706', 'loadClassLoader'));
- require __DIR__ . '/autoload_static.php';
- \Composer\Autoload\ComposerStaticInit25e05d6f03a126040f1a3cf5082f1706::getInitializer($loader)();
+ $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
+ if ($useStaticLoader) {
+ require __DIR__ . '/autoload_static.php';
+
+ call_user_func(\Composer\Autoload\ComposerStaticInit25e05d6f03a126040f1a3cf5082f1706::getInitializer($loader));
+ } else {
+ $map = require __DIR__ . '/autoload_namespaces.php';
+ foreach ($map as $namespace => $path) {
+ $loader->set($namespace, $path);
+ }
+
+ $map = require __DIR__ . '/autoload_psr4.php';
+ foreach ($map as $namespace => $path) {
+ $loader->setPsr4($namespace, $path);
+ }
+
+ $classMap = require __DIR__ . '/autoload_classmap.php';
+ if ($classMap) {
+ $loader->addClassMap($classMap);
+ }
+ }
$loader->register(true);
- $includeFiles = \Composer\Autoload\ComposerStaticInit25e05d6f03a126040f1a3cf5082f1706::$files;
+ if ($useStaticLoader) {
+ $includeFiles = Composer\Autoload\ComposerStaticInit25e05d6f03a126040f1a3cf5082f1706::$files;
+ } else {
+ $includeFiles = require __DIR__ . '/autoload_files.php';
+ }
foreach ($includeFiles as $fileIdentifier => $file) {
composerRequire25e05d6f03a126040f1a3cf5082f1706($fileIdentifier, $file);
}
@@ -42,16 +65,11 @@ public static function getLoader()
}
}
-/**
- * @param string $fileIdentifier
- * @param string $file
- * @return void
- */
function composerRequire25e05d6f03a126040f1a3cf5082f1706($fileIdentifier, $file)
{
if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
- $GLOBALS['__composer_autoload_files'][$fileIdentifier] = true;
-
require $file;
+
+ $GLOBALS['__composer_autoload_files'][$fileIdentifier] = true;
}
}
diff --git a/vendor/composer/installed.json b/vendor/composer/installed.json
index 5e4454c..2ea912d 100644
--- a/vendor/composer/installed.json
+++ b/vendor/composer/installed.json
@@ -404,12 +404,12 @@
"source": {
"type": "git",
"url": "https://github.com/tbela99/css.git",
- "reference": "66357d1655adee242c91093fdca40a8d2696df4a"
+ "reference": "8156a0f72deb264573b0262b9ffa39f7945e05f6"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/tbela99/css/zipball/66357d1655adee242c91093fdca40a8d2696df4a",
- "reference": "66357d1655adee242c91093fdca40a8d2696df4a",
+ "url": "https://api.github.com/repos/tbela99/css/zipball/8156a0f72deb264573b0262b9ffa39f7945e05f6",
+ "reference": "8156a0f72deb264573b0262b9ffa39f7945e05f6",
"shasum": ""
},
"require": {
@@ -420,7 +420,7 @@
"php": ">=5.6.40",
"symfony/polyfill-mbstring": "v1.19.0"
},
- "time": "2022-07-01T19:53:21+00:00",
+ "time": "2022-07-14T01:12:39+00:00",
"type": "library",
"installation-source": "dist",
"autoload": {
diff --git a/vendor/composer/installed.php b/vendor/composer/installed.php
index 31b0461..a1b5c0e 100644
--- a/vendor/composer/installed.php
+++ b/vendor/composer/installed.php
@@ -5,7 +5,7 @@
'type' => 'library',
'install_path' => __DIR__ . '/../../',
'aliases' => array(),
- 'reference' => '79e7040ecf7a4e5cf7f105c0b5974c83d9753d64',
+ 'reference' => '17661ad5b68cea101fa6d28937270e9389ae4f89',
'name' => '__root__',
'dev' => true,
),
@@ -16,7 +16,7 @@
'type' => 'library',
'install_path' => __DIR__ . '/../../',
'aliases' => array(),
- 'reference' => '79e7040ecf7a4e5cf7f105c0b5974c83d9753d64',
+ 'reference' => '17661ad5b68cea101fa6d28937270e9389ae4f89',
'dev_requirement' => false,
),
'axy/backtrace' => array(
@@ -88,7 +88,7 @@
'type' => 'library',
'install_path' => __DIR__ . '/../tbela99/css',
'aliases' => array(),
- 'reference' => '66357d1655adee242c91093fdca40a8d2696df4a',
+ 'reference' => '8156a0f72deb264573b0262b9ffa39f7945e05f6',
'dev_requirement' => false,
),
),
diff --git a/vendor/tbela99/css/src/TBela/CSS/ArrayTrait.php b/vendor/tbela99/css/src/TBela/CSS/ArrayTrait.php
index 23b3db2..eccd01a 100644
--- a/vendor/tbela99/css/src/TBela/CSS/ArrayTrait.php
+++ b/vendor/tbela99/css/src/TBela/CSS/ArrayTrait.php
@@ -7,7 +7,7 @@
*
* - Getter syntax: $value = $element['value']; // $value = $element->getValue()
* - Setter syntax: $element['value'] = $value; // $element->setValue($value);
- * - Properties: $element['childNodes'], $element['firstChild'], $element['lastChild']
+ * - Properties: $element['childNodes'], $element['firstChild'], $element['lastChild'], $element['parentNode']
* @package TBela\CSS
*/
trait ArrayTrait
@@ -62,7 +62,7 @@ public function offsetExists($offset)
{
return is_callable([$this, 'get' . $offset]) ||
is_callable([$this, 'set' . $offset]) ||
- (isset($this->ast->children) && in_array($offset, ['childNodes', 'firstChild', 'lastChild']));
+ (isset($this->ast->children) && in_array($offset, ['childNodes', 'firstChild', 'lastChild', 'parentNode']));
}
/**
@@ -91,6 +91,11 @@ public function offsetGet($offset)
return call_user_func([$this, 'get' . $offset]);
}
+ if ($offset == 'parentNode') {
+
+ return $this->parent;
+ }
+
if (isset($this->ast->children)) {
switch ($offset) {
@@ -105,8 +110,7 @@ public function offsetGet($offset)
case 'lastChild':
- $count = count($this->ast->children);
- return $count > 0 ? $this->ast->children[$count - 1] : null;
+ return end($this->ast->children);
}
}
diff --git a/vendor/tbela99/css/src/TBela/CSS/Element.php b/vendor/tbela99/css/src/TBela/CSS/Element.php
index d24e62b..56b34b1 100644
--- a/vendor/tbela99/css/src/TBela/CSS/Element.php
+++ b/vendor/tbela99/css/src/TBela/CSS/Element.php
@@ -631,7 +631,7 @@ public function __toString()
catch (Exception $ex) {
- error_log($ex->getTraceAsString());
+ error_log($ex);
}
return '';
diff --git a/vendor/tbela99/css/src/TBela/CSS/Element/Rule.php b/vendor/tbela99/css/src/TBela/CSS/Element/Rule.php
index f0cb99c..64fd3d5 100644
--- a/vendor/tbela99/css/src/TBela/CSS/Element/Rule.php
+++ b/vendor/tbela99/css/src/TBela/CSS/Element/Rule.php
@@ -102,6 +102,7 @@ public function addSelector($selector)
* Remove a css selector
* @param array|string $selector
* @return Rule
+ * @throws Exception
*/
public function removeSelector($selector)
{
@@ -111,7 +112,15 @@ public function removeSelector($selector)
$selector = array_map('trim', explode(',', $selector));
}
- $this->ast->selector = array_diff($this->ast->selector, $selector);
+ $selector = array_values(array_diff($this->ast->selector, $selector));
+
+ if (empty($selector)) {
+
+ throw new \Exception(sprintf('the selector is empty: %s:%s:%s', isset($this->ast->src) ? $this->ast->src : '', isset($this->ast->position->line) ? $this->ast->position->line : '', isset($this->ast->position->column) ? $this->ast->position->column : ''), 400);
+ }
+
+ $this->ast->selector = $selector;
+
return $this;
}
diff --git a/vendor/tbela99/css/src/TBela/CSS/Renderer.php b/vendor/tbela99/css/src/TBela/CSS/Renderer.php
index 742339d..44e724e 100644
--- a/vendor/tbela99/css/src/TBela/CSS/Renderer.php
+++ b/vendor/tbela99/css/src/TBela/CSS/Renderer.php
@@ -618,9 +618,18 @@ protected function renderSelector($ast, $level)
$indent = $this->indents[$level];
- if (is_array($selector) && is_string($selector[0])) {
+ if (is_array($selector)) {
- $selector = implode(','.$this->options['indent'], $selector);
+ if (empty($selector)) {
+;
+ // the selector is empty!
+ throw new \Exception(sprintf('the selector is empty: %s:%s:%s', isset($ast->src) ? $ast->src : '', isset($ast->position->line) ? $ast->position->line :'', isset($ast->position->column) ? $ast->position->column : ''), 400);
+ }
+
+ if (is_string($selector[0])) {
+
+ $selector = implode(','.$this->options['indent'], $selector);
+ }
}
if (is_string($selector)) {
diff --git a/vendor/tbela99/css/src/TBela/CSS/Value.php b/vendor/tbela99/css/src/TBela/CSS/Value.php
index 108bbbf..b31627b 100644
--- a/vendor/tbela99/css/src/TBela/CSS/Value.php
+++ b/vendor/tbela99/css/src/TBela/CSS/Value.php
@@ -1196,10 +1196,10 @@ public static function getTokens($string, $capture_whitespace = true, $context =
$tokens[] = (object)['type' => $context === 'attribute' ? 'operator' : 'css-string', 'value' => '='];
} else if ($context === 'attribute') {
- $tokens[] = (object)['type' => 'operator', 'value' => $string[$i++] . '='];
+ $tokens[] = (object)['type' => 'operator', 'value' => $string[$i++] .$string[$i]];
} else {
- $tokens[] = (object)['type' => 'css-string', 'value' => $string[$i++]];
+ $tokens[] = (object)['type' => 'css-string', 'value' => $string[$i]];
}
break;
diff --git a/vendor/tbela99/css/src/TBela/CSS/Value/Unit.php b/vendor/tbela99/css/src/TBela/CSS/Value/Unit.php
index 6223717..ce1c458 100644
--- a/vendor/tbela99/css/src/TBela/CSS/Value/Unit.php
+++ b/vendor/tbela99/css/src/TBela/CSS/Value/Unit.php
@@ -37,13 +37,36 @@ public function render(array $options = [])
public static function doRender($data, array $options = []) {
- if ($data->value == 0) {
+ /**
+ * @see https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Types#quantities
+ */
+ if ($data->value == 0 && !in_array(strtolower($data->unit), ['s', 'ms', 'hz', 'khz', 'dpi', 'dpcm', 'dppx', 'x'])) {
return '0'.(isset($options['omit_unit']) && isset($data->unit) && $options['omit_unit'] == false ? $data->unit : '');
}
$unit = !empty($options['omit_unit']) && $options['omit_unit'] == $data->unit ? '' : $data->unit;
+ if ($data->value == 0) {
+
+ $unit = strtolower($data->unit);
+
+ if ($unit == 'ms') {
+
+ $unit = 's';
+ }
+
+ else if ($unit == 'khz') {
+
+ $unit = 'hz';
+ }
+ }
+
+ if ($unit == 'dppx') {
+
+ $unit = 'x';
+ }
+
if (!empty($options['compress'])) {
$value = $data->value;