@csstools/convert-colors 1.4.0 → 2.0.1

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/README.md CHANGED
@@ -1,10 +1,8 @@
1
1
  # Convert Colors [<img src="https://cdn.worldvectorlogo.com/logos/nodejs-icon.svg" alt="Convert Colors" width="90" height="90" align="right">][Convert Colors]
2
2
 
3
3
  [![NPM Version][npm-img]][npm-url]
4
- [![Linux Build Status][cli-img]][cli-url]
5
- [![Windows Build Status][win-img]][win-url]
6
4
 
7
- [Convert Colors] converts colors between RGB, HSL, HWB, Lab, LCH, HSV, and XYZ.
5
+ [Convert Colors] converts colors between RGB, HEX, HSL, HWB, LAB, LCH, and more.
8
6
 
9
7
  ```js
10
8
  import convert from '@csstools/convert-colors';
@@ -19,6 +17,9 @@ convert.hwb2rgb(0, 100, 0); // [ 0, 0, 100 ]
19
17
  convert.hwb2hsl(0, 100, 0); // [ 0, 0, 100 ]
20
18
 
21
19
  convert.rgb2hue(0, 0, 100); // 240
20
+
21
+ convert.rgb2contrast([100, 100, 100], [0, 0, 0]); // 21
22
+ convert.rgb2ciede2000([100, 100, 100], [0, 0, 0]); // 100
22
23
  ```
23
24
 
24
25
  ## Usage
@@ -34,54 +35,9 @@ npm install @csstools/convert-colors --save-dev
34
35
  Conversions work by taking arguments that represents a color in one color space
35
36
  and returning an array of that same color in another color space.
36
37
 
