diff --git a/packages/tailwindcss/src/__snapshots__/intellisense.test.ts.snap b/packages/tailwindcss/src/__snapshots__/intellisense.test.ts.snap index a58af944537d..9a5fc32b1de6 100644 --- a/packages/tailwindcss/src/__snapshots__/intellisense.test.ts.snap +++ b/packages/tailwindcss/src/__snapshots__/intellisense.test.ts.snap @@ -12355,6 +12355,12 @@ exports[`getVariants 1`] = ` "any-pointer-none", "any-pointer-coarse", "any-pointer-fine", + "standalone", + "minimal-ui", + "browser", + "fullscreen", + "picture-in-picture", + "window-controls-overlay", "noscript", ], }, @@ -13133,6 +13139,48 @@ exports[`getVariants 1`] = ` "selectors": [Function], "values": [], }, + { + "hasDash": true, + "isArbitrary": false, + "name": "standalone", + "selectors": [Function], + "values": [], + }, + { + "hasDash": true, + "isArbitrary": false, + "name": "minimal-ui", + "selectors": [Function], + "values": [], + }, + { + "hasDash": true, + "isArbitrary": false, + "name": "browser", + "selectors": [Function], + "values": [], + }, + { + "hasDash": true, + "isArbitrary": false, + "name": "fullscreen", + "selectors": [Function], + "values": [], + }, + { + "hasDash": true, + "isArbitrary": false, + "name": "picture-in-picture", + "selectors": [Function], + "values": [], + }, + { + "hasDash": true, + "isArbitrary": false, + "name": "window-controls-overlay", + "selectors": [Function], + "values": [], + }, { "hasDash": true, "isArbitrary": false, diff --git a/packages/tailwindcss/src/variants.test.ts b/packages/tailwindcss/src/variants.test.ts index 305859d5b443..2908a0e8fa6d 100644 --- a/packages/tailwindcss/src/variants.test.ts +++ b/packages/tailwindcss/src/variants.test.ts @@ -2249,6 +2249,78 @@ test('any-pointer-fine', async () => { `) }) +test('standalone', async () => { + expect(await run(['standalone:flex'])).toMatchInlineSnapshot(` + " + @media (display-mode: standalone) { + .standalone\\:flex { + display: flex; + } + } + " + `) +}) + +test('minimal-ui', async () => { + expect(await run(['minimal-ui:flex'])).toMatchInlineSnapshot(` + " + @media (display-mode: minimal-ui) { + .minimal-ui\\:flex { + display: flex; + } + } + " + `) +}) + +test('browser', async () => { + expect(await run(['browser:flex'])).toMatchInlineSnapshot(` + " + @media (display-mode: browser) { + .browser\\:flex { + display: flex; + } + } + " + `) +}) + +test('fullscreen', async () => { + expect(await run(['fullscreen:flex'])).toMatchInlineSnapshot(` + " + @media (display-mode: fullscreen) { + .fullscreen\\:flex { + display: flex; + } + } + " + `) +}) + +test('picture-in-picture', async () => { + expect(await run(['picture-in-picture:flex'])).toMatchInlineSnapshot(` + " + @media (display-mode: picture-in-picture) { + .picture-in-picture\\:flex { + display: flex; + } + } + " + `) +}) + +test('window-controls-overlay', async () => { + expect(await run(['window-controls-overlay:flex'])).toMatchInlineSnapshot(` + " + @media (display-mode: window-controls-overlay) { + .window-controls-overlay\\:flex { + display: flex; + } + } + " + `) +}) + test('scripting-none', async () => { expect(await run(['noscript:flex'])).toMatchInlineSnapshot(` " diff --git a/packages/tailwindcss/src/variants.ts b/packages/tailwindcss/src/variants.ts index 4d4637d8f55d..4df497d0bf63 100644 --- a/packages/tailwindcss/src/variants.ts +++ b/packages/tailwindcss/src/variants.ts @@ -1206,6 +1206,13 @@ export function createVariants(theme: Theme): Variants { staticVariant('any-pointer-coarse', ['@media (any-pointer: coarse)']) staticVariant('any-pointer-fine', ['@media (any-pointer: fine)']) + staticVariant('standalone', ['@media (display-mode: standalone)']) + staticVariant('minimal-ui', ['@media (display-mode: minimal-ui)']) + staticVariant('browser', ['@media (display-mode: browser)']) + staticVariant('fullscreen', ['@media (display-mode: fullscreen)']) + staticVariant('picture-in-picture', ['@media (display-mode: picture-in-picture)']) + staticVariant('window-controls-overlay', ['@media (display-mode: window-controls-overlay)']) + staticVariant('noscript', ['@media (scripting: none)']) return variants