Hwaro::Assets::Sass::Extend
Instance methods
nil when selector does not contain target as a complete
simple selector; otherwise every extension of selector by
extenders (possibly empty when no extender unifies — the
target still counts as found).
Each result pairs the added selector with the index of the
extender that produced it (-1 for a pseudo-argument extension,
which rewrites the extended selector itself) so the caller can
carry the extender's line-break flag.
Parses a complex selector into compounds and combinators; nil when the text is too exotic to model (unbalanced quotes/spans).
True when the selector references a %placeholder outside
quotes and attribute brackets — such selectors never reach the
output (dart-sass emits nothing for un-extended placeholders).
Removes placeholder selectors from every rule (recursively, skipping @keyframes bodies) and drops rules with none left.
Merges the extender's final compound with what remains of the
extended compound: element selector first, then the other simple
selectors, pseudo-classes/-elements last. nil when the two need
different element selectors (div vs span can't both match).