Get hover colours added
This commit is contained in:
@@ -81,18 +81,18 @@ final class IconExtension extends AbstractExtension
|
||||
|
||||
$mainPallete = $this->getPallete($options['colour']);
|
||||
|
||||
$xml = new \SimpleXMLElement($cleanSvgMarkup);
|
||||
$xml = $this->addAttributeToXmlElement($xml, 'class', $mainPallete['stroke'] . ' ' . $mainPallete['fill']);
|
||||
$cleanSvgMarkup = $this->removeXMLDeclaration($xml->saveXML());
|
||||
|
||||
$colourClasses = "{$mainPallete['stroke']} {$mainPallete['fill']}";
|
||||
|
||||
if (null !== $options['hover']) {
|
||||
$hoverPallete = $this->getPallete($options['hover']);
|
||||
$xml = new \SimpleXMLElement($cleanSvgMarkup);
|
||||
$xml = $this->addAttributeToXmlElement($xml, 'class', 'hover:' . $hoverPallete['stroke'] . ' ' . 'hover:' . $hoverPallete['fill']);
|
||||
$cleanSvgMarkup = $this->removeXMLDeclaration($xml->saveXML());
|
||||
$colourClasses .= " hover:{$hoverPallete['stroke']} hover:{$hoverPallete['fill']}";
|
||||
}
|
||||
|
||||
$markup = $cleanSvgMarkup;
|
||||
$xml = new \SimpleXMLElement($cleanSvgMarkup);
|
||||
$xml = $this->addAttributeToXmlElement($xml, 'class', $colourClasses);
|
||||
$markup = $this->removeXMLDeclaration($xml->saveXML());
|
||||
|
||||
if ($this->isNonEmptyString($options['title']))
|
||||
$markup = $this->addTitleToMarkup($markup, $options['title']);
|
||||
|
||||
|
||||
@@ -253,5 +253,14 @@ class IconExtensionTest extends TestCase
|
||||
$this->assertMatchesRegularExpression('/<svg.+class=".*hover:stroke-white.*".*>/', $contents);
|
||||
}
|
||||
|
||||
public function testSvgClassContainsHoverAndColourPalleteClasses(): void
|
||||
{
|
||||
$contents = $this->icon->renderIcon(['icon' => self::ICON, 'hover' => 'white', 'colour' => 'primary']);
|
||||
$this->assertMatchesRegularExpression('/<svg.+class=".*fill-primary.*".*>/', $contents);
|
||||
$this->assertMatchesRegularExpression('/<svg.+class=".*stroke-primary.*".*>/', $contents);
|
||||
$this->assertMatchesRegularExpression('/<svg.+class=".*hover:fill-white.*".*>/', $contents);
|
||||
$this->assertMatchesRegularExpression('/<svg.+class=".*hover:stroke-white.*".*>/', $contents);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user