diff --git a/__tests__/fixtures/tailwind-output-flagged.css b/__tests__/fixtures/tailwind-output-flagged.css index 9711bf57398d..eed623f6fbc1 100644 --- a/__tests__/fixtures/tailwind-output-flagged.css +++ b/__tests__/fixtures/tailwind-output-flagged.css @@ -1,96 +1,100 @@ -/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */ +/*! modern-normalize v1.0.0 | MIT License | https://github.com/sindresorhus/modern-normalize */ -/* Document - ========================================================================== */ - -/** - * 1. Correct the line height in all browsers. - * 2. Prevent adjustments of font size after orientation changes in iOS. - */ - -html { - line-height: 1.15; /* 1 */ - -webkit-text-size-adjust: 100%; /* 2 */ -} - -/* Sections - ========================================================================== */ +/* +Document +======== +*/ /** - * Remove the margin in all browsers. - */ +Use a better box model (opinionated). +*/ -body { - margin: 0; +*, +*::before, +*::after { + box-sizing: border-box; } /** - * Render the `main` element consistently in IE. - */ +Use a more readable tab size (opinionated). +*/ -main { - display: block; +:root { + -moz-tab-size: 4; + tab-size: 4; } /** - * Correct the font size and margin on `h1` elements within `section` and - * `article` contexts in Chrome, Firefox, and Safari. - */ +1. Correct the line height in all browsers. +2. Prevent adjustments of font size after orientation changes in iOS. +*/ -h1 { - font-size: 2em; - margin: 0.67em 0; +html { + line-height: 1.15; /* 1 */ + -webkit-text-size-adjust: 100%; /* 2 */ } -/* Grouping content - ========================================================================== */ +/* +Sections +======== +*/ /** - * 1. Add the correct box sizing in Firefox. - * 2. Show the overflow in Edge and IE. - */ +Remove the margin in all browsers. +*/ -hr { - box-sizing: content-box; /* 1 */ - height: 0; /* 1 */ - overflow: visible; /* 2 */ +body { + margin: 0; } /** - * 1. Correct the inheritance and scaling of font size in all browsers. - * 2. Correct the odd `em` font sizing in all browsers. - */ +Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3) +*/ -pre { - font-family: monospace, monospace; /* 1 */ - font-size: 1em; /* 2 */ +body { + font-family: + system-ui, + -apple-system, /* Firefox supports this but not yet `system-ui` */ + 'Segoe UI', + Roboto, + Helvetica, + Arial, + sans-serif, + 'Apple Color Emoji', + 'Segoe UI Emoji'; } -/* Text-level semantics - ========================================================================== */ +/* +Grouping content +================ +*/ /** - * Remove the gray background on active links in IE 10. - */ +1. Add the correct height in Firefox. +2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655) +*/ -a { - background-color: transparent; +hr { + height: 0; /* 1 */ + color: inherit; /* 2 */ } +/* +Text-level semantics +==================== +*/ + /** - * 1. Remove the bottom border in Chrome 57- - * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. - */ +Add the correct text decoration in Chrome, Edge, and Safari. +*/ abbr[title] { - border-bottom: none; /* 1 */ - text-decoration: underline; /* 2 */ - text-decoration: underline dotted; /* 2 */ + text-decoration: underline dotted; } /** - * Add the correct font weight in Chrome, Edge, and Safari. - */ +Add the correct font weight in Edge and Safari. +*/ b, strong { @@ -98,29 +102,35 @@ strong { } /** - * 1. Correct the inheritance and scaling of font size in all browsers. - * 2. Correct the odd `em` font sizing in all browsers. - */ +1. Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3) +2. Correct the odd 'em' font sizing in all browsers. +*/ code, kbd, -samp { - font-family: monospace, monospace; /* 1 */ +samp, +pre { + font-family: + ui-monospace, + SFMono-Regular, + Consolas, + 'Liberation Mono', + Menlo, + monospace; /* 1 */ font-size: 1em; /* 2 */ } /** - * Add the correct font size in all browsers. - */ +Add the correct font size in all browsers. +*/ small { font-size: 80%; } /** - * Prevent `sub` and `sup` elements from affecting the line height in - * all browsers. - */ +Prevent 'sub' and 'sup' elements from affecting the line height in all browsers. +*/ sub, sup { @@ -138,24 +148,30 @@ sup { top: -0.5em; } -/* Embedded content - ========================================================================== */ +/* +Tabular data +============ +*/ /** - * Remove the border on images inside links in IE 10. - */ +1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297) +2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016) +*/ -img { - border-style: none; +table { + text-indent: 0; /* 1 */ + border-color: inherit; /* 2 */ } -/* Forms - ========================================================================== */ +/* +Forms +===== +*/ /** - * 1. Change the font styles in all browsers. - * 2. Remove the margin in Firefox and Safari. - */ +1. Change the font styles in all browsers. +2. Remove the margin in Firefox and Safari. +*/ button, input, @@ -169,19 +185,9 @@ textarea { } /** - * Show the overflow in IE. - * 1. Show the overflow in Edge. - */ - -button, -input { /* 1 */ - overflow: visible; -} - -/** - * Remove the inheritance of text transform in Edge, Firefox, and IE. - * 1. Remove the inheritance of text transform in Firefox. - */ +Remove the inheritance of text transform in Edge and Firefox. +1. Remove the inheritance of text transform in Firefox. +*/ button, select { /* 1 */ @@ -189,165 +195,108 @@ select { /* 1 */ } /** - * Correct the inability to style clickable types in iOS and Safari. - */ +Correct the inability to style clickable types in iOS and Safari. +*/ button, -[type="button"], -[type="reset"], -[type="submit"] { +[type='button'], +[type='reset'], +[type='submit'] { -webkit-appearance: button; } /** - * Remove the inner border and padding in Firefox. - */ +Remove the inner border and padding in Firefox. +*/ -button::-moz-focus-inner, -[type="button"]::-moz-focus-inner, -[type="reset"]::-moz-focus-inner, -[type="submit"]::-moz-focus-inner { +::-moz-focus-inner { border-style: none; padding: 0; } /** - * Restore the focus styles unset by the previous rule. - */ +Restore the focus styles unset by the previous rule. +*/ -button:-moz-focusring, -[type="button"]:-moz-focusring, -[type="reset"]:-moz-focusring, -[type="submit"]:-moz-focusring { +:-moz-focusring { outline: 1px dotted ButtonText; } /** - * Correct the padding in Firefox. - */ +Remove the additional ':invalid' styles in Firefox. +See: https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737 +*/ -fieldset { - padding: 0.35em 0.75em 0.625em; +:-moz-ui-invalid { + box-shadow: none; } /** - * 1. Correct the text wrapping in Edge and IE. - * 2. Correct the color inheritance from `fieldset` elements in IE. - * 3. Remove the padding so developers are not caught out when they zero out - * `fieldset` elements in all browsers. - */ +Remove the padding so developers are not caught out when they zero out 'fieldset' elements in all browsers. +*/ legend { - box-sizing: border-box; /* 1 */ - color: inherit; /* 2 */ - display: table; /* 1 */ - max-width: 100%; /* 1 */ - padding: 0; /* 3 */ - white-space: normal; /* 1 */ + padding: 0; } /** - * Add the correct vertical alignment in Chrome, Firefox, and Opera. - */ +Add the correct vertical alignment in Chrome and Firefox. +*/ progress { vertical-align: baseline; } /** - * Remove the default vertical scrollbar in IE 10+. - */ - -textarea { - overflow: auto; -} - -/** - * 1. Add the correct box sizing in IE 10. - * 2. Remove the padding in IE 10. - */ - -[type="checkbox"], -[type="radio"] { - box-sizing: border-box; /* 1 */ - padding: 0; /* 2 */ -} - -/** - * Correct the cursor style of increment and decrement buttons in Chrome. - */ +Correct the cursor style of increment and decrement buttons in Safari. +*/ -[type="number"]::-webkit-inner-spin-button, -[type="number"]::-webkit-outer-spin-button { +::-webkit-inner-spin-button, +::-webkit-outer-spin-button { height: auto; } /** - * 1. Correct the odd appearance in Chrome and Safari. - * 2. Correct the outline style in Safari. - */ +1. Correct the odd appearance in Chrome and Safari. +2. Correct the outline style in Safari. +*/ -[type="search"] { +[type='search'] { -webkit-appearance: textfield; /* 1 */ outline-offset: -2px; /* 2 */ } /** - * Remove the inner padding in Chrome and Safari on macOS. - */ +Remove the inner padding in Chrome and Safari on macOS. +*/ -[type="search"]::-webkit-search-decoration { +::-webkit-search-decoration { -webkit-appearance: none; } /** - * 1. Correct the inability to style clickable types in iOS and Safari. - * 2. Change font properties to `inherit` in Safari. - */ +1. Correct the inability to style clickable types in iOS and Safari. +2. Change font properties to 'inherit' in Safari. +*/ ::-webkit-file-upload-button { -webkit-appearance: button; /* 1 */ font: inherit; /* 2 */ } -/* Interactive - ========================================================================== */ - /* - * Add the correct display in Edge, IE 10+, and Firefox. - */ - -details { - display: block; -} +Interactive +=========== +*/ /* - * Add the correct display in all browsers. - */ +Add the correct display in Chrome and Safari. +*/ summary { display: list-item; } -/* Misc - ========================================================================== */ - -/** - * Add the correct display in IE 10+. - */ - -template { - display: none; -} - -/** - * Add the correct display in IE 10. - */ - -[hidden] { - display: none; -} - /** * Manually forked from SUIT CSS Base: https://github.com/suitcss/base * A thin layer on top of normalize.css that provides a starting point more diff --git a/__tests__/fixtures/tailwind-output-important.css b/__tests__/fixtures/tailwind-output-important.css index 57f41ab562f1..e784d4fd5112 100644 --- a/__tests__/fixtures/tailwind-output-important.css +++ b/__tests__/fixtures/tailwind-output-important.css @@ -1,96 +1,100 @@ -/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */ +/*! modern-normalize v1.0.0 | MIT License | https://github.com/sindresorhus/modern-normalize */ -/* Document - ========================================================================== */ - -/** - * 1. Correct the line height in all browsers. - * 2. Prevent adjustments of font size after orientation changes in iOS. - */ - -html { - line-height: 1.15; /* 1 */ - -webkit-text-size-adjust: 100%; /* 2 */ -} - -/* Sections - ========================================================================== */ +/* +Document +======== +*/ /** - * Remove the margin in all browsers. - */ +Use a better box model (opinionated). +*/ -body { - margin: 0; +*, +*::before, +*::after { + box-sizing: border-box; } /** - * Render the `main` element consistently in IE. - */ +Use a more readable tab size (opinionated). +*/ -main { - display: block; +:root { + -moz-tab-size: 4; + tab-size: 4; } /** - * Correct the font size and margin on `h1` elements within `section` and - * `article` contexts in Chrome, Firefox, and Safari. - */ +1. Correct the line height in all browsers. +2. Prevent adjustments of font size after orientation changes in iOS. +*/ -h1 { - font-size: 2em; - margin: 0.67em 0; +html { + line-height: 1.15; /* 1 */ + -webkit-text-size-adjust: 100%; /* 2 */ } -/* Grouping content - ========================================================================== */ +/* +Sections +======== +*/ /** - * 1. Add the correct box sizing in Firefox. - * 2. Show the overflow in Edge and IE. - */ +Remove the margin in all browsers. +*/ -hr { - box-sizing: content-box; /* 1 */ - height: 0; /* 1 */ - overflow: visible; /* 2 */ +body { + margin: 0; } /** - * 1. Correct the inheritance and scaling of font size in all browsers. - * 2. Correct the odd `em` font sizing in all browsers. - */ +Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3) +*/ -pre { - font-family: monospace, monospace; /* 1 */ - font-size: 1em; /* 2 */ +body { + font-family: + system-ui, + -apple-system, /* Firefox supports this but not yet `system-ui` */ + 'Segoe UI', + Roboto, + Helvetica, + Arial, + sans-serif, + 'Apple Color Emoji', + 'Segoe UI Emoji'; } -/* Text-level semantics - ========================================================================== */ +/* +Grouping content +================ +*/ /** - * Remove the gray background on active links in IE 10. - */ +1. Add the correct height in Firefox. +2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655) +*/ -a { - background-color: transparent; +hr { + height: 0; /* 1 */ + color: inherit; /* 2 */ } +/* +Text-level semantics +==================== +*/ + /** - * 1. Remove the bottom border in Chrome 57- - * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. - */ +Add the correct text decoration in Chrome, Edge, and Safari. +*/ abbr[title] { - border-bottom: none; /* 1 */ - text-decoration: underline; /* 2 */ - text-decoration: underline dotted; /* 2 */ + text-decoration: underline dotted; } /** - * Add the correct font weight in Chrome, Edge, and Safari. - */ +Add the correct font weight in Edge and Safari. +*/ b, strong { @@ -98,29 +102,35 @@ strong { } /** - * 1. Correct the inheritance and scaling of font size in all browsers. - * 2. Correct the odd `em` font sizing in all browsers. - */ +1. Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3) +2. Correct the odd 'em' font sizing in all browsers. +*/ code, kbd, -samp { - font-family: monospace, monospace; /* 1 */ +samp, +pre { + font-family: + ui-monospace, + SFMono-Regular, + Consolas, + 'Liberation Mono', + Menlo, + monospace; /* 1 */ font-size: 1em; /* 2 */ } /** - * Add the correct font size in all browsers. - */ +Add the correct font size in all browsers. +*/ small { font-size: 80%; } /** - * Prevent `sub` and `sup` elements from affecting the line height in - * all browsers. - */ +Prevent 'sub' and 'sup' elements from affecting the line height in all browsers. +*/ sub, sup { @@ -138,24 +148,30 @@ sup { top: -0.5em; } -/* Embedded content - ========================================================================== */ +/* +Tabular data +============ +*/ /** - * Remove the border on images inside links in IE 10. - */ +1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297) +2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016) +*/ -img { - border-style: none; +table { + text-indent: 0; /* 1 */ + border-color: inherit; /* 2 */ } -/* Forms - ========================================================================== */ +/* +Forms +===== +*/ /** - * 1. Change the font styles in all browsers. - * 2. Remove the margin in Firefox and Safari. - */ +1. Change the font styles in all browsers. +2. Remove the margin in Firefox and Safari. +*/ button, input, @@ -169,19 +185,9 @@ textarea { } /** - * Show the overflow in IE. - * 1. Show the overflow in Edge. - */ - -button, -input { /* 1 */ - overflow: visible; -} - -/** - * Remove the inheritance of text transform in Edge, Firefox, and IE. - * 1. Remove the inheritance of text transform in Firefox. - */ +Remove the inheritance of text transform in Edge and Firefox. +1. Remove the inheritance of text transform in Firefox. +*/ button, select { /* 1 */ @@ -189,165 +195,108 @@ select { /* 1 */ } /** - * Correct the inability to style clickable types in iOS and Safari. - */ +Correct the inability to style clickable types in iOS and Safari. +*/ button, -[type="button"], -[type="reset"], -[type="submit"] { +[type='button'], +[type='reset'], +[type='submit'] { -webkit-appearance: button; } /** - * Remove the inner border and padding in Firefox. - */ +Remove the inner border and padding in Firefox. +*/ -button::-moz-focus-inner, -[type="button"]::-moz-focus-inner, -[type="reset"]::-moz-focus-inner, -[type="submit"]::-moz-focus-inner { +::-moz-focus-inner { border-style: none; padding: 0; } /** - * Restore the focus styles unset by the previous rule. - */ +Restore the focus styles unset by the previous rule. +*/ -button:-moz-focusring, -[type="button"]:-moz-focusring, -[type="reset"]:-moz-focusring, -[type="submit"]:-moz-focusring { +:-moz-focusring { outline: 1px dotted ButtonText; } /** - * Correct the padding in Firefox. - */ +Remove the additional ':invalid' styles in Firefox. +See: https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737 +*/ -fieldset { - padding: 0.35em 0.75em 0.625em; +:-moz-ui-invalid { + box-shadow: none; } /** - * 1. Correct the text wrapping in Edge and IE. - * 2. Correct the color inheritance from `fieldset` elements in IE. - * 3. Remove the padding so developers are not caught out when they zero out - * `fieldset` elements in all browsers. - */ +Remove the padding so developers are not caught out when they zero out 'fieldset' elements in all browsers. +*/ legend { - box-sizing: border-box; /* 1 */ - color: inherit; /* 2 */ - display: table; /* 1 */ - max-width: 100%; /* 1 */ - padding: 0; /* 3 */ - white-space: normal; /* 1 */ + padding: 0; } /** - * Add the correct vertical alignment in Chrome, Firefox, and Opera. - */ +Add the correct vertical alignment in Chrome and Firefox. +*/ progress { vertical-align: baseline; } /** - * Remove the default vertical scrollbar in IE 10+. - */ +Correct the cursor style of increment and decrement buttons in Safari. +*/ -textarea { - overflow: auto; -} - -/** - * 1. Add the correct box sizing in IE 10. - * 2. Remove the padding in IE 10. - */ - -[type="checkbox"], -[type="radio"] { - box-sizing: border-box; /* 1 */ - padding: 0; /* 2 */ -} - -/** - * Correct the cursor style of increment and decrement buttons in Chrome. - */ - -[type="number"]::-webkit-inner-spin-button, -[type="number"]::-webkit-outer-spin-button { +::-webkit-inner-spin-button, +::-webkit-outer-spin-button { height: auto; } /** - * 1. Correct the odd appearance in Chrome and Safari. - * 2. Correct the outline style in Safari. - */ +1. Correct the odd appearance in Chrome and Safari. +2. Correct the outline style in Safari. +*/ -[type="search"] { +[type='search'] { -webkit-appearance: textfield; /* 1 */ outline-offset: -2px; /* 2 */ } /** - * Remove the inner padding in Chrome and Safari on macOS. - */ +Remove the inner padding in Chrome and Safari on macOS. +*/ -[type="search"]::-webkit-search-decoration { +::-webkit-search-decoration { -webkit-appearance: none; } /** - * 1. Correct the inability to style clickable types in iOS and Safari. - * 2. Change font properties to `inherit` in Safari. - */ +1. Correct the inability to style clickable types in iOS and Safari. +2. Change font properties to 'inherit' in Safari. +*/ ::-webkit-file-upload-button { -webkit-appearance: button; /* 1 */ font: inherit; /* 2 */ } -/* Interactive - ========================================================================== */ - /* - * Add the correct display in Edge, IE 10+, and Firefox. - */ - -details { - display: block; -} +Interactive +=========== +*/ /* - * Add the correct display in all browsers. - */ +Add the correct display in Chrome and Safari. +*/ summary { display: list-item; } -/* Misc - ========================================================================== */ - -/** - * Add the correct display in IE 10+. - */ - -template { - display: none; -} - -/** - * Add the correct display in IE 10. - */ - -[hidden] { - display: none; -} - /** * Manually forked from SUIT CSS Base: https://github.com/suitcss/base * A thin layer on top of normalize.css that provides a starting point more diff --git a/__tests__/fixtures/tailwind-output-no-color-opacity.css b/__tests__/fixtures/tailwind-output-no-color-opacity.css index 51df7fb47515..4586f63749e1 100644 --- a/__tests__/fixtures/tailwind-output-no-color-opacity.css +++ b/__tests__/fixtures/tailwind-output-no-color-opacity.css @@ -1,96 +1,100 @@ -/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */ +/*! modern-normalize v1.0.0 | MIT License | https://github.com/sindresorhus/modern-normalize */ -/* Document - ========================================================================== */ - -/** - * 1. Correct the line height in all browsers. - * 2. Prevent adjustments of font size after orientation changes in iOS. - */ - -html { - line-height: 1.15; /* 1 */ - -webkit-text-size-adjust: 100%; /* 2 */ -} - -/* Sections - ========================================================================== */ +/* +Document +======== +*/ /** - * Remove the margin in all browsers. - */ +Use a better box model (opinionated). +*/ -body { - margin: 0; +*, +*::before, +*::after { + box-sizing: border-box; } /** - * Render the `main` element consistently in IE. - */ +Use a more readable tab size (opinionated). +*/ -main { - display: block; +:root { + -moz-tab-size: 4; + tab-size: 4; } /** - * Correct the font size and margin on `h1` elements within `section` and - * `article` contexts in Chrome, Firefox, and Safari. - */ +1. Correct the line height in all browsers. +2. Prevent adjustments of font size after orientation changes in iOS. +*/ -h1 { - font-size: 2em; - margin: 0.67em 0; +html { + line-height: 1.15; /* 1 */ + -webkit-text-size-adjust: 100%; /* 2 */ } -/* Grouping content - ========================================================================== */ +/* +Sections +======== +*/ /** - * 1. Add the correct box sizing in Firefox. - * 2. Show the overflow in Edge and IE. - */ +Remove the margin in all browsers. +*/ -hr { - box-sizing: content-box; /* 1 */ - height: 0; /* 1 */ - overflow: visible; /* 2 */ +body { + margin: 0; } /** - * 1. Correct the inheritance and scaling of font size in all browsers. - * 2. Correct the odd `em` font sizing in all browsers. - */ +Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3) +*/ -pre { - font-family: monospace, monospace; /* 1 */ - font-size: 1em; /* 2 */ +body { + font-family: + system-ui, + -apple-system, /* Firefox supports this but not yet `system-ui` */ + 'Segoe UI', + Roboto, + Helvetica, + Arial, + sans-serif, + 'Apple Color Emoji', + 'Segoe UI Emoji'; } -/* Text-level semantics - ========================================================================== */ +/* +Grouping content +================ +*/ /** - * Remove the gray background on active links in IE 10. - */ +1. Add the correct height in Firefox. +2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655) +*/ -a { - background-color: transparent; +hr { + height: 0; /* 1 */ + color: inherit; /* 2 */ } +/* +Text-level semantics +==================== +*/ + /** - * 1. Remove the bottom border in Chrome 57- - * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. - */ +Add the correct text decoration in Chrome, Edge, and Safari. +*/ abbr[title] { - border-bottom: none; /* 1 */ - text-decoration: underline; /* 2 */ - text-decoration: underline dotted; /* 2 */ + text-decoration: underline dotted; } /** - * Add the correct font weight in Chrome, Edge, and Safari. - */ +Add the correct font weight in Edge and Safari. +*/ b, strong { @@ -98,29 +102,35 @@ strong { } /** - * 1. Correct the inheritance and scaling of font size in all browsers. - * 2. Correct the odd `em` font sizing in all browsers. - */ +1. Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3) +2. Correct the odd 'em' font sizing in all browsers. +*/ code, kbd, -samp { - font-family: monospace, monospace; /* 1 */ +samp, +pre { + font-family: + ui-monospace, + SFMono-Regular, + Consolas, + 'Liberation Mono', + Menlo, + monospace; /* 1 */ font-size: 1em; /* 2 */ } /** - * Add the correct font size in all browsers. - */ +Add the correct font size in all browsers. +*/ small { font-size: 80%; } /** - * Prevent `sub` and `sup` elements from affecting the line height in - * all browsers. - */ +Prevent 'sub' and 'sup' elements from affecting the line height in all browsers. +*/ sub, sup { @@ -138,24 +148,30 @@ sup { top: -0.5em; } -/* Embedded content - ========================================================================== */ +/* +Tabular data +============ +*/ /** - * Remove the border on images inside links in IE 10. - */ +1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297) +2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016) +*/ -img { - border-style: none; +table { + text-indent: 0; /* 1 */ + border-color: inherit; /* 2 */ } -/* Forms - ========================================================================== */ +/* +Forms +===== +*/ /** - * 1. Change the font styles in all browsers. - * 2. Remove the margin in Firefox and Safari. - */ +1. Change the font styles in all browsers. +2. Remove the margin in Firefox and Safari. +*/ button, input, @@ -169,19 +185,9 @@ textarea { } /** - * Show the overflow in IE. - * 1. Show the overflow in Edge. - */ - -button, -input { /* 1 */ - overflow: visible; -} - -/** - * Remove the inheritance of text transform in Edge, Firefox, and IE. - * 1. Remove the inheritance of text transform in Firefox. - */ +Remove the inheritance of text transform in Edge and Firefox. +1. Remove the inheritance of text transform in Firefox. +*/ button, select { /* 1 */ @@ -189,165 +195,108 @@ select { /* 1 */ } /** - * Correct the inability to style clickable types in iOS and Safari. - */ +Correct the inability to style clickable types in iOS and Safari. +*/ button, -[type="button"], -[type="reset"], -[type="submit"] { +[type='button'], +[type='reset'], +[type='submit'] { -webkit-appearance: button; } /** - * Remove the inner border and padding in Firefox. - */ +Remove the inner border and padding in Firefox. +*/ -button::-moz-focus-inner, -[type="button"]::-moz-focus-inner, -[type="reset"]::-moz-focus-inner, -[type="submit"]::-moz-focus-inner { +::-moz-focus-inner { border-style: none; padding: 0; } /** - * Restore the focus styles unset by the previous rule. - */ +Restore the focus styles unset by the previous rule. +*/ -button:-moz-focusring, -[type="button"]:-moz-focusring, -[type="reset"]:-moz-focusring, -[type="submit"]:-moz-focusring { +:-moz-focusring { outline: 1px dotted ButtonText; } /** - * Correct the padding in Firefox. - */ +Remove the additional ':invalid' styles in Firefox. +See: https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737 +*/ -fieldset { - padding: 0.35em 0.75em 0.625em; +:-moz-ui-invalid { + box-shadow: none; } /** - * 1. Correct the text wrapping in Edge and IE. - * 2. Correct the color inheritance from `fieldset` elements in IE. - * 3. Remove the padding so developers are not caught out when they zero out - * `fieldset` elements in all browsers. - */ +Remove the padding so developers are not caught out when they zero out 'fieldset' elements in all browsers. +*/ legend { - box-sizing: border-box; /* 1 */ - color: inherit; /* 2 */ - display: table; /* 1 */ - max-width: 100%; /* 1 */ - padding: 0; /* 3 */ - white-space: normal; /* 1 */ + padding: 0; } /** - * Add the correct vertical alignment in Chrome, Firefox, and Opera. - */ +Add the correct vertical alignment in Chrome and Firefox. +*/ progress { vertical-align: baseline; } /** - * Remove the default vertical scrollbar in IE 10+. - */ - -textarea { - overflow: auto; -} - -/** - * 1. Add the correct box sizing in IE 10. - * 2. Remove the padding in IE 10. - */ - -[type="checkbox"], -[type="radio"] { - box-sizing: border-box; /* 1 */ - padding: 0; /* 2 */ -} - -/** - * Correct the cursor style of increment and decrement buttons in Chrome. - */ +Correct the cursor style of increment and decrement buttons in Safari. +*/ -[type="number"]::-webkit-inner-spin-button, -[type="number"]::-webkit-outer-spin-button { +::-webkit-inner-spin-button, +::-webkit-outer-spin-button { height: auto; } /** - * 1. Correct the odd appearance in Chrome and Safari. - * 2. Correct the outline style in Safari. - */ +1. Correct the odd appearance in Chrome and Safari. +2. Correct the outline style in Safari. +*/ -[type="search"] { +[type='search'] { -webkit-appearance: textfield; /* 1 */ outline-offset: -2px; /* 2 */ } /** - * Remove the inner padding in Chrome and Safari on macOS. - */ +Remove the inner padding in Chrome and Safari on macOS. +*/ -[type="search"]::-webkit-search-decoration { +::-webkit-search-decoration { -webkit-appearance: none; } /** - * 1. Correct the inability to style clickable types in iOS and Safari. - * 2. Change font properties to `inherit` in Safari. - */ +1. Correct the inability to style clickable types in iOS and Safari. +2. Change font properties to 'inherit' in Safari. +*/ ::-webkit-file-upload-button { -webkit-appearance: button; /* 1 */ font: inherit; /* 2 */ } -/* Interactive - ========================================================================== */ - /* - * Add the correct display in Edge, IE 10+, and Firefox. - */ - -details { - display: block; -} +Interactive +=========== +*/ /* - * Add the correct display in all browsers. - */ +Add the correct display in Chrome and Safari. +*/ summary { display: list-item; } -/* Misc - ========================================================================== */ - -/** - * Add the correct display in IE 10+. - */ - -template { - display: none; -} - -/** - * Add the correct display in IE 10. - */ - -[hidden] { - display: none; -} - /** * Manually forked from SUIT CSS Base: https://github.com/suitcss/base * A thin layer on top of normalize.css that provides a starting point more diff --git a/__tests__/fixtures/tailwind-output.css b/__tests__/fixtures/tailwind-output.css index 82634d8d64a6..88f2b406ef39 100644 --- a/__tests__/fixtures/tailwind-output.css +++ b/__tests__/fixtures/tailwind-output.css @@ -1,96 +1,100 @@ -/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */ +/*! modern-normalize v1.0.0 | MIT License | https://github.com/sindresorhus/modern-normalize */ -/* Document - ========================================================================== */ - -/** - * 1. Correct the line height in all browsers. - * 2. Prevent adjustments of font size after orientation changes in iOS. - */ - -html { - line-height: 1.15; /* 1 */ - -webkit-text-size-adjust: 100%; /* 2 */ -} - -/* Sections - ========================================================================== */ +/* +Document +======== +*/ /** - * Remove the margin in all browsers. - */ +Use a better box model (opinionated). +*/ -body { - margin: 0; +*, +*::before, +*::after { + box-sizing: border-box; } /** - * Render the `main` element consistently in IE. - */ +Use a more readable tab size (opinionated). +*/ -main { - display: block; +:root { + -moz-tab-size: 4; + tab-size: 4; } /** - * Correct the font size and margin on `h1` elements within `section` and - * `article` contexts in Chrome, Firefox, and Safari. - */ +1. Correct the line height in all browsers. +2. Prevent adjustments of font size after orientation changes in iOS. +*/ -h1 { - font-size: 2em; - margin: 0.67em 0; +html { + line-height: 1.15; /* 1 */ + -webkit-text-size-adjust: 100%; /* 2 */ } -/* Grouping content - ========================================================================== */ +/* +Sections +======== +*/ /** - * 1. Add the correct box sizing in Firefox. - * 2. Show the overflow in Edge and IE. - */ +Remove the margin in all browsers. +*/ -hr { - box-sizing: content-box; /* 1 */ - height: 0; /* 1 */ - overflow: visible; /* 2 */ +body { + margin: 0; } /** - * 1. Correct the inheritance and scaling of font size in all browsers. - * 2. Correct the odd `em` font sizing in all browsers. - */ +Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3) +*/ -pre { - font-family: monospace, monospace; /* 1 */ - font-size: 1em; /* 2 */ +body { + font-family: + system-ui, + -apple-system, /* Firefox supports this but not yet `system-ui` */ + 'Segoe UI', + Roboto, + Helvetica, + Arial, + sans-serif, + 'Apple Color Emoji', + 'Segoe UI Emoji'; } -/* Text-level semantics - ========================================================================== */ +/* +Grouping content +================ +*/ /** - * Remove the gray background on active links in IE 10. - */ +1. Add the correct height in Firefox. +2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655) +*/ -a { - background-color: transparent; +hr { + height: 0; /* 1 */ + color: inherit; /* 2 */ } +/* +Text-level semantics +==================== +*/ + /** - * 1. Remove the bottom border in Chrome 57- - * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. - */ +Add the correct text decoration in Chrome, Edge, and Safari. +*/ abbr[title] { - border-bottom: none; /* 1 */ - text-decoration: underline; /* 2 */ - text-decoration: underline dotted; /* 2 */ + text-decoration: underline dotted; } /** - * Add the correct font weight in Chrome, Edge, and Safari. - */ +Add the correct font weight in Edge and Safari. +*/ b, strong { @@ -98,29 +102,35 @@ strong { } /** - * 1. Correct the inheritance and scaling of font size in all browsers. - * 2. Correct the odd `em` font sizing in all browsers. - */ +1. Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3) +2. Correct the odd 'em' font sizing in all browsers. +*/ code, kbd, -samp { - font-family: monospace, monospace; /* 1 */ +samp, +pre { + font-family: + ui-monospace, + SFMono-Regular, + Consolas, + 'Liberation Mono', + Menlo, + monospace; /* 1 */ font-size: 1em; /* 2 */ } /** - * Add the correct font size in all browsers. - */ +Add the correct font size in all browsers. +*/ small { font-size: 80%; } /** - * Prevent `sub` and `sup` elements from affecting the line height in - * all browsers. - */ +Prevent 'sub' and 'sup' elements from affecting the line height in all browsers. +*/ sub, sup { @@ -138,24 +148,30 @@ sup { top: -0.5em; } -/* Embedded content - ========================================================================== */ +/* +Tabular data +============ +*/ /** - * Remove the border on images inside links in IE 10. - */ +1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297) +2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016) +*/ -img { - border-style: none; +table { + text-indent: 0; /* 1 */ + border-color: inherit; /* 2 */ } -/* Forms - ========================================================================== */ +/* +Forms +===== +*/ /** - * 1. Change the font styles in all browsers. - * 2. Remove the margin in Firefox and Safari. - */ +1. Change the font styles in all browsers. +2. Remove the margin in Firefox and Safari. +*/ button, input, @@ -169,19 +185,9 @@ textarea { } /** - * Show the overflow in IE. - * 1. Show the overflow in Edge. - */ - -button, -input { /* 1 */ - overflow: visible; -} - -/** - * Remove the inheritance of text transform in Edge, Firefox, and IE. - * 1. Remove the inheritance of text transform in Firefox. - */ +Remove the inheritance of text transform in Edge and Firefox. +1. Remove the inheritance of text transform in Firefox. +*/ button, select { /* 1 */ @@ -189,165 +195,108 @@ select { /* 1 */ } /** - * Correct the inability to style clickable types in iOS and Safari. - */ +Correct the inability to style clickable types in iOS and Safari. +*/ button, -[type="button"], -[type="reset"], -[type="submit"] { +[type='button'], +[type='reset'], +[type='submit'] { -webkit-appearance: button; } /** - * Remove the inner border and padding in Firefox. - */ +Remove the inner border and padding in Firefox. +*/ -button::-moz-focus-inner, -[type="button"]::-moz-focus-inner, -[type="reset"]::-moz-focus-inner, -[type="submit"]::-moz-focus-inner { +::-moz-focus-inner { border-style: none; padding: 0; } /** - * Restore the focus styles unset by the previous rule. - */ +Restore the focus styles unset by the previous rule. +*/ -button:-moz-focusring, -[type="button"]:-moz-focusring, -[type="reset"]:-moz-focusring, -[type="submit"]:-moz-focusring { +:-moz-focusring { outline: 1px dotted ButtonText; } /** - * Correct the padding in Firefox. - */ +Remove the additional ':invalid' styles in Firefox. +See: https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737 +*/ -fieldset { - padding: 0.35em 0.75em 0.625em; +:-moz-ui-invalid { + box-shadow: none; } /** - * 1. Correct the text wrapping in Edge and IE. - * 2. Correct the color inheritance from `fieldset` elements in IE. - * 3. Remove the padding so developers are not caught out when they zero out - * `fieldset` elements in all browsers. - */ +Remove the padding so developers are not caught out when they zero out 'fieldset' elements in all browsers. +*/ legend { - box-sizing: border-box; /* 1 */ - color: inherit; /* 2 */ - display: table; /* 1 */ - max-width: 100%; /* 1 */ - padding: 0; /* 3 */ - white-space: normal; /* 1 */ + padding: 0; } /** - * Add the correct vertical alignment in Chrome, Firefox, and Opera. - */ +Add the correct vertical alignment in Chrome and Firefox. +*/ progress { vertical-align: baseline; } /** - * Remove the default vertical scrollbar in IE 10+. - */ - -textarea { - overflow: auto; -} - -/** - * 1. Add the correct box sizing in IE 10. - * 2. Remove the padding in IE 10. - */ - -[type="checkbox"], -[type="radio"] { - box-sizing: border-box; /* 1 */ - padding: 0; /* 2 */ -} - -/** - * Correct the cursor style of increment and decrement buttons in Chrome. - */ +Correct the cursor style of increment and decrement buttons in Safari. +*/ -[type="number"]::-webkit-inner-spin-button, -[type="number"]::-webkit-outer-spin-button { +::-webkit-inner-spin-button, +::-webkit-outer-spin-button { height: auto; } /** - * 1. Correct the odd appearance in Chrome and Safari. - * 2. Correct the outline style in Safari. - */ +1. Correct the odd appearance in Chrome and Safari. +2. Correct the outline style in Safari. +*/ -[type="search"] { +[type='search'] { -webkit-appearance: textfield; /* 1 */ outline-offset: -2px; /* 2 */ } /** - * Remove the inner padding in Chrome and Safari on macOS. - */ +Remove the inner padding in Chrome and Safari on macOS. +*/ -[type="search"]::-webkit-search-decoration { +::-webkit-search-decoration { -webkit-appearance: none; } /** - * 1. Correct the inability to style clickable types in iOS and Safari. - * 2. Change font properties to `inherit` in Safari. - */ +1. Correct the inability to style clickable types in iOS and Safari. +2. Change font properties to 'inherit' in Safari. +*/ ::-webkit-file-upload-button { -webkit-appearance: button; /* 1 */ font: inherit; /* 2 */ } -/* Interactive - ========================================================================== */ - /* - * Add the correct display in Edge, IE 10+, and Firefox. - */ - -details { - display: block; -} +Interactive +=========== +*/ /* - * Add the correct display in all browsers. - */ +Add the correct display in Chrome and Safari. +*/ summary { display: list-item; } -/* Misc - ========================================================================== */ - -/** - * Add the correct display in IE 10+. - */ - -template { - display: none; -} - -/** - * Add the correct display in IE 10. - */ - -[hidden] { - display: none; -} - /** * Manually forked from SUIT CSS Base: https://github.com/suitcss/base * A thin layer on top of normalize.css that provides a starting point more diff --git a/package.json b/package.json index 10bc90d793c1..accff792995e 100644 --- a/package.json +++ b/package.json @@ -58,8 +58,8 @@ "fs-extra": "^8.0.0", "html-tags": "^3.1.0", "lodash": "^4.17.20", + "modern-normalize": "^1.0.0", "node-emoji": "^1.8.1", - "normalize.css": "^8.0.1", "object-hash": "^2.0.3", "postcss": "^7.0.11", "postcss-functions": "^3.0.0", diff --git a/src/plugins/preflight.js b/src/plugins/preflight.js index d497ce2c3bd0..c8fd76ab3b0d 100644 --- a/src/plugins/preflight.js +++ b/src/plugins/preflight.js @@ -3,7 +3,9 @@ import postcss from 'postcss' export default function() { return function({ addBase }) { - const normalizeStyles = postcss.parse(fs.readFileSync(require.resolve('normalize.css'), 'utf8')) + const normalizeStyles = postcss.parse( + fs.readFileSync(require.resolve('modern-normalize'), 'utf8') + ) const preflightStyles = postcss.parse(fs.readFileSync(`${__dirname}/css/preflight.css`, 'utf8')) addBase([...normalizeStyles.nodes, ...preflightStyles.nodes]) } diff --git a/yarn.lock b/yarn.lock index 3a6b46240878..c8d7e2d2917c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3908,6 +3908,11 @@ mkdirp@^0.5.0, mkdirp@^0.5.1: dependencies: minimist "0.0.8" +modern-normalize@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/modern-normalize/-/modern-normalize-1.0.0.tgz#539d84a1e141338b01b346f3e27396d0ed17601e" + integrity sha512-1lM+BMLGuDfsdwf3rsgBSrxJwAZHFIrQ8YR61xIqdHo0uNKI9M52wNpHSrliZATJp51On6JD0AfRxd4YGSU0lw== + ms@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" @@ -4056,11 +4061,6 @@ normalize-range@^0.1.2: resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" integrity sha1-LRDAa9/TEuqXd2laTShDlFa3WUI= -normalize.css@^8.0.1: - version "8.0.1" - resolved "https://registry.yarnpkg.com/normalize.css/-/normalize.css-8.0.1.tgz#9b98a208738b9cc2634caacbc42d131c97487bf3" - integrity sha512-qizSNPO93t1YUuUhP22btGOo3chcvDFqFaj2TRybP0DMxkHOCTYwp3n34fel4a31ORXy4m1Xq0Gyqpb5m33qIg== - npm-bundled@^1.0.1: version "1.0.6" resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.0.6.tgz#e7ba9aadcef962bb61248f91721cd932b3fe6bdd"