Skip to content

Commit

Permalink
Set browser targets for iOS Safari, Firefox, and Chrome (#15166)
Browse files Browse the repository at this point in the history
Closes #15160

We need to set browser targets for each browser individually to see
vendor prefixes created for each browser.

Exact values are up for discussion, this first pass is taken from
@adamwathan's comments in
#15160

---------

Co-authored-by: Adam Wathan <adam.wathan@gmail.com>
  • Loading branch information
philipp-spiess and adamwathan authored Nov 26, 2024
1 parent 8217b5c commit cb518f4
Show file tree
Hide file tree
Showing 8 changed files with 57 additions and 15 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

### Fixed

- Ensure any necessary vendor prefixes are generated for iOS Safari, Firefox, and Chrome ([#15166](https://github.com/tailwindlabs/tailwindcss/pull/15166))
- Ensure `.group` and `.peer` are prefixed when using the `prefix(…)` option ([#15174](https://github.com/tailwindlabs/tailwindcss/pull/15174))
- Ensure 3D transforms render correctly in Safari ([#15179](https://github.com/tailwindlabs/tailwindcss/pull/15179))

Expand Down
3 changes: 3 additions & 0 deletions packages/@tailwindcss-cli/src/commands/build/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -437,6 +437,9 @@ function optimizeCss(
exclude: Features.LogicalProperties,
targets: {
safari: (16 << 16) | (4 << 8),
ios_saf: (16 << 16) | (4 << 8),
firefox: 128 << 16,
chrome: 120 << 16,
},
errorRecovery: true,
}).code
Expand Down
3 changes: 3 additions & 0 deletions packages/@tailwindcss-postcss/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -241,6 +241,9 @@ function optimizeCss(
exclude: Features.LogicalProperties,
targets: {
safari: (16 << 16) | (4 << 8),
ios_saf: (16 << 16) | (4 << 8),
firefox: 128 << 16,
chrome: 120 << 16,
},
errorRecovery: true,
}).code
Expand Down
3 changes: 3 additions & 0 deletions packages/@tailwindcss-vite/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -342,6 +342,9 @@ function optimizeCss(
exclude: Features.LogicalProperties,
targets: {
safari: (16 << 16) | (4 << 8),
ios_saf: (16 << 16) | (4 << 8),
firefox: 128 << 16,
chrome: 120 << 16,
},
errorRecovery: true,
}).code
Expand Down
17 changes: 17 additions & 0 deletions packages/tailwindcss/src/index.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -151,6 +151,23 @@ describe('compiling CSS', () => {
}"
`)
})

test('adds vendor prefixes', async () => {
expect(
await compileCss(
css`
@tailwind utilities;
`,
['[text-size-adjust:none]'],
),
).toMatchInlineSnapshot(`
".\\[text-size-adjust\\:none\\] {
-webkit-text-size-adjust: none;
-moz-text-size-adjust: none;
text-size-adjust: none;
}"
`)
})
})

describe('arbitrary properties', () => {
Expand Down
3 changes: 3 additions & 0 deletions packages/tailwindcss/src/test-utils/run.ts
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,9 @@ export function optimizeCss(
exclude: Features.LogicalProperties,
targets: {
safari: (16 << 16) | (4 << 8),
ios_saf: (16 << 16) | (4 << 8),
firefox: 128 << 16,
chrome: 120 << 16,
},
errorRecovery: true,
}).code
Expand Down
26 changes: 13 additions & 13 deletions packages/tailwindcss/src/utilities.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11803,22 +11803,22 @@ test('box-decoration', async () => {
test('bg-clip', async () => {
expect(await run(['bg-clip-border', 'bg-clip-padding', 'bg-clip-content', 'bg-clip-text']))
.toMatchInlineSnapshot(`
".bg-clip-border {
background-clip: border-box;
}
".bg-clip-border {
background-clip: border-box;
}
.bg-clip-content {
background-clip: content-box;
}
.bg-clip-content {
background-clip: content-box;
}
.bg-clip-padding {
background-clip: padding-box;
}
.bg-clip-padding {
background-clip: padding-box;
}
.bg-clip-text {
background-clip: text;
}"
`)
.bg-clip-text {
background-clip: text;
}"
`)
expect(
await run([
'bg-clip',
Expand Down
16 changes: 14 additions & 2 deletions packages/tailwindcss/src/variants.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,11 @@ test('marker', async () => {

test('selection', async () => {
expect(await run(['selection:flex'])).toMatchInlineSnapshot(`
".selection\\:flex ::selection, .selection\\:flex::selection {
".selection\\:flex ::selection {
display: flex;
}
.selection\\:flex::selection {
display: flex;
}"
`)
Expand Down Expand Up @@ -2161,7 +2165,15 @@ test('variant order', async () => {
}
}
.first-letter\\:flex:first-letter, .first-line\\:flex:first-line, .marker\\:flex ::marker, .marker\\:flex::marker, .selection\\:flex ::selection, .selection\\:flex::selection {
.first-letter\\:flex:first-letter, .first-line\\:flex:first-line, .marker\\:flex ::marker, .marker\\:flex::marker {
display: flex;
}
.selection\\:flex ::selection {
display: flex;
}
.selection\\:flex::selection {
display: flex;
}
Expand Down

0 comments on commit cb518f4

Please sign in to comment.