Skip to content

Commit de5abe1

Browse files
committed
[TASK] Have Selector\Component extend Renderable
This will allow the `render()` method to be called on `Selector\Component` objects without knowing their specific type. Part of #1325.
1 parent 9dd05ed commit de5abe1

File tree

3 files changed

+5
-5
lines changed

3 files changed

+5
-5
lines changed

src/Property/Selector/Combinator.php

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,14 @@
88
use Sabberworm\CSS\OutputFormat;
99
use Sabberworm\CSS\Parsing\ParserState;
1010
use Sabberworm\CSS\Parsing\UnexpectedTokenException;
11-
use Sabberworm\CSS\Renderable;
1211
use Sabberworm\CSS\ShortClassNameProvider;
1312

1413
/**
1514
* Class representing a CSS selector combinator (space, `>`, `+`, or `~`).
1615
*
1716
* @phpstan-type ValidCombinatorValue ' '|'>'|'+'|'~'
1817
*/
19-
class Combinator implements Component, Renderable
18+
class Combinator implements Component
2019
{
2120
use ShortClassNameProvider;
2221

src/Property/Selector/Component.php

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44

55
namespace Sabberworm\CSS\Property\Selector;
66

7+
use Sabberworm\CSS\Renderable;
8+
79
/**
810
* This interface is for a class that represents a part of a selector which is either a compound selector (or a simple
911
* selector, which is effectively a compound selector without any compounding) or a selector combinator.
@@ -20,7 +22,7 @@
2022
* @see https://developer.mozilla.org/en-US/docs/Web/CSS/Guides/Selectors/Selector_structure
2123
* @see https://www.w3.org/TR/selectors-4/#structure
2224
*/
23-
interface Component
25+
interface Component extends Renderable
2426
{
2527
/**
2628
* @return non-empty-string

src/Property/Selector/CompoundSelector.php

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
use Sabberworm\CSS\OutputFormat;
99
use Sabberworm\CSS\Parsing\ParserState;
1010
use Sabberworm\CSS\Parsing\UnexpectedTokenException;
11-
use Sabberworm\CSS\Renderable;
1211
use Sabberworm\CSS\ShortClassNameProvider;
1312

1413
use function Safe\preg_match;
@@ -17,7 +16,7 @@
1716
* Class representing a CSS compound selector.
1817
* Selectors have to be split at combinators (space, `>`, `+`, `~`) before being passed to this class.
1918
*/
20-
class CompoundSelector implements Renderable, Component
19+
class CompoundSelector implements Component
2120
{
2221
use ShortClassNameProvider;
2322

0 commit comments

Comments
 (0)