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.
This PR adds support for the
matchVariant
plugin API. I've copied over all V3 tests and made sure they still pass.Sorted order of stacked arbitrary variants
The only difference in behavior is regarding the sort order of stacked arbitrary variants: Sorting in this case now works by the latest defined
matchVariant
taking precedence.So, if you define a plugin like this:
The resulting CSS is first sorted by the
testmax
values descending and then thetestmin
values ascending, so these candidates:Will resolve to the order outlined by the
order-
utility.At-rules and placeholders support
Since we added support for at-rules and placeholders in the
matchVariant
syntax like this:We also added support for the same syntax to the
addVariant
API:The only change necessary in core was to call functional variants for when the variant value is set to
null
. This allows functional variants to define the un-parameterized implementation likepotato:underline
as opposed topotato[big]:underline
.