Skip to content

Fix missing space around - when using % regression #18289

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 5 commits into from
Jun 11, 2025
Merged

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