@nemigo/helpers 0.13.3 → 1.5.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/dist/aggregator.d.ts +33 -0
- package/dist/aggregator.js +44 -0
- package/dist/array.d.ts +33 -0
- package/dist/array.js +24 -0
- package/dist/async/context.d.ts +73 -0
- package/dist/async/context.js +90 -0
- package/dist/async/future.d.ts +54 -0
- package/dist/async/future.js +71 -0
- package/dist/async/index.d.ts +56 -27
- package/dist/async/index.js +63 -58
- package/dist/async/loader.d.ts +67 -0
- package/dist/async/loader.js +101 -0
- package/dist/async/queue.d.ts +51 -0
- package/dist/async/queue.js +84 -0
- package/dist/cases.d.ts +31 -21
- package/dist/cases.js +41 -37
- package/dist/clean.d.ts +44 -26
- package/dist/clean.js +67 -42
- package/dist/color/types.d.ts +31 -0
- package/dist/color/types.js +1 -0
- package/dist/datetime/delta.d.ts +28 -0
- package/dist/datetime/delta.js +65 -0
- package/dist/datetime/format.d.ts +53 -0
- package/dist/datetime/format.js +119 -0
- package/dist/datetime/index.d.ts +6 -0
- package/dist/datetime/index.js +22 -0
- package/dist/datetime/plural.d.ts +77 -0
- package/dist/datetime/plural.js +78 -0
- package/dist/emitter.d.ts +29 -17
- package/dist/emitter.js +35 -21
- package/dist/explorer.d.ts +22 -29
- package/dist/explorer.js +18 -16
- package/dist/files.d.ts +31 -2
- package/dist/files.js +33 -8
- package/dist/fish.d.ts +29 -0
- package/dist/fish.js +70 -0
- package/dist/html/cookie.d.ts +48 -0
- package/dist/html/cookie.js +37 -0
- package/dist/html/events.d.ts +133 -0
- package/dist/html/events.js +139 -0
- package/dist/html/index.d.ts +31 -0
- package/dist/html/index.js +61 -0
- package/dist/index.d.ts +38 -40
- package/dist/index.js +43 -56
- package/dist/jiff/apply.d.ts +93 -0
- package/dist/jiff/apply.js +64 -0
- package/dist/jiff/extract.d.ts +7 -0
- package/dist/jiff/extract.js +82 -0
- package/dist/jiff/types.d.ts +57 -0
- package/dist/jiff/types.js +1 -0
- package/dist/lens.d.ts +20 -31
- package/dist/lens.js +22 -37
- package/dist/msgpack.d.ts +11 -26
- package/dist/msgpack.js +9 -21
- package/dist/mutate.d.ts +70 -0
- package/dist/mutate.js +130 -0
- package/dist/omitter.d.ts +54 -34
- package/dist/omitter.js +33 -25
- package/dist/path.d.ts +20 -1
- package/dist/path.js +21 -2
- package/dist/phymath/format.d.ts +60 -0
- package/dist/phymath/format.js +34 -0
- package/dist/phymath/index.d.ts +30 -30
- package/dist/phymath/index.js +41 -33
- package/dist/promoter.d.ts +20 -12
- package/dist/promoter.js +24 -17
- package/dist/random.d.ts +20 -21
- package/dist/random.js +22 -23
- package/dist/rubles.d.ts +24 -0
- package/dist/rubles.js +24 -0
- package/dist/script.d.ts +60 -13
- package/dist/script.js +46 -10
- package/dist/string.d.ts +46 -92
- package/dist/string.js +46 -171
- package/dist/types.d.ts +144 -25
- package/dist/url/index.d.ts +12 -0
- package/dist/url/index.js +17 -0
- package/dist/url/params.d.ts +141 -0
- package/dist/{url.js → url/params.js} +90 -18
- package/dist/url/slug.d.ts +28 -0
- package/dist/url/slug.js +102 -0
- package/dist/veil.d.ts +14 -0
- package/dist/veil.js +26 -0
- package/dist/xod.d.ts +237 -16
- package/dist/xod.js +192 -18
- package/dist/zipper.d.ts +22 -4
- package/dist/zipper.js +22 -5
- package/package.json +82 -34
- package/dist/async/space.d.ts +0 -8
- package/dist/async/space.js +0 -31
- package/dist/cleanup.d.ts +0 -9
- package/dist/cleanup.js +0 -18
- package/dist/colors.d.ts +0 -539
- package/dist/colors.js +0 -888
- package/dist/cookie.d.ts +0 -60
- package/dist/cookie.js +0 -48
- package/dist/datetime.d.ts +0 -82
- package/dist/datetime.js +0 -161
- package/dist/format.d.ts +0 -36
- package/dist/format.js +0 -26
- package/dist/future.d.ts +0 -51
- package/dist/future.js +0 -71
- package/dist/html.d.ts +0 -145
- package/dist/html.js +0 -205
- package/dist/humanly.d.ts +0 -9
- package/dist/humanly.js +0 -93
- package/dist/lru.d.ts +0 -77
- package/dist/lru.js +0 -128
- package/dist/queue.d.ts +0 -40
- package/dist/queue.js +0 -56
- package/dist/url.d.ts +0 -61
package/dist/colors.d.ts
DELETED
|
@@ -1,539 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* RGB цвет (красный, зелёный, синий)
|
|
3
|
-
*/
|
|
4
|
-
export interface RGB {
|
|
5
|
-
/**
|
|
6
|
-
* Красный канал (0-255)
|
|
7
|
-
*/
|
|
8
|
-
r: number;
|
|
9
|
-
/**
|
|
10
|
-
* Зелёный канал (0-255)
|
|
11
|
-
*/
|
|
12
|
-
g: number;
|
|
13
|
-
/**
|
|
14
|
-
* Синий канал (0-255)
|
|
15
|
-
*/
|
|
16
|
-
b: number;
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* RGBA цвет (красный, зелёный, синий, альфа)
|
|
20
|
-
*/
|
|
21
|
-
export interface RGBA extends RGB {
|
|
22
|
-
/**
|
|
23
|
-
* Прозрачность (0-1)
|
|
24
|
-
*/
|
|
25
|
-
a: number;
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* HSL цвет (оттенок, насыщенность, яркость)
|
|
29
|
-
*/
|
|
30
|
-
export interface HSL {
|
|
31
|
-
/**
|
|
32
|
-
* Оттенок (0-360)
|
|
33
|
-
*/
|
|
34
|
-
h: number;
|
|
35
|
-
/**
|
|
36
|
-
* Насыщенность (0-100)
|
|
37
|
-
*/
|
|
38
|
-
s: number;
|
|
39
|
-
/**
|
|
40
|
-
* Яркость (0-100)
|
|
41
|
-
*/
|
|
42
|
-
l: number;
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* HSLA цвет (оттенок, насыщенность, яркость, альфа)
|
|
46
|
-
*/
|
|
47
|
-
export interface HSLA extends HSL {
|
|
48
|
-
/**
|
|
49
|
-
* Прозрачность (0-1)
|
|
50
|
-
*/
|
|
51
|
-
a: number;
|
|
52
|
-
}
|
|
53
|
-
/**
|
|
54
|
-
* HSV цвет (оттенок, насыщенность, значение)
|
|
55
|
-
*/
|
|
56
|
-
export interface HSV {
|
|
57
|
-
/**
|
|
58
|
-
* Оттенок (0-360)
|
|
59
|
-
*/
|
|
60
|
-
h: number;
|
|
61
|
-
/**
|
|
62
|
-
* Насыщенность (0-100)
|
|
63
|
-
*/
|
|
64
|
-
s: number;
|
|
65
|
-
/**
|
|
66
|
-
* Значение (0-100)
|
|
67
|
-
*/
|
|
68
|
-
v: number;
|
|
69
|
-
}
|
|
70
|
-
/**
|
|
71
|
-
* HSVA цвет (оттенок, насыщенность, значение, альфа)
|
|
72
|
-
*/
|
|
73
|
-
export interface HSVA extends HSV {
|
|
74
|
-
/**
|
|
75
|
-
* Прозрачность (0-1)
|
|
76
|
-
*/
|
|
77
|
-
a: number;
|
|
78
|
-
}
|
|
79
|
-
/**
|
|
80
|
-
* HEX цвет в формате "#RRGGBB"
|
|
81
|
-
*/
|
|
82
|
-
export type HEX = string;
|
|
83
|
-
/**
|
|
84
|
-
* HEXA цвет в формате "#RRGGBBAA"
|
|
85
|
-
*/
|
|
86
|
-
export type HEXA = string;
|
|
87
|
-
/**
|
|
88
|
-
* Ограничивает значение RGB-канала в диапазоне 0-255
|
|
89
|
-
*/
|
|
90
|
-
export declare const clampRgb: (value: number) => number;
|
|
91
|
-
/**
|
|
92
|
-
* Ограничивает оттенок в диапазоне 0-360
|
|
93
|
-
*/
|
|
94
|
-
export declare const clampHue: (value: number) => number;
|
|
95
|
-
/**
|
|
96
|
-
* Ограничивает процентное значение в диапазоне 0-100
|
|
97
|
-
*/
|
|
98
|
-
export declare const clampPercent: (value: number) => number;
|
|
99
|
-
/**
|
|
100
|
-
* Ограничивает значение альфа-канала в диапазоне 0-1
|
|
101
|
-
*/
|
|
102
|
-
export declare const clampAlpha: (value: number) => number;
|
|
103
|
-
/**
|
|
104
|
-
* Парсит HEX-строку в RGB или RGBA
|
|
105
|
-
*
|
|
106
|
-
* Поддерживаемые форматы:
|
|
107
|
-
* - #RGB
|
|
108
|
-
* - #RRGGBB
|
|
109
|
-
* - #RGBA
|
|
110
|
-
* - #RRGGBBAA
|
|
111
|
-
*
|
|
112
|
-
* @param hex - HEX-строка цвета
|
|
113
|
-
* @returns RGB или RGBA объект, или null если формат неверен
|
|
114
|
-
*
|
|
115
|
-
* @example
|
|
116
|
-
* ```typescript
|
|
117
|
-
* parseHex("#ff0000"); // { r: 255, g: 0, b: 0 }
|
|
118
|
-
* parseHex("#f00"); // { r: 255, g: 0, b: 0 }
|
|
119
|
-
* parseHex("#ff0000ff"); // { r: 255, g: 0, b: 0, a: 1 }
|
|
120
|
-
* parseHex("#f00f"); // { r: 255, g: 0, b: 0, a: 1 }
|
|
121
|
-
* parseHex("invalid"); // null
|
|
122
|
-
* ```
|
|
123
|
-
*/
|
|
124
|
-
export declare const parseHex: (hex: string) => RGB | RGBA | null;
|
|
125
|
-
/**
|
|
126
|
-
* Парсит RGB/RGBA строку в объект
|
|
127
|
-
*
|
|
128
|
-
* Поддерживаемые форматы:
|
|
129
|
-
* - rgb(r, g, b)
|
|
130
|
-
* - rgba(r, g, b, a)
|
|
131
|
-
* - rgb(r g b)
|
|
132
|
-
* - rgba(r g b / a)
|
|
133
|
-
*
|
|
134
|
-
* @param rgb - RGB/RGBA строка
|
|
135
|
-
* @returns RGB или RGBA объект, или null если формат неверен
|
|
136
|
-
*
|
|
137
|
-
* @example
|
|
138
|
-
* ```typescript
|
|
139
|
-
* parseRgb("rgb(255, 0, 0)"); // { r: 255, g: 0, b: 0 }
|
|
140
|
-
* parseRgb("rgba(255, 0, 0, 0.5)"); // { r: 255, g: 0, b: 0, a: 0.5 }
|
|
141
|
-
* parseRgb("rgb(255 0 0)"); // { r: 255, g: 0, b: 0 }
|
|
142
|
-
* parseRgb("rgba(255 0 0 / 0.5)"); // { r: 255, g: 0, b: 0, a: 0.5 }
|
|
143
|
-
* ```
|
|
144
|
-
*/
|
|
145
|
-
export declare const parseRgb: (rgb: string) => RGB | RGBA | null;
|
|
146
|
-
/**
|
|
147
|
-
* Парсит HSL/HSLA строку в объект
|
|
148
|
-
*
|
|
149
|
-
* Поддерживаемые форматы:
|
|
150
|
-
* - hsl(h, s%, l%)
|
|
151
|
-
* - hsla(h, s%, l%, a)
|
|
152
|
-
* - hsl(h s% l%)
|
|
153
|
-
* - hsla(h s% l% / a)
|
|
154
|
-
*
|
|
155
|
-
* @param hsl - HSL/HSLA строка
|
|
156
|
-
* @returns HSL или HSLA объект, или null если формат неверен
|
|
157
|
-
*
|
|
158
|
-
* @example
|
|
159
|
-
* ```typescript
|
|
160
|
-
* parseHsl("hsl(0, 100%, 50%)"); // { h: 0, s: 100, l: 50 }
|
|
161
|
-
* parseHsl("hsla(0, 100%, 50%, 0.5)"); // { h: 0, s: 100, l: 50, a: 0.5 }
|
|
162
|
-
* parseHsl("hsl(0 100% 50%)"); // { h: 0, s: 100, l: 50 }
|
|
163
|
-
* ```
|
|
164
|
-
*/
|
|
165
|
-
export declare const parseHsl: (hsl: string) => HSL | HSLA | null;
|
|
166
|
-
/**
|
|
167
|
-
* Универсальный парсер цвета
|
|
168
|
-
*
|
|
169
|
-
* Пробует распознать формат и парсит соответствующим парсером
|
|
170
|
-
*
|
|
171
|
-
* @param color - Строка цвета в любом поддерживаемом формате
|
|
172
|
-
* @returns RGB или RGBA объект, или null если формат не распознан
|
|
173
|
-
*
|
|
174
|
-
* @example
|
|
175
|
-
* ```typescript
|
|
176
|
-
* parseColor("#ff0000"); // { r: 255, g: 0, b: 0 }
|
|
177
|
-
* parseColor("rgb(255, 0, 0)"); // { r: 255, g: 0, b: 0 }
|
|
178
|
-
* parseColor("hsl(0, 100%, 50%)"); // { r: 255, g: 0, b: 0 }
|
|
179
|
-
* ```
|
|
180
|
-
*/
|
|
181
|
-
export declare const parseColor: (color: string) => RGB | RGBA | null;
|
|
182
|
-
/**
|
|
183
|
-
* Конвертирует RGB/RGBA в HEX/HEXA строку
|
|
184
|
-
*
|
|
185
|
-
* @param rgb - RGB или RGBA объект
|
|
186
|
-
* @returns HEX строка в формате #RRGGBB или #RRGGBBAA
|
|
187
|
-
*
|
|
188
|
-
* @example
|
|
189
|
-
* ```typescript
|
|
190
|
-
* rgbToHex({ r: 255, g: 0, b: 0 }); // "#ff0000"
|
|
191
|
-
* rgbToHex({ r: 255, g: 0, b: 0, a: 0.5 }); // "#ff000080"
|
|
192
|
-
* ```
|
|
193
|
-
*/
|
|
194
|
-
export declare const rgbToHex: (rgb: RGB | RGBA) => HEX | HEXA;
|
|
195
|
-
/**
|
|
196
|
-
* Конвертирует HEX строку в RGB/RGBA объект
|
|
197
|
-
*
|
|
198
|
-
* @param hex - HEX строка
|
|
199
|
-
* @returns RGB или RGBA объект
|
|
200
|
-
* @throws {Error} Если формат HEX неверен
|
|
201
|
-
*
|
|
202
|
-
* @example
|
|
203
|
-
* ```typescript
|
|
204
|
-
* hexToRgb("#ff0000"); // { r: 255, g: 0, b: 0 }
|
|
205
|
-
* hexToRgb("#f00"); // { r: 255, g: 0, b: 0 }
|
|
206
|
-
* ```
|
|
207
|
-
*/
|
|
208
|
-
export declare const hexToRgb: (hex: string) => RGB | RGBA;
|
|
209
|
-
/**
|
|
210
|
-
* Конвертирует RGB/RGBA в HSL/HSLA
|
|
211
|
-
*
|
|
212
|
-
* @param rgb - RGB или RGBA объект
|
|
213
|
-
* @returns HSL или HSLA объект
|
|
214
|
-
*
|
|
215
|
-
* @example
|
|
216
|
-
* ```typescript
|
|
217
|
-
* rgbToHsl({ r: 255, g: 0, b: 0 }); // { h: 0, s: 100, l: 50 }
|
|
218
|
-
* rgbToHsl({ r: 255, g: 255, b: 255 }); // { h: 0, s: 0, l: 100 }
|
|
219
|
-
* ```
|
|
220
|
-
*/
|
|
221
|
-
export declare const rgbToHsl: (rgb: RGB | RGBA) => HSL | HSLA;
|
|
222
|
-
/**
|
|
223
|
-
* Конвертирует HSL/HSLA в RGB/RGBA
|
|
224
|
-
*
|
|
225
|
-
* @param hsl - HSL или HSLA объект
|
|
226
|
-
* @returns RGB или RGBA объект
|
|
227
|
-
*
|
|
228
|
-
* @example
|
|
229
|
-
* ```typescript
|
|
230
|
-
* hslToRgb({ h: 0, s: 100, l: 50 }); // { r: 255, g: 0, b: 0 }
|
|
231
|
-
* hslToRgb({ h: 0, s: 0, l: 100 }); // { r: 255, g: 255, b: 255 }
|
|
232
|
-
* ```
|
|
233
|
-
*/
|
|
234
|
-
export declare const hslToRgb: (hsl: HSL | HSLA) => RGB | RGBA;
|
|
235
|
-
/**
|
|
236
|
-
* Конвертирует RGB/RGBA в HSV/HSVA
|
|
237
|
-
*
|
|
238
|
-
* @param rgb - RGB или RGBA объект
|
|
239
|
-
* @returns HSV или HSVA объект
|
|
240
|
-
*
|
|
241
|
-
* @example
|
|
242
|
-
* ```typescript
|
|
243
|
-
* rgbToHsv({ r: 255, g: 0, b: 0 }); // { h: 0, s: 100, v: 100 }
|
|
244
|
-
* rgbToHsv({ r: 0, g: 0, b: 0 }); // { h: 0, s: 0, v: 0 }
|
|
245
|
-
* ```
|
|
246
|
-
*/
|
|
247
|
-
export declare const rgbToHsv: (rgb: RGB | RGBA) => HSV | HSVA;
|
|
248
|
-
/**
|
|
249
|
-
* Конвертирует HSV/HSVA в RGB/RGBA
|
|
250
|
-
*
|
|
251
|
-
* @param hsv - HSV или HSVA объект
|
|
252
|
-
* @returns RGB или RGBA объект
|
|
253
|
-
*
|
|
254
|
-
* @example
|
|
255
|
-
* ```typescript
|
|
256
|
-
* hsvToRgb({ h: 0, s: 100, v: 100 }); // { r: 255, g: 0, b: 0 }
|
|
257
|
-
* hsvToRgb({ h: 0, s: 0, v: 0 }); // { r: 0, g: 0, b: 0 }
|
|
258
|
-
* ```
|
|
259
|
-
*/
|
|
260
|
-
export declare const hsvToRgb: (hsv: HSV | HSVA) => RGB | RGBA;
|
|
261
|
-
/**
|
|
262
|
-
* Форматирует RGB/RGBA в CSS-строку
|
|
263
|
-
*
|
|
264
|
-
* @param rgb - RGB или RGBA объект
|
|
265
|
-
* @returns CSS-строка в формате rgb(r, g, b) или rgba(r, g, b, a)
|
|
266
|
-
*
|
|
267
|
-
* @example
|
|
268
|
-
* ```typescript
|
|
269
|
-
* toRgbString({ r: 255, g: 0, b: 0 }); // "rgb(255, 0, 0)"
|
|
270
|
-
* toRgbString({ r: 255, g: 0, b: 0, a: 0.5 }); // "rgba(255, 0, 0, 0.5)"
|
|
271
|
-
* ```
|
|
272
|
-
*/
|
|
273
|
-
export declare const toRgbString: (rgb: RGB | RGBA) => string;
|
|
274
|
-
/**
|
|
275
|
-
* Форматирует RGB/RGBA в HEX-строку
|
|
276
|
-
*
|
|
277
|
-
* @param rgb - RGB или RGBA объект
|
|
278
|
-
* @returns HEX-строка в формате #RRGGBB или #RRGGBBAA
|
|
279
|
-
*
|
|
280
|
-
* @example
|
|
281
|
-
* ```typescript
|
|
282
|
-
* toHexString({ r: 255, g: 0, b: 0 }); // "#ff0000"
|
|
283
|
-
* toHexString({ r: 255, g: 0, b: 0, a: 0.5 }); // "#ff000080"
|
|
284
|
-
* ```
|
|
285
|
-
*/
|
|
286
|
-
export declare const toHexString: (rgb: RGB | RGBA) => string;
|
|
287
|
-
/**
|
|
288
|
-
* Форматирует HSL/HSLA в CSS-строку
|
|
289
|
-
*
|
|
290
|
-
* @param hsl - HSL или HSLA объект
|
|
291
|
-
* @returns CSS-строка в формате hsl(h, s%, l%) или hsla(h, s%, l%, a)
|
|
292
|
-
*
|
|
293
|
-
* @example
|
|
294
|
-
* ```typescript
|
|
295
|
-
* toHslString({ h: 0, s: 100, l: 50 }); // "hsl(0, 100%, 50%)"
|
|
296
|
-
* toHslString({ h: 0, s: 100, l: 50, a: 0.5 }); // "hsla(0, 100%, 50%, 0.5)"
|
|
297
|
-
* ```
|
|
298
|
-
*/
|
|
299
|
-
export declare const toHslString: (hsl: HSL | HSLA) => string;
|
|
300
|
-
/**
|
|
301
|
-
* Вычисляет относительную яркость цвета по формуле WCAG
|
|
302
|
-
*
|
|
303
|
-
* @param rgb - RGB объект
|
|
304
|
-
* @returns Относительная яркость (0-1)
|
|
305
|
-
*
|
|
306
|
-
* @see https://www.w3.org/TR/WCAG20/#relativeluminancedef
|
|
307
|
-
*
|
|
308
|
-
* @example
|
|
309
|
-
* ```typescript
|
|
310
|
-
* getLuminance({ r: 255, g: 255, b: 255 }); // 1 (белый)
|
|
311
|
-
* getLuminance({ r: 0, g: 0, b: 0 }); // 0 (чёрный)
|
|
312
|
-
* getLuminance({ r: 255, g: 0, b: 0 }); // 0.2126 (красный)
|
|
313
|
-
* ```
|
|
314
|
-
*/
|
|
315
|
-
export declare const getLuminance: (rgb: RGB) => number;
|
|
316
|
-
/**
|
|
317
|
-
* Вычисляет контрастность между двумя цветами по формуле WCAG
|
|
318
|
-
*
|
|
319
|
-
* @param rgb1 - Первый RGB объект
|
|
320
|
-
* @param rgb2 - Второй RGB объект
|
|
321
|
-
* @returns Коэффициент контрастности (1-21)
|
|
322
|
-
*
|
|
323
|
-
* @see https://www.w3.org/TR/WCAG20/#contrast-ratiodef
|
|
324
|
-
*
|
|
325
|
-
* @example
|
|
326
|
-
* ```typescript
|
|
327
|
-
* getContrast({ r: 255, g: 255, b: 255 }, { r: 0, g: 0, b: 0 }); // 21 (максимальный контраст)
|
|
328
|
-
* getContrast({ r: 255, g: 255, b: 255 }, { r: 255, g: 255, b: 255 }); // 1 (нет контраста)
|
|
329
|
-
* ```
|
|
330
|
-
*/
|
|
331
|
-
export declare const getContrast: (rgb1: RGB, rgb2: RGB) => number;
|
|
332
|
-
/**
|
|
333
|
-
* Класс для работы с цветами
|
|
334
|
-
*
|
|
335
|
-
* Поддерживает конвертацию между форматами, манипуляции с цветом и вычисление характеристик
|
|
336
|
-
*
|
|
337
|
-
* @example
|
|
338
|
-
* ```typescript
|
|
339
|
-
* const color = new Color("#ff0000");
|
|
340
|
-
* color.rgb; // { r: 255, g: 0, b: 0 }
|
|
341
|
-
* color.hex; // "#ff0000"
|
|
342
|
-
* color.lighten(20).hex; // "#ff6666"
|
|
343
|
-
* color.luminance(); // 0.2126
|
|
344
|
-
* ```
|
|
345
|
-
*/
|
|
346
|
-
export declare class Color {
|
|
347
|
-
private _rgb;
|
|
348
|
-
/**
|
|
349
|
-
* Создаёт экземпляр Color
|
|
350
|
-
*
|
|
351
|
-
* @param color - Строка цвета или RGB/RGBA объект
|
|
352
|
-
* @throws {Error} Если формат цвета не распознан
|
|
353
|
-
*
|
|
354
|
-
* @example
|
|
355
|
-
* ```typescript
|
|
356
|
-
* new Color("#ff0000");
|
|
357
|
-
* new Color("rgb(255, 0, 0)");
|
|
358
|
-
* new Color({ r: 255, g: 0, b: 0 });
|
|
359
|
-
* new Color({ r: 255, g: 0, b: 0, a: 0.5 });
|
|
360
|
-
* ```
|
|
361
|
-
*/
|
|
362
|
-
constructor(color: string | RGB | RGBA);
|
|
363
|
-
/**
|
|
364
|
-
* Получает RGB представление цвета
|
|
365
|
-
*/
|
|
366
|
-
get rgb(): RGB;
|
|
367
|
-
/**
|
|
368
|
-
* Получает RGBA представление цвета
|
|
369
|
-
*/
|
|
370
|
-
get rgba(): RGBA;
|
|
371
|
-
/**
|
|
372
|
-
* Получает HSL представление цвета
|
|
373
|
-
*/
|
|
374
|
-
get hsl(): HSL;
|
|
375
|
-
/**
|
|
376
|
-
* Получает HSLA представление цвета
|
|
377
|
-
*/
|
|
378
|
-
get hsla(): HSLA;
|
|
379
|
-
/**
|
|
380
|
-
* Получает HSV представление цвета
|
|
381
|
-
*/
|
|
382
|
-
get hsv(): HSV;
|
|
383
|
-
/**
|
|
384
|
-
* Получает HSVA представление цвета
|
|
385
|
-
*/
|
|
386
|
-
get hsva(): HSVA;
|
|
387
|
-
/**
|
|
388
|
-
* Получает HEX представление цвета
|
|
389
|
-
*/
|
|
390
|
-
get hex(): string;
|
|
391
|
-
/**
|
|
392
|
-
* Осветляет цвет
|
|
393
|
-
*
|
|
394
|
-
* @param amount - Процент осветления (0-100)
|
|
395
|
-
* @returns Новый экземпляр Color
|
|
396
|
-
*
|
|
397
|
-
* @example
|
|
398
|
-
* ```typescript
|
|
399
|
-
* new Color("#ff0000").lighten(20).hex; // "#ff6666"
|
|
400
|
-
* ```
|
|
401
|
-
*/
|
|
402
|
-
lighten(amount: number): Color;
|
|
403
|
-
/**
|
|
404
|
-
* Затемняет цвет
|
|
405
|
-
*
|
|
406
|
-
* @param amount - Процент затемнения (0-100)
|
|
407
|
-
* @returns Новый экземпляр Color
|
|
408
|
-
*
|
|
409
|
-
* @example
|
|
410
|
-
* ```typescript
|
|
411
|
-
* new Color("#ff0000").darken(20).hex; // "#990000"
|
|
412
|
-
* ```
|
|
413
|
-
*/
|
|
414
|
-
darken(amount: number): Color;
|
|
415
|
-
/**
|
|
416
|
-
* Увеличивает насыщенность цвета
|
|
417
|
-
*
|
|
418
|
-
* @param amount - Процент увеличения насыщенности (0-100)
|
|
419
|
-
* @returns Новый экземпляр Color
|
|
420
|
-
*
|
|
421
|
-
* @example
|
|
422
|
-
* ```typescript
|
|
423
|
-
* new Color("#ff6666").saturate(50).hex; // "#ff1a1a"
|
|
424
|
-
* ```
|
|
425
|
-
*/
|
|
426
|
-
saturate(amount: number): Color;
|
|
427
|
-
/**
|
|
428
|
-
* Уменьшает насыщенность цвета
|
|
429
|
-
*
|
|
430
|
-
* @param amount - Процент уменьшения насыщенности (0-100)
|
|
431
|
-
* @returns Новый экземпляр Color
|
|
432
|
-
*
|
|
433
|
-
* @example
|
|
434
|
-
* ```typescript
|
|
435
|
-
* new Color("#ff0000").desaturate(50).hex; // "#bf4040"
|
|
436
|
-
* ```
|
|
437
|
-
*/
|
|
438
|
-
desaturate(amount: number): Color;
|
|
439
|
-
/**
|
|
440
|
-
* Устанавливает прозрачность цвета
|
|
441
|
-
*
|
|
442
|
-
* @param alpha - Значение альфа-канала (0-1)
|
|
443
|
-
* @returns Новый экземпляр Color
|
|
444
|
-
*
|
|
445
|
-
* @example
|
|
446
|
-
* ```typescript
|
|
447
|
-
* new Color("#ff0000").opacity(0.5).hex; // "#ff000080"
|
|
448
|
-
* ```
|
|
449
|
-
*/
|
|
450
|
-
opacity(alpha: number): Color;
|
|
451
|
-
/**
|
|
452
|
-
* Инвертирует цвет
|
|
453
|
-
*
|
|
454
|
-
* @returns Новый экземпляр Color
|
|
455
|
-
*
|
|
456
|
-
* @example
|
|
457
|
-
* ```typescript
|
|
458
|
-
* new Color("#ff0000").invert().hex; // "#00ffff"
|
|
459
|
-
* ```
|
|
460
|
-
*/
|
|
461
|
-
invert(): Color;
|
|
462
|
-
/**
|
|
463
|
-
* Смешивает цвет с другим цветом
|
|
464
|
-
*
|
|
465
|
-
* @param color - Цвет для смешивания
|
|
466
|
-
* @param weight - Вес первого цвета (0-1), по умолчанию 0.5
|
|
467
|
-
* @returns Новый экземпляр Color
|
|
468
|
-
*
|
|
469
|
-
* @example
|
|
470
|
-
* ```typescript
|
|
471
|
-
* new Color("#ff0000").mix(new Color("#0000ff")).hex; // "#800080"
|
|
472
|
-
* new Color("#ff0000").mix(new Color("#0000ff"), 0.75).hex; // "#bf0040"
|
|
473
|
-
* ```
|
|
474
|
-
*/
|
|
475
|
-
mix(color: Color, weight?: number): Color;
|
|
476
|
-
/**
|
|
477
|
-
* Вычисляет относительную яркость цвета
|
|
478
|
-
*
|
|
479
|
-
* @returns Относительная яркость (0-1)
|
|
480
|
-
*
|
|
481
|
-
* @example
|
|
482
|
-
* ```typescript
|
|
483
|
-
* new Color("#ffffff").luminance(); // 1
|
|
484
|
-
* new Color("#000000").luminance(); // 0
|
|
485
|
-
* ```
|
|
486
|
-
*/
|
|
487
|
-
luminance(): number;
|
|
488
|
-
/**
|
|
489
|
-
* Вычисляет контрастность с другим цветом
|
|
490
|
-
*
|
|
491
|
-
* @param color - Цвет для сравнения
|
|
492
|
-
* @returns Коэффициент контрастности (1-21)
|
|
493
|
-
*
|
|
494
|
-
* @example
|
|
495
|
-
* ```typescript
|
|
496
|
-
* new Color("#ffffff").contrast(new Color("#000000")); // 21
|
|
497
|
-
* new Color("#ffffff").contrast(new Color("#ffffff")); // 1
|
|
498
|
-
* ```
|
|
499
|
-
*/
|
|
500
|
-
contrast(color: Color): number;
|
|
501
|
-
/**
|
|
502
|
-
* Проверяет, является ли цвет светлым
|
|
503
|
-
*
|
|
504
|
-
* @returns true, если яркость > 0.5
|
|
505
|
-
*
|
|
506
|
-
* @example
|
|
507
|
-
* ```typescript
|
|
508
|
-
* new Color("#ffffff").isLight(); // true
|
|
509
|
-
* new Color("#000000").isLight(); // false
|
|
510
|
-
* ```
|
|
511
|
-
*/
|
|
512
|
-
isLight(): boolean;
|
|
513
|
-
/**
|
|
514
|
-
* Проверяет, является ли цвет тёмным
|
|
515
|
-
*
|
|
516
|
-
* @returns true, если яркость <= 0.5
|
|
517
|
-
*
|
|
518
|
-
* @example
|
|
519
|
-
* ```typescript
|
|
520
|
-
* new Color("#000000").isDark(); // true
|
|
521
|
-
* new Color("#ffffff").isDark(); // false
|
|
522
|
-
* ```
|
|
523
|
-
*/
|
|
524
|
-
isDark(): boolean;
|
|
525
|
-
/**
|
|
526
|
-
* Преобразует цвет в строку
|
|
527
|
-
*
|
|
528
|
-
* @param format - Формат вывода (hex, rgb, hsl), по умолчанию hex
|
|
529
|
-
* @returns Строковое представление цвета
|
|
530
|
-
*
|
|
531
|
-
* @example
|
|
532
|
-
* ```typescript
|
|
533
|
-
* new Color("#ff0000").toString(); // "#ff0000"
|
|
534
|
-
* new Color("#ff0000").toString("rgb"); // "rgb(255, 0, 0)"
|
|
535
|
-
* new Color("#ff0000").toString("hsl"); // "hsl(0, 100%, 50%)"
|
|
536
|
-
* ```
|
|
537
|
-
*/
|
|
538
|
-
toString(format?: "hex" | "rgb" | "hsl"): string;
|
|
539
|
-
}
|