From 4f0bb0b73ad7fb82e626ca7c2ddced0d0f0edc7c Mon Sep 17 00:00:00 2001 From: Emilia Date: Tue, 8 Aug 2023 06:26:30 -0400 Subject: [PATCH] feat(preflight): simplify sans-serif font stack (#11748) * feat(preflight): simplify sans-serif font stack `-apple-system` and `BlinkMacSystemFont` were historically needed for IE11 and chakra-based Edge (The one that wasn't chromium-based). https://caniuse.com/font-family-system-ui has more details around it. * further simplify `font-family` * update tests * update changelog --------- Co-authored-by: Robin Malfait --- CHANGELOG.md | 1 + src/css/preflight.css | 2 +- stubs/config.full.js | 7 ------- tests/kitchen-sink.test.js | 3 +-- tests/plugins/__snapshots__/preflight.test.js.snap | 4 ++-- tests/plugins/fontFamily.test.js | 3 +-- tests/raw-content.test.css | 5 ++--- tests/resolveConfig.test.js | 4 ++-- tests/source-maps.test.js | 2 +- 9 files changed, 11 insertions(+), 20 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 52be58929..ad6bd0e82 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -45,6 +45,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Reset padding for `` elements in preflight ([#11069](https://github.com/tailwindlabs/tailwindcss/pull/11069)) - Deprecate `--no-autoprefixer` flag in the CLI ([#11280](https://github.com/tailwindlabs/tailwindcss/pull/11280)) - Make the Rust based parser the default ([#11394](https://github.com/tailwindlabs/tailwindcss/pull/11394)) +- Simplify the `sans` font-family stack ([#11748](https://github.com/tailwindlabs/tailwindcss/pull/11748)) ## [3.3.2] - 2023-04-25 diff --git a/src/css/preflight.css b/src/css/preflight.css index 4935b607b..451f00547 100644 --- a/src/css/preflight.css +++ b/src/css/preflight.css @@ -31,7 +31,7 @@ html { -webkit-text-size-adjust: 100%; /* 2 */ -moz-tab-size: 4; /* 3 */ tab-size: 4; /* 3 */ - font-family: theme('fontFamily.sans', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"); /* 4 */ + font-family: theme('fontFamily.sans', ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"); /* 4 */ font-feature-settings: theme('fontFamily.sans[1].fontFeatureSettings', normal); /* 5 */ font-variation-settings: theme('fontFamily.sans[1].fontVariationSettings', normal); /* 6 */ } diff --git a/stubs/config.full.js b/stubs/config.full.js index bda7d03ba..bdc73f705 100644 --- a/stubs/config.full.js +++ b/stubs/config.full.js @@ -303,13 +303,6 @@ module.exports = { sans: [ 'ui-sans-serif', 'system-ui', - '-apple-system', - 'BlinkMacSystemFont', - '"Segoe UI"', - 'Roboto', - '"Helvetica Neue"', - 'Arial', - '"Noto Sans"', 'sans-serif', '"Apple Color Emoji"', '"Segoe UI Emoji"', diff --git a/tests/kitchen-sink.test.js b/tests/kitchen-sink.test.js index 73ca80fd2..c91365732 100644 --- a/tests/kitchen-sink.test.js +++ b/tests/kitchen-sink.test.js @@ -239,8 +239,7 @@ test('it works', () => { expect(result.css).toMatchFormattedCss(css` .theme-test { color: #3b82f6; - font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, - Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, + font-family: ui-sans-serif, system-ui, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji; } @media (min-width: 1024px) { diff --git a/tests/plugins/__snapshots__/preflight.test.js.snap b/tests/plugins/__snapshots__/preflight.test.js.snap index 1cc99bb49..453839a46 100644 --- a/tests/plugins/__snapshots__/preflight.test.js.snap +++ b/tests/plugins/__snapshots__/preflight.test.js.snap @@ -16,7 +16,7 @@ html { tab-size: 4; font-feature-settings: normal; font-variation-settings: normal; - font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji; + font-family: ui-sans-serif, system-ui, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji; line-height: 1.5; } @@ -209,7 +209,7 @@ html { tab-size: 4; font-feature-settings: normal; font-variation-settings: normal; - font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji; + font-family: ui-sans-serif, system-ui, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji; line-height: 1.5; } diff --git a/tests/plugins/fontFamily.test.js b/tests/plugins/fontFamily.test.js index ad43dc2e5..51091815e 100644 --- a/tests/plugins/fontFamily.test.js +++ b/tests/plugins/fontFamily.test.js @@ -6,8 +6,7 @@ quickPluginTest('fontFamily').toMatchFormattedCss(css` monospace; } .font-sans { - font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, - Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, + font-family: ui-sans-serif, system-ui, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji; } .font-serif { diff --git a/tests/raw-content.test.css b/tests/raw-content.test.css index cc43ad4c4..3038e8a34 100644 --- a/tests/raw-content.test.css +++ b/tests/raw-content.test.css @@ -526,9 +526,8 @@ vertical-align: middle; } .font-sans { - font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, - Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, - Noto Color Emoji; + font-family: ui-sans-serif, system-ui, sans-serif, Apple Color Emoji, Segoe UI Emoji, + Segoe UI Symbol, Noto Color Emoji; } .text-2xl { font-size: 1.5rem; diff --git a/tests/resolveConfig.test.js b/tests/resolveConfig.test.js index 954c40659..e08698632 100644 --- a/tests/resolveConfig.test.js +++ b/tests/resolveConfig.test.js @@ -148,7 +148,7 @@ test('theme key is merged instead of replaced', () => { 'grey-lighter': '#f1f5f8', }, fonts: { - sans: ['system-ui', 'BlinkMacSystemFont', '-apple-system', 'Roboto', 'sans-serif'], + sans: ['system-ui', 'Roboto', 'sans-serif'], serif: ['Constantia', 'Lucida Bright', 'Georgia', 'serif'], }, screens: { @@ -174,7 +174,7 @@ test('theme key is merged instead of replaced', () => { 'grey-lighter': '#f1f5f8', }, fonts: { - sans: ['system-ui', 'BlinkMacSystemFont', '-apple-system', 'Roboto', 'sans-serif'], + sans: ['system-ui', 'Roboto', 'sans-serif'], serif: ['Constantia', 'Lucida Bright', 'Georgia', 'serif'], }, screens: { diff --git a/tests/source-maps.test.js b/tests/source-maps.test.js index bf7870db6..1233f2a46 100644 --- a/tests/source-maps.test.js +++ b/tests/source-maps.test.js @@ -98,7 +98,7 @@ test('preflight + base have source maps', async () => { "13:2-13 -> 13:2-13", "14:2-31 -> 14:2-31", "15:2-33 -> 15:2-33", - "16:2-208 -> 16:2-208", + "16:2-121 -> 16:2-121", "17:2-18 -> 17:2-18", "18:0 -> 18:0", "20:0 -> 20:0",