isCssColor function
Check correctness of color string according to https://drafts.csswg.org/css-color-3
Implementation
bool isCssColor(String color) {
color = color.trim();
final chNumExpr = '-?[0-9]{1,3}(\\.[0-9]+)?';
final opNumExpr = '-?([01]+(\\.[0-9]+)?|\\.[0-9]+)';
if (RegExp(
r'^#([0-9a-fA-F]{3}|[0-9a-fA-F]{4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$',
).hasMatch(color)) {
return true;
} else if (RegExp(
'^rgba?\\($chNumExpr%,\\s?$chNumExpr%,\\s?$chNumExpr%(,\\s?$opNumExpr)?\\)\$',
).hasMatch(color)) {
return true;
} else if (RegExp(
'^rgba?\\($chNumExpr,\\s?$chNumExpr,\\s?$chNumExpr(,\\s?$opNumExpr)?\\)\$',
).hasMatch(color)) {
return true;
} else if (RegExp(
'^hsla?\\($chNumExpr,\\s?$chNumExpr%,\\s?$chNumExpr%(,\\s?$opNumExpr)?\\)\$',
).hasMatch(color)) {
return true;
} else if (colorKeywords.containsKey(color)) {
return true;
} else {
return false;
}
}