Skip to content

Commit ba4cab7

Browse files
committed
handle @media with single argument (e.g.: @media print)
1 parent 5857fd0 commit ba4cab7

File tree

2 files changed

+19
-0
lines changed

2 files changed

+19
-0
lines changed

packages/@tailwindcss-upgrade/src/codemods/template/migrate-modernize-arbitrary-values.test.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,8 @@ test.each([
8484
['[@media(pointer:fine)]:flex', 'pointer-fine:flex'],
8585
['[@media_(pointer_:_fine)]:flex', 'pointer-fine:flex'],
8686
['[@media_not_(pointer_:_fine)]:flex', 'not-pointer-fine:flex'],
87+
['[@media_print]:flex', 'print:flex'],
88+
['[@media_not_print]:flex', 'not-print:flex'],
8789

8890
// Compound arbitrary variants
8991
['has-[[data-visible]]:flex', 'has-data-visible:flex'],

packages/@tailwindcss-upgrade/src/codemods/template/migrate-modernize-arbitrary-values.ts

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -185,6 +185,23 @@ export function migrateModernizeArbitraryValues(
185185
parsed.shift()
186186
}
187187

188+
// Single keyword at-rules.
189+
//
190+
// E.g.: `[@media_print]:` -< `@media print` -> `print:`
191+
if (parsed.length === 1 && parsed[0].kind === 'word') {
192+
let key = parsed[0].value
193+
let replacement: string | null = null
194+
if (key === 'print') replacement = 'print'
195+
196+
if (replacement) {
197+
changed = true
198+
memcpy(variant, designSystem.parseVariant(`${not ? 'not-' : ''}${replacement}`))
199+
}
200+
}
201+
202+
// Key/value at-rules.
203+
//
204+
// E.g.: `[@media(scripting:none)]:` -> `scripting:`
188205
if (
189206
parsed.length === 1 &&
190207
parsed[0].kind === 'function' && // `(` and `)` are considered a function

0 commit comments

Comments
 (0)