AbstractIconTwigExtension::adminBSBIcon()   A
last analyzed

Complexity

Conditions 2
Paths 2

Size

Total Lines 11

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 11
rs 9.9
c 0
b 0
f 0
cc 2
nc 2
nop 3
1
<?php
2
3
/*
4
 * This file is part of the adminbsb-material-design-bundle package.
5
 *
6
 * (c) 2018 WEBEWEB
7
 *
8
 * For the full copyright and license information, please view the LICENSE
9
 * file that was distributed with this source code.
10
 */
11
12
namespace WBW\Bundle\AdminBSBBundle\Twig\Extension\UI;
13
14
use WBW\Bundle\AdminBSBBundle\Twig\Extension\AbstractTwigExtension;
15
16
/**
17
 * Abstract icon Twig extension.
18
 *
19
 * @author webeweb <https://github.com/webeweb/>
20
 * @package WBW\Bundle\AdminBSBBundle\Twig\Extension\UI
21
 * @abstract
22
 */
23
abstract class AbstractIconTwigExtension extends AbstractTwigExtension {
24
25
    /**
26
     * Displays an AdminBSB icon.
27
     *
28
     * @param string|null $name The icon name.
29
     * @param string|null $style The icon style.
30
     * @param string|null $class The icon class.
31
     * @return string Returns the AdminBSB icon.
32
     */
33
    protected function adminBSBIcon(?string $name, ?string $style, string $class = null): string {
34
35
        $attributes = [];
36
37
        $attributes["class"] = ["material-icons", $class];
38
        $attributes["style"] = $style;
39
40
        $innerHTML = null !== $name ? $name : "home";
41
42
        return static::coreHTMLElement("i", $innerHTML, $attributes);
43
    }
44
}
45