From c3cb687db63caa09a5c6627ac523f1dce7a8396f Mon Sep 17 00:00:00 2001 From: tophf Date: Tue, 26 Dec 2017 11:51:48 +0300 Subject: [PATCH] CSSLint: CSS Transforms Module Level 1 (WD 2017-11-14) https://drafts.csswg.org/css-transforms/ --- vendor-overwrites/csslint/csslint-worker.js | 39 +++++++++++++++++++-- 1 file changed, 36 insertions(+), 3 deletions(-) diff --git a/vendor-overwrites/csslint/csslint-worker.js b/vendor-overwrites/csslint/csslint-worker.js index 078ca906..af4fc46e 100644 --- a/vendor-overwrites/csslint/csslint-worker.js +++ b/vendor-overwrites/csslint/csslint-worker.js @@ -3902,8 +3902,9 @@ var Properties = module.exports = { "top" : "", "-ms-touch-action" : "auto | none | pan-x | pan-y | pan-left | pan-right | pan-up | pan-down | manipulation", "touch-action" : "auto | none | pan-x | pan-y | pan-left | pan-right | pan-up | pan-down | manipulation", - "transform" : 1, - "transform-origin" : 1, + "transform" : "none | +", + "transform-box" : "border-box | fill-box | view-box", + "transform-origin" : "", "transform-style" : 1, "transition" : 1, "transition-delay" : 1, @@ -6328,6 +6329,8 @@ copy(ValidationTypes, { } }, + "": " | ", + "": function(part) { return part.type === "integer"; }, @@ -6395,6 +6398,32 @@ copy(ValidationTypes, { return part.type === "time"; }, + "": function(part) { + const name = part.name.toLowerCase(); + const parts = part.expr && part.expr.parts; + const len = parts && parts.length; + if (!len) return false; + const p0 = parts[0]; + return ( + name === 'matrix' ? len % 2 && len <= 11 && + parts.every((p, i) => i % 2 ? p.text === ',' : this[''](p)) : + name === 'translate' ? len % 2 && len <= 3 && + parts.every((p, i) => i % 2 ? p.text === ',' : this[''](p)) : + name === 'translatex' ? len === 1 && this[''](p0) : + name === 'translatey' ? len === 1 && this[''](p0) : + name === 'scale' ? len % 2 && len <= 3 && + parts.every((p, i) => i % 2 ? p.text === ',' : this[''](p)) : + name === 'scalex' ? len === 1 && this[''](p0) : + name === 'scaley' ? len === 1 && this[''](p0) : + name === 'rotate' ? len === 1 && p0.text === '0' || this[''](p0) : + name === 'skew' ? len % 2 && len <= 3 && + parts.every((p, i) => i % 2 ? p.text === ',' : p.text === '0' || this[''](p)) : + name === 'skewx' ? len === 1 && p0.text === '0' || this[''](p0) : + name === 'skewy' ? len === 1 && p0.text === '0' || this[''](p0) : + false + ); + }, + "": function(part) { return /^U\+[0-9a-f?]{1,6}(-[0-9a-f?]{1,6})?\s*$/i.test(part); }, @@ -6527,7 +6556,6 @@ copy(ValidationTypes, { "": "repeat( [ ] , [ ? ]+ ? )", "": " | minmax( , ) | minmax( , )", "": " | min-content | max-content | auto", - "": " | ", "": "[ * ]", "": " | | min-content | max-content | auto", "": "[ ? [ | ] ]+ ?", @@ -6580,6 +6608,11 @@ copy(ValidationTypes, { "": "solid | double | dotted | dashed | wavy", + "": + "[ left | center | right | ] [ top | center | bottom | ] ? | " + + "[ left | center | right | top | bottom | ] | " + + "[ [ center | left | right ] && [ center | top | bottom ] ] ?", + "": "auto | #",