css-color-parser-h 2.0.4 → 3.0.0

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.
package/@types/index.d.ts CHANGED
@@ -2,7 +2,7 @@
2
2
  * @Author: roman_123
3
3
  * @Description:
4
4
  * @Date: 2023-05-26 13:29:45
5
- * @LastEditTime: 2023-06-03 13:23:36
5
+ * @LastEditTime: 2023-06-27 19:23:00
6
6
  */
7
7
  declare module 'css-color-parser-h' {
8
8
  class ColorJson {
@@ -11,125 +11,29 @@ declare module 'css-color-parser-h' {
11
11
  b: number
12
12
  a: number
13
13
  }
14
- /**
15
- * @description: 解析颜色关键字
16
- * @param {string} v
17
- * @return {CssColorParser}
18
- * @example: parseKeyWord('red')
19
- */
20
- export function parseKeyWord(v: string): CssColorParser
21
- /**
22
- * @description: 解析16进制字符串
23
- * @param {string} v
24
- * @return {CssColorParser}
25
- * @example: parseHEX('#FFF')
26
- */
27
- export function parseHEX(v: string): CssColorParser
28
- /**
29
- * @description: 解析RGBA
30
- * @param {string} v
31
- * @return {CssColorParser}
32
- * @example: parseRGBA('rgba(255,255,255,1)')
33
- */
34
- export function parseRGBA(v: string): CssColorParser
35
- /**
36
- * @description: 解析HSLA
37
- * @param {string} v
38
- * @return {CssColorParser}
39
- * @example: parseHSLA('hsla(215,85%,62%,0.8)')
40
- */
41
- export function parseHSLA(v: string): CssColorParser
42
- /**
43
- * @description: 解析HWB
44
- * @param {string} v
45
- * @return {CssColorParser}
46
- * @example: parseHWB('hwb(215deg 30% 6% / 80%)')
47
- */
48
- export function parseHWB(v: string): CssColorParser
49
- /**
50
- * @description: 将css字符串转换为解析对象
51
- * @param {string} v
52
- * @return {CssColorParser}
53
- * @example: parseCssColorStr('rgba(255,255,255,1)')
54
- */
55
- export function parseCssColorStr(v: string): CssColorParser
56
- /**
57
- * **Deprecated method.** Use `parseCssColorStr()` instead.
58
- * @description: since 2.0.1
59
- * @deprecated
60
- * @param {string} v
61
- * @return {CssColorParser}
62
- * @example: fromColorStr('rgba(255,255,255,1)')
63
- */
64
- export function fromColorStr(v: string): CssColorParser
65
- /**
66
- * @description: 将HSL色彩模式转换为解析对象
67
- * @param {number} hue 色相
68
- * @param {number} saturation 饱和度
69
- * @param {number} lightness 亮度
70
- * @param {number} alpha 不透明度
71
- * @return {CssColorParser}
72
- * @example: fromHSL(0,1,1,1)
73
- */
74
- export function fromHSL(
75
- h: number,
76
- s: number,
77
- l: number,
78
- a?: number
79
- ): CssColorParser
80
- /**
81
- * @description: 将HWB色彩模式转换为解析对象
82
- * @param {number} h 色调
83
- * @param {number} w 白度
84
- * @param {number} b 黑度
85
- * @param {number} a 不透明度
86
- * @return {CssColorParser}
87
- * @example: fromHSL(0,1,1,1)
88
- */
89
- export function fromHWB(
90
- h: number,
91
- w: number,
92
- b: number,
93
- a?: number
94
- ): CssColorParser
95
- /**
96
- * @description: 产生随机颜色
97
- * @return {CssColorParser}
98
- * @example: fromRandom('#000', ''#fff)
99
- */
100
- export function fromRandom(
101
- color1: string | CssColorParser,
102
- color2: string | CssColorParser
103
- ): CssColorParser
104
- /**
105
- * @description: 将ColorJson格式的json数据转换为解析对象
106
- * @param {ColorJson} json
107
- * @return {CssColorParser}
108
- * @author: roman_123
109
- */
110
- export function fromJson(json: ColorJson): CssColorParser
111
- /**
112
- * @description: 将rgba数组转换为解析对象
113
- * @param {Array} color
114
- * @return {CssColorParser}
115
- * @author: roman_123
116
- */
117
- export function fromArray(color: Array<number>): CssColorParser
118
14
  export class CssColorParser {
119
- r: number;
120
- g: number;
121
- b: number;
122
- a: number;
123
- private _outColorPrecision;
124
- private _outAlphaPrecision;
125
- constructor(red?: number | string, green?: number | string, blue?: number | string, alpha?: number | string);
15
+ r: number
16
+ g: number
17
+ b: number
18
+ a: number
19
+ private _outColorPrecision
20
+ private _outAlphaPrecision
21
+ constructor(
22
+ red?: number | string,
23
+ green?: number | string,
24
+ blue?: number | string,
25
+ alpha?: number | string
26
+ )
126
27
  /**
127
28
  * @description: 设置CssColorParser实例输出的精度
128
29
  * @param {number} colorPrecision 输出颜色的精度
129
30
  * @param {number} outAlphaPrecision 输出透明度的精度
130
31
  * @return {CssColorParser}
131
32
  */
132
- setOutPrecision(colorPrecision: number, outAlphaPrecision: number): CssColorParser;
33
+ setOutPrecision(
34
+ colorPrecision: number,
35
+ outAlphaPrecision: number
36
+ ): CssColorParser
133
37
  /**
134
38
  * 设置颜色
135
39
  * @param red
@@ -138,175 +42,347 @@ declare module 'css-color-parser-h' {
138
42
  * @param alpha
139
43
  * @example: this.setColor(255,255,255,1)
140
44
  */
141
- setColor(red?: number | string, green?: number | string, blue?: number | string, alpha?: number | string): CssColorParser;
45
+ setColor(
46
+ red?: number | string,
47
+ green?: number | string,
48
+ blue?: number | string,
49
+ alpha?: number | string
50
+ ): CssColorParser
142
51
  /**
143
52
  * @description: 设置透明度
144
53
  * @param {number} alpha
145
54
  * @return {CssColorParser}
146
55
  */
147
- setAlpha(alpha?: number | string): CssColorParser;
56
+ setAlpha(alpha?: number | string): CssColorParser
148
57
  /**
149
58
  * @description: 设置红色值
150
59
  * @param {number} red
151
60
  * @return {CssColorParser}
152
61
  */
153
- setRed(red?: number | string): CssColorParser;
62
+ setRed(red?: number | string): CssColorParser
154
63
  /**
155
64
  * @description: 设置绿色值
156
65
  * @param {number} green
157
66
  * @return {CssColorParser}
158
67
  */
159
- setGreen(green?: number | string): CssColorParser;
68
+ setGreen(green?: number | string): CssColorParser
160
69
  /**
161
70
  * @description: 设置蓝色值
162
71
  * @param {number} blue
163
72
  * @return {CssColorParser}
164
73
  */
165
- setBlue(blue?: number | string): CssColorParser;
74
+ setBlue(blue?: number | string): CssColorParser
166
75
  /**
167
76
  * @description: 返回rgba格式的css字符串
168
77
  * @return {string}
169
78
  */
170
- toRGBA(): string;
79
+ toRGBA(): string
171
80
  /**
172
81
  * @description: 返回字符串
173
82
  * @return {string}
174
83
  */
175
- toString(): string;
84
+ toString(): string
176
85
  /**
177
86
  * @description: 归一化
178
87
  * @return {array}
179
88
  */
180
- toNormalize(): [number, number, number, number];
89
+ toNormalize(): [number, number, number, number]
181
90
  /**
182
91
  * @description: 返回16进制格式的css字符串
183
92
  * @return {string}
184
93
  */
185
- toHEX(): string;
94
+ toHEX(): string
186
95
  /**
187
96
  * @description: 返回rgba数组
188
97
  * @return {array}
189
98
  */
190
- toArray(): [number, number, number, number];
99
+ toArray(): [number, number, number, number]
191
100
  /**
192
101
  * @description: 返回ColorJson
193
102
  * @return {ColorJson}
194
103
  */
195
- toJson(): ColorJson;
104
+ toJson(): ColorJson
196
105
  /**
197
- * @description: 返回反色的CssColorParser实例
106
+ * @description: 返回取反色后的新的实例
198
107
  * @return {CssColorParser}
199
108
  */
200
- toInvert(): CssColorParser;
109
+ toInvert(): CssColorParser
201
110
  /**
202
111
  * @description: 拷贝
203
112
  * @return {CssColorParser}
204
113
  */
205
- clone(): CssColorParser;
114
+ clone(): CssColorParser
206
115
  /**
207
116
  * @description: 比较两个解析对象的数据是否相等
208
117
  * @param {string} color
209
118
  * @return {boolean}
210
119
  */
211
- equals(color: CssColorParser): boolean;
120
+ equals(color: CssColorParser): boolean
212
121
  /**
213
122
  * @description: 反色
214
123
  * @return {CssColorParser}
215
124
  */
216
- setInvert(): CssColorParser;
125
+ setInvert(): CssColorParser
217
126
  /**
218
127
  * @description: 乘以倍数
219
128
  * @param {number} scalar
220
129
  * @param {boolean} isSetAlpha 透明度值是否参与计算(默认:是)
221
130
  * @return {CssColorParser}
222
131
  */
223
- multiplyByScalar(scalar: number, isSetAlpha?: boolean): CssColorParser;
132
+ multiplyByScalar(scalar: number, isSetAlpha?: boolean): CssColorParser
224
133
  /**
225
134
  * @description: 除以倍数
226
135
  * @param {number} scalar
227
136
  * @param {boolean} isSetAlpha 透明度值是否参与计算(默认:是)
228
137
  * @return {CssColorParser}
229
138
  */
230
- divideByScalar(scalar: number, isSetAlpha?: boolean): CssColorParser;
139
+ divideByScalar(scalar: number, isSetAlpha?: boolean): CssColorParser
231
140
  /**
232
141
  * @description: 实例相加
233
142
  * @param {CssColorParser} colorParser
234
143
  * @param {boolean} isSetAlpha 透明度值是否参与计算(默认:是)
235
144
  * @return {CssColorParser}
236
145
  */
237
- add(colorParser: CssColorParser, isSetAlpha?: boolean): CssColorParser;
146
+ add(colorParser: CssColorParser, isSetAlpha?: boolean): CssColorParser
238
147
  /**
239
148
  * @description: 实例相减
240
149
  * @param {CssColorParser} colorParser
241
150
  * @param {boolean} isSetAlpha 透明度值是否参与计算(默认:是)
242
151
  * @return {CssColorParser}
243
152
  */
244
- subtract(colorParser: CssColorParser, isSetAlpha?: boolean): CssColorParser;
153
+ subtract(colorParser: CssColorParser, isSetAlpha?: boolean): CssColorParser
245
154
  /**
246
155
  * @description: 实例相乘
247
156
  * @param {CssColorParser} colorParser
248
157
  * @param {boolean} isSetAlpha 透明度值是否参与计算(默认:是)
249
158
  * @return {CssColorParser}
250
159
  */
251
- multiply(colorParser: CssColorParser, isSetAlpha?: boolean): CssColorParser;
160
+ multiply(colorParser: CssColorParser, isSetAlpha?: boolean): CssColorParser
252
161
  /**
253
162
  * @description: 实例相除
254
163
  * @param {CssColorParser} colorParser
255
164
  * @param {boolean} isSetAlpha 透明度值是否参与计算(默认:是)
256
165
  * @return {CssColorParser}
257
166
  */
258
- divide(colorParser: CssColorParser, isSetAlpha?: boolean): CssColorParser;
167
+ divide(colorParser: CssColorParser, isSetAlpha?: boolean): CssColorParser
259
168
  /**
260
169
  * @description: 颜色RGB加上数字
261
170
  * @param {number} num
262
171
  * @return {CssColorParser}
263
172
  */
264
- addNumberForRGB(num: number): CssColorParser;
173
+ addNumberForRGB(num: number): CssColorParser
265
174
  /**
266
175
  * @description: 透明度加上数字
267
176
  * @param {number} num
268
177
  * @return {CssColorParser}
269
178
  */
270
- addNumberForAlpha(num: number): CssColorParser;
179
+ addNumberForAlpha(num: number): CssColorParser
271
180
  /**
272
181
  * @description: 解析16进制颜色
273
182
  * @param {string} v
274
183
  * @return {CssColorParser}
275
184
  * @example: CssColorParser.parseHEX('#FFF')
276
185
  */
277
- static parseHEX(v: string): CssColorParser;
186
+ static parseHEX(v: string): CssColorParser
278
187
  /**
279
188
  * @description: 解析rgba、rgb颜色
280
189
  * @param {string} v
281
190
  * @return {CssColorParser}
282
191
  * @example: CssColorParser.parseRGBA('rgba(255,255,255,1)')
283
192
  */
284
- static parseRGBA(v: string): CssColorParser;
193
+ static parseRGBA(v: string): CssColorParser
285
194
  /**
286
195
  * @description: 将ColorJson格式的json数据转换为解析对象
287
196
  * @param {ColorJson} json
288
197
  * @return {CssColorParser}
289
198
  * @example: CssColorParser.fromJson({r: 255, g: 255, b: 255, a: 1})
290
199
  */
291
- static fromJson(json: ColorJson): CssColorParser;
200
+ static fromJson(json: ColorJson): CssColorParser
292
201
  /**
293
202
  * @description: 将RGBA数组转换为解析对象
294
203
  * @param {Array} color
295
204
  * @return {CssColorParser}
296
205
  * @example: CssColorParser.fromArray([255,255,255,1])
297
206
  */
298
- static fromArray(color: Array<number>): CssColorParser;
207
+ static fromArray(color: Array<number>): CssColorParser
299
208
  /**
300
209
  * @description: 产生随机颜色
301
210
  * @return {CssColorParser}
302
211
  * @example: CssColorParser.fromRandom(new CssColorParser(0,0,0,0), new CssColorParser(255,255,255,1))
303
212
  */
304
- static fromRandom(color1: CssColorParser, color2: CssColorParser): CssColorParser;
213
+ static fromRandom(
214
+ color1: CssColorParser,
215
+ color2: CssColorParser
216
+ ): CssColorParser
305
217
  /**
306
218
  * @description: 颜色序列化数组转换为CssColorParser对象实例
307
219
  * @param {array} colorArr
308
220
  * @example: CssColorParser.fromNormaliz([1, 0, 0, 1])
309
221
  */
310
- static fromNormalize(colorArr: [number, number, number, number]): CssColorParser;
222
+ static fromNormalize(
223
+ colorArr: [number, number, number, number]
224
+ ): CssColorParser
225
+ }
226
+ export class CssColorParserPlus extends CssColorParser {
227
+ /**
228
+ * @description: 返回取反色后的新的实例
229
+ * @return {CssColorParserPlus}
230
+ */
231
+ toInvert(): CssColorParserPlus
232
+ /**
233
+ * @description: 拷贝
234
+ * @return {CssColorParserPlus}
235
+ */
236
+ clone(): CssColorParserPlus
237
+ /**
238
+ * @description: 比较两个解析对象的数据是否相等
239
+ * @param {string} color
240
+ * @return {boolean}
241
+ */
242
+ equals(color: CssColorParser | string): boolean
243
+ /**
244
+ * @description: 实例相加
245
+ * @param {CssColorParser} colorParser
246
+ * @param {boolean} isSetAlpha 透明度值是否参与计算(默认:是)
247
+ * @return {CssColorParser}
248
+ */
249
+ add(color: CssColorParser | string, isSetAlpha?: boolean): CssColorParser
250
+ /**
251
+ * @description: 实例相减
252
+ * @param {CssColorParser} colorParser
253
+ * @param {boolean} isSetAlpha 透明度值是否参与计算(默认:是)
254
+ * @return {CssColorParser}
255
+ */
256
+ subtract(
257
+ color: CssColorParser | string,
258
+ isSetAlpha?: boolean
259
+ ): CssColorParser
260
+ /**
261
+ * @description: 实例相乘
262
+ * @param {CssColorParser} colorParser
263
+ * @param {boolean} isSetAlpha 透明度值是否参与计算(默认:是)
264
+ * @return {CssColorParser}
265
+ */
266
+ multiply(
267
+ color: CssColorParser | string,
268
+ isSetAlpha?: boolean
269
+ ): CssColorParser
270
+ /**
271
+ * @description: 实例相除
272
+ * @param {CssColorParser} colorParser
273
+ * @param {boolean} isSetAlpha 透明度值是否参与计算(默认:是)
274
+ * @return {CssColorParser}
275
+ */
276
+ divide(color: CssColorParser | string, isSetAlpha?: boolean): CssColorParser
277
+ /**
278
+ * @description: 解析css颜色
279
+ * @param {string} v
280
+ * @return {CssColorParserPlus}
281
+ * @example: parseCssColorStr('rgba(255,255,255,1)')
282
+ */
283
+ static parseColor(v: string | CssColorParser): CssColorParser
284
+ /**
285
+ * @description: 将css字符串转换为解析对象
286
+ * @param {string} v
287
+ * @return {CssColorParserPlus}
288
+ * @example: parseCssColorStr('rgba(255,255,255,1)')
289
+ */
290
+ static parseCssColorStr(v: string): CssColorParserPlus
291
+ /**
292
+ * @description: 解析颜色关键字
293
+ * @param {string} v
294
+ * @return {CssColorParserPlus}
295
+ * @example: parseKeyWord('red')
296
+ */
297
+ static parseKeyWord(v: string): CssColorParserPlus
298
+ /**
299
+ * @description: 解析HSLA
300
+ * @param {string} v
301
+ * @return {CssColorParserPlus}
302
+ * @example: parseHSLA('hsla(215,85%,62%,0.8)')
303
+ */
304
+ static parseHSLA(v: string): CssColorParserPlus
305
+ /**
306
+ * @description: 解析HWB
307
+ * @param {string} v
308
+ * @return {CssColorParserPlus}
309
+ * @example: parseHWB('hwb(215deg 30% 6% / 80%)')
310
+ */
311
+ static parseHWB(v: string): CssColorParserPlus
312
+ /**
313
+ * @description: 将HSL色彩模式转换为解析对象
314
+ * @param {number} hue 色相
315
+ * @param {number} saturation 饱和度
316
+ * @param {number} lightness 亮度
317
+ * @param {number} alpha 不透明度
318
+ * @return {CssColorParserPlus}
319
+ * @example: fromHSL(0,1,1,1)
320
+ */
321
+ static fromHSL(
322
+ h: number,
323
+ s: number,
324
+ l: number,
325
+ a?: number
326
+ ): CssColorParserPlus
327
+ /**
328
+ * @description: 将HWB色彩模式转换为解析对象
329
+ * @param {number} h 色调
330
+ * @param {number} w 白度
331
+ * @param {number} b 黑度
332
+ * @param {number} a 不透明度
333
+ * @return {CssColorParserPlus}
334
+ * @example: fromHSL(0,1,1,1)
335
+ */
336
+ static fromHWB(
337
+ h: number,
338
+ w: number,
339
+ b: number,
340
+ a?: number
341
+ ): CssColorParserPlus
342
+ /**
343
+ * @description: 解析16进制颜色
344
+ * @param {string} v
345
+ * @return {CssColorParserPlus}
346
+ * @example: CssColorParserPlus.parseHEX('#FFF')
347
+ */
348
+ static parseHEX(v: string): CssColorParserPlus
349
+ /**
350
+ * @description: 解析rgba、rgb颜色
351
+ * @param {string} v
352
+ * @return {CssColorParserPlus}
353
+ * @example: CssColorParserPlus.parseRGBA('rgba(255,255,255,1)')
354
+ */
355
+ static parseRGBA(v: string): CssColorParserPlus
356
+ /**
357
+ * @description: 将ColorJson格式的json数据转换为解析对象
358
+ * @param {ColorJson} json
359
+ * @return {CssColorParserPlus}
360
+ * @example: CssColorParserPlus.fromJson({r: 255, g: 255, b: 255, a: 1})
361
+ */
362
+ static fromJson(json: ColorJson): CssColorParserPlus
363
+ /**
364
+ * @description: 将RGBA数组转换为解析对象
365
+ * @param {Array} color
366
+ * @return {CssColorParserPlus}
367
+ * @example: CssColorParserPlus.fromArray([255,255,255,1])
368
+ */
369
+ static fromArray(color: Array<number>): CssColorParserPlus
370
+ /**
371
+ * @description: 产生随机颜色
372
+ * @return {CssColorParserPlus}
373
+ * @example: CssColorParserPlus.fromRandom('black', new CssColorParserPlus(255,255,255,1))
374
+ */
375
+ static fromRandom(
376
+ color1: CssColorParserPlus | string,
377
+ color2: CssColorParserPlus | string
378
+ ): CssColorParserPlus
379
+ /**
380
+ * @description: 颜色序列化数组转换为CssColorParserPlus对象实例
381
+ * @param {array} colorArr
382
+ * @example: CssColorParserPlus.fromNormaliz([1, 0, 0, 1])
383
+ */
384
+ static fromNormalize(
385
+ colorArr: [number, number, number, number]
386
+ ): CssColorParserPlus
311
387
  }
312
388
  }