diff --git a/lib/parsers.js b/lib/parsers.js index 8ecdf5e3..d3e88f85 100644 --- a/lib/parsers.js +++ b/lib/parsers.js @@ -24,7 +24,7 @@ exports.TYPES = { // rough regular expressions var integerRegEx = /^[-+]?[0-9]+$/; var numberRegEx = /^[-+]?[0-9]*\.?[0-9]+$/; -var lengthRegEx = /^(0|[-+]?[0-9]*\.?[0-9]+(in|cm|em|mm|pt|pc|px|ex|rem|vh|vw|ch))$/; +var lengthRegEx = /^(0|[-+]?[0-9]*\.?[0-9]+(ch|cm|r?em|ex|in|lh|mm|pc|pt|px|Q|vh|vmin|vmax|vw))$/; var percentRegEx = /^[-+]?[0-9]*\.?[0-9]+%$/; var urlRegEx = /^url\(\s*([^)]*)\s*\)$/; var stringRegEx = /^("[^"]*"|'[^']*')$/; @@ -33,7 +33,7 @@ var colorRegEx2 = /^rgb\(([^)]*)\)$/; var colorRegEx3 = /^rgba\(([^)]*)\)$/; var calcRegEx = /^calc\(([^)]*)\)$/; var colorRegEx4 = /^hsla?\(\s*(-?\d+|-?\d*.\d+)\s*,\s*(-?\d+|-?\d*.\d+)%\s*,\s*(-?\d+|-?\d*.\d+)%\s*(,\s*(-?\d+|-?\d*.\d+)\s*)?\)/; -var angleRegEx = /^([-+]?[0-9]*\.?[0-9]+)(deg|grad|rad)$/; +var angleRegEx = /^([-+]?[0-9]*\.?[0-9]+)(deg|grad|rad|turn)$/; // This will return one of the above types based on the passed in string exports.valueType = function valueType(val) { @@ -418,6 +418,8 @@ exports.parseAngle = function parseAngle(val) { flt *= 180 / Math.PI; } else if (res[2] === 'grad') { flt *= 360 / 400; + } else if (res[2] === 'turn') { + flt *= 360; } while (flt < 0) {