37
- - rgb2hsl(r, g, b)
38
- - rgb2hwb(r, g, b)
39
- - rgb2lab(r, g, b)
40
- - rgb2lch(r, g, b)
41
- - rgb2hsv(r, g, b)
42
- - rgb2xyz(r, g, b)
43
- - hsl2rgb(h, s, l)
44
- - hsl2hwb(h, s, l)
45
- - hsl2lab(h, s, l)
46
- - hsl2lch(h, s, l)
47
- - hsl2hsv(h, s, l)
48
- - hsl2xyz(h, s, l)
49
- - hwb2rgb(h, w, b)
50
- - hwb2hsl(h, w, b)
51
- - hwb2lab(h, w, b)
52
- - hwb2lch(h, w, b)
53
- - hwb2hsv(h, w, b)
54
- - hwb2xyz(h, w, b)
55
- - lab2rgb(l, a, b)
56
- - lab2hsl(l, a, b)
57
- - lab2hwb(l, a, b)
58
- - lab2lch(l, a, b)
59
- - lab2hsv(l, a, b)
60
- - lab2xyz(l, a, b)
61
- - lch2rgb(l, c, h)
62
- - lch2hsl(l, c, h)
63
- - lch2hwb(l, c, h)
64
- - lch2lab(l, c, h)
65
- - lch2hsv(l, c, h)
66
- - lch2xyz(l, c, h)
67
- - hsv2rgb(h, s, v)
68
- - hsv2hsl(h, s, v)
69
- - hsv2hwb(h, s, v)
70
- - hsv2lab(h, s, v)
71
- - hsv2lch(h, s, v)
72
- - hsv2xyz(h, s, v)
73
- - xyz2rgb(x, y, z)
74
- - xyz2hsl(x, y, z)
75
- - xyz2hwb(x, y, z)
76
- - xyz2lab(x, y, z)
77
- - xyz2lch(x, y, z)
78
- - xyz2hsv(x, y, z)
38
+ [Documentation](https://csstools.github.io/convert-colors/)
79
39
 
80
40
  [npm-url]: https://www.npmjs.com/package/@csstools/convert-colors
81
41
  [npm-img]: https://img.shields.io/npm/v/@csstools/convert-colors.svg
82
- [cli-url]: https://travis-ci.org/jonathantneal/convert-colors
83
- [cli-img]: https://img.shields.io/travis/jonathantneal/convert-colors.svg
84
- [win-url]: https://ci.appveyor.com/project/jonathantneal/convert-colors
85
- [win-img]: https://img.shields.io/appveyor/ci/jonathantneal/convert-colors.svg
86
42
 
87
- [Convert Colors]: https://github.com/jonathantneal/convert-colors
43
+ [Convert Colors]: https://github.com/csstools/convert-colors
package/index.js CHANGED
@@ -1,359 +1,2 @@
1
- import { rgb2hsl, hsl2rgb } from './lib/rgb-hsl';
2
- import { rgb2hwb, hwb2rgb } from './lib/rgb-hwb';
3
- import { rgb2hsv, hsv2rgb } from './lib/rgb-hsv';
4
- import { rgb2xyz, xyz2rgb } from './lib/rgb-xyz';
5
- import { hsl2hsv, hsv2hsl } from './lib/hsl-hsv';
6
- import { hwb2hsv, hsv2hwb } from './lib/hwb-hsv';
7
- import { lab2xyz, xyz2lab } from './lib/lab-xyz';
8
- import { lab2lch, lch2lab } from './lib/lab-lch';
9
- import { rgb2hue } from './lib/util';
10
-
11
- /* Convert between RGB and Lab
12
- /* ========================================================================== */
13
-
14
- function rgb2lab(rgbR, rgbG, rgbB) {
15
- const [ xyzX, xyzY, xyzZ ] = rgb2xyz(rgbR, rgbG, rgbB);
16
- const [ labL, labA, labB ] = xyz2lab(xyzX, xyzY, xyzZ);
17
-
18
- return [ labL, labA, labB ];
19
- }
20
-
21
- function lab2rgb(labL, labA, labB) {
22
- const [ xyzX, xyzY, xyzZ ] = lab2xyz(labL, labA, labB);
23
- const [ rgbR, rgbG, rgbB ] = xyz2rgb(xyzX, xyzY, xyzZ);
24
-
25
- return [ rgbR, rgbG, rgbB ];
26
- }
27
-
28
- /* Convert between RGB and LCH
29
- /* ========================================================================== */
30
-
31
- function rgb2lch(rgbR, rgbG, rgbB) {
32
- const [ xyzX, xyzY, xyzZ ] = rgb2xyz(rgbR, rgbG, rgbB);
33
- const [ labL, labA, labB ] = xyz2lab(xyzX, xyzY, xyzZ);
34
- const [ lchL, lchC, lchH ] = lab2lch(labL, labA, labB);
35
-
36
- return [ lchL, lchC, lchH ];
37
- }
38
-
39
- function lch2rgb(lchL, lchC, lchH) {
40
- const [ labL, labA, labB ] = lch2lab(lchL, lchC, lchH);
41
- const [ xyzX, xyzY, xyzZ ] = lab2xyz(labL, labA, labB);
42
- const [ rgbR, rgbG, rgbB ] = xyz2rgb(xyzX, xyzY, xyzZ);
43
-
44
- return [ rgbR, rgbG, rgbB ];
45
- }
46
-
47
- /* Convert between HSL and HWB
48
- /* ========================================================================== */
49
-
50
- function hwb2hsl(hwbH, hwbW, hwbB) {
51
- const [ hsvH, hsvS, hsvV ] = hwb2hsv(hwbH, hwbW, hwbB);
52
- const [ hslH, hslS, hslL ] = hsv2hsl(hsvH, hsvS, hsvV);
53
-
54
- return [ hslH, hslS, hslL ];
55
- }
56
-
57
- function hsl2hwb(hslH, hslS, hslL) {
58
- const [ , hsvS, hsvV ] = hsl2hsv(hslH, hslS, hslL);
59
- const [ , hwbW, hwbB ] = hsv2hwb(hslH, hsvS, hsvV);
60
-
61
- return [ hslH, hwbW, hwbB ];
62
- }
63
-
64
- /* Convert between HSL and Lab
65
- /* ========================================================================== */
66
-
67
- function hsl2lab(hslH, hslS, hslL) {
68
- const [ rgbR, rgbG, rgbB ] = hsl2rgb(hslH, hslS, hslL);
69
- const [ xyzX, xyzY, xyzZ ] = rgb2xyz(rgbR, rgbG, rgbB);
70
- const [ labL, labA, labB ] = xyz2lab(xyzX, xyzY, xyzZ);
71
-
72
- return [ labL, labA, labB ];
73
- }
74
-
75
- function lab2hsl(labL, labA, labB, fallbackhue) {
76
- const [ xyzX, xyzY, xyzZ ] = lab2xyz(labL, labA, labB);
77
- const [ rgbR, rgbG, rgbB ] = xyz2rgb(xyzX, xyzY, xyzZ);
78
- const [ hslH, hslS, hslL ] = rgb2hsl(rgbR, rgbG, rgbB, fallbackhue);
79
-
80
- return [ hslH, hslS, hslL ];
81
- }
82
-
83
- /* Convert between HSL and LCH
84
- /* ========================================================================== */
85
-
86
- function hsl2lch(hslH, hslS, hslL) {
87
- const [ rgbR, rgbG, rgbB ] = hsl2rgb(hslH, hslS, hslL);
88
- const [ xyzX, xyzY, xyzZ ] = rgb2xyz(rgbR, rgbG, rgbB);
89
- const [ labL, labA, labB ] = xyz2lab(xyzX, xyzY, xyzZ);
90
- const [ lchL, lchC, lchH ] = lab2lch(labL, labA, labB);
91
-
92
- return [ lchL, lchC, lchH ];
93
- }
94
-
95
- function lch2hsl(lchL, lchC, lchH, fallbackhue) {
96
- const [ labL, labA, labB ] = lch2lab(lchL, lchC, lchH);
97
- const [ xyzX, xyzY, xyzZ ] = lab2xyz(labL, labA, labB);
98
- const [ rgbR, rgbG, rgbB ] = xyz2rgb(xyzX, xyzY, xyzZ);
99
- const [ hslH, hslS, hslL ] = rgb2hsl(rgbR, rgbG, rgbB, fallbackhue);
100
-
101
- return [ hslH, hslS, hslL ];
102
- }
103
-
104
- /* Convert between HSL and XYZ
105
- /* ========================================================================== */
106
-
107
- function hsl2xyz(hslH, hslS, hslL) {
108
- const [ rgbR, rgbG, rgbB ] = hsl2rgb(hslH, hslS, hslL);
109
- const [ xyzX, xyzY, xyzZ ] = rgb2xyz(rgbR, rgbG, rgbB);
110
-
111
- return [ xyzX, xyzY, xyzZ ];
112
- }
113
-
114
- function xyz2hsl(xyzX, xyzY, xyzZ, fallbackhue) {
115
- const [ rgbR, rgbG, rgbB ] = xyz2rgb(xyzX, xyzY, xyzZ);
116
- const [ hslH, hslS, hslL ] = rgb2hsl(rgbR, rgbG, rgbB, fallbackhue);
117
-
118
- return [ hslH, hslS, hslL ];
119
- }
120
-
121
- /* Convert between HWB and Lab
122
- /* ========================================================================== */
123
-
124
- function hwb2lab(hwbH, hwbW, hwbB) {
125
- const [ rgbR, rgbG, rgbB ] = hwb2rgb(hwbH, hwbW, hwbB);
126
- const [ xyzX, xyzY, xyzZ ] = rgb2xyz(rgbR, rgbG, rgbB);
127
- const [ labL, labA, labB ] = xyz2lab(xyzX, xyzY, xyzZ);
128
-
129
- return [ labL, labA, labB ];
130
- }
131
-
132
- function lab2hwb(labL, labA, labB, fallbackhue) {
133
- const [ xyzX, xyzY, xyzZ ] = lab2xyz(labL, labA, labB);
134
- const [ rgbR, rgbG, rgbB ] = xyz2rgb(xyzX, xyzY, xyzZ);
135
- const [ hwbH, hwbW, hwbB ] = rgb2hwb(rgbR, rgbG, rgbB, fallbackhue);
136
-
137
- return [ hwbH, hwbW, hwbB ];
138
- }
139
-
140
- /* Convert between HWB and LCH
141
- /* ========================================================================== */
142
-
143
- function hwb2lch(hwbH, hwbW, hwbB) {
144
- const [ rgbR, rgbG, rgbB ] = hwb2rgb(hwbH, hwbW, hwbB);
145
- const [ xyzX, xyzY, xyzZ ] = rgb2xyz(rgbR, rgbG, rgbB);
146
- const [ labL, labA, labB ] = xyz2lab(xyzX, xyzY, xyzZ);
147
- const [ lchL, lchC, lchH ] = lab2lch(labL, labA, labB);
148
-
149
- return [ lchL, lchC, lchH ];
150
- }
151
-
152
- function lch2hwb(lchL, lchC, lchH, fallbackhue) {
153
- const [ labL, labA, labB ] = lch2lab(lchL, lchC, lchH);
154
- const [ xyzX, xyzY, xyzZ ] = lab2xyz(labL, labA, labB);
155
- const [ rgbR, rgbG, rgbB ] = xyz2rgb(xyzX, xyzY, xyzZ);
156
- const [ hwbH, hwbW, hwbB ] = rgb2hwb(rgbR, rgbG, rgbB, fallbackhue);
157
-
158
- return [ hwbH, hwbW, hwbB ];
159
- }
160
-
161
- /* Convert between HWB and XYZ
162
- /* ========================================================================== */
163
-
164
- function hwb2xyz(hwbH, hwbW, hwbB) {
165
- const [ rgbR, rgbG, rgbB ] = hwb2rgb(hwbH, hwbW, hwbB);
166
- const [ xyzX, xyzY, xyzZ ] = rgb2xyz(rgbR, rgbG, rgbB);
167
-
168
- return [ xyzX, xyzY, xyzZ ];
169
- }
170
-
171
- function xyz2hwb(xyzX, xyzY, xyzZ, fallbackhue) {
172
- const [ rgbR, rgbG, rgbB ] = xyz2rgb(xyzX, xyzY, xyzZ);
173
- const [ hwbH, hwbW, hwbB ] = rgb2hwb(rgbR, rgbG, rgbB, fallbackhue);
174
-
175
- return [ hwbH, hwbW, hwbB ];
176
- }
177
-
178
- /* Convert between HSV and Lab
179
- /* ========================================================================== */
180
-
181
- function hsv2lab(hsvH, hsvS, hsvV) {
182
- const [ rgbR, rgbG, rgbB ] = hsv2rgb(hsvH, hsvS, hsvV);
183
- const [ xyzX, xyzY, xyzZ ] = rgb2xyz(rgbR, rgbG, rgbB);
184
- const [ labL, labA, labB ] = xyz2lab(xyzX, xyzY, xyzZ);
185
-
186
- return [ labL, labA, labB ];
187
- }
188
-
189
- function lab2hsv(labL, labA, labB, fallbackhue) {
190
- const [ xyzX, xyzY, xyzZ ] = lab2xyz(labL, labA, labB);
191
- const [ rgbR, rgbG, rgbB ] = xyz2rgb(xyzX, xyzY, xyzZ);
192
- const [ hsvH, hsvS, hsvV ] = rgb2hsv(rgbR, rgbG, rgbB, fallbackhue);
193
-
194
- return [ hsvH, hsvS, hsvV ];
195
- }
196
-
197
- /* Convert between HSV and LCH
198
- /* ========================================================================== */
199
-
200
- function hsv2lch(hsvH, hsvS, hsvV) {
201
- const [ rgbR, rgbG, rgbB ] = hsv2rgb(hsvH, hsvS, hsvV);
202
- const [ xyzX, xyzY, xyzZ ] = rgb2xyz(rgbR, rgbG, rgbB);
203
- const [ labL, labA, labB ] = xyz2lab(xyzX, xyzY, xyzZ);
204
- const [ lchL, lchC, lchH ] = lab2lch(labL, labA, labB);
205
-
206
- return [ lchL, lchC, lchH ];
207
- }
208
-
209
- function lch2hsv(lchL, lchC, lchH, fallbackhue) {
210
- const [ labL, labA, labB ] = lch2lab(lchL, lchC, lchH);
211
- const [ xyzX, xyzY, xyzZ ] = lab2xyz(labL, labA, labB);
212
- const [ rgbR, rgbG, rgbB ] = xyz2rgb(xyzX, xyzY, xyzZ);
213
- const [ hsvH, hsvS, hsvV ] = rgb2hsv(rgbR, rgbG, rgbB, fallbackhue);
214
-
215
- return [ hsvH, hsvS, hsvV ];
216
- }
217
-
218
- /* Convert between HSV and XYZ
219
- /* ========================================================================== */
220
-
221
- function hsv2xyz(hsvH, hsvS, hsvV) {
222
- const [ rgbR, rgbG, rgbB ] = hsv2rgb(hsvH, hsvS, hsvV);
223
- const [ xyzX, xyzY, xyzZ ] = rgb2xyz(rgbR, rgbG, rgbB);
224
-
225
- return [ xyzX, xyzY, xyzZ ];
226
- }
227
-
228
- function xyz2hsv(xyzX, xyzY, xyzZ, fallbackhue) {
229
- const [ rgbR, rgbG, rgbB ] = xyz2rgb(xyzX, xyzY, xyzZ);
230
- const [ hsvH, hsvS, hsvV ] = rgb2hsv(rgbR, rgbG, rgbB, fallbackhue);
231
-
232
- return [ hsvH, hsvS, hsvV ];
233
- }
234
-
235
- /* Convert between XYZ and LCH
236
- /* ========================================================================== */
237
-
238
- function xyz2lch(xyzX, xyzY, xyzZ) {
239
- const [ labL, labA, labB ] = xyz2lab(xyzX, xyzY, xyzZ);
240
- const [ lchL, lchC, lchH ] = lab2lch(labL, labA, labB);
241
-
242
- return [ lchL, lchC, lchH ];
243
- }
244
-
245
- function lch2xyz(lchL, lchC, lchH) {
246
- const [ labL, labA, labB ] = lch2lab(lchL, lchC, lchH);
247
- const [ xyzX, xyzY, xyzZ ] = lab2xyz(labL, labA, labB);
248
-
249
- return [ xyzX, xyzY, xyzZ ];
250
- }
251
-
252
- /* All Conversions
253
- /* ========================================================================== */
254
-
255
- export {
256
- rgb2hsl,
257
- rgb2hwb,
258
- rgb2lab,
259
- rgb2lch,
260
- rgb2hsv,
261
- rgb2xyz,
262
-
263
- hsl2rgb,
264
- hsl2hwb,
265
- hsl2lab,
266
- hsl2lch,
267
- hsl2hsv,
268
- hsl2xyz,
269
-
270
- hwb2rgb,
271
- hwb2hsl,
272
- hwb2lab,
273
- hwb2lch,
274
- hwb2hsv,
275
- hwb2xyz,
276
-
277
- lab2rgb,
278
- lab2hsl,
279
- lab2hwb,
280
- lab2lch,
281
- lab2hsv,
282
- lab2xyz,
283
-
284
- lch2rgb,
285
- lch2hsl,
286
- lch2hwb,
287
- lch2lab,
288
- lch2hsv,
289
- lch2xyz,
290
-
291
- hsv2rgb,
292
- hsv2hsl,
293
- hsv2hwb,
294
- hsv2lab,
295
- hsv2lch,
296
- hsv2xyz,
297
-
298
- xyz2rgb,
299
- xyz2hsl,
300
- xyz2hwb,
301
- xyz2lab,
302
- xyz2lch,
303
- xyz2hsv,
304
-
305
- rgb2hue
306
- };
307
-
308
- export default {
309
- rgb2hsl,
310
- rgb2hwb,
311
- rgb2lab,
312
- rgb2lch,
313
- rgb2hsv,
314
- rgb2xyz,
315
-
316
- hsl2rgb,
317
- hsl2hwb,
318
- hsl2lab,
319
- hsl2lch,
320
- hsl2hsv,
321
- hsl2xyz,
322
-
323
- hwb2rgb,
324
- hwb2hsl,
325
- hwb2lab,
326
- hwb2lch,
327
- hwb2hsv,
328
- hwb2xyz,
329
-
330
- lab2rgb,
331
- lab2hsl,
332
- lab2hwb,
333
- lab2lch,
334
- lab2hsv,
335
- lab2xyz,
336
-
337
- lch2rgb,
338
- lch2hsl,
339
- lch2hwb,
340
- lch2lab,
341
- lch2hsv,
342
- lch2xyz,
343
-
344
- hsv2rgb,
345
- hsv2hsl,
346
- hsv2hwb,
347
- hsv2lab,
348
- hsv2lch,
349
- hsv2xyz,
350
-
351
- xyz2rgb,
352
- xyz2hsl,
353
- xyz2hwb,
354
- xyz2lab,
355
- xyz2lch,
356
- xyz2hsv,
357
-
358
- rgb2hue
359
- };
1
+ "use strict";function r(r,t){(null==t||t>r.length)&&(t=r.length);for(var n=0,e=Array(t);n<t;n++)e[n]=r[n];return e}function t(t,n){return function(r){if(Array.isArray(r))return r}(t)||function(r,t){var n=null==r?null:"undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(null!=n){var e,o,u,s,c=[],i=!0,a=!1;try{if(u=(n=n.call(r)).next,0===t){if(Object(n)!==n)return;i=!1}else for(;!(i=(e=u.call(n)).done)&&(c.push(e.value),c.length!==t);i=!0);}catch(r){a=!0,o=r}finally{try{if(!i&&null!=n.return&&(s=n.return(),Object(s)!==s))return}finally{if(a)throw o}}return c}}(t,n)||function(t,n){if(t){if("string"==typeof t)return r(t,n);var e={}.toString.call(t).slice(8,-1);return"Object"===e&&t.constructor&&(e=t.constructor.name),"Map"===e||"Set"===e?Array.from(t):"Arguments"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e)?r(t,n):void 0}}(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function n(r,t,n,e=0){const s=o(r,t,n),c=s-u(r,t,n);if(c){const e=s===r?(t-n)/c:s===t?(n-r)/c:(r-t)/c;return 60*(e+(s===r?e<0?6:0:s===t?2:4))}return e}function e(r,t,n){const e=n<0?n+360:n>360?n-360:n;return 6*e<360?r+(t-r)*e/60:2*e<360?t:3*e<720?r+(t-r)*(240-e)/60:r}function o(r,t,n){return m(r,t,n)}function u(r,t,n){return w(r,t,n)}function s(r,t){return t.map(t=>t.reduce((t,n,e)=>t+r[e]*c*(n*c)/c/c,0))}const c=1e8,i=(r,t)=>h(x(r,t)),a=r=>b(l(r)),l=r=>r*v/180,h=r=>180*r/v,p=r=>z(l(r)),f=Math.abs,x=Math.atan2,d=Math.cbrt,b=Math.cos,g=Math.exp,y=Math.floor,m=Math.max,w=Math.min,v=Math.PI,k=Math.pow,z=Math.sin,M=Math.sqrt,I=k(6,3)/k(29,3),q=k(29,3)/k(3,3);function S(r,t,e,s){const c=n(r,t,e,s),i=o(r,t,e),a=u(r,t,e),l=i-a,h=(i+a)/2;return[c,0===l?0:l/(100-f(2*h-100))*100,h]}function A(r,t,n){const o=n<=50?n*(t+100)/100:n+t-n*t/100,u=2*n-o,s=[e(u,o,r+120),e(u,o,r),e(u,o,r-120)];return[s[0],s[1],s[2]]}function j(r,t,e,s){return[n(r,t,e,s),u(r,t,e),100-o(r,t,e)]}function O(r,n,e,o){const u=t(A(r,100,50).map(r=>r*(100-n-e)/100+n),3);return[u[0],u[1],u[2]]}function $(r,t,e,s){const c=o(r,t,e),i=u(r,t,e);return[n(r,t,e,s),c===i?0:(c-i)/c*100,c]}function C(r,n,e){const o=y(r/60),u=r/60-o&1?r/60-o:1-r/60-o,s=e*(100-n)/100,c=e*(100-n*u)/100,i=e*(100-(100-u)*n/100)/100,a=t(5===o?[e,s,c]:4===o?[i,s,e]:3===o?[s,c,e]:2===o?[s,e,i]:1===o?[c,e,s]:[e,i,s],3);return[a[0],a[1],a[2]]}function E(r,n,e){const o=t([r,n,e].map(r=>r>4.045?100*k((r+5.5)/105.5,2.4):r/12.92),3),u=t(s([o[0],o[1],o[2]],[[.4124564,.3575761,.1804375],[.2126729,.7151522,.072175],[.0193339,.119192,.9503041]]),3);return[u[0],u[1],u[2]]}function L(r,n,e){const o=t(s([r,n,e],[[3.2404542,-1.5371385,-.4985314],[-.969266,1.8760108,.041556],[.0556434,-.2040259,1.0572252]]),3),u=t([o[0],o[1],o[2]].map(r=>r>.31308?1.055*k(r/100,1/2.4)*100-5.5:12.92*r),3);return[u[0],u[1],u[2]]}function P(r,t,n){const e=t*(n<50?n:100-n)/100;return[r,0===e?0:2*e/(n+e)*100,n+e]}function T(r,t,n){const e=(200-t)*n/100;return[r,0===e||200===e?0:t*n/100/(e<=100?e:200-e)*100,5*e/10]}function U(r,t,n){return[r,100===n?0:100-t/(100-n)*100,100-n]}function B(r,t,n){return[r,(100-t)*n/100,100-n]}function D(r,n,e){const o=(r+16)/116,u=n/500+o,c=o-e/200,i=t(s([96.42*(k(u,3)>I?k(u,3):(116*u-16)/q),100*(r>q*I?k((r+16)/116,3):r/q),82.49*(k(c,3)>I?k(c,3):(116*c-16)/q)],[[.9555766,-.0230393,.0631636],[-.0282895,1.0099416,.0210077],[.0122982,-.020483,1.3299098]]),3);return[i[0],i[1],i[2]]}function F(r,n,e){const o=t(s([r,n,e],[[1.0478112,.0228866,-.050127],[.0295424,.9904844,-.0170491],[-.0092345,.0150436,.7521316]]),3),u=t([o[0]/96.42,o[1]/100,o[2]/82.49].map(r=>r>I?d(r):(q*r+16)/116),3),c=u[0],i=u[1];return[116*i-16,500*(c-i),200*(i-u[2])]}function G(r,t,n){const e=[M(k(t,2)+k(n,2)),h(x(n,t))];return[r,e[0],e[1]]}function H(r,t,n){return[r,t*a(n),t*p(n)]}function J(r,t){return function(r,t){const n=m(r,t),e=w(r,t);return(n*c+.05*c)/(e*c+.05*c)}(K(...r),K(...t))}function K(r,t,n){return(N(r)*V+N(t)*W+N(n)*X)/c}const N=r=>r<=3.928?r/R:Q(r),Q=r=>k((r+5.5)/105.5,2.4),R=1292,V=.2126*c,W=.7152*c,X=.0722*c;function Y(r){const n=t(r.match(_)||[],9),e=n[1],o=n[2],u=n[3],s=n[4],c=n[5],i=n[6],a=n[7],l=n[8];if(void 0!==c||void 0!==e){return[void 0!==c?parseInt(c,16):parseInt(e+e,16),void 0!==i?parseInt(i,16):parseInt(o+o,16),void 0!==a?parseInt(a,16):parseInt(u+u,16),void 0!==l?parseInt(l,16):void 0!==s?parseInt(s+s,16):255].map(r=>100*r/255)}}function Z(r,t,n){return`#${((1<<24)+(Math.round(255*r/100)<<16)+(Math.round(255*t/100)<<8)+Math.round(255*n/100)).toString(16).slice(1)}`}const _=/^#?(?:([a-f0-9])([a-f0-9])([a-f0-9])([a-f0-9])?|([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})?)$/i;function rr(r){const t=tr[String(r).toLowerCase()];return t?t.map(r=>100*r/255):null}const tr={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],transparent:[0,0,0],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]};function nr([r,t,n],[e,o,u]){const s=M(k(t,2)+k(n,2)),l=M(k(o,2)+k(u,2)),h=e-r,x=(r+e)/2,d=k((s+l)/2,7),b=M(d/(d+k(25,7))),y=t+t/2*(1-b),m=o+o/2*(1-b),w=M(y*y+n*n),v=M(m*m+u*u),z=(w+v)/2,I=v-w,q=0===y&&0===n?0:i(n,y)%360,S=0===m&&0===u?0:i(u,m)%360;let A,j,O;0===w||0===v?(A=0,j=0,O=q+S):(A=f(q-S)<=180?S-q:S<=q?S-q+360:S-q-360,j=2*M(w*v)*p(A/2),O=f(q-S)<=180?(q+S)/2:q+S<360?(q+S+360)/2:(q+S-360)/2);const $=1-.17*c*a(O-30)+.24*c*a(2*O)+.32*c*a(3*O+6)-.2*c*a(4*O-63)/c/c,C=(x-50)*(x-50),E=1+.015*c*C/M(20+C)/c,L=1+.045*c*z/c,P=1+.015*c*z*$/c,T=60*g(-(O-275)/25*((O-275)/25)),U=-2*b*p(T),B=h/(er*E),D=I/(or*L),F=j/(ur*P);return M(B*B+D*D+F*F+U*D*F)}const er=1,or=1,ur=1;function sr(r,n,e){const o=t(E(r,n,e),3),u=t(F(o[0],o[1],o[2]),3);return[u[0],u[1],u[2]]}function cr(r,n,e){const o=t(D(r,n,e),3),u=t(L(o[0],o[1],o[2]),3);return[u[0],u[1],u[2]]}function ir(r,n,e){const o=t(E(r,n,e),3),u=t(F(o[0],o[1],o[2]),3),s=t(G(u[0],u[1],u[2]),3);return[s[0],s[1],s[2]]}function ar(r,n,e){const o=t(H(r,n,e),3),u=t(D(o[0],o[1],o[2]),3),s=t(L(u[0],u[1],u[2]),3);return[s[0],s[1],s[2]]}function lr(r,n,e){const o=t(A(r,n,e),3),u=t(E(o[0],o[1],o[2]),3),s=t(F(u[0],u[1],u[2]),3);return[s[0],s[1],s[2]]}function hr(r,n,e){const o=t(O(r,n,e),3),u=t(E(o[0],o[1],o[2]),3),s=t(F(u[0],u[1],u[2]),3);return[s[0],s[1],s[2]]}function pr(r,n,e){const o=t(C(r,n,e),3),u=t(E(o[0],o[1],o[2]),3),s=t(F(u[0],u[1],u[2]),3);return[s[0],s[1],s[2]]}function fr(r){return sr(...Y(r))}function xr(r){return sr(...rr(r))}exports.hex2ciede=function(r,t){return nr(fr(r),fr(t))},exports.hex2contrast=function(r,t){return J(Y(r),Y(t))},exports.hex2hsl=function(r){return S(...Y(r))},exports.hex2hsv=function(r){return $(...Y(r))},exports.hex2hwb=function(r){return j(...Y(r))},exports.hex2lab=fr,exports.hex2lch=function(r){return ir(...Y(r))},exports.hex2rgb=Y,exports.hex2xyz=function(r){return E(...Y(r))},exports.hsl2ciede=function(r,t){return nr(lr(...r),lr(...t))},exports.hsl2contrast=function(r,t){return J(A(...r),A(...t))},exports.hsl2hex=function(r,t,n){return Z(...A(r,t,n))},exports.hsl2hsv=P,exports.hsl2hwb=function(r,n,e){const o=t(P(r,n,e),3),u=t(B(r,o[1],o[2]),3);return[r,u[1],u[2]]},exports.hsl2lab=lr,exports.hsl2lch=function(r,n,e){const o=t(A(r,n,e),3),u=t(E(o[0],o[1],o[2]),3),s=t(F(u[0],u[1],u[2]),3),c=t(G(s[0],s[1],s[2]),3);return[c[0],c[1],c[2]]},exports.hsl2rgb=A,exports.hsl2xyz=function(r,n,e){const o=t(A(r,n,e),3),u=t(E(o[0],o[1],o[2]),3);return[u[0],u[1],u[2]]},exports.hsv2ciede=function(r,t){return nr(pr(...r),pr(...t))},exports.hsv2contrast=function(r,t){return J(C(...r),C(...t))},exports.hsv2hex=function(r,t,n){return Z(...A(r,t,n))},exports.hsv2hsl=T,exports.hsv2hwb=B,exports.hsv2lab=pr,exports.hsv2lch=function(r,n,e){const o=t(C(r,n,e),3),u=t(E(o[0],o[1],o[2]),3),s=t(F(u[0],u[1],u[2]),3),c=t(G(s[0],s[1],s[2]),3);return[c[0],c[1],c[2]]},exports.hsv2rgb=C,exports.hsv2xyz=function(r,n,e){const o=t(C(r,n,e),3),u=t(E(o[0],o[1],o[2]),3);return[u[0],u[1],u[2]]},exports.hwb2ciede=function(r,t){return nr(hr(...r),hr(...t))},exports.hwb2contrast=function(r,t){return J(O(...r),O(...t))},exports.hwb2hex=function(r,t,n){return Z(...O(r,t,n))},exports.hwb2hsl=function(r,n,e){const o=t(U(r,n,e),3),u=t(T(o[0],o[1],o[2]),3);return[u[0],u[1],u[2]]},exports.hwb2hsv=U,exports.hwb2lab=hr,exports.hwb2lch=function(r,n,e){const o=t(O(r,n,e),3),u=t(E(o[0],o[1],o[2]),3),s=t(F(u[0],u[1],u[2]),3),c=t(G(s[0],s[1],s[2]),3);return[c[0],c[1],c[2]]},exports.hwb2rgb=O,exports.hwb2xyz=function(r,n,e){const o=t(O(r,n,e),3),u=t(E(o[0],o[1],o[2]),3);return[u[0],u[1],u[2]]},exports.keyword2ciede=function(r,t){return nr(xr(r),xr(t))},exports.keyword2contrast=function(r,t){return J(rr(r),rr(t))},exports.keyword2hex=function(r){return Z(...rr(r))},exports.keyword2hsl=function(r){return S(...rr(r))},exports.keyword2hsv=function(r){return $(...rr(r))},exports.keyword2hwb=function(r){return j(...rr(r))},exports.keyword2lab=xr,exports.keyword2lch=function(r){return ir(...rr(r))},exports.keyword2rgb=rr,exports.keyword2xyz=function(r){return E(...rr(r))},exports.lab2ciede=nr,exports.lab2contrast=function(r,t){return J(cr(...r),cr(...t))},exports.lab2hex=function(r,t,n){return Z(...cr(r,t,n))},exports.lab2hsl=function(r,n,e,o){const u=t(D(r,n,e),3),s=t(L(u[0],u[1],u[2]),3),c=t(S(s[0],s[1],s[2],o),3);return[c[0],c[1],c[2]]},exports.lab2hsv=function(r,n,e,o){const u=t(D(r,n,e),3),s=t(L(u[0],u[1],u[2]),3),c=t($(s[0],s[1],s[2],o),3);return[c[0],c[1],c[2]]},exports.lab2hwb=function(r,n,e,o){const u=t(D(r,n,e),3),s=t(L(u[0],u[1],u[2]),3),c=t(j(s[0],s[1],s[2],o),3);return[c[0],c[1],c[2]]},exports.lab2lch=G,exports.lab2rgb=cr,exports.lab2xyz=D,exports.lch2ciede=function(r,t){return nr(H(...r),H(...t))},exports.lch2contrast=function(r,t){return J(ar(...r),ar(...t))},exports.lch2hex=function(r,t,n){return Z(...ar(r,t,n))},exports.lch2hsl=function(r,n,e,o){const u=t(H(r,n,e),3),s=t(D(u[0],u[1],u[2]),3),c=t(L(s[0],s[1],s[2]),3),i=t(S(c[0],c[1],c[2],o),3);return[i[0],i[1],i[2]]},exports.lch2hsv=function(r,n,e,o){const u=t(H(r,n,e),3),s=t(D(u[0],u[1],u[2]),3),c=t(L(s[0],s[1],s[2]),3),i=t($(c[0],c[1],c[2],o),3);return[i[0],i[1],i[2]]},exports.lch2hwb=function(r,n,e,o){const u=t(H(r,n,e),3),s=t(D(u[0],u[1],u[2]),3),c=t(L(s[0],s[1],s[2]),3),i=t(j(c[0],c[1],c[2],o),3);return[i[0],i[1],i[2]]},exports.lch2lab=H,exports.lch2rgb=ar,exports.lch2xyz=function(r,n,e){const o=t(H(r,n,e),3),u=t(D(o[0],o[1],o[2]),3);return[u[0],u[1],u[2]]},exports.rgb2ciede=function(r,t){return nr(sr(...r),sr(...t))},exports.rgb2contrast=J,exports.rgb2hex=Z,exports.rgb2hsl=S,exports.rgb2hsv=$,exports.rgb2hwb=j,exports.rgb2lab=sr,exports.rgb2lch=ir,exports.rgb2xyz=E,exports.xyz2ciede=function(r,t){return nr(F(...r),F(...t))},exports.xyz2contrast=function(r,t){return J(L(...r),L(...t))},exports.xyz2hex=function(r,t,n){return Z(...L(r,t,n))},exports.xyz2hsl=function(r,n,e,o){const u=t(L(r,n,e),3),s=t(S(u[0],u[1],u[2],o),3);return[s[0],s[1],s[2]]},exports.xyz2hsv=function(r,n,e,o){const u=t(L(r,n,e),3),s=t($(u[0],u[1],u[2],o),3);return[s[0],s[1],s[2]]},exports.xyz2hwb=function(r,n,e,o){const u=t(L(r,n,e),3),s=t(j(u[0],u[1],u[2],o),3);return[s[0],s[1],s[2]]},exports.xyz2lab=F,exports.xyz2lch=function(r,n,e){const o=t(F(r,n,e),3),u=t(G(o[0],o[1],o[2]),3);return[u[0],u[1],u[2]]},exports.xyz2rgb=L;
2
+ //# sourceMappingURL=index.js.map