Skip to content

Commit c3dd3b6

Browse files
committed
Make boxShadow respect ring shadows
This is to prevent box-shadows from overriding rings that are added manually by plugins like the custom forms plugin.
1 parent 229af3b commit c3dd3b6

File tree

7 files changed

+1649
-1641
lines changed

7 files changed

+1649
-1641
lines changed

__tests__/fixtures/tailwind-output-flagged.css

Lines changed: 408 additions & 408 deletions
Large diffs are not rendered by default.

__tests__/fixtures/tailwind-output-important.css

Lines changed: 408 additions & 408 deletions
Large diffs are not rendered by default.

__tests__/fixtures/tailwind-output-no-color-opacity.css

Lines changed: 408 additions & 408 deletions
Large diffs are not rendered by default.

__tests__/fixtures/tailwind-output.css

Lines changed: 408 additions & 408 deletions
Large diffs are not rendered by default.

__tests__/plugins/boxShadow.test.js

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -46,19 +46,23 @@ test('box shadow can use DEFAULT keyword and negative prefix syntax', () => {
4646
utilities: {
4747
'.shadow': {
4848
'--box-shadow': '0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06)',
49-
'box-shadow': 'var(--box-shadow)',
49+
'box-shadow':
50+
'var(--ring-offset-shadow, 0 0 #0000), var(--ring-shadow, 0 0 #0000), var(--box-shadow)',
5051
},
5152
'.shadow-md': {
5253
'--box-shadow': '0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)',
53-
'box-shadow': 'var(--box-shadow)',
54+
'box-shadow':
55+
'var(--ring-offset-shadow, 0 0 #0000), var(--ring-shadow, 0 0 #0000), var(--box-shadow)',
5456
},
5557
'.-shadow': {
5658
'--box-shadow': 'inset 0 2px 4px 0 rgba(0, 0, 0, 0.06)',
57-
'box-shadow': 'var(--box-shadow)',
59+
'box-shadow':
60+
'var(--ring-offset-shadow, 0 0 #0000), var(--ring-shadow, 0 0 #0000), var(--box-shadow)',
5861
},
5962
'.-shadow-md': {
6063
'--box-shadow': '0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)',
61-
'box-shadow': 'var(--box-shadow)',
64+
'box-shadow':
65+
'var(--ring-offset-shadow, 0 0 #0000), var(--ring-shadow, 0 0 #0000), var(--box-shadow)',
6266
},
6367
},
6468
variants: ['responsive'],

src/plugins/boxShadow.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,11 @@ export default function () {
99
nameClass('shadow', modifier),
1010
{
1111
'--box-shadow': value === 'none' ? '0 0 #0000' : value,
12-
'box-shadow': 'var(--box-shadow)',
12+
'box-shadow': [
13+
`var(--ring-offset-shadow, 0 0 #0000)`,
14+
`var(--ring-shadow, 0 0 #0000)`,
15+
`var(--box-shadow)`,
16+
].join(', '),
1317
},
1418
]
1519
})

src/plugins/ringWidth.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,11 @@ export default function () {
2121
return [
2222
nameClass('ring', modifier),
2323
{
24-
'--ring-width': value,
25-
'--ring-color-default': ringColorDefault,
24+
'--ring-offset-shadow': `0 0 0 var(--ring-offset-width, 0) var(--ring-offset-color, #fff)`,
25+
'--ring-shadow': `0 0 0 calc(${value} + var(--ring-offset-width, 0px)) var(--ring-color, ${ringColorDefault})`,
2626
'box-shadow': [
27-
`0 0 0 var(--ring-offset-width, 0) var(--ring-offset-color, #fff)`,
28-
`0 0 0 calc(var(--ring-width) + var(--ring-offset-width, 0px)) var(--ring-color, var(--ring-color-default))`,
27+
`var(--ring-offset-shadow)`,
28+
`var(--ring-shadow)`,
2929
`var(--box-shadow, 0 0 #0000)`,
3030
].join(', '),
3131
},

0 commit comments

Comments
 (0)