diff --git a/src/index.js b/src/index.js index 7cc2bf6..0304360 100644 --- a/src/index.js +++ b/src/index.js @@ -17,6 +17,7 @@ const viewportUnitRe = /^([+-]?[0-9.]+)(vh|vw|vmin|vmax)$/; const percentRe = /^([+-]?(?:\d*\.)?\d+(?:[Ee][+-]?\d+)?%)$/; const unsupportedUnitRe = /^([+-]?(?:\d*\.)?\d+(?:[Ee][+-]?\d+)?(ch|em|ex|cm|mm|in|pc|pt))$/; const cssPartRe = /::?part\(([^)]+)\)/; +const rootRe = /:root/; const shorthandBorderProps = [ "border-radius", "border-width", @@ -100,16 +101,20 @@ const transform = (css, options) => { } if ( - rule.selectors[s].indexOf(".") !== 0 || - (rule.selectors[s].indexOf(":") !== -1 && - (options != null && options.parsePartSelectors - ? !cssPartRe.test(rule.selectors[s]) - : true)) || - rule.selectors[s].indexOf("[") !== -1 || - rule.selectors[s].indexOf("~") !== -1 || - rule.selectors[s].indexOf(">") !== -1 || - rule.selectors[s].indexOf("+") !== -1 || - rule.selectors[s].indexOf(" ") !== -1 + rootRe.test(rule.selectors[s]) + ? false + : ( + rule.selectors[s].indexOf(".") !== 0 || + (rule.selectors[s].indexOf(":") !== -1 && + (options != null && options.parsePartSelectors + ? !cssPartRe.test(rule.selectors[s]) + : true)) || + rule.selectors[s].indexOf("[") !== -1 || + rule.selectors[s].indexOf("~") !== -1 || + rule.selectors[s].indexOf(">") !== -1 || + rule.selectors[s].indexOf("+") !== -1 || + rule.selectors[s].indexOf(" ") !== -1 + ) ) { continue; }