parse static method
Implementation
static CSSColorHEX? parse(String color) {
var match = patternHex.firstMatch(color);
if (match == null) return null;
var hex = match.group(1);
hex ??= match.group(2);
if (hex!.length == 3) {
var r = hex.substring(0, 1);
var g = hex.substring(1, 2);
var b = hex.substring(2, 3);
var nR = _parseHex('$r$r');
var nG = _parseHex('$g$g');
var nB = _parseHex('$b$b');
return CSSColorHEX._(nR, nG, nB);
} else if (hex.length == 6) {
var r = hex.substring(0, 2);
var g = hex.substring(2, 4);
var b = hex.substring(4, 6);
var nR = _parseHex(r);
var nG = _parseHex(g);
var nB = _parseHex(b);
return CSSColorHEX._(nR, nG, nB);
} else if (hex.length == 8) {
var r = hex.substring(0, 2);
var g = hex.substring(2, 4);
var b = hex.substring(4, 6);
var a = hex.substring(6, 8);
var nR = _parseHex(r);
var nG = _parseHex(g);
var nB = _parseHex(b);
var nA = _parseHex(a);
var alpha = nA / 255;
return CSSColorHEXAlpha._(nR, nG, nB, alpha);
}
return null;
}