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); + } + `) + }) +})