diff options
Diffstat (limited to 'vendor/gipfl/web/src/HtmlHelper.php')
-rw-r--r-- | vendor/gipfl/web/src/HtmlHelper.php | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/vendor/gipfl/web/src/HtmlHelper.php b/vendor/gipfl/web/src/HtmlHelper.php new file mode 100644 index 0000000..19862f8 --- /dev/null +++ b/vendor/gipfl/web/src/HtmlHelper.php @@ -0,0 +1,29 @@ +<?php + +namespace gipfl\Web; + +use ipl\Html\Attributes; +use ipl\Html\BaseHtmlElement; + +abstract class HtmlHelper +{ + public static function elementHasClass(BaseHtmlElement $element, $class) + { + return static::classIsSet($element->getAttributes(), $class); + } + + public static function addClassOnce(Attributes $attributes, $class) + { + if (! HtmlHelper::classIsSet($attributes, $class)) { + $attributes->add('class', $class); + } + } + + public static function classIsSet(Attributes $attributes, $class) + { + $classes = $attributes->get('class'); + + return \is_array($classes) && in_array($class, $classes) + || \is_string($classes) && $classes === $class; + } +} |