css-color-parser-h 3.0.3 → 3.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,219 @@
1
+ export interface ColorJson {
2
+ r: number;
3
+ g: number;
4
+ b: number;
5
+ a: number;
6
+ }
7
+
8
+ export default class CssColorParser {
9
+ r: number;
10
+ g: number;
11
+ b: number;
12
+ a: number;
13
+ private _outColorPrecision;
14
+ private _outAlphaPrecision;
15
+ constructor(
16
+ red?: number | string,
17
+ green?: number | string,
18
+ blue?: number | string,
19
+ alpha?: number | string
20
+ );
21
+ /**
22
+ * @description: 设置CssColorParser实例输出的精度
23
+ * @param {number} colorPrecision 输出颜色的精度
24
+ * @param {number} outAlphaPrecision 输出透明度的精度
25
+ * @return {CssColorParser}
26
+ */
27
+ setOutPrecision(
28
+ colorPrecision: number,
29
+ outAlphaPrecision: number
30
+ ): CssColorParser;
31
+ /**
32
+ * 设置颜色
33
+ * @param red
34
+ * @param green
35
+ * @param blue
36
+ * @param alpha
37
+ * @example: this.setColor(255,255,255,1)
38
+ */
39
+ setColor(
40
+ red?: number | string,
41
+ green?: number | string,
42
+ blue?: number | string,
43
+ alpha?: number | string
44
+ ): CssColorParser;
45
+ /**
46
+ * @description: 设置透明度
47
+ * @param {number} alpha
48
+ * @return {CssColorParser}
49
+ */
50
+ setAlpha(alpha?: number | string): CssColorParser;
51
+ /**
52
+ * @description: 设置红色值
53
+ * @param {number} red
54
+ * @return {CssColorParser}
55
+ */
56
+ setRed(red?: number | string): CssColorParser;
57
+ /**
58
+ * @description: 设置绿色值
59
+ * @param {number} green
60
+ * @return {CssColorParser}
61
+ */
62
+ setGreen(green?: number | string): CssColorParser;
63
+ /**
64
+ * @description: 设置蓝色值
65
+ * @param {number} blue
66
+ * @return {CssColorParser}
67
+ */
68
+ setBlue(blue?: number | string): CssColorParser;
69
+ /**
70
+ * @description: 返回rgba格式的css字符串
71
+ * @return {string}
72
+ */
73
+ toRGBA(): string;
74
+ /**
75
+ * @description: 返回字符串
76
+ * @return {string}
77
+ */
78
+ toString(): string;
79
+ /**
80
+ * @description: 归一化
81
+ * @return {array}
82
+ */
83
+ toNormalize(): [number, number, number, number];
84
+ /**
85
+ * @description: 返回16进制格式的css字符串
86
+ * @return {string}
87
+ */
88
+ toHEX(): string;
89
+ /**
90
+ * @description: 返回rgba数组
91
+ * @return {array}
92
+ */
93
+ toArray(): [number, number, number, number];
94
+ /**
95
+ * @description: 返回ColorJson
96
+ * @return {ColorJson}
97
+ */
98
+ toJson(): ColorJson;
99
+ /**
100
+ * @description: 返回取反色后的新的实例
101
+ * @return {CssColorParser}
102
+ */
103
+ toInvert(): CssColorParser;
104
+ /**
105
+ * @description: 拷贝
106
+ * @return {CssColorParser}
107
+ */
108
+ clone(): CssColorParser;
109
+ /**
110
+ * @description: 比较两个解析对象的数据是否相等
111
+ * @param {string} color
112
+ * @return {boolean}
113
+ */
114
+ equals(color: CssColorParser): boolean;
115
+ /**
116
+ * @description: 反色
117
+ * @return {CssColorParser}
118
+ */
119
+ setInvert(): CssColorParser;
120
+ /**
121
+ * @description: 乘以倍数
122
+ * @param {number} scalar
123
+ * @param {boolean} isSetAlpha 透明度值是否参与计算(默认:是)
124
+ * @return {CssColorParser}
125
+ */
126
+ multiplyByScalar(scalar: number, isSetAlpha?: boolean): CssColorParser;
127
+ /**
128
+ * @description: 除以倍数
129
+ * @param {number} scalar
130
+ * @param {boolean} isSetAlpha 透明度值是否参与计算(默认:是)
131
+ * @return {CssColorParser}
132
+ */
133
+ divideByScalar(scalar: number, isSetAlpha?: boolean): CssColorParser;
134
+ /**
135
+ * @description: 实例相加
136
+ * @param {CssColorParser} colorParser
137
+ * @param {boolean} isSetAlpha 透明度值是否参与计算(默认:是)
138
+ * @return {CssColorParser}
139
+ */
140
+ add(colorParser: CssColorParser, isSetAlpha?: boolean): CssColorParser;
141
+ /**
142
+ * @description: 实例相减
143
+ * @param {CssColorParser} colorParser
144
+ * @param {boolean} isSetAlpha 透明度值是否参与计算(默认:是)
145
+ * @return {CssColorParser}
146
+ */
147
+ subtract(colorParser: CssColorParser, isSetAlpha?: boolean): CssColorParser;
148
+ /**
149
+ * @description: 实例相乘
150
+ * @param {CssColorParser} colorParser
151
+ * @param {boolean} isSetAlpha 透明度值是否参与计算(默认:是)
152
+ * @return {CssColorParser}
153
+ */
154
+ multiply(colorParser: CssColorParser, isSetAlpha?: boolean): CssColorParser;
155
+ /**
156
+ * @description: 实例相除
157
+ * @param {CssColorParser} colorParser
158
+ * @param {boolean} isSetAlpha 透明度值是否参与计算(默认:是)
159
+ * @return {CssColorParser}
160
+ */
161
+ divide(colorParser: CssColorParser, isSetAlpha?: boolean): CssColorParser;
162
+ /**
163
+ * @description: 颜色RGB加上数字
164
+ * @param {number} num
165
+ * @return {CssColorParser}
166
+ */
167
+ addNumberForRGB(num: number): CssColorParser;
168
+ /**
169
+ * @description: 透明度加上数字
170
+ * @param {number} num
171
+ * @return {CssColorParser}
172
+ */
173
+ addNumberForAlpha(num: number): CssColorParser;
174
+ /**
175
+ * @description: 解析16进制颜色
176
+ * @param {string} v
177
+ * @return {CssColorParser}
178
+ * @example: CssColorParser.parseHEX('#FFF')
179
+ */
180
+ static parseHEX(v: string): CssColorParser;
181
+ /**
182
+ * @description: 解析rgba、rgb颜色
183
+ * @param {string} v
184
+ * @return {CssColorParser}
185
+ * @example: CssColorParser.parseRGBA('rgba(255,255,255,1)')
186
+ */
187
+ static parseRGBA(v: string): CssColorParser;
188
+ /**
189
+ * @description: 将ColorJson格式的json数据转换为解析对象
190
+ * @param {ColorJson} json
191
+ * @return {CssColorParser}
192
+ * @example: CssColorParser.fromJson({r: 255, g: 255, b: 255, a: 1})
193
+ */
194
+ static fromJson(json: ColorJson): CssColorParser;
195
+ /**
196
+ * @description: 将RGBA数组转换为解析对象
197
+ * @param {Array} color
198
+ * @return {CssColorParser}
199
+ * @example: CssColorParser.fromArray([255,255,255,1])
200
+ */
201
+ static fromArray(color: Array<number>): CssColorParser;
202
+ /**
203
+ * @description: 产生随机颜色
204
+ * @return {CssColorParser}
205
+ * @example: CssColorParser.fromRandom(new CssColorParser(0,0,0,0), new CssColorParser(255,255,255,1))
206
+ */
207
+ static fromRandom(
208
+ color1: CssColorParser,
209
+ color2: CssColorParser
210
+ ): CssColorParser;
211
+ /**
212
+ * @description: 颜色序列化数组转换为CssColorParser对象实例
213
+ * @param {array} colorArr
214
+ * @example: CssColorParser.fromNormaliz([1, 0, 0, 1])
215
+ */
216
+ static fromNormalize(
217
+ colorArr: [number, number, number, number]
218
+ ): CssColorParser;
219
+ }
@@ -0,0 +1,175 @@
1
+ import CssColorParser from "./CssColorParser";
2
+ export interface ColorJson {
3
+ r: number;
4
+ g: number;
5
+ b: number;
6
+ a: number;
7
+ }
8
+ export default class CssColorParserPlus extends CssColorParser {
9
+ /**
10
+ * @description: 返回取反色后的新的实例
11
+ * @return {CssColorParserPlus}
12
+ */
13
+ toInvert(): CssColorParserPlus;
14
+ /**
15
+ * @description: 拷贝
16
+ * @return {CssColorParserPlus}
17
+ */
18
+ clone(): CssColorParserPlus;
19
+ /**
20
+ * @description: 比较两个解析对象的数据是否相等
21
+ * @param {string} color
22
+ * @return {boolean}
23
+ */
24
+ equals(color: CssColorParserPlus | string): boolean;
25
+ /**
26
+ * @description: 实例相加
27
+ * @param {CssColorParserPlus} colorParser
28
+ * @param {boolean} isSetAlpha 透明度值是否参与计算(默认:是)
29
+ * @return {CssColorParserPlus}
30
+ */
31
+ add(
32
+ color: CssColorParserPlus | string,
33
+ isSetAlpha?: boolean
34
+ ): CssColorParserPlus;
35
+ /**
36
+ * @description: 实例相减
37
+ * @param {CssColorParserPlus} colorParser
38
+ * @param {boolean} isSetAlpha 透明度值是否参与计算(默认:是)
39
+ * @return {CssColorParserPlus}
40
+ */
41
+ subtract(
42
+ color: CssColorParserPlus | string,
43
+ isSetAlpha?: boolean
44
+ ): CssColorParserPlus;
45
+ /**
46
+ * @description: 实例相乘
47
+ * @param {CssColorParserPlus} colorParser
48
+ * @param {boolean} isSetAlpha 透明度值是否参与计算(默认:是)
49
+ * @return {CssColorParserPlus}
50
+ */
51
+ multiply(
52
+ color: CssColorParserPlus | string,
53
+ isSetAlpha?: boolean
54
+ ): CssColorParserPlus;
55
+ /**
56
+ * @description: 实例相除
57
+ * @param {CssColorParserPlus} colorParser
58
+ * @param {boolean} isSetAlpha 透明度值是否参与计算(默认:是)
59
+ * @return {CssColorParserPlus}
60
+ */
61
+ divide(
62
+ color: CssColorParserPlus | string,
63
+ isSetAlpha?: boolean
64
+ ): CssColorParserPlus;
65
+ /**
66
+ * @description: 解析css颜色
67
+ * @param {string} v
68
+ * @return {CssColorParserPlus}
69
+ * @example: parseCssColorStr('rgba(255,255,255,1)')
70
+ */
71
+ static parseColor(v: string | CssColorParserPlus): CssColorParserPlus;
72
+ /**
73
+ * @description: 将css字符串转换为解析对象
74
+ * @param {string} v
75
+ * @return {CssColorParserPlus}
76
+ * @example: parseCssColorStr('rgba(255,255,255,1)')
77
+ */
78
+ static parseCssColorStr(v: string): CssColorParserPlus;
79
+ /**
80
+ * @description: 解析颜色关键字
81
+ * @param {string} v
82
+ * @return {CssColorParserPlus}
83
+ * @example: parseKeyWord('red')
84
+ */
85
+ static parseKeyWord(v: string): CssColorParserPlus;
86
+ /**
87
+ * @description: 解析HSLA
88
+ * @param {string} v
89
+ * @return {CssColorParserPlus}
90
+ * @example: parseHSLA('hsla(215,85%,62%,0.8)')
91
+ */
92
+ static parseHSLA(v: string): CssColorParserPlus;
93
+ /**
94
+ * @description: 解析HWB
95
+ * @param {string} v
96
+ * @return {CssColorParserPlus}
97
+ * @example: parseHWB('hwb(215deg 30% 6% / 80%)')
98
+ */
99
+ static parseHWB(v: string): CssColorParserPlus;
100
+ /**
101
+ * @description: 将HSL色彩模式转换为解析对象
102
+ * @param {number} hue 色相
103
+ * @param {number} saturation 饱和度
104
+ * @param {number} lightness 亮度
105
+ * @param {number} alpha 不透明度
106
+ * @return {CssColorParserPlus}
107
+ * @example: fromHSL(0,1,1,1)
108
+ */
109
+ static fromHSL(
110
+ h: number,
111
+ s: number,
112
+ l: number,
113
+ a?: number
114
+ ): CssColorParserPlus;
115
+ /**
116
+ * @description: 将HWB色彩模式转换为解析对象
117
+ * @param {number} h 色调
118
+ * @param {number} w 白度
119
+ * @param {number} b 黑度
120
+ * @param {number} a 不透明度
121
+ * @return {CssColorParserPlus}
122
+ * @example: fromHSL(0,1,1,1)
123
+ */
124
+ static fromHWB(
125
+ h: number,
126
+ w: number,
127
+ b: number,
128
+ a?: number
129
+ ): CssColorParserPlus;
130
+ /**
131
+ * @description: 解析16进制颜色
132
+ * @param {string} v
133
+ * @return {CssColorParserPlus}
134
+ * @example: CssColorParserPlus.parseHEX('#FFF')
135
+ */
136
+ static parseHEX(v: string): CssColorParserPlus;
137
+ /**
138
+ * @description: 解析rgba、rgb颜色
139
+ * @param {string} v
140
+ * @return {CssColorParserPlus}
141
+ * @example: CssColorParserPlus.parseRGBA('rgba(255,255,255,1)')
142
+ */
143
+ static parseRGBA(v: string): CssColorParserPlus;
144
+ /**
145
+ * @description: 将ColorJson格式的json数据转换为解析对象
146
+ * @param {ColorJson} json
147
+ * @return {CssColorParserPlus}
148
+ * @example: CssColorParserPlus.fromJson({r: 255, g: 255, b: 255, a: 1})
149
+ */
150
+ static fromJson(json: ColorJson): CssColorParserPlus;
151
+ /**
152
+ * @description: 将RGBA数组转换为解析对象
153
+ * @param {Array} color
154
+ * @return {CssColorParserPlus}
155
+ * @example: CssColorParserPlus.fromArray([255,255,255,1])
156
+ */
157
+ static fromArray(color: Array<number>): CssColorParserPlus;
158
+ /**
159
+ * @description: 产生随机颜色
160
+ * @return {CssColorParserPlus}
161
+ * @example: CssColorParserPlus.fromRandom('black', new CssColorParserPlus(255,255,255,1))
162
+ */
163
+ static fromRandom(
164
+ color1: CssColorParserPlus | string,
165
+ color2: CssColorParserPlus | string
166
+ ): CssColorParserPlus;
167
+ /**
168
+ * @description: 颜色序列化数组转换为CssColorParserPlus对象实例
169
+ * @param {array} colorArr
170
+ * @example: CssColorParserPlus.fromNormaliz([1, 0, 0, 1])
171
+ */
172
+ static fromNormalize(
173
+ colorArr: [number, number, number, number]
174
+ ): CssColorParserPlus;
175
+ }