Don't register properties with types unless necessary #15215
Merged
+137
−134
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 updates many of our
@property
rules to usesyntax: "*"
instead of a specific type.Registering custom properties with types triggers all sorts of obscure edge-case bugs in different browsers (mostly Safari, sometimes Firefox), but using
"*"
always seems to work. So unless we know we actually need to animate a custom property, it's safer to register is as"*"
.Many of the places our custom properties are used are already inherently animatable (like the
translate
,scale
, andtransform
) even when the underlying properties are not typed, so removing types for things like--tw-scale-x
doesn't actually stop thescale-*
utilities from being animateable.I've also updated the
--tw-gradient-from/via/to-position
properties to use<length-percentage>
instead of<length> | <percentage>
because for some reason I don't understand, only<length-percentage>
works correctly when usingcalc(…)
in arbitrary values.Fixes #15188, #14277.