Skip to content

Conversation

RobinMalfait
Copy link
Member

This PR fixes a regression we shipped in v4.1.9, when using arbitrary values and injecting spaces around operator.

When you use w-[calc(100%-var(--foo))], you expect that this generates valid CSS:

width: calc(100% - var(--foo));

But due to a regression, we generated:

width: calc(100%-var(--foo));

Which is invalid CSS.

This is because the algorithm we used to know when we had to inject a space around the - didn't take the % sign into account.

We also didn't handle uppercase units like 123PX properly. This PR fixes both issues.

Test plan

  1. Added a regression test for the %
  2. Added a regression test for uppercase units like 123PX

Fixes: #18288

@RobinMalfait RobinMalfait requested a review from a team as a code owner June 11, 2025 20:12
@RobinMalfait RobinMalfait enabled auto-merge (squash) June 11, 2025 20:15
@RobinMalfait RobinMalfait merged commit ddb0bef into main Jun 11, 2025
7 checks passed
@RobinMalfait RobinMalfait deleted the fix/issue-18288 branch June 11, 2025 20:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

calc() in arbitrary class name missing spaces around -
2 participants