Properly handle deeply nested at-rules inside of @responsive
#648
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
#642 pointed out a bug in our
@responsivehandling that didn't account for child rules being at-rules.That PR fixed the case of nested at-rules being a single level deep which was better than what we were doing, but there was still a bug if at-rules were nested deeper than one level.
This PR solves that issue and simplifies the code path dramatically by using a PostCSS root instance to hold all of the responsive rules, and manipulates all of the selectors using
walkRulesto recursively alter every rule instead of trying to determine the depth ourselves and handling regular rules differently than at-rules.