fix(css/parser): Fix parsing of !important (#2286)

This commit is contained in:
Alexander Akait 2021-09-23 14:50:16 +03:00 committed by GitHub
parent ca0d6ddf2e
commit 2f4da9a8ff
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 1269 additions and 5 deletions

2
Cargo.lock generated
View File

@ -2507,7 +2507,7 @@ dependencies = [
[[package]]
name = "swc_css_parser"
version = "0.6.3"
version = "0.6.4"
dependencies = [
"bitflags",
"lexical",

View File

@ -6,7 +6,7 @@ edition = "2018"
license = "Apache-2.0/MIT"
name = "swc_css_parser"
repository = "https://github.com/swc-project/swc.git"
version = "0.6.3"
version = "0.6.4"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[features]

View File

@ -27,7 +27,7 @@ where
}
};
match &*name.to_lowercase() {
match &*name.to_ascii_lowercase() {
"charset" => {
self.input.skip_ws()?;

View File

@ -1,5 +1,9 @@
use super::{input::ParserInput, PResult, Parser};
use crate::{parser::Ctx, Parse};
use crate::{
error::{Error, ErrorKind},
parser::Ctx,
Parse,
};
use swc_common::Span;
use swc_css_ast::*;
@ -99,7 +103,18 @@ where
let start = self.input.cur_span()?.lo;
if !is!(self, EOF) && eat!(self, "!") {
expect!(self, "important");
self.input.skip_ws()?;
let is_important = match bump!(self) {
Token::Ident(value) => &*value.to_ascii_lowercase() == "important",
_ => false,
};
if !is_important {
let span = Span::new(start, self.input.cur_span()?.hi, Default::default());
return Err(Error::new(span, ErrorKind::ExpectedButGot("!important")));
}
self.input.skip_ws()?;
Ok(Some(span!(self, start)))
} else {

View File

@ -0,0 +1,3 @@
.a {
color: white !!important;
}

View File

@ -0,0 +1,6 @@
error: Expected !important
--> $DIR/tests/errors/important/basic/input.css:2:18
|
2 | color: white !!important;
| ^^^^^^^^^^^

View File

@ -0,0 +1,17 @@
.a {
prop: important;
color: red important;
width: 1px!important;
color: red!important;
color: red !important;
color: red !important;
color: red ! important ;
color: blue !IMPORTANT;
color: white ! IMPORTANT ;
margin: 10px ! important;
padding: 20px ! /* test */ important;
width: 100px ! /*! test */ important;
height: 100px /*! test */ important;
z-index: 1 ""! important;
padding: 1px/* sep */!important;
}

View File

@ -0,0 +1,676 @@
{
"type": "Stylesheet",
"span": {
"start": 0,
"end": 496,
"ctxt": 0
},
"rules": [
{
"type": "StyleRule",
"span": {
"start": 0,
"end": 495,
"ctxt": 0
},
"selectors": [
{
"type": "ComplexSelector",
"span": {
"start": 0,
"end": 2,
"ctxt": 0
},
"selectors": [
{
"type": "CompoundSelector",
"span": {
"start": 0,
"end": 2,
"ctxt": 0
},
"hasNestPrefix": false,
"combinator": null,
"typeSelector": null,
"subclassSelectors": [
{
"type": "ClassSelector",
"span": {
"start": 0,
"end": 2,
"ctxt": 0
},
"text": {
"type": "Text",
"span": {
"start": 1,
"end": 2,
"ctxt": 0
},
"value": "a"
}
}
]
}
]
}
],
"block": {
"type": "DeclBlock",
"span": {
"start": 3,
"end": 495,
"ctxt": 0
},
"properties": [
{
"type": "Property",
"span": {
"start": 9,
"end": 24,
"ctxt": 0
},
"name": {
"type": "Text",
"span": {
"start": 9,
"end": 13,
"ctxt": 0
},
"value": "prop"
},
"values": [
{
"type": "Text",
"span": {
"start": 15,
"end": 24,
"ctxt": 0
},
"value": "important"
}
],
"important": null
},
{
"type": "Property",
"span": {
"start": 30,
"end": 50,
"ctxt": 0
},
"name": {
"type": "Text",
"span": {
"start": 30,
"end": 35,
"ctxt": 0
},
"value": "color"
},
"values": [
{
"type": "Text",
"span": {
"start": 37,
"end": 40,
"ctxt": 0
},
"value": "red"
},
{
"type": "Text",
"span": {
"start": 41,
"end": 50,
"ctxt": 0
},
"value": "important"
}
],
"important": null
},
{
"type": "Property",
"span": {
"start": 56,
"end": 76,
"ctxt": 0
},
"name": {
"type": "Text",
"span": {
"start": 56,
"end": 61,
"ctxt": 0
},
"value": "width"
},
"values": [
{
"type": "UnitValue",
"span": {
"start": 63,
"end": 66,
"ctxt": 0
},
"value": {
"type": "Number",
"span": {
"start": 63,
"end": 64,
"ctxt": 0
},
"value": 1.0
},
"unit": {
"span": {
"start": 64,
"end": 66,
"ctxt": 0
},
"kind": null
}
}
],
"important": {
"start": 66,
"end": 76,
"ctxt": 0
}
},
{
"type": "Property",
"span": {
"start": 82,
"end": 102,
"ctxt": 0
},
"name": {
"type": "Text",
"span": {
"start": 82,
"end": 87,
"ctxt": 0
},
"value": "color"
},
"values": [
{
"type": "Text",
"span": {
"start": 89,
"end": 92,
"ctxt": 0
},
"value": "red"
}
],
"important": {
"start": 92,
"end": 102,
"ctxt": 0
}
},
{
"type": "Property",
"span": {
"start": 108,
"end": 129,
"ctxt": 0
},
"name": {
"type": "Text",
"span": {
"start": 108,
"end": 113,
"ctxt": 0
},
"value": "color"
},
"values": [
{
"type": "Text",
"span": {
"start": 115,
"end": 118,
"ctxt": 0
},
"value": "red"
}
],
"important": {
"start": 119,
"end": 129,
"ctxt": 0
}
},
{
"type": "Property",
"span": {
"start": 135,
"end": 157,
"ctxt": 0
},
"name": {
"type": "Text",
"span": {
"start": 135,
"end": 140,
"ctxt": 0
},
"value": "color"
},
"values": [
{
"type": "Text",
"span": {
"start": 142,
"end": 145,
"ctxt": 0
},
"value": "red"
}
],
"important": {
"start": 147,
"end": 157,
"ctxt": 0
}
},
{
"type": "Property",
"span": {
"start": 163,
"end": 190,
"ctxt": 0
},
"name": {
"type": "Text",
"span": {
"start": 163,
"end": 168,
"ctxt": 0
},
"value": "color"
},
"values": [
{
"type": "Text",
"span": {
"start": 170,
"end": 173,
"ctxt": 0
},
"value": "red"
}
],
"important": {
"start": 174,
"end": 190,
"ctxt": 0
}
},
{
"type": "Property",
"span": {
"start": 196,
"end": 218,
"ctxt": 0
},
"name": {
"type": "Text",
"span": {
"start": 196,
"end": 201,
"ctxt": 0
},
"value": "color"
},
"values": [
{
"type": "Text",
"span": {
"start": 203,
"end": 207,
"ctxt": 0
},
"value": "blue"
}
],
"important": {
"start": 208,
"end": 218,
"ctxt": 0
}
},
{
"type": "Property",
"span": {
"start": 224,
"end": 253,
"ctxt": 0
},
"name": {
"type": "Text",
"span": {
"start": 224,
"end": 229,
"ctxt": 0
},
"value": "color"
},
"values": [
{
"type": "Text",
"span": {
"start": 231,
"end": 236,
"ctxt": 0
},
"value": "white"
}
],
"important": {
"start": 237,
"end": 253,
"ctxt": 0
}
},
{
"type": "Property",
"span": {
"start": 259,
"end": 293,
"ctxt": 0
},
"name": {
"type": "Text",
"span": {
"start": 259,
"end": 265,
"ctxt": 0
},
"value": "margin"
},
"values": [
{
"type": "UnitValue",
"span": {
"start": 267,
"end": 271,
"ctxt": 0
},
"value": {
"type": "Number",
"span": {
"start": 267,
"end": 269,
"ctxt": 0
},
"value": 10.0
},
"unit": {
"span": {
"start": 269,
"end": 271,
"ctxt": 0
},
"kind": null
}
}
],
"important": {
"start": 277,
"end": 293,
"ctxt": 0
}
},
{
"type": "Property",
"span": {
"start": 299,
"end": 342,
"ctxt": 0
},
"name": {
"type": "Text",
"span": {
"start": 299,
"end": 306,
"ctxt": 0
},
"value": "padding"
},
"values": [
{
"type": "UnitValue",
"span": {
"start": 308,
"end": 312,
"ctxt": 0
},
"value": {
"type": "Number",
"span": {
"start": 308,
"end": 310,
"ctxt": 0
},
"value": 20.0
},
"unit": {
"span": {
"start": 310,
"end": 312,
"ctxt": 0
},
"kind": null
}
}
],
"important": {
"start": 317,
"end": 342,
"ctxt": 0
}
},
{
"type": "Property",
"span": {
"start": 348,
"end": 384,
"ctxt": 0
},
"name": {
"type": "Text",
"span": {
"start": 348,
"end": 353,
"ctxt": 0
},
"value": "width"
},
"values": [
{
"type": "UnitValue",
"span": {
"start": 355,
"end": 360,
"ctxt": 0
},
"value": {
"type": "Number",
"span": {
"start": 355,
"end": 358,
"ctxt": 0
},
"value": 100.0
},
"unit": {
"span": {
"start": 358,
"end": 360,
"ctxt": 0
},
"kind": null
}
}
],
"important": {
"start": 361,
"end": 384,
"ctxt": 0
}
},
{
"type": "Property",
"span": {
"start": 390,
"end": 425,
"ctxt": 0
},
"name": {
"type": "Text",
"span": {
"start": 390,
"end": 396,
"ctxt": 0
},
"value": "height"
},
"values": [
{
"type": "UnitValue",
"span": {
"start": 398,
"end": 403,
"ctxt": 0
},
"value": {
"type": "Number",
"span": {
"start": 398,
"end": 401,
"ctxt": 0
},
"value": 100.0
},
"unit": {
"span": {
"start": 401,
"end": 403,
"ctxt": 0
},
"kind": null
}
},
{
"type": "Text",
"span": {
"start": 416,
"end": 425,
"ctxt": 0
},
"value": "important"
}
],
"important": null
},
{
"type": "Property",
"span": {
"start": 431,
"end": 455,
"ctxt": 0
},
"name": {
"type": "Text",
"span": {
"start": 431,
"end": 438,
"ctxt": 0
},
"value": "z-index"
},
"values": [
{
"type": "Number",
"span": {
"start": 440,
"end": 441,
"ctxt": 0
},
"value": 1.0
},
{
"type": "String",
"span": {
"start": 442,
"end": 444,
"ctxt": 0
},
"value": ""
}
],
"important": {
"start": 444,
"end": 455,
"ctxt": 0
}
},
{
"type": "Property",
"span": {
"start": 461,
"end": 492,
"ctxt": 0
},
"name": {
"type": "Text",
"span": {
"start": 461,
"end": 468,
"ctxt": 0
},
"value": "padding"
},
"values": [
{
"type": "UnitValue",
"span": {
"start": 470,
"end": 473,
"ctxt": 0
},
"value": {
"type": "Number",
"span": {
"start": 470,
"end": 471,
"ctxt": 0
},
"value": 1.0
},
"unit": {
"span": {
"start": 471,
"end": 473,
"ctxt": 0
},
"kind": null
}
}
],
"important": {
"start": 482,
"end": 492,
"ctxt": 0
}
}
]
}
}
]
}

View File

@ -0,0 +1,547 @@
error: Stylesheet
--> $DIR/tests/fixture/important/basic/input.css:1:1
|
1 | / .a {
2 | | prop: important;
3 | | color: red important;
4 | | width: 1px!important;
... |
16 | | padding: 1px/* sep */!important;
17 | | }
| |__^
error: Rule
--> $DIR/tests/fixture/important/basic/input.css:1:1
|
1 | / .a {
2 | | prop: important;
3 | | color: red important;
4 | | width: 1px!important;
... |
16 | | padding: 1px/* sep */!important;
17 | | }
| |_^
error: StyleRule
--> $DIR/tests/fixture/important/basic/input.css:1:1
|
1 | / .a {
2 | | prop: important;
3 | | color: red important;
4 | | width: 1px!important;
... |
16 | | padding: 1px/* sep */!important;
17 | | }
| |_^
error: ComplexSelector
--> $DIR/tests/fixture/important/basic/input.css:1:1
|
1 | .a {
| ^^
error: CompoundSelector
--> $DIR/tests/fixture/important/basic/input.css:1:1
|
1 | .a {
| ^^
error: SubclassSelector
--> $DIR/tests/fixture/important/basic/input.css:1:1
|
1 | .a {
| ^^
error: ClassSelector
--> $DIR/tests/fixture/important/basic/input.css:1:1
|
1 | .a {
| ^^
error: Text
--> $DIR/tests/fixture/important/basic/input.css:1:2
|
1 | .a {
| ^
error: DeclBlock
--> $DIR/tests/fixture/important/basic/input.css:1:4
|
1 | .a {
| ____^
2 | | prop: important;
3 | | color: red important;
4 | | width: 1px!important;
... |
16 | | padding: 1px/* sep */!important;
17 | | }
| |_^
error: Property
--> $DIR/tests/fixture/important/basic/input.css:2:5
|
2 | prop: important;
| ^^^^^^^^^^^^^^^
error: Text
--> $DIR/tests/fixture/important/basic/input.css:2:5
|
2 | prop: important;
| ^^^^
error: Value
--> $DIR/tests/fixture/important/basic/input.css:2:11
|
2 | prop: important;
| ^^^^^^^^^
error: Text
--> $DIR/tests/fixture/important/basic/input.css:2:11
|
2 | prop: important;
| ^^^^^^^^^
error: Property
--> $DIR/tests/fixture/important/basic/input.css:3:5
|
3 | color: red important;
| ^^^^^^^^^^^^^^^^^^^^
error: Text
--> $DIR/tests/fixture/important/basic/input.css:3:5
|
3 | color: red important;
| ^^^^^
error: Value
--> $DIR/tests/fixture/important/basic/input.css:3:12
|
3 | color: red important;
| ^^^
error: Text
--> $DIR/tests/fixture/important/basic/input.css:3:12
|
3 | color: red important;
| ^^^
error: Value
--> $DIR/tests/fixture/important/basic/input.css:3:16
|
3 | color: red important;
| ^^^^^^^^^
error: Text
--> $DIR/tests/fixture/important/basic/input.css:3:16
|
3 | color: red important;
| ^^^^^^^^^
error: Property
--> $DIR/tests/fixture/important/basic/input.css:4:5
|
4 | width: 1px!important;
| ^^^^^^^^^^^^^^^^^^^^
error: Text
--> $DIR/tests/fixture/important/basic/input.css:4:5
|
4 | width: 1px!important;
| ^^^^^
error: Value
--> $DIR/tests/fixture/important/basic/input.css:4:12
|
4 | width: 1px!important;
| ^^^
error: UnitValue
--> $DIR/tests/fixture/important/basic/input.css:4:12
|
4 | width: 1px!important;
| ^^^
error: Num
--> $DIR/tests/fixture/important/basic/input.css:4:12
|
4 | width: 1px!important;
| ^
error: Unit
--> $DIR/tests/fixture/important/basic/input.css:4:13
|
4 | width: 1px!important;
| ^^
error: Property
--> $DIR/tests/fixture/important/basic/input.css:5:5
|
5 | color: red!important;
| ^^^^^^^^^^^^^^^^^^^^
error: Text
--> $DIR/tests/fixture/important/basic/input.css:5:5
|
5 | color: red!important;
| ^^^^^
error: Value
--> $DIR/tests/fixture/important/basic/input.css:5:12
|
5 | color: red!important;
| ^^^
error: Text
--> $DIR/tests/fixture/important/basic/input.css:5:12
|
5 | color: red!important;
| ^^^
error: Property
--> $DIR/tests/fixture/important/basic/input.css:6:5
|
6 | color: red !important;
| ^^^^^^^^^^^^^^^^^^^^^
error: Text
--> $DIR/tests/fixture/important/basic/input.css:6:5
|
6 | color: red !important;
| ^^^^^
error: Value
--> $DIR/tests/fixture/important/basic/input.css:6:12
|
6 | color: red !important;
| ^^^
error: Text
--> $DIR/tests/fixture/important/basic/input.css:6:12
|
6 | color: red !important;
| ^^^
error: Property
--> $DIR/tests/fixture/important/basic/input.css:7:5
|
7 | color: red !important;
| ^^^^^^^^^^^^^^^^^^^^^^
error: Text
--> $DIR/tests/fixture/important/basic/input.css:7:5
|
7 | color: red !important;
| ^^^^^
error: Value
--> $DIR/tests/fixture/important/basic/input.css:7:12
|
7 | color: red !important;
| ^^^
error: Text
--> $DIR/tests/fixture/important/basic/input.css:7:12
|
7 | color: red !important;
| ^^^
error: Property
--> $DIR/tests/fixture/important/basic/input.css:8:5
|
8 | color: red ! important ;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: Text
--> $DIR/tests/fixture/important/basic/input.css:8:5
|
8 | color: red ! important ;
| ^^^^^
error: Value
--> $DIR/tests/fixture/important/basic/input.css:8:12
|
8 | color: red ! important ;
| ^^^
error: Text
--> $DIR/tests/fixture/important/basic/input.css:8:12
|
8 | color: red ! important ;
| ^^^
error: Property
--> $DIR/tests/fixture/important/basic/input.css:9:5
|
9 | color: blue !IMPORTANT;
| ^^^^^^^^^^^^^^^^^^^^^^
error: Text
--> $DIR/tests/fixture/important/basic/input.css:9:5
|
9 | color: blue !IMPORTANT;
| ^^^^^
error: Value
--> $DIR/tests/fixture/important/basic/input.css:9:12
|
9 | color: blue !IMPORTANT;
| ^^^^
error: Text
--> $DIR/tests/fixture/important/basic/input.css:9:12
|
9 | color: blue !IMPORTANT;
| ^^^^
error: Property
--> $DIR/tests/fixture/important/basic/input.css:10:5
|
10 | color: white ! IMPORTANT ;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: Text
--> $DIR/tests/fixture/important/basic/input.css:10:5
|
10 | color: white ! IMPORTANT ;
| ^^^^^
error: Value
--> $DIR/tests/fixture/important/basic/input.css:10:12
|
10 | color: white ! IMPORTANT ;
| ^^^^^
error: Text
--> $DIR/tests/fixture/important/basic/input.css:10:12
|
10 | color: white ! IMPORTANT ;
| ^^^^^
error: Property
--> $DIR/tests/fixture/important/basic/input.css:11:5
|
11 | margin: 10px ! important;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: Text
--> $DIR/tests/fixture/important/basic/input.css:11:5
|
11 | margin: 10px ! important;
| ^^^^^^
error: Value
--> $DIR/tests/fixture/important/basic/input.css:11:13
|
11 | margin: 10px ! important;
| ^^^^
error: UnitValue
--> $DIR/tests/fixture/important/basic/input.css:11:13
|
11 | margin: 10px ! important;
| ^^^^
error: Num
--> $DIR/tests/fixture/important/basic/input.css:11:13
|
11 | margin: 10px ! important;
| ^^
error: Unit
--> $DIR/tests/fixture/important/basic/input.css:11:15
|
11 | margin: 10px ! important;
| ^^
error: Property
--> $DIR/tests/fixture/important/basic/input.css:12:5
|
12 | padding: 20px ! /* test */ important;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: Text
--> $DIR/tests/fixture/important/basic/input.css:12:5
|
12 | padding: 20px ! /* test */ important;
| ^^^^^^^
error: Value
--> $DIR/tests/fixture/important/basic/input.css:12:14
|
12 | padding: 20px ! /* test */ important;
| ^^^^
error: UnitValue
--> $DIR/tests/fixture/important/basic/input.css:12:14
|
12 | padding: 20px ! /* test */ important;
| ^^^^
error: Num
--> $DIR/tests/fixture/important/basic/input.css:12:14
|
12 | padding: 20px ! /* test */ important;
| ^^
error: Unit
--> $DIR/tests/fixture/important/basic/input.css:12:16
|
12 | padding: 20px ! /* test */ important;
| ^^
error: Property
--> $DIR/tests/fixture/important/basic/input.css:13:5
|
13 | width: 100px ! /*! test */ important;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: Text
--> $DIR/tests/fixture/important/basic/input.css:13:5
|
13 | width: 100px ! /*! test */ important;
| ^^^^^
error: Value
--> $DIR/tests/fixture/important/basic/input.css:13:12
|
13 | width: 100px ! /*! test */ important;
| ^^^^^
error: UnitValue
--> $DIR/tests/fixture/important/basic/input.css:13:12
|
13 | width: 100px ! /*! test */ important;
| ^^^^^
error: Num
--> $DIR/tests/fixture/important/basic/input.css:13:12
|
13 | width: 100px ! /*! test */ important;
| ^^^
error: Unit
--> $DIR/tests/fixture/important/basic/input.css:13:15
|
13 | width: 100px ! /*! test */ important;
| ^^
error: Property
--> $DIR/tests/fixture/important/basic/input.css:14:5
|
14 | height: 100px /*! test */ important;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: Text
--> $DIR/tests/fixture/important/basic/input.css:14:5
|
14 | height: 100px /*! test */ important;
| ^^^^^^
error: Value
--> $DIR/tests/fixture/important/basic/input.css:14:13
|
14 | height: 100px /*! test */ important;
| ^^^^^
error: UnitValue
--> $DIR/tests/fixture/important/basic/input.css:14:13
|
14 | height: 100px /*! test */ important;
| ^^^^^
error: Num
--> $DIR/tests/fixture/important/basic/input.css:14:13
|
14 | height: 100px /*! test */ important;
| ^^^
error: Unit
--> $DIR/tests/fixture/important/basic/input.css:14:16
|
14 | height: 100px /*! test */ important;
| ^^
error: Value
--> $DIR/tests/fixture/important/basic/input.css:14:31
|
14 | height: 100px /*! test */ important;
| ^^^^^^^^^
error: Text
--> $DIR/tests/fixture/important/basic/input.css:14:31
|
14 | height: 100px /*! test */ important;
| ^^^^^^^^^
error: Property
--> $DIR/tests/fixture/important/basic/input.css:15:5
|
15 | z-index: 1 ""! important;
| ^^^^^^^^^^^^^^^^^^^^^^^^
error: Text
--> $DIR/tests/fixture/important/basic/input.css:15:5
|
15 | z-index: 1 ""! important;
| ^^^^^^^
error: Value
--> $DIR/tests/fixture/important/basic/input.css:15:14
|
15 | z-index: 1 ""! important;
| ^
error: Num
--> $DIR/tests/fixture/important/basic/input.css:15:14
|
15 | z-index: 1 ""! important;
| ^
error: Value
--> $DIR/tests/fixture/important/basic/input.css:15:16
|
15 | z-index: 1 ""! important;
| ^^
error: Str
--> $DIR/tests/fixture/important/basic/input.css:15:16
|
15 | z-index: 1 ""! important;
| ^^
error: Property
--> $DIR/tests/fixture/important/basic/input.css:16:5
|
16 | padding: 1px/* sep */!important;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error: Text
--> $DIR/tests/fixture/important/basic/input.css:16:5
|
16 | padding: 1px/* sep */!important;
| ^^^^^^^
error: Value
--> $DIR/tests/fixture/important/basic/input.css:16:14
|
16 | padding: 1px/* sep */!important;
| ^^^
error: UnitValue
--> $DIR/tests/fixture/important/basic/input.css:16:14
|
16 | padding: 1px/* sep */!important;
| ^^^
error: Num
--> $DIR/tests/fixture/important/basic/input.css:16:14
|
16 | padding: 1px/* sep */!important;
| ^
error: Unit
--> $DIR/tests/fixture/important/basic/input.css:16:15
|
16 | padding: 1px/* sep */!important;
| ^^