Support forcing coercion type with arbitrary value syntax #4263
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.
Resolves #4096.
This PR makes it possible to force the type of a coerced arbitrary value in order to get around collisions between utilities when using arbitrary values with JIT.
For example, in this example, it's impossible to know if this is a font-size utility or a color utility:
To make it possible for this to work, you can now prefix the arbitrary value with
{type}:
to provide a hint to the compiler about what the resulting value is going to be so it is passed to the correct plugin:The valid values match the types supported by
matchUtilities
:length
color
angle
list
...which generally correspond to the official CSS data type names. We will probably keep refining this but I think it's a good start. May also alias
length
tosize
sincelength
is unintuitive for things like font-size, although it is the correct term.