Introduce CVA to html-extra

This commit is contained in:
Matheo Daninos
2024-03-09 17:07:31 +01:00
committed by Fabien Potencier
parent 21df1ad782
commit e3ac14e1c8
7 changed files with 1055 additions and 0 deletions
+14
View File
@@ -37,6 +37,7 @@ final class HtmlExtension extends AbstractExtension
{
return [
new TwigFunction('html_classes', [self::class, 'htmlClasses']),
new TwigFunction('html_cva', [self::class, 'htmlCva']),
];
}
@@ -110,4 +111,17 @@ final class HtmlExtension extends AbstractExtension
return implode(' ', array_unique(array_filter($classes, static function ($v) { return '' !== $v; })));
}
/**
* @param string|list<string|null> $base
* @param array<string, array<string, string|array<string>> $variants
* @param array<array<string, string|array<string>>> $compoundVariants
* @param array<string, string> $defaultVariant
*
* @internal
*/
public static function htmlCva(array|string $base = [], array $variants = [], array $compoundVariants = [], array $defaultVariant = []): Cva
{
return new Cva($base, $variants, $compoundVariants, $defaultVariant);
}
}