From ab9c3df15f7663fea9690b37e1bdc87fe5f7ffcf Mon Sep 17 00:00:00 2001 From: Luke Warlow Date: Fri, 6 Dec 2024 11:26:43 +0000 Subject: [PATCH] Add `details-content` variant This matches the new `::details-content` pseudo element. --- CHANGELOG.md | 4 +++- .../src/__snapshots__/intellisense.test.ts.snap | 7 +++++++ packages/tailwindcss/src/variants.test.ts | 14 ++++++++++++++ packages/tailwindcss/src/variants.ts | 1 + 4 files changed, 25 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2cf05bf19e3e..d5fdb0ccdc58 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,7 +7,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] -- Nothing yet +### Added + +- Target `::details-content` in new `details-content` variant ([#15319](https://github.com/tailwindlabs/tailwindcss/pull/15319)) ## [4.0.0] - 2025-01-21 ## [4.0.0-beta.10] - 2025-01-21 diff --git a/packages/tailwindcss/src/__snapshots__/intellisense.test.ts.snap b/packages/tailwindcss/src/__snapshots__/intellisense.test.ts.snap index 3f95c9fafcb1..ef5cb67652c9 100644 --- a/packages/tailwindcss/src/__snapshots__/intellisense.test.ts.snap +++ b/packages/tailwindcss/src/__snapshots__/intellisense.test.ts.snap @@ -7749,6 +7749,13 @@ exports[`getVariants 1`] = ` "selectors": [Function], "values": [], }, + { + "hasDash": true, + "isArbitrary": false, + "name": "details-content", + "selectors": [Function], + "values": [], + }, { "hasDash": true, "isArbitrary": false, diff --git a/packages/tailwindcss/src/variants.test.ts b/packages/tailwindcss/src/variants.test.ts index e70970a92bed..18bd84f5eadc 100644 --- a/packages/tailwindcss/src/variants.test.ts +++ b/packages/tailwindcss/src/variants.test.ts @@ -104,6 +104,15 @@ test('backdrop', async () => { expect(await run(['backdrop/foo:flex'])).toEqual('') }) +test('details-content', async () => { + expect(await run(['details-content:flex'])).toMatchInlineSnapshot(` + ".details-content\\:flex::details-content { + display: flex; + }" + `) + expect(await run(['details-content/foo:flex'])).toEqual('') +}) + test('before', async () => { expect(await run(['before:flex'])).toMatchInlineSnapshot(` ".before\\:flex:before { @@ -2115,6 +2124,7 @@ test('variant order', async () => { 'data-custom:flex', 'data-[custom=true]:flex', 'default:flex', + 'details-content:flex', 'disabled:flex', 'empty:flex', 'enabled:flex', @@ -2209,6 +2219,10 @@ test('variant order', async () => { display: flex; } + .details-content\\:flex::details-content { + display: flex; + } + .before\\:flex:before, .after\\:flex:after { content: var(--tw-content); display: flex; diff --git a/packages/tailwindcss/src/variants.ts b/packages/tailwindcss/src/variants.ts index d7a1ab5b1390..8731a263a53b 100644 --- a/packages/tailwindcss/src/variants.ts +++ b/packages/tailwindcss/src/variants.ts @@ -628,6 +628,7 @@ export function createVariants(theme: Theme): Variants { staticVariant('file', ['&::file-selector-button']) staticVariant('placeholder', ['&::placeholder']) staticVariant('backdrop', ['&::backdrop']) + staticVariant('details-content', ['&::details-content']) { function contentProperties() {