* [misc] add style::var helper to set css var.
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user