From dd430ec1ccd7a9e8032954e95acc9dcdb767db9a Mon Sep 17 00:00:00 2001 From: Luke Warlow Date: Wed, 17 Apr 2024 22:59:32 +0200 Subject: [PATCH 1/2] add `inverted-colors` variant --- .../src/__snapshots__/intellisense.test.ts.snap | 8 ++++++++ packages/tailwindcss/src/variants.test.ts | 10 ++++++++++ packages/tailwindcss/src/variants.ts | 2 ++ 3 files changed, 20 insertions(+) diff --git a/packages/tailwindcss/src/__snapshots__/intellisense.test.ts.snap b/packages/tailwindcss/src/__snapshots__/intellisense.test.ts.snap index 2f55ec4159be..bd2b3dad964d 100644 --- a/packages/tailwindcss/src/__snapshots__/intellisense.test.ts.snap +++ b/packages/tailwindcss/src/__snapshots__/intellisense.test.ts.snap @@ -8448,6 +8448,7 @@ exports[`getVariants 1`] = ` "dark", "print", "forced-colors", + "inverted-colors", ], }, { @@ -9169,5 +9170,12 @@ exports[`getVariants 1`] = ` "selectors": [Function], "values": [], }, + { + "hasDash": true, + "isArbitrary": false, + "name": "inverted-colors", + "selectors": [Function], + "values": [], + }, ] `; diff --git a/packages/tailwindcss/src/variants.test.ts b/packages/tailwindcss/src/variants.test.ts index e215835aa101..afde353945f5 100644 --- a/packages/tailwindcss/src/variants.test.ts +++ b/packages/tailwindcss/src/variants.test.ts @@ -1907,6 +1907,16 @@ test('forced-colors', async () => { expect(await run(['forced-colors/foo:flex'])).toEqual('') }) +test('inverted-colors', async () => { + expect(await run(['inverted-colors:flex'])).toMatchInlineSnapshot(` + "@media (inverted-colors: inverted) { + .inverted-colors\\:flex { + display: flex; + } + }" + `) +}) + test('nth', async () => { expect( await run([ diff --git a/packages/tailwindcss/src/variants.ts b/packages/tailwindcss/src/variants.ts index ea1de7c8acb6..fd0d086771b4 100644 --- a/packages/tailwindcss/src/variants.ts +++ b/packages/tailwindcss/src/variants.ts @@ -1143,6 +1143,8 @@ export function createVariants(theme: Theme): Variants { staticVariant('forced-colors', ['@media (forced-colors: active)']) + staticVariant('inverted-colors', ['@media (inverted-colors: inverted)']) + return variants } From a10213cd85f1e6207053ed2bb141f0804840ac8c Mon Sep 17 00:00:00 2001 From: Philipp Spiess Date: Fri, 21 Feb 2025 17:56:44 +0100 Subject: [PATCH 2/2] Add feature flag and change log --- CHANGELOG.md | 1 + packages/tailwindcss/src/feature-flags.ts | 1 + packages/tailwindcss/src/variants.ts | 6 ++++-- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 675df7dd31ec..b75932023c29 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added +- _Experimental_: Add `inverted-colors` variant ([#11693](https://github.com/tailwindlabs/tailwindcss/pull/11693)) - _Experimental_: Add `user-valid` and `user-invalid` variants ([#12370](https://github.com/tailwindlabs/tailwindcss/pull/12370)) - _Experimental_: Add `wrap-anywhere`, `wrap-break-word`, and `wrap-normal` utilities ([#12128](https://github.com/tailwindlabs/tailwindcss/pull/12128)) diff --git a/packages/tailwindcss/src/feature-flags.ts b/packages/tailwindcss/src/feature-flags.ts index 7a407b534f65..c84536abc644 100644 --- a/packages/tailwindcss/src/feature-flags.ts +++ b/packages/tailwindcss/src/feature-flags.ts @@ -1,2 +1,3 @@ +export const enableInvertedColors = process.env.FEATURES_ENV !== 'stable' export const enableUserValid = process.env.FEATURES_ENV !== 'stable' export const enableWrapAnywhere = process.env.FEATURES_ENV !== 'stable' diff --git a/packages/tailwindcss/src/variants.ts b/packages/tailwindcss/src/variants.ts index fd0d086771b4..a79eebe5f10c 100644 --- a/packages/tailwindcss/src/variants.ts +++ b/packages/tailwindcss/src/variants.ts @@ -12,7 +12,7 @@ import { type StyleRule, } from './ast' import { type Variant } from './candidate' -import { enableUserValid } from './feature-flags' +import { enableInvertedColors, enableUserValid } from './feature-flags' import type { Theme } from './theme' import { compareBreakpoints } from './utils/compare-breakpoints' import { DefaultMap } from './utils/default-map' @@ -1143,7 +1143,9 @@ export function createVariants(theme: Theme): Variants { staticVariant('forced-colors', ['@media (forced-colors: active)']) - staticVariant('inverted-colors', ['@media (inverted-colors: inverted)']) + if (enableInvertedColors) { + staticVariant('inverted-colors', ['@media (inverted-colors: inverted)']) + } return variants }