* [misc] add style::var helper to set css var.

This commit is contained in:
sunhao
2024-09-04 17:31:41 +08:00
committed by 王于听
parent 280cb88637
commit db251a3cb4
+15 -1
View File
@@ -27,7 +27,7 @@ class style extends \zin\utils\dataset implements iDirective
public function __call(string $name, array $args): style
{
$value = empty($args) ? true : (count($args) === 1 ? $args[0] : $args);
return $this->setVal($name, $value);;
return $this->setVal($name, $value);
}
/**
@@ -68,6 +68,16 @@ class style extends \zin\utils\dataset implements iDirective
if($class) $node->setProp('class', $class);
}
public function var(string|array $nameOrMap, mixed $value = null): style
{
if(is_array($nameOrMap))
{
foreach($nameOrMap as $name => $val) $this->setVal('--' . $name, $val);
return $this;
}
return $this->setVal('--' . $nameOrMap, $value);
}
/**
* Magic static method for style property value.
*
@@ -108,6 +118,10 @@ class style extends \zin\utils\dataset implements iDirective
{
$value .= 'px';
}
elseif(is_string($value) && str_starts_with($value, '--'))
{
$value = 'var(' . $value . ')';
}
return is_string($value) ? $value : (string)$value;
}