summaryrefslogtreecommitdiffstats
path: root/vendor/gipfl/web/src/HtmlHelper.php
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/gipfl/web/src/HtmlHelper.php')
-rw-r--r--vendor/gipfl/web/src/HtmlHelper.php29
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;
+ }
+}