UNPKG

4.06 kBTypeScriptView Raw
1import convert = require("color-convert");
2
3type ColorParam = Color | string | ArrayLike<number> | number | { [key: string]: any };
4
5interface Color<T extends ColorParam = ColorParam> {
6 toString(): string;
7 toJSON(): Color<T>;
8 string(places?: number): string;
9 percentString(places?: number): string;
10 array(): number[];
11 object(): { alpha?: number | undefined } & { [key: string]: number };
12 unitArray(): number[];
13 unitObject(): { r: number; g: number; b: number; alpha?: number | undefined };
14 round(places?: number): Color;
15 alpha(): number;
16 alpha(val: number): Color;
17 red(): number;
18 red(val: number): Color;
19 green(): number;
20 green(val: number): Color;
21 blue(): number;
22 blue(val: number): Color;
23 hue(): number;
24 hue(val: number): Color;
25 saturationl(): number;
26 saturationl(val: number): Color;
27 lightness(): number;
28 lightness(val: number): Color;
29 saturationv(): number;
30 saturationv(val: number): Color;
31 value(): number;
32 value(val: number): Color;
33 chroma(): number;
34 chroma(val: number): Color;
35 gray(): number;
36 gray(val: number): Color;
37 white(): number;
38 white(val: number): Color;
39 wblack(): number;
40 wblack(val: number): Color;
41 cyan(): number;
42 cyan(val: number): Color;
43 magenta(): number;
44 magenta(val: number): Color;
45 yellow(): number;
46 yellow(val: number): Color;
47 black(): number;
48 black(val: number): Color;
49 x(): number;
50 x(val: number): Color;
51 y(): number;
52 y(val: number): Color;
53 z(): number;
54 z(val: number): Color;
55 l(): number;
56 l(val: number): Color;
57 a(): number;
58 a(val: number): Color;
59 b(): number;
60 b(val: number): Color;
61 keyword(): string;
62 keyword<V extends string>(val: V): Color<V>;
63 hex(): string;
64 hex<V extends string>(val: V): Color<V>;
65 hexa(): string;
66 hexa<V extends string>(val: V): Color<V>;
67 rgbNumber(): number;
68 luminosity(): number;
69 contrast(color2: Color): number;
70 level(color2: Color): "AAA" | "AA" | "";
71 isDark(): boolean;
72 isLight(): boolean;
73 negate(): Color;
74 lighten(ratio: number): Color;
75 darken(ratio: number): Color;
76 saturate(ratio: number): Color;
77 desaturate(ratio: number): Color;
78 whiten(ratio: number): Color;
79 blacken(ratio: number): Color;
80 grayscale(): Color;
81 fade(ratio: number): Color;
82 opaquer(ratio: number): Color;
83 rotate(degrees: number): Color;
84 mix(mixinColor: Color, weight?: number): Color;
85
86 rgb(...args: number[]): Color;
87 hsl(...args: number[]): Color;
88 hsv(...args: number[]): Color;
89 hwb(...args: number[]): Color;
90 cmyk(...args: number[]): Color;
91 xyz(...args: number[]): Color;
92 lab(...args: number[]): Color;
93 lch(...args: number[]): Color;
94 ansi16(...args: number[]): Color;
95 ansi256(...args: number[]): Color;
96 hcg(...args: number[]): Color;
97 apple(...args: number[]): Color;
98}
99
100interface ColorConstructor {
101 <T extends ColorParam>(obj?: T, model?: keyof (typeof convert)): Color<T>;
102 new<T extends ColorParam>(obj?: T, model?: keyof (typeof convert)): Color<T>;
103 rgb(...val: number[]): Color;
104 rgb(color: ColorParam): Color;
105 hsl(...val: number[]): Color;
106 hsl(color: ColorParam): Color;
107 hsv(...val: number[]): Color;
108 hsv(color: ColorParam): Color;
109 hwb(...val: number[]): Color;
110 hwb(color: ColorParam): Color;
111 cmyk(...val: number[]): Color;
112 cmyk(color: ColorParam): Color;
113 xyz(...val: number[]): Color;
114 xyz(color: ColorParam): Color;
115 lab(...val: number[]): Color;
116 lab(color: ColorParam): Color;
117 lch(...val: number[]): Color;
118 lch(color: ColorParam): Color;
119 ansi16(...val: number[]): Color;
120 ansi16(color: ColorParam): Color;
121 ansi256(...val: number[]): Color;
122 ansi256(color: ColorParam): Color;
123 hcg(...val: number[]): Color;
124 hcg(color: ColorParam): Color;
125 apple(...val: number[]): Color;
126 apple(color: ColorParam): Color;
127}
128
129declare const Color: ColorConstructor;
130
131export = Color;