Skip to content

Commit b3221ca

Browse files
authored
feat: add support for ':root' selector (#3)
* feat: add support for ':root' selector * fix: missing ;
1 parent 18e1a2f commit b3221ca

File tree

1 file changed

+15
-10
lines changed

1 file changed

+15
-10
lines changed

src/index.js

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ const viewportUnitRe = /^([+-]?[0-9.]+)(vh|vw|vmin|vmax)$/;
1717
const percentRe = /^([+-]?(?:\d*\.)?\d+(?:[Ee][+-]?\d+)?%)$/;
1818
const unsupportedUnitRe = /^([+-]?(?:\d*\.)?\d+(?:[Ee][+-]?\d+)?(ch|em|ex|cm|mm|in|pc|pt))$/;
1919
const cssPartRe = /::?part\(([^)]+)\)/;
20+
const rootRe = /:root/;
2021
const shorthandBorderProps = [
2122
"border-radius",
2223
"border-width",
@@ -100,16 +101,20 @@ const transform = (css, options) => {
100101
}
101102

102103
if (
103-
rule.selectors[s].indexOf(".") !== 0 ||
104-
(rule.selectors[s].indexOf(":") !== -1 &&
105-
(options != null && options.parsePartSelectors
106-
? !cssPartRe.test(rule.selectors[s])
107-
: true)) ||
108-
rule.selectors[s].indexOf("[") !== -1 ||
109-
rule.selectors[s].indexOf("~") !== -1 ||
110-
rule.selectors[s].indexOf(">") !== -1 ||
111-
rule.selectors[s].indexOf("+") !== -1 ||
112-
rule.selectors[s].indexOf(" ") !== -1
104+
rootRe.test(rule.selectors[s])
105+
? false
106+
: (
107+
rule.selectors[s].indexOf(".") !== 0 ||
108+
(rule.selectors[s].indexOf(":") !== -1 &&
109+
(options != null && options.parsePartSelectors
110+
? !cssPartRe.test(rule.selectors[s])
111+
: true)) ||
112+
rule.selectors[s].indexOf("[") !== -1 ||
113+
rule.selectors[s].indexOf("~") !== -1 ||
114+
rule.selectors[s].indexOf(">") !== -1 ||
115+
rule.selectors[s].indexOf("+") !== -1 ||
116+
rule.selectors[s].indexOf(" ") !== -1
117+
)
113118
) {
114119
continue;
115120
}

0 commit comments

Comments
 (0)