Skip to content

Commit 476d445

Browse files
adamwathanbradlc
andauthored
Fix missing !important when using @apply (#4854)
* Add failing test for #4823 * Fix important variant `@apply` Co-authored-by: Brad Cornes <[email protected]>
1 parent 96ef150 commit 476d445

File tree

4 files changed

+18
-4
lines changed

4 files changed

+18
-4
lines changed

src/jit/lib/generateRules.js

+4-4
Original file line numberDiff line numberDiff line change
@@ -106,9 +106,9 @@ function applyVariant(variant, matches, context) {
106106
let variantFunctionTuples = context.variantMap.get(variant)
107107
let result = []
108108

109-
for (let [{ sort, layer, options }, rule] of matches) {
110-
if (options.respectVariants === false) {
111-
result.push([{ sort, layer, options }, rule])
109+
for (let [meta, rule] of matches) {
110+
if (meta.options.respectVariants === false) {
111+
result.push([meta, rule])
112112
continue
113113
}
114114

@@ -144,7 +144,7 @@ function applyVariant(variant, matches, context) {
144144
continue
145145
}
146146

147-
let withOffset = [{ sort: variantSort | sort, layer, options }, clone.nodes[0]]
147+
let withOffset = [{ ...meta, sort: variantSort | meta.sort }, clone.nodes[0]]
148148
result.push(withOffset)
149149
}
150150
}

tests/jit/apply.test.css

+9
Original file line numberDiff line numberDiff line change
@@ -323,6 +323,15 @@ h2 {
323323
padding-left: 1rem;
324324
padding-right: 1rem;
325325
}
326+
327+
.important-modifier-variant {
328+
padding-left: 1rem;
329+
padding-right: 1rem;
330+
}
331+
332+
.important-modifier-variant:hover {
333+
border-radius: 0.375rem !important;
334+
}
326335
@keyframes spin {
327336
to {
328337
transform: rotate(360deg);

tests/jit/apply.test.html

+1
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
<div class="use-with-other-properties-base use-with-other-properties-component"></div>
3434
<div class="add-sibling-properties"></div>
3535
<div class="important-modifier"></div>
36+
<div class="important-modifier-variant"></div>
3637
<div class="a b"></div>
3738
<div class="foo"></div>
3839
<div class="bar"></div>

tests/jit/apply.test.js

+4
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,10 @@ test('@apply', () => {
122122
.important-modifier {
123123
@apply px-4 !rounded-md;
124124
}
125+
126+
.important-modifier-variant {
127+
@apply px-4 hover:!rounded-md;
128+
}
125129
}
126130
127131
@layer utilities {

0 commit comments

Comments
 (0)