No description
This PR fixes a printing bug during canonicalization where it converts: ``` [&:has(~_*_*:checked)]:text-green-500 ``` into: ``` [&:has(~**:checked)]:text-green-500 ``` This is because the `_` was marked as insignificant and therefore removed. This PR fixes that and maintains the whitespace (`_`) characters when needed. Additionally, in the comments of the linked issue somebody mentioned that: ``` w-[calc(100%_-_--spacing(60))] ``` was turned into: ``` w-[calc(100%---spacing(60))] ``` ...and while that's still correct and parseable, it's not the prettiest. This PR will still get rid of the whitespace, but introduce wrapping parens `(…)` instead, in case readability is not ideal. In this case, we will turn it into: ```diff - w-[calc(100%_-_--spacing(60))] - w-[calc(100%---spacing(60))] + w-[calc(100%-(--spacing(60)))] ``` Of course there are some cases where we don't need to introduce `(…)` unnecessarily: - `shadow-[inset_0px_1px_--theme(--color-white/15%)]` would not be turned into `shadow-[inset_0px_1px_(--theme(--color-white/15%))]` because no readability is gained when it's part of a normal space separated list - `m-[--spacing(12.34)]` would not be turned into `m-[(--spacing(12.34))]` because there is nothing else it can conflict with - `m-[calc(--spacing(12.34)*2)]` would not be turned into `m-[calc((--spacing(12.34))*2)]` because it's the first argument and doesn't conflict with the `*` - `m-[min(100%,--spacing(12.34))]` would not be turned into `m-[min(100%,(--spacing(12.34)))]` because a `,` doesn't cause readability issues Fixes: https://github.com/tailwindlabs/tailwindcss-intellisense/issues/1544 ## Test plan 1. Added new tests to ensure the bug is fixed 2. Added new tests to ensure readability is improved (and not degraged) when whitespace was used to improve readability |
||
|---|---|---|
| .github | ||
| crates | ||
| integrations | ||
| packages | ||
| patches | ||
| playgrounds | ||
| scripts | ||
| .gitignore | ||
| .prettierignore | ||
| Cargo.lock | ||
| Cargo.toml | ||
| CHANGELOG.md | ||
| LICENSE | ||
| package.json | ||
| pnpm-lock.yaml | ||
| pnpm-workspace.yaml | ||
| README.md | ||
| rust-toolchain.toml | ||
| turbo.json | ||
| vitest.config.ts | ||
A utility-first CSS framework for rapidly building custom user interfaces.
Documentation
For full documentation, visit tailwindcss.com.
Community
For help, discussion about best practices, or feature ideas:
Discuss Tailwind CSS on GitHub
Contributing
If you're interested in contributing to Tailwind CSS, please read our contributing docs before submitting a pull request.