diff --git a/color/color-common.ts b/color/color-common.ts index 837af9b46..fa7d56492 100644 --- a/color/color-common.ts +++ b/color/color-common.ts @@ -3,7 +3,7 @@ import types = require("utils/types"); import knownColors = require("color/known-colors"); var AMP = "#"; -var HEX_REGEX = /(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i; +var HEX_REGEX = /(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$|(^#[0-9A-F]{8}$)/i; export class Color implements definition.Color { private _a: number; @@ -108,7 +108,11 @@ export class Color implements definition.Color { return value1.equals(value2); } - public static isValid(value: string): boolean { + public static isValid(value: any): boolean { + if (types.isNullOrUndefined(value) || value instanceof Color) { + return true; + } + if (!types.isString(value)) { return false; } diff --git a/color/color.d.ts b/color/color.d.ts index f97088317..5b97b5bfc 100644 --- a/color/color.d.ts +++ b/color/color.d.ts @@ -70,9 +70,9 @@ declare module "color" { public static equals(value1: Color, value2: Color): boolean; /** - * Validates if a string value can be converted to color. + * Validates if a value can be converted to color. * @param value Input string. */ - public static isValid(value: string): boolean; + public static isValid(value: any): boolean; } } \ No newline at end of file