From d137e713eaa7bcd281310a8f4491d6b7087cb986 Mon Sep 17 00:00:00 2001 From: Jordan Pittman Date: Tue, 1 Feb 2022 11:42:21 -0500 Subject: [PATCH 1/3] Correctly parse shadow lengths without a leading zero --- src/util/parseBoxShadowValue.js | 2 +- tests/basic-usage.test.js | 33 +++++++++++++++++++++++++++++++++ 2 files changed, 34 insertions(+), 1 deletion(-) diff --git a/src/util/parseBoxShadowValue.js b/src/util/parseBoxShadowValue.js index eb4872c7e831..ceafe650918d 100644 --- a/src/util/parseBoxShadowValue.js +++ b/src/util/parseBoxShadowValue.js @@ -1,7 +1,7 @@ let KEYWORDS = new Set(['inset', 'inherit', 'initial', 'revert', 'unset']) let COMMA = /\,(?![^(]*\))/g // Comma separator that is not located between brackets. E.g.: `cubiz-bezier(a, b, c)` these don't count. let SPACE = /\ +(?![^(]*\))/g // Similar to the one above, but with spaces instead. -let LENGTH = /^-?(\d+)(.*?)$/g +let LENGTH = /^-?(\d+|\.\d+)(.*?)$/g export function parseBoxShadowValue(input) { let shadows = input.split(COMMA) diff --git a/tests/basic-usage.test.js b/tests/basic-usage.test.js index 9d7db9bf7eaa..5153a2805076 100644 --- a/tests/basic-usage.test.js +++ b/tests/basic-usage.test.js @@ -137,3 +137,36 @@ it('fasly config values still work', () => { `) }) }) + +it('shadows support values without a leading zero', () => { + let config = { + content: [{ raw: html`
` }], + theme: { + boxShadow: { + one: '0.5rem 0.5rem 0.5rem #0005', + two: '.5rem .5rem .5rem #0005', + }, + }, + plugins: [], + corePlugins: { preflight: false }, + } + + let input = css` + @tailwind utilities; + ` + + return run(input, config).then((result) => { + expect(result.css).toMatchFormattedCss(css` + .shadow-one { + --tw-shadow: 0.5rem 0.5rem 0.5rem #0005; + --tw-shadow-colored: 0.5rem 0.5rem 0.5rem var(--tw-shadow-color); + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); + } + .shadow-two { + --tw-shadow: 0.5rem 0.5rem 0.5rem #0005; + --tw-shadow-colored: 0.5rem 0.5rem 0.5rem var(--tw-shadow-color); + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); + } + `) + }) +}) From 47b6f4ec29d2a96d64cb5a7307df9d89467eb1cc Mon Sep 17 00:00:00 2001 From: Jordan Pittman Date: Tue, 1 Feb 2022 11:48:09 -0500 Subject: [PATCH 2/3] Update changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 711cc14f94fd..f34be5d80f95 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Fixed - Fix preflight border color fallback ([#7288](https://github.com/tailwindlabs/tailwindcss/pull/7288)) +- Correctly parse shadow lengths without a leading zero ([#7289](https://github.com/tailwindlabs/tailwindcss/pull/7289)) ## [3.0.18] - 2022-01-28 From db41d39e2cdbfceed97fa0994b00401affe95b70 Mon Sep 17 00:00:00 2001 From: Jordan Pittman Date: Tue, 1 Feb 2022 11:50:49 -0500 Subject: [PATCH 3/3] Fix code style --- tests/basic-usage.test.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/tests/basic-usage.test.js b/tests/basic-usage.test.js index 5153a2805076..2f43fa3c6cae 100644 --- a/tests/basic-usage.test.js +++ b/tests/basic-usage.test.js @@ -160,12 +160,14 @@ it('shadows support values without a leading zero', () => { .shadow-one { --tw-shadow: 0.5rem 0.5rem 0.5rem #0005; --tw-shadow-colored: 0.5rem 0.5rem 0.5rem var(--tw-shadow-color); - box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), + var(--tw-shadow); } .shadow-two { --tw-shadow: 0.5rem 0.5rem 0.5rem #0005; --tw-shadow-colored: 0.5rem 0.5rem 0.5rem var(--tw-shadow-color); - box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), + var(--tw-shadow); } `) })