New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

color-space

Package Overview
Dependencies
Maintainers
0
Versions
54
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

color-space - npm Package Compare versions

Comparing version 2.3.0 to 2.3.1

lrgb.js

16

cmy.js

@@ -8,4 +8,4 @@ /**

name: 'cmy',
min: [0,0,0],
max: [100,100,100],
min: [0, 0, 0],
max: [100, 100, 100],
channel: ['cyan', 'magenta', 'yellow'],

@@ -23,5 +23,5 @@ alias: ['CMY']

cmy.rgb = ([c, m, y]) => [
(1 - c/100) * 255,
(1 - m/100) * 255,
(1 - y/100) * 255
(1 - c / 100) * 255,
(1 - m / 100) * 255,
(1 - y / 100) * 255
];

@@ -37,5 +37,5 @@

rgb.cmy = ([r, g, b]) => [
(1-r/255) * 100 || 0,
(1-g/255) * 100 || 0,
(1-b/255) * 100 || 0
(1 - r / 255) * 100 || 0,
(1 - g / 255) * 100 || 0,
(1 - b / 255) * 100 || 0
];

@@ -42,0 +42,0 @@

@@ -8,4 +8,4 @@ /**

name: 'cmyk',
min: [0,0,0,0],
max: [100,100,100,100],
min: [0, 0, 0, 0],
max: [100, 100, 100, 100],
channel: ['cyan', 'magenta', 'yellow', 'black'],

@@ -16,10 +16,10 @@ alias: ['CMYK'],

let c = cmyk[0] / 100,
m = cmyk[1] / 100,
y = cmyk[2] / 100,
k = cmyk[3] / 100,
r, g, b;
m = cmyk[1] / 100,
y = cmyk[2] / 100,
k = cmyk[3] / 100,
r, g, b;
r = 1 - Math.min(1, c * (1 - k) + k),
g = 1 - Math.min(1, m * (1 - k) + k),
b = 1 - Math.min(1, y * (1 - k) + k);
g = 1 - Math.min(1, m * (1 - k) + k),
b = 1 - Math.min(1, y * (1 - k) + k);

@@ -32,5 +32,5 @@ return [r * 255, g * 255, b * 255];

let r = rgb[0] / 255,
g = rgb[1] / 255,
b = rgb[2] / 255,
c, m, y, k;
g = rgb[1] / 255,
b = rgb[2] / 255,
c, m, y, k;

@@ -37,0 +37,0 @@ k = Math.min(1 - r, 1 - g, 1 - b);

@@ -35,3 +35,3 @@ /**

*/
cubehelix.rgb = function(fraction, options={}) {
cubehelix.rgb = function (fraction, options = {}) {
if (Array.isArray(fraction)) fraction = fraction[0];

@@ -44,11 +44,11 @@

var angle = 2 * Math.PI * (start/3 + 1.0 + rotation * fraction);
var angle = 2 * Math.PI * (start / 3 + 1.0 + rotation * fraction);
fraction = Math.pow(fraction, gamma);
var amp = hue * fraction * (1-fraction)/2.0;
var amp = hue * fraction * (1 - fraction) / 2.0;
var r = fraction + amp*(-0.14861*Math.cos(angle)+1.78277*Math.sin(angle));
var g = fraction + amp*(-0.29227*Math.cos(angle)-0.90649*Math.sin(angle));
var b = fraction + amp*(+1.97294*Math.cos(angle));
var r = fraction + amp * (-0.14861 * Math.cos(angle) + 1.78277 * Math.sin(angle));
var g = fraction + amp * (-0.29227 * Math.cos(angle) - 0.90649 * Math.sin(angle));
var b = fraction + amp * (+1.97294 * Math.cos(angle));

@@ -69,3 +69,3 @@ r = Math.max(1, Math.min(r, 0));

*/
rgb.cubehelix = function(rgb) {
rgb.cubehelix = function (rgb) {
//TODO - there is no backwise conversion yet

@@ -72,0 +72,0 @@ throw new Error('rgb.cubehelix conversion is not implemented yet');

@@ -778,20 +778,20 @@ // rgb.js

channel: ["lightness", "a", "b"],
alias: ["LAB", "cielab"],
xyz: function(lab2) {
var l2 = lab2[0], a = lab2[1], b = lab2[2], x, y, z, y2;
if (l2 <= 8) {
y = l2 * 100 / 903.3;
y2 = 7.787 * (y / 100) + 16 / 116;
} else {
y = 100 * Math.pow((l2 + 16) / 116, 3);
y2 = Math.pow(y / 100, 1 / 3);
}
x = x / 95.047 <= 8856e-6 ? x = 95.047 * (a / 500 + y2 - 16 / 116) / 7.787 : 95.047 * Math.pow(a / 500 + y2, 3);
z = z / 108.883 <= 8859e-6 ? z = 108.883 * (y2 - b / 200 - 16 / 116) / 7.787 : 108.883 * Math.pow(y2 - b / 200, 3);
return [x, y, z];
alias: ["LAB", "cielab"]
};
lab.xyz = ([l2, a, b]) => {
var x, y, z, y2;
if (l2 <= 8) {
y = l2 * 100 / 903.3;
y2 = 7.787 * (y / 100) + 16 / 116;
} else {
y = 100 * Math.pow((l2 + 16) / 116, 3);
y2 = Math.pow(y / 100, 1 / 3);
}
x = x / 95.047 <= 8856e-6 ? x = 95.047 * (a / 500 + y2 - 16 / 116) / 7.787 : 95.047 * Math.pow(a / 500 + y2, 3);
z = z / 108.883 <= 8859e-6 ? z = 108.883 * (y2 - b / 200 - 16 / 116) / 7.787 : 108.883 * Math.pow(y2 - b / 200, 3);
return [x, y, z];
};
var lab_default = lab;
xyz_default.lab = function(xyz2) {
var x = xyz2[0], y = xyz2[1], z = xyz2[2], l2, a, b;
xyz_default.lab = ([x, y, z]) => {
var l2, a, b;
x /= 95.047;

@@ -1270,2 +1270,41 @@ y /= 100;

// oklab.js
var oklab = {
name: "oklab",
min: [0, -0.4, -0.4],
max: [1, 0.4, 0.4],
channel: ["lightness", "a", "b"]
};
var oklab_default = oklab;
oklab.rgb = ([l2, a, b]) => {
const l_ = l2 + 0.3963377774 * a + 0.2158037573 * b;
const m_ = l2 - 0.1055613458 * a - 0.0638541728 * b;
const s_ = l2 - 0.0894841775 * a - 1.291485548 * b;
const l3 = l_ ** 3;
const m3 = m_ ** 3;
const s3 = s_ ** 3;
return [
(4.0767416621 * l3 - 3.307711591 * m3 + 0.2309699292 * s3) * 255,
(-1.2684380046 * l3 + 2.6097574011 * m3 - 0.3413193965 * s3) * 255,
(-0.0041960863 * l3 - 0.7034186147 * m3 + 1.707614701 * s3) * 255
];
};
rgb_default.oklab = ([r2, g2, b]) => {
r2 /= 255, g2 /= 255, b /= 255;
const l2 = 0.4122214708 * r2 + 0.5363325363 * g2 + 0.0514459929 * b;
const m2 = 0.2119034982 * r2 + 0.6806995451 * g2 + 0.1073969566 * b;
const s = 0.0883024619 * r2 + 0.2817188376 * g2 + 0.6299787005 * b;
const l_ = Math.cbrt(l2);
const m_ = Math.cbrt(m2);
const s_ = Math.cbrt(s);
return [
0.2104542553 * l_ + 0.793617785 * m_ - 0.0040720468 * s_,
// L
1.9779984951 * l_ - 2.428592205 * m_ + 0.4505937099 * s_,
// a
0.0259040371 * l_ + 0.7827717662 * m_ - 0.808675766 * s_
// b
];
};
// cubehelix.js

@@ -1935,2 +1974,13 @@ var defaults = {

// lrgb.js
var lrgb = {
name: "lrgb",
min: [0, 0, 0],
max: [1, 1, 1],
channel: ["red", "green", "blue"]
};
lrgb.rgb = (rgb2) => rgb2.map((c) => (c /= 255) > 0.04045 ? ((c + 0.055) / 1.055) ** 2.4 : c / 12.92);
rgb_default.lrgb = (rgb2) => rgb2.map((c) => c / 255 <= 0.04045 ? c / 255 / 12.92 : ((c / 255 + 0.055) / 1.055) ** 2.4);
var lrgb_default = lrgb;
// index.js

@@ -1954,6 +2004,6 @@ var spaces = {};

return () => {
throw new Error("Conversion not available");
throw new Error(`Conversion ${fromSpace.name} to ${toSpaceName} is not available`);
};
}
[rgb_default, xyz_default, hsl_default, hsv_default, hsi_default, hwb_default, cmyk_default, cmy_default, xyy_default, yiq_default, yuv_default, ydbdr_default, ycgco_default, ypbpr_default, ycbcr_default, xvycc_default, yccbccrc_default, ucs_default, uvw_default, jpeg_default, lab_default, labh_default, lms_default, lchab_default, luv_default, lchuv_default, hsluv_default, hpluv_default, cubehelix_default, coloroid_default, hcg_default, hcy_default, tsl_default, yes_default, osaucs_default, hsp_default, hsm_default].map(register);
[rgb_default, xyz_default, hsl_default, hsv_default, hsi_default, hwb_default, cmyk_default, cmy_default, xyy_default, yiq_default, yuv_default, ydbdr_default, ycgco_default, ypbpr_default, ycbcr_default, xvycc_default, yccbccrc_default, ucs_default, uvw_default, jpeg_default, lab_default, labh_default, lms_default, lchab_default, luv_default, lchuv_default, hsluv_default, hpluv_default, cubehelix_default, coloroid_default, hcg_default, hcy_default, tsl_default, yes_default, osaucs_default, hsp_default, hsm_default, lrgb_default, oklab_default].map(register);
export {

@@ -1960,0 +2010,0 @@ index_default as default,

@@ -1,1 +0,1 @@

var k0={name:"rgb",min:[0,0,0],max:[255,255,255],channel:["red","green","blue"],alias:["RGB"]},f=k0,Z0={name:"hsl",min:[0,0,0],max:[360,100,100],channel:["hue","saturation","lightness"],alias:["HSL"],rgb:function(r){var a=r[0]/360,n=r[1]/100,t=r[2]/100,e,v,u,h,i,c=0;if(n===0)return i=t*255,[i,i,i];for(v=t<.5?t*(1+n):t+n-t*n,e=2*t-v,h=[0,0,0];c<3;)u=a+1/3*-(c-1),u<0?u++:u>1&&u--,i=6*u<1?e+(v-e)*6*u:2*u<1?v:3*u<2?e+(v-e)*(2/3-u)*6:e,h[c++]=i*255;return h}},L=Z0;f.hsl=function(r){var a=r[0]/255,n=r[1]/255,t=r[2]/255,e=Math.min(a,n,t),v=Math.max(a,n,t),u=v-e,h,i,c;return v===e?h=0:a===v?h=(n-t)/u:n===v?h=2+(t-a)/u:t===v&&(h=4+(a-n)/u),h=Math.min(h*60,360),h<0&&(h+=360),c=(e+v)/2,v===e?i=0:c<=.5?i=u/(v+e):i=u/(2-v-e),[h,i*100,c*100]};var K0={name:"hsv",min:[0,0,0],max:[360,100,100],channel:["hue","saturation","value"],alias:["HSV","HSB"],rgb:function(r){var a=r[0]/60,n=r[1]/100,t=r[2]/100,e=Math.floor(a)%6,v=a-Math.floor(a),u=255*t*(1-n),h=255*t*(1-n*v),i=255*t*(1-n*(1-v));switch(t*=255,e){case 0:return[t,i,u];case 1:return[h,t,u];case 2:return[u,t,i];case 3:return[u,h,t];case 4:return[i,u,t];case 5:return[t,u,h]}},hsl:function(r){var a=r[0],n=r[1]/100,t=r[2]/100,e,v;return v=(2-n)*t,e=n*t,e/=v<=1?v:2-v,e=e||0,v/=2,[a,e*100,v*100]}},D=K0;f.hsv=function(r){var a=r[0],n=r[1],t=r[2],e=Math.min(a,n,t),v=Math.max(a,n,t),u=v-e,h,i,c;return v===0?i=0:i=u/v*100,v===e?h=0:a===v?h=(n-t)/u:n===v?h=2+(t-a)/u:t===v&&(h=4+(a-n)/u),h=Math.min(h*60,360),h<0&&(h+=360),c=v/255*1e3/10,[h,i,c]},L.hsv=function(r){var a=r[0],n=r[1]/100,t=r[2]/100,e,v;return t*=2,n*=t<=1?t:2-t,v=(t+n)/2,e=2*n/(t+n)||0,[a,e*100,v*100]};var e0={name:"hsi",min:[0,0,0],max:[360,100,255],channel:["hue","saturation","intensity"],alias:["HSI"]},N0=e0;e0.rgb=function(r){var a=(r[0]<0?r[0]%360+360:r[0]%360)*Math.PI/180,n=Math.max(0,Math.min(r[1],100))/100,t=Math.max(0,Math.min(r[2],255))/255,e=Math.PI/3,v,u,h;return a<2*e?(h=t*(1-n),v=t*(1+n*Math.cos(a)/Math.cos(e-a)),u=t*(1+n*(1-Math.cos(a)/Math.cos(e-a)))):a<4*e?(a=a-2*e,v=t*(1-n),u=t*(1+n*Math.cos(a)/Math.cos(e-a)),h=t*(1+n*(1-Math.cos(a)/Math.cos(e-a)))):(a=a-4*e,u=t*(1-n),h=t*(1+n*Math.cos(a)/Math.cos(e-a)),v=t*(1+n*(1-Math.cos(a)/Math.cos(e-a)))),[v*255,u*255,h*255]},f.hsi=function(r){var a=r[0]+r[1]+r[2],n=r[0]/a,t=r[1]/a,e=r[2]/a,v=Math.acos(.5*(n-t+(n-e))/Math.sqrt((n-t)*(n-t)+(n-e)*(t-e)));e>t&&(v=2*Math.PI-v);var u=1-3*Math.min(n,t,e),h=a/3;return[v*180/Math.PI,u*100,h]};var v0={name:"hwb",min:[0,0,0],max:[360,100,100],channel:["hue","whiteness","blackness"],alias:["HWB"],rgb:function(r){var a=r[0]/360,n=r[1]/100,t=r[2]/100,e=n+t,v,u,h,i,c,s,l;switch(e>1&&(n/=e,t/=e),v=Math.floor(6*a),u=1-t,h=6*a-v,v&1&&(h=1-h),i=n+h*(u-n),v){default:case 6:case 0:c=u,s=i,l=n;break;case 1:c=i,s=u,l=n;break;case 2:c=n,s=u,l=i;break;case 3:c=n,s=i,l=u;break;case 4:c=i,s=n,l=u;break;case 5:c=u,s=n,l=i;break}return[c*255,s*255,l*255]},hsv:function(r){var a=r[0],n=r[1],t=r[2],e,v;return n+t>=100?(e=0,v=100*n/(n+t)):(e=100-n/(1-t/100),v=100-t),[a,e,v]},hsl:function(r){return D.hsl(v0.hsv(r))}},u0=v0;f.hwb=function(r){var a=r[0],n=r[1],t=r[2],e=f.hsl(r)[0],v=1/255*Math.min(a,Math.min(n,t));return t=1-1/255*Math.max(a,Math.max(n,t)),[e,v*100,t*100]},D.hwb=function(r){var a=r[0],n=r[1],t=r[2];return[a,t===0?0:t*(1-n/100),100-t]},L.hwb=function(r){return D.hwb(L.hsv(r))};var O0={name:"cmyk",min:[0,0,0,0],max:[100,100,100,100],channel:["cyan","magenta","yellow","black"],alias:["CMYK"],rgb:r=>{let a=r[0]/100,n=r[1]/100,t=r[2]/100,e=r[3]/100,v,u,h;return v=1-Math.min(1,a*(1-e)+e),u=1-Math.min(1,n*(1-e)+e),h=1-Math.min(1,t*(1-e)+e),[v*255,u*255,h*255]}};f.cmyk=r=>{let a=r[0]/255,n=r[1]/255,t=r[2]/255,e,v,u,h;return h=Math.min(1-a,1-n,1-t),e=(1-a-h)/(1-h)||0,v=(1-n-h)/(1-h)||0,u=(1-t-h)/(1-h)||0,[e*100,v*100,u*100,h*100]};var W0=O0,h0={name:"cmy",min:[0,0,0],max:[100,100,100],channel:["cyan","magenta","yellow"],alias:["CMY"]};h0.rgb=([r,a,n])=>[(1-r/100)*255,(1-a/100)*255,(1-n/100)*255],f.cmy=([r,a,n])=>[(1-r/255)*100||0,(1-a/255)*100||0,(1-n/255)*100||0];var Q0=h0,z={name:"xyz",min:[0,0,0],channel:["X","Y","Z"],alias:["XYZ","ciexyz","cie1931"],whitepoint:{2:{A:[109.85,100,35.585],C:[98.074,100,118.232],D50:[96.422,100,82.521],D55:[95.682,100,92.149],D65:[95.045592705167,100,108.9057750759878],D75:[94.972,100,122.638],F2:[99.187,100,67.395],F7:[95.044,100,108.755],F11:[100.966,100,64.37],E:[100,100,100]},10:{A:[111.144,100,35.2],C:[97.285,100,116.145],D50:[96.72,100,81.427],D55:[95.799,100,90.926],D65:[94.811,100,107.304],D75:[94.416,100,120.641],F2:[103.28,100,69.026],F7:[95.792,100,107.687],F11:[103.866,100,65.627],E:[100,100,100]}}};z.max=z.whitepoint[2].D65,z.rgb=function(r,a){a=a||z.whitepoint[2].E;var n=r[0]/a[0],t=r[1]/a[1],e=r[2]/a[2],v,u,h;return v=n*3.240969941904521+t*-1.537383177570093+e*-.498610760293,u=n*-.96924363628087+t*1.87596750150772+e*.041555057407175,h=n*.055630079696993+t*-.20397695888897+e*1.056971514242878,v=v>.0031308?1.055*Math.pow(v,1/2.4)-.055:v=v*12.92,u=u>.0031308?1.055*Math.pow(u,1/2.4)-.055:u=u*12.92,h=h>.0031308?1.055*Math.pow(h,1/2.4)-.055:h=h*12.92,v=Math.min(Math.max(0,v),1),u=Math.min(Math.max(0,u),1),h=Math.min(Math.max(0,h),1),[v*255,u*255,h*255]},f.xyz=function(r,a){var n=r[0]/255,t=r[1]/255,e=r[2]/255;n=n>.04045?Math.pow((n+.055)/1.055,2.4):n/12.92,t=t>.04045?Math.pow((t+.055)/1.055,2.4):t/12.92,e=e>.04045?Math.pow((e+.055)/1.055,2.4):e/12.92;var v=n*.41239079926595+t*.35758433938387+e*.18048078840183,u=n*.21263900587151+t*.71516867876775+e*.072192315360733,h=n*.019330818715591+t*.11919477979462+e*.95053215224966;return a=a||z.whitepoint[2].E,[v*a[0],u*a[1],h*a[2]]};var o=z,i0={name:"xyy",min:[0,0,0],max:[1,1,100],channel:["x","y","Y"],alias:["xyY","Yxy","yxy"]};i0.xyz=function(r){var a,n,t,e,v;return e=r[0],v=r[1],n=r[2],v===0?[0,0,0]:(a=e*n/v,t=(1-e-v)*n/v,[a,n,t])},o.xyy=function(r){var a,n,t,e;return n=r[0],t=r[1],e=r[2],a=n+t+e,a===0?[0,0,t]:[n/a,t/a,t]};var S=i0,c0={name:"yiq",min:[0,-.5957,-.5226],max:[1,.5957,.5226],channel:["Y","I","Q"],alias:["YIQ"]};c0.rgb=function(r){var a=r[0],n=r[1],t=r[2],e,v,u;return e=a*1+n*.956+t*.621,v=a*1+n*-.272+t*-.647,u=a*1+n*-1.108+t*1.705,e=Math.min(Math.max(0,e),1),v=Math.min(Math.max(0,v),1),u=Math.min(Math.max(0,u),1),[e*255,v*255,u*255]},f.yiq=function(r){var a=r[0]/255,n=r[1]/255,t=r[2]/255,e=a*.299+n*.587+t*.114,v=0,u=0;return(a!==n||n!==t)&&(v=a*.596+n*-.275+t*-.321,u=a*.212+n*-.528+t*.311),[e,v,u]};var J0=c0,s0={name:"yuv",min:[0,-.5,-.5],max:[1,.5,.5],channel:["Y","U","V"],alias:["YUV","EBU"]};s0.rgb=function(r){var a=r[0],n=r[1],t=r[2],e,v,u;return e=a*1+n*0+t*1.13983,v=a*1+n*-.39465+t*-.5806,u=a*1+n*2.02311+t*0,e=Math.min(Math.max(0,e),1),v=Math.min(Math.max(0,v),1),u=Math.min(Math.max(0,u),1),[e*255,v*255,u*255]},f.yuv=function(r){var a=r[0]/255,n=r[1]/255,t=r[2]/255,e=a*.299+n*.587+t*.114,v=a*-.14713+n*-.28886+t*.436,u=a*.615+n*-.51499+t*-.10001;return[e,v,u]};var l0=s0,k={name:"ydbdr",min:[0,-1.333,-1.333],max:[1,1.333,1.333],channel:["Y","Db","Dr"],alias:["YDbDr"]};k.rgb=function(r){var a=r[0],n=r[1],t=r[2],e=a+92303716148e-15*n-.525912630661865*t,v=a-.129132898890509*n+.267899328207599*t,u=a+.664679059978955*n-79202543533e-15*t;return[e*255,v*255,u*255]},f.ydbdr=function(r){var a=r[0]/255,n=r[1]/255,t=r[2]/255;return[.299*a+.587*n+.114*t,-.45*a-.883*n+1.333*t,-1.333*a+1.116*n+.217*t]},l0.ydbdr=function(r){return[r[0],3.059*r[1],-2.169*r[2]]},k.yuv=function(r){return[r[0],r[1]/3.059,-r[2]/2.169]};var $0=k,o0={name:"ycgco",min:[0,-.5,-.5],max:[1,.5,.5],channel:["Y","Cg","Co"],alias:["YCgCo"]};o0.rgb=function(r){var a=r[0],n=r[1],t=r[2],e=a-n;return[(e+t)*255,(a+n)*255,(e-t)*255]},f.ycgco=function(r){var a=r[0]/255,n=r[1]/255,t=r[2]/255;return[.25*a+.5*n+.25*t,-.25*a+.5*n-.25*t,.5*a-.5*t]};var a1=o0,f0={name:"ypbpr",min:[0,-.5,-.5],max:[1,.5,.5],channel:["Y","Pb","Pr"],alias:["YPbPr","Y/PB/PR","YPRPB","PRPBY","PBPRY","Y/Pb/Pr","YPrPb","PrPbY","PbPrY","Y/R-Y/B-Y","Y(R-Y)(B-Y)","R-Y","B-Y"]};f0.rgb=function(r,a,n){var t=r[0],e=r[1],v=r[2];a=a||.0722,n=n||.2126;var u=t+2*v*(1-n),h=t+2*e*(1-a),i=(t-n*u-a*h)/(1-n-a);return[u*255,i*255,h*255]},f.ypbpr=function(r,a,n){var t=r[0]/255,e=r[1]/255,v=r[2]/255;a=a||.0722,n=n||.2126;var u=n*t+(1-n-a)*e+a*v,h=.5*(v-u)/(1-a),i=.5*(t-u)/(1-n);return[u,h,i]};var _=f0,Z={name:"ycbcr",min:[16,16,16],max:[235,240,240],channel:["Y","Cb","Cr"],alias:["YCbCr","YCC"],ypbpr:function(r){var a=r[0],n=r[1],t=r[2];return[(a-16)/219,(n-128)/224,(t-128)/224]}};_.ycbcr=function(r){var a=r[0],n=r[1],t=r[2];return[16+219*a,128+224*n,128+224*t]},Z.rgb=function(r,a,n){return _.rgb(Z.ypbpr(r),a,n)},f.ycbcr=function(r,a,n){return _.ycbcr(f.ypbpr(r,a,n))};var r1=Z,M0={name:"xvycc",min:[0,0,0],max:[255,255,255],channel:["Y","Cb","Cr"],alias:["xvYCC"],ypbpr:function(r){var a=r[0],n=r[1],t=r[2];return[(a-16)/219,(n-128)/224,(t-128)/224]},rgb:function(r,a,n){return _.rgb(M0.ypbpr(r),a,n)}},n1=M0;_.xvycc=function(r){var a=r[0],n=r[1],t=r[2];return[16+219*a,128+224*n,128+224*t]},f.xvycc=function(r,a,n){return _.xvycc(f.ypbpr(r,a,n))};var m0={name:"yccbccrc",min:[0,-.5,-.5],max:[1,.5,.5],channel:["Yc","Cbc","Crc"],alias:["YcCbcCrc"]};m0.rgb=function(r){return _.rgb(r,.0593,.2627)},f.yccbccrc=function(r){return f.ypbpr(r,.0593,.2627)};var t1=m0,b0={name:"ucs",min:[0,0,0],max:[100,100,100],channel:["U","V","W"],alias:["UCS","cie1960"]},y0=b0;b0.xyz=function(r){var a=r[0],n=r[1],t=r[2];return[1.5*a,n,1.5*a-3*n+2*t]},o.ucs=function(r){var a=r[0],n=r[1],t=r[2];return[a*2/3,n,.5*(-a+3*n+t)]};var K={name:"uvw",min:[-134,-140,0],max:[224,122,100],channel:["U","V","W"],alias:["UVW","cieuvw","cie1964"]},e1=K;K.xyz=function(r,a,n){var t,e,v,u,h,i,c,s,l,M,m,b,y;return u=r[0],h=r[1],v=r[2],v===0?[0,0,0]:(a=a||"D65",n=n||2,l=o.whitepoint[n][a][0],M=o.whitepoint[n][a][1],m=o.whitepoint[n][a][2],b=4*l/(l+15*M+3*m),y=6*M/(l+15*M+3*m),c=Math.pow((v+17)/25,3),t=u/(13*v)+b||0,e=h/(13*v)+y||0,i=6/4*c*t/e,s=c*(2/e-.5*t/e-5),[i,c,s])},o.uvw=function(r,a,n){var t=r[0],e=r[1],v=r[2],u,h,i,c,s;a=a||"D65",n=n||2,u=o.whitepoint[n][a][0],h=o.whitepoint[n][a][1],i=o.whitepoint[n][a][2],c=4*u/(u+15*h+3*i),s=6*h/(u+15*h+3*i);var l=4*t/(t+15*e+3*v)||0,M=6*e/(t+15*e+3*v)||0,m=25*Math.pow(e,1/3)-17,b=13*m*(l-c),y=13*m*(M-s);return[b,y,m]},K.ucs=function(r){throw new Error("Not implemented")},y0.uvw=function(r){throw new Error("Not implemented")};var x0={name:"jpeg",min:[0,0,0],max:[255,255,255],channel:["Y","Cb","Cr"],alias:["JPEG"]},v1=x0;x0.rgb=function(r){var a=r[0],n=r[1],t=r[2];return[a+1.402*(t-128),a-.34414*(n-128)-.71414*(t-128),a+1.772*(n-128)]},f.jpeg=function(r){var a=r[0],n=r[1],t=r[2];return[.299*a+.587*n+.114*t,128-.168736*a-.331264*n+.5*t,128+.5*a-.418688*n-.081312*t]};var u1={name:"lab",min:[0,-100,-100],max:[100,100,100],channel:["lightness","a","b"],alias:["LAB","cielab"],xyz:function(r){var a=r[0],n=r[1],t=r[2],e,v,u,h;return a<=8?(v=a*100/903.3,h=7.787*(v/100)+16/116):(v=100*Math.pow((a+16)/116,3),h=Math.pow(v/100,1/3)),e=e/95.047<=.008856?e=95.047*(n/500+h-16/116)/7.787:95.047*Math.pow(n/500+h,3),u=u/108.883<=.008859?u=108.883*(h-t/200-16/116)/7.787:108.883*Math.pow(h-t/200,3),[e,v,u]}},U=u1;o.lab=function(r){var a=r[0],n=r[1],t=r[2],e,v,u;return a/=95.047,n/=100,t/=108.883,a=a>.008856?Math.pow(a,1/3):7.787*a+16/116,n=n>.008856?Math.pow(n,1/3):7.787*n+16/116,t=t>.008856?Math.pow(t,1/3):7.787*t+16/116,e=116*n-16,v=500*(a-n),u=200*(n-t),[e,v,u]};var h1={name:"labh",min:[0,-128,-128],max:[100,128,128],channel:["lightness","a","b"],alias:["LABh","hunter-lab","hlab"],xyz:function(r){var a=r[0],n=r[1],t=r[2],e=a/10,v=n/17.5*a/10,u=t/7*a/10,h=e*e,i=(v+h)/1.02,c=-(u-h)/.847;return[i,h,c]}},i1=h1;o.labh=function(r){var a=r[0],n=r[1],t=r[2],e=Math.sqrt(n),v=10*e,u=n===0?0:17.5*((1.02*a-n)/e),h=n===0?0:7*((n-.847*t)/e);return[v,u,h]};var N={name:"lms",min:[0,0,0],max:[100,100,100],channel:["long","medium","short"],matrix:{HPE:[.38971,.68898,-.07868,-.22981,1.1834,.04641,0,0,1],VONKRIES:[.4002,.7076,-.0808,-.2263,1.1653,.0457,0,0,.9182],BFD:[.8951,.2664,-.1614,-.7502,1.7135,.0367,.0389,-.0686,1.0296],CAT97:[.8562,.3372,-.1934,-.836,1.8327,.0033,.0357,-.00469,1.0112],CAT00:[.7982,.3389,-.1371,-.5918,1.5512,.0406,8e-4,.0239,.9753],CAT02:[.7328,.4296,-.1624,-.7036,1.6975,.0061,.003,.0136,.9834]}},c1=N;N.xyz=function(r,a){var n=r[0],t=r[1],e=r[2];return a||(a=[1.096123820835514,-.278869000218287,.182745179382773,.454369041975359,.473533154307412,.072097803717229,-.009627608738429,-.005698031216113,1.015325639954543]),[n*a[0]+t*a[1]+e*a[2],n*a[3]+t*a[4]+e*a[5],n*a[6]+t*a[7]+e*a[8]]},o.lms=function(r,a){var n=r[0],t=r[1],e=r[2];return a||(a=N.matrix.CAT02),[n*a[0]+t*a[1]+e*a[2],n*a[3]+t*a[4]+e*a[5],n*a[6]+t*a[7]+e*a[8]]};var p0={name:"lchab",min:[0,0,0],max:[100,100,360],channel:["lightness","chroma","hue"],alias:["LCHab","cielch","LCH","HLC","LSH"],xyz:function(r){return U.xyz(p0.lab(r))},lab:function(r){var a=r[0],n=r[1],t=r[2],e,v,u;return u=t/360*2*Math.PI,e=n*Math.cos(u),v=n*Math.sin(u),[a,e,v]}};U.lchab=function(r){var a=r[0],n=r[1],t=r[2],e,v,u;return e=Math.atan2(t,n),v=e*360/2/Math.PI,v<0&&(v+=360),u=Math.sqrt(n*n+t*t),[a,u,v]},o.lchab=function(r){return U.lchab(o.lab(r))};var s1=p0,l1={name:"luv",min:[0,-134,-140],max:[100,224,122],channel:["lightness","u","v"],alias:["LUV","cieluv","cie1976"],xyz:function(r,a,n){var t,e,v,u,h,i,c,s,l,M,m,b,y;if(v=r[0],u=r[1],h=r[2],v===0)return[0,0,0];var P=.0011070564598794539;return a=a||"D65",n=n||2,l=o.whitepoint[n][a][0],M=o.whitepoint[n][a][1],m=o.whitepoint[n][a][2],b=4*l/(l+15*M+3*m),y=9*M/(l+15*M+3*m),t=u/(13*v)+b||0,e=h/(13*v)+y||0,c=v>8?M*Math.pow((v+16)/116,3):M*v*P,i=c*9*t/(4*e)||0,s=c*(12-3*t-20*e)/(4*e)||0,[i,c,s]}},V=l1;o.luv=function(r,a,n){var t,e,v,u,h,i,c,s,l,M,m,b,y,P=.008856451679035631,I=903.2962962962961;a=a||"D65",n=n||2,l=o.whitepoint[n][a][0],M=o.whitepoint[n][a][1],m=o.whitepoint[n][a][2],b=4*l/(l+15*M+3*m),y=9*M/(l+15*M+3*m),i=r[0],c=r[1],s=r[2],t=4*i/(i+15*c+3*s)||0,e=9*c/(i+15*c+3*s)||0;var H=c/M;return v=H<=P?I*H:116*Math.pow(H,1/3)-16,u=13*v*(t-b),h=13*v*(e-y),[v,u,h]};var d0={name:"lchuv",channel:["lightness","chroma","hue"],alias:["LCHuv","cielchuv"],min:[0,0,0],max:[100,100,360],luv:function(r){var a=r[0],n=r[1],t=r[2],e,v,u;return u=t/360*2*Math.PI,e=n*Math.cos(u),v=n*Math.sin(u),[a,e,v]},xyz:function(r){return V.xyz(d0.luv(r))}},B=d0;V.lchuv=function(r){var a=r[0],n=r[1],t=r[2],e=Math.sqrt(n*n+t*t),v=Math.atan2(t,n),u=v*360/2/Math.PI;return u<0&&(u+=360),[a,e,u]},o.lchuv=function(r){return V.lchuv(o.luv(r))};function g0(r){var a=[],n=Math.pow(r+16,3)/1560896;n=n>A0?n:r/a0;for(var t=0;3>t;){var e=t++,v=T[e][0],u=T[e][1];e=T[e][2];for(var h=0;2>h;){var i=h++,c=(632260*e-126452*u)*n+126452*i;a.push({b:(284517*v-94839*e)*n/c,a:((838422*e+769860*u+731718*v)*r*n-769860*i*r)/c})}}return a}function w0(r){r=g0(r);for(var a=1/0,n=0;n<r.length;){var t=r[n];++n,a=Math.min(a,Math.abs(t.a)/Math.sqrt(Math.pow(t.b,2)+1))}return a}function _0(r,a){a=a/360*Math.PI*2,r=g0(r);for(var n=1/0,t=0;t<r.length;){var e=r[t];++t,e=e.a/(Math.sin(a)-e.b*Math.cos(a)),0<=e&&(n=Math.min(n,e))}return n}function C(r,a){for(var n=0,t=0,e=r.length;t<e;){var v=t++;n+=r[v]*a[v]}return n}function O(r){return .0031308>=r?12.92*r:1.055*Math.pow(r,.4166666666666667)-.055}function W(r){return .04045<r?Math.pow((r+.055)/1.055,2.4):r/12.92}function q0(r){return[O(C(T[0],r)),O(C(T[1],r)),O(C(T[2],r))]}function P0(r){return r=[W(r[0]),W(r[1]),W(r[2])],[C($[0],r),C($[1],r),C($[2],r)]}function Y0(r){var a=r[0],n=r[1];return r=a+15*n+3*r[2],r!=0?(a=4*a/r,r=9*n/r):r=a=NaN,n=n<=A0?n/F*a0:116*Math.pow(n/F,.3333333333333333)-16,n==0?[0,0,0]:[n,13*n*(a-B0),13*n*(r-R0)]}function z0(r){var a=r[0];if(a==0)return[0,0,0];var n=r[1]/(13*a)+B0;return r=r[2]/(13*a)+R0,a=8>=a?F*a/a0:F*Math.pow((a+16)/116,3),n=0-9*a*n/((n-4)*r-n*r),[n,a,(9*a-15*r*a-r*n)/(3*r)]}function C0(r){var a=r[0],n=r[1],t=r[2];return r=Math.sqrt(n*n+t*t),1e-8>r?n=0:(n=180*Math.atan2(t,n)/Math.PI,0>n&&(n=360+n)),[a,r,n]}function T0(r){var a=r[1],n=r[2]/360*2*Math.PI;return[r[0],Math.cos(n)*a,Math.sin(n)*a]}function I0(r){var a=r[0],n=r[1];return r=r[2],99.9999999<r?[100,0,a]:1e-8>r?[0,0,a]:(n=_0(r,a)/100*n,[r,n,a])}function H0(r){var a=r[0],n=r[1];if(r=r[2],99.9999999<a)return[r,0,100];if(1e-8>a)return[r,0,0];var t=_0(a,r);return[r,n/t*100,a]}function L0(r){var a=r[0],n=r[1];return r=r[2],99.9999999<r?[100,0,a]:1e-8>r?[0,0,a]:(n=w0(r)/100*n,[r,n,a])}function D0(r){var a=r[0],n=r[1];if(r=r[2],99.9999999<a)return[r,0,100];if(1e-8>a)return[r,0,0];var t=w0(a);return[r,n/t*100,a]}function Q(r){return q0(z0(T0(r)))}function J(r){return C0(Y0(P0(r)))}function o1(r){return Q(I0(r))}function f1(r){return H0(J(r))}function M1(r){return Q(L0(r))}function m1(r){return D0(J(r))}var T=[[3.240969941904521,-1.537383177570093,-.498610760293],[-.96924363628087,1.87596750150772,.041555057407175],[.055630079696993,-.20397695888897,1.056971514242878]],$=[[.41239079926595,.35758433938387,.18048078840183],[.21263900587151,.71516867876775,.072192315360733],[.019330818715591,.11919477979462,.95053215224966]],F=1,B0=.19783000664283,R0=.46831999493879,a0=903.2962962,A0=.0088564516,x={hsluvToRgb:o1,hsluvToLch:I0,rgbToHsluv:f1,rgbToHpluv:m1,rgbToXyz:P0,rgbToLch:J,hpluvToRgb:M1,hpluvToLch:L0,lchToHpluv:D0,lchToHsluv:H0,lchToLuv:T0,lchToRgb:Q,luvToLch:C0,luvToXyz:z0,xyzToLuv:Y0,xyzToRgb:q0},b1={name:"hsluv",min:[0,0,0],max:[360,100,100],channel:["hue","saturation","lightness"],alias:["HSLuv","HuSL"],lchuv:x.hsluvToLch,xyz:function(r){return B.xyz(x.hsluvToLch(r))},hpluv:function(r){return x.lchToHpluv(x.hsluvToLch(r))},_hsluv:x},y1=b1;B.hsluv=x.lchToHsluv,o.hsluv=function(r){return x.lchToHsluv(o.lchuv(r))},f.hsluv=x.rgbToHsluv;var x1={name:"hpluv",min:[0,0,0],max:[360,100,100],channel:["hue","saturation","lightness"],alias:["HPLuv","HuSLp"],lchuv:x.hpluvToLch,xyz:function(r){return B.xyz(x.hpluvToLch(r))},hsluv:function(r){return x.lchToHsluv(x.hpluvToLch(r))}},p1=x1;B.hpluv=x.lchToHpluv,o.hpluv=function(r){return x.lchToHpluv(o.lchuv(r))};var R={start:0,rotation:.5,hue:1,gamma:1},E0={name:"cubehelix",channel:["fraction"],min:[0],max:[1],defaults:R};E0.rgb=function(r,a={}){Array.isArray(r)&&(r=r[0]);var n=a.start!==void 0?a.start:R.start,t=a.rotation!==void 0?a.rotation:R.rotation,e=a.gamma!==void 0?a.gamma:R.gamma,v=a.hue!==void 0?a.hue:R.hue,u=2*Math.PI*(n/3+1+t*r);r=Math.pow(r,e);var h=v*r*(1-r)/2,i=r+h*(-.14861*Math.cos(u)+1.78277*Math.sin(u)),c=r+h*(-.29227*Math.cos(u)-.90649*Math.sin(u)),s=r+h*(1.97294*Math.cos(u));return i=Math.max(1,Math.min(i,0)),c=Math.max(1,Math.min(c,0)),s=Math.max(1,Math.min(s,0)),[i*255,c*255,s*255]},f.cubehelix=function(r){throw new Error("rgb.cubehelix conversion is not implemented yet")};var d1=E0,X={name:"coloroid",alias:["ATV"],channel:["A","T","V"],min:[10,0,0],max:[76,100,100],table:[[10,59,1.724349,.44987,.53641],[11,55.3,1.740844,.46248,.52444],[12,51.7,1.754985,.47451,.51298],[13,48.2,1.767087,.48601,.50325],[14,44.8,1.775953,.49578,.49052],[15,41.5,1.785073,.5079,.43035],[16,38.2,1.791104,.51874,.46934],[20,34.9,1.794831,.5298,.45783],[21,31.5,1.798664,.54137,.44559],[22,28,1.794819,.55367,.43253],[23,24.4,1.78961,.5668,.41811],[24,20.6,1.809483,.58128,.40176],[25,16.6,1.760983,.59766,.383],[26,12.3,1.723443,.61653,.36061],[30,7.7,1.652891,.63896,.33358],[31,2.8,1.502607,.66619,.2993],[32,-2.5,1.0725,.70061,.26753],[33,-8.4,1.136637,.63925,.22631],[34,-19.8,1.232286,.53962,.19721],[35,-31.6,1.31012,.5034,.17495],[40,-43.2,1.37661,.46041,.15603],[41,-54.6,1.438692,.42386,.13846],[42,-65.8,1.501582,.38991,.12083],[43,-76.8,1.570447,.35586,.10328],[44,-86.8,1.645583,.32195,.08496],[45,-95.8,1.732083,.28657,.05155],[46,-108.4,1.915753,.22202,.01771],[50,-117.2,2.14631,.15664,.05227],[51,-124.7,1.649939,.12736,.0902],[52,-131.8,1.273415,.10813,.12506],[53,-138.5,1.080809,.09414,.15741],[54,-145.1,.957076,.03249,.18958],[55,-152,.868976,.07206,.24109],[56,-163.4,.771731,.05787,.30378],[60,-177.2,.697108,.04353,.35696],[61,171.6,.655803,.03291,.41971],[62,152.4,.623958,.0224,.49954],[63,148.4,.596037,.01196,.60321],[64,136.8,.607413,.00425,.73542],[65,125.4,.659923,.01099,.83391],[66,114.2,.859517,.0805,.77474],[70,103.2,1.195683,.20259,.7046],[71,93.2,1.407534,.28807,.6523],[72,84.2,1.532829,.34422,.6193],[73,77.3,1.603792,.37838,.59533],[74,71.6,1.649448,.4029,.57716],[75,66.9,1.68108,.42141,.56222],[76,62.8,1.704979,.43647,.54895]],xyy:function([r,a,n]){for(var t,e=0;e<A.length;e++)if(r<=A[e][0]){t=A[e];break}var v=t[4],u=t[2],h=t[3],i=n*n/100,c=v*u*100,s=(100*i*E*w+100*h*u*a-c*a*E*w)/(100*a*u-c*a*w+100*i*w),l=(100*i+100*a*v*u-c*a)/(i*w*100+a*100*u-a*c*w);return[s,l,i]}},A=X.table,Y=A.slice(-13).concat(A.slice(0,-13)),r0="D65",n0=2,G=o.whitepoint[n0][r0][0],j=o.whitepoint[n0][r0][1],t0=o.whitepoint[n0][r0][2],g1=G/(G+j+t0),E=j/(G+j+t0),w=(G+j+t0)/100;S.coloroid=function(r){for(var a=r[0],n=r[1],t=r[2],e=10*Math.sqrt(t),v=Math.atan2(n-g1,a-E)*180/Math.PI,u,h=Y.length-1,i=0;i<Y.length&&!(v>Y[i][1]);i++)h=i;u=Math.abs(Y[i+1][1]-v)>Math.abs(Y[h][1]-v)?Y[i+1]:Y[h];var c=u[0],s=u[4],l=u[2],M=u[3],m=s*l*100,b=100*t*(E*w-a*w)/(100*(a*l-M*l)+m*(E*w-a*w));return[c,b,e]},o.coloroid=function(r){return S.coloroid(o.xyy(r))},X.xyz=function(r){return S.xyz(X.xyy(r))};var w1=X,_1={name:"hcg",min:[0,0,0],max:[360,100,100],channel:["hue","chroma","gray"],alias:["HCG","HSG"],rgb:function(r){var a=r[0]/360,n=r[1]/100,t=r[2]/100;if(n===0)return[t*255,t*255,t*255];var e=a%1*6,v=e%1,u=[0,0,0],h=1-v;switch(Math.floor(e)){case 0:u[0]=1,u[1]=v,u[2]=0;break;case 1:u[0]=h,u[1]=1,u[2]=0;break;case 2:u[0]=0,u[1]=1,u[2]=v;break;case 3:u[0]=0,u[1]=h,u[2]=1;break;case 4:u[0]=v,u[1]=0,u[2]=1;break;default:u[0]=1,u[1]=0,u[2]=h}var i=(1-n)*t,c=[(n*u[0]+i)*255,(n*u[1]+i)*255,(n*u[2]+i)*255];return c},hsl:function(r){var a=r[1]/100,n=r[2]/100,t=n*(1-a)+.5*a,e=0;return t<1&&t>0&&(t<.5?e=a/(2*t):e=a/(2*(1-t))),[r[0],e*100,t*100]},hsv:function(r){var a=r[1]/100,n=r[2]/100,t=a+n*(1-a),e;if(t>0){var v=a/t;e=[r[0],v*100,t*100]}else e=[r[0],0,t*100];return e},hwb:function(r){var a=r[1]/100,n=r[2]/100,t=a+n*(1-a);return[r[0],(t-a)*100,(1-t)*100]}},q1=_1;f.hcg=function(r){var a=r[0]/255,n=r[1]/255,t=r[2]/255,e=Math.max(Math.max(a,n),t),v=Math.min(Math.min(a,n),t),u=e-v,h,i;return u<1?h=v/(1-u):h=0,u>0?(e===a?i=(n-t)/u%6:e===n?i=2+(t-a)/u:i=4+(a-n)/u,i/=6,i=i%1):i=0,[i*360,u*100,h*100]},L.hcg=function(r){var a=r[1]/100,n=r[2]/100,t=0;n<.5?t=2*a*n:t=2*a*(1-n);var e;if(t<1){var v=(n-.5*t)/(1-t);e=[r[0],t*100,v*100]}else e=[r[0],t*100,0];return e},D.hcg=function(r){var a=r[1]/100,n=r[2]/100,t=a*n,e;if(t<1){var v=(n-t)/(1-t);e=[r[0],t*100,v*100]}else e=[r[0],t*100,0];return e},u0.hcg=function(r){var a=r[1]/100,n=r[2]/100,t=1-n,e=t-a,v=0;return e<1&&(v=(t-e)/(1-e)),[r[0],e*100,v*100]};var S0={name:"hcy",min:[0,0,0],max:[360,100,255],channel:["hue","chroma","luminance"],alias:["HCY"]},P1=S0;S0.rgb=function(r){var a=(r[0]<0?r[0]%360+360:r[0]%360)*Math.PI/180,n=Math.max(0,Math.min(r[1],100))/100,t=Math.max(0,Math.min(r[2],255))/255,e=Math.PI/3,v,u,h;return a<2*e?(h=t*(1-n),v=t*(1+n*Math.cos(a)/Math.cos(e-a)),u=t*(1+n*(1-Math.cos(a)/Math.cos(e-a)))):a<4*e?(a=a-2*e,v=t*(1-n),u=t*(1+n*Math.cos(a)/Math.cos(e-a)),h=t*(1+n*(1-Math.cos(a)/Math.cos(e-a)))):(a=a-4*e,u=t*(1-n),h=t*(1+n*Math.cos(a)/Math.cos(e-a)),v=t*(1+n*(1-Math.cos(a)/Math.cos(e-a)))),[v*255,u*255,h*255]},f.hcy=function(r){var a=r[0]+r[1]+r[2],n=r[0]/a,t=r[1]/a,e=r[2]/a,v=Math.acos(.5*(n-t+(n-e))/Math.sqrt((n-t)*(n-t)+(n-e)*(t-e)));e>t&&(v=2*Math.PI-v);var u=1-3*Math.min(n,t,e),h=a/3;return[v*180/Math.PI,u*100,h]};var U0={name:"tsl",min:[0,0,0],max:[1,1,1],channel:["tint","saturation","lightness"],alias:["TSL"]},Y1=U0;U0.rgb=function(r){var a=r[0],n=r[1],t=r[2],e=Math.tan(2*Math.PI*(a-1/4));e*=e;var v=Math.sqrt(5*n*n/(9*(1/e+1)))+1/3,u=Math.sqrt(5*n*n/(9*(e+1)))+1/3,h=t/(.185*v+.473*u+.114),i=h*(1-v-u),c=h*u,s=h*v;return[s*255,c*255,i*255]},f.tsl=function(r){var[a,n,t]=r,e=(a/(a+n+t)||0)-1/3,v=(n/(a+n+t)||0)-1/3,u=v!=0?.5-Math.atan2(v,e)/2/Math.PI:0,h=Math.sqrt(9/5*(e*e+v*v)),i=(a*.299+n*.587+t*.114)/255;return[u,h,i]};var V0={name:"yes",min:[0,0,0],max:[1,1,1],channel:["luminance","e-factor","s-factor"]};V0.rgb=function(r){var a=r[0],n=r[1],t=r[2],e=[1,1.431,.126,1,-.569,.126,1,.431,-1.874],v=a*e[0]+n*e[1]+t*e[2],u=a*e[3]+n*e[4]+t*e[5],h=a*e[6]+n*e[7]+t*e[8];return[v*255,u*255,h*255]},f.yes=function(r){var a=r[0]/255,n=r[1]/255,t=r[2]/255,e=[.253,.684,.063,.5,-.5,0,.25,.25,-.5];return[a*e[0]+n*e[1]+t*e[2],a*e[3]+n*e[4]+t*e[5],a*e[6]+n*e[7]+t*e[8]]};var z1=V0,F0={name:"osaucs",alias:["OSA-UCS"],channel:["L","j","g"],min:[-10,-6,-10],max:[8,12,6]};F0.xyz=function(r){var a,n,t;throw"Unimplemented"},o.osaucs=function(r){var a=r[0],n=r[1],t=r[2],e=a/(a+n+t),v=n/(a+n+t),u=4.4934*e*e+4.3034*v*v-4.276*e*v-1.3744*e-2.56439*v+1.8103,h=u*n,i=5.9*(Math.pow(h,1/3)-2/3+.042*Math.pow(Math.max(h,30)-30,1/3)),c=(i-14.3993)/Math.sqrt(2),s=i/(5.9*(Math.pow(h,1/3)-2/3)),l=.779*a+.4194*n-.1648*t,M=-.4493*a+1.3265*n+.0927*t,m=-.1149*a+.3394*n+.717*t;l=Math.pow(l,1/3)||0,M=Math.pow(M,1/3)||0,m=Math.pow(m,1/3)||0;var b=-13.7*l+17.7*M-4*m,y=1.7*l+8*M-9.7*m,P=s*b,I=s*y;return[c,I,P]};var C1=F0,p=.299,d=.587,g=.114,T1={name:"hsp",min:[0,0,0],max:[360,100,255],channel:["hue","saturation","perceived_brightness"],alias:["HSP"],rgb:function(r){var a=r[0]/360,n=r[1]/100,t=r[2],e,v,u,h,i=1-n;return i>0?a<1/6?(a=6*(a-0/6),h=1+a*(1/i-1),u=t/Math.sqrt(p/i/i+d*h*h+g),e=u/i,v=u+a*(e-u)):a<2/6?(a=6*(-a+2/6),h=1+a*(1/i-1),u=t/Math.sqrt(d/i/i+p*h*h+g),v=u/i,e=u+a*(v-u)):a<3/6?(a=6*(a-2/6),h=1+a*(1/i-1),e=t/Math.sqrt(d/i/i+g*h*h+p),v=e/i,u=e+a*(v-e)):a<4/6?(a=6*(-a+4/6),h=1+a*(1/i-1),e=t/Math.sqrt(g/i/i+d*h*h+p),u=e/i,v=e+a*(u-e)):a<5/6?(a=6*(a-4/6),h=1+a*(1/i-1),v=t/Math.sqrt(g/i/i+p*h*h+d),u=v/i,e=v+a*(u-v)):(a=6*(-a+6/6),h=1+a*(1/i-1),v=t/Math.sqrt(p/i/i+g*h*h+d),e=v/i,u=v+a*(e-v)):a<1/6?(a=6*(a-0/6),e=Math.sqrt(t*t/(p+d*a*a)),v=e*a,u=0):a<2/6?(a=6*(-a+2/6),v=Math.sqrt(t*t/(d+p*a*a)),e=v*a,u=0):a<3/6?(a=6*(a-2/6),v=Math.sqrt(t*t/(d+g*a*a)),u=v*a,e=0):a<4/6?(a=6*(-a+4/6),u=Math.sqrt(t*t/(g+d*a*a)),v=u*a,e=0):a<5/6?(a=6*(a-4/6),u=Math.sqrt(t*t/(g+p*a*a)),e=u*a,v=0):(a=6*(-a+6/6),e=Math.sqrt(t*t/(p+g*a*a)),u=e*a,v=0),[Math.round(e),Math.round(v),Math.round(u)]}},I1=T1;f.hsp=function(r){var a=parseInt(r[0],10),n=parseInt(r[1],10),t=parseInt(r[2],10),e,v,u;return u=Math.sqrt(a*a*p+n*n*d+t*t*g),a===n&&a===t?(e=0,v=0):(a>=n&&a>=t&&(t>=n?(e=6/6-1/6*(t-n)/(a-n),v=1-n/a):(e=0/6+1/6*(n-t)/(a-t),v=1-t/a)),n>=a&&n>=t&&(a>=t?(e=2/6-1/6*(a-t)/(n-t),v=1-t/n):(e=2/6+1/6*(t-a)/(n-a),v=1-a/n)),t>=a&&t>=n&&(n>=a?(e=4/6-1/6*(n-a)/(t-a),v=1-a/t):(e=4/6+1/6*(a-n)/(t-n),v=1-n/t))),[Math.round(e*360),v*100,Math.round(u)]};var X0={name:"hsm",min:[0,0,0],max:[1,1,1],channel:["hue","saturation","mixture"]},H1=X0;X0.rgb=function([r,a,n]){let t;n>=0&&n<=1/7?t=Math.sqrt((0-n)**2+(0-n)**2+(7-n)**2):n>1/7&&n<=3/7?t=Math.sqrt((0-n)**2+((7*n-1)/2-n)**2+(1-n)**2):n>3/7&&n<=.5?t=Math.sqrt(((7*n-3)/2-n)**2+(1-n)**2+(1-n)**2):n>.5&&n<=4/7?t=Math.sqrt((7*n/4-n)**2+(0-n)**2+(0-n)**2):n>4/7&&n<=6/7?t=Math.sqrt((1-n)**2+((7*n-4)/2-n)**2+(0-n)**2):n>6/7&&n<=1?t=Math.sqrt((1-n)**2+(1-n)**2+(7*n-6-n)**2):t=1;const e=a*t,v=Math.cos(2*Math.PI*r),u=Math.sin(2*Math.PI*r),h=3/Math.sqrt(41),i=-4/Math.sqrt(861),c=-4/Math.sqrt(41),s=19/Math.sqrt(861),l=-4/Math.sqrt(41),M=-22/Math.sqrt(861),m=e*(h*v+i*u),b=e*(c*v+s*u),y=e*(l*v+M*u),P=Math.max(0,Math.min(1,n+m))*255,I=Math.max(0,Math.min(1,n+b))*255,H=Math.max(0,Math.min(1,n+y))*255;return[P,I,H]},f.hsm=function([r,a,n]){r/=255,a/=255,n/=255;let t=(4*r+2*a+n)/7,e=r-t,v=a-t,u=n-t,h=Math.sqrt(e*e+v*v+u*u),i=Math.acos((3*e-4*v-4*u)/Math.sqrt(41*(e*e+v*v+u*u))||0),c=n<=a?i/(2*Math.PI):1-i/(2*Math.PI),s;return 0<=t&&t<=1/7?s=h/Math.sqrt((0-t)**2+(0-t)**2+(7-t)**2):1/7<t&&t<=3/7?s=h/Math.sqrt((0-t)**2+((7*t-1)/2-t)**2+(1-t)**2):3/7<t&&t<=1/2?s=h/Math.sqrt(((7*t-3)/2-t)**2+(1-t)**2+(1-t)**2):1/2<t&&t<=4/7?s=h/Math.sqrt((7*t/4-t)**2+(0-t)**2+(0-t)**2):4/7<t&&t<=6/7?s=h/Math.sqrt((1-t)**2+((7*t-4)/2-t)**2+(0-t)**2):6/7<t&&t<1?s=h/Math.sqrt((1-t)**2+(1-t)**2+(7*t-6-t)**2):s=0,[c,s,t]};var q={},L1=q;function G0(r){const a=r.name;for(const n in q){r[n]||(r[n]=j0(r,n));const t=q[n];t[a]||(t[a]=j0(t,a))}q[a]=r}function j0(r,a){return r.xyz&&q.xyz[a]?n=>q.xyz[a](r.xyz(n)):r.rgb&&q.rgb[a]?n=>q.rgb[a](r.rgb(n)):()=>{throw new Error("Conversion not available")}}[f,o,L,D,N0,u0,W0,Q0,S,J0,l0,$0,a1,_,r1,n1,t1,y0,e1,v1,U,i1,c1,s1,V,B,y1,p1,d1,w1,q1,P1,Y1,z1,C1,I1,H1].map(G0);export{L1 as default,G0 as register};
var O0={name:"rgb",min:[0,0,0],max:[255,255,255],channel:["red","green","blue"],alias:["RGB"]},f=O0,W0={name:"hsl",min:[0,0,0],max:[360,100,100],channel:["hue","saturation","lightness"],alias:["HSL"],rgb:function(r){var a=r[0]/360,n=r[1]/100,t=r[2]/100,e,v,u,h,i,c=0;if(n===0)return i=t*255,[i,i,i];for(v=t<.5?t*(1+n):t+n-t*n,e=2*t-v,h=[0,0,0];c<3;)u=a+1/3*-(c-1),u<0?u++:u>1&&u--,i=6*u<1?e+(v-e)*6*u:2*u<1?v:3*u<2?e+(v-e)*(2/3-u)*6:e,h[c++]=i*255;return h}},L=W0;f.hsl=function(r){var a=r[0]/255,n=r[1]/255,t=r[2]/255,e=Math.min(a,n,t),v=Math.max(a,n,t),u=v-e,h,i,c;return v===e?h=0:a===v?h=(n-t)/u:n===v?h=2+(t-a)/u:t===v&&(h=4+(a-n)/u),h=Math.min(h*60,360),h<0&&(h+=360),c=(e+v)/2,v===e?i=0:c<=.5?i=u/(v+e):i=u/(2-v-e),[h,i*100,c*100]};var N0={name:"hsv",min:[0,0,0],max:[360,100,100],channel:["hue","saturation","value"],alias:["HSV","HSB"],rgb:function(r){var a=r[0]/60,n=r[1]/100,t=r[2]/100,e=Math.floor(a)%6,v=a-Math.floor(a),u=255*t*(1-n),h=255*t*(1-n*v),i=255*t*(1-n*(1-v));switch(t*=255,e){case 0:return[t,i,u];case 1:return[h,t,u];case 2:return[u,t,i];case 3:return[u,h,t];case 4:return[i,u,t];case 5:return[t,u,h]}},hsl:function(r){var a=r[0],n=r[1]/100,t=r[2]/100,e,v;return v=(2-n)*t,e=n*t,e/=v<=1?v:2-v,e=e||0,v/=2,[a,e*100,v*100]}},D=N0;f.hsv=function(r){var a=r[0],n=r[1],t=r[2],e=Math.min(a,n,t),v=Math.max(a,n,t),u=v-e,h,i,c;return v===0?i=0:i=u/v*100,v===e?h=0:a===v?h=(n-t)/u:n===v?h=2+(t-a)/u:t===v&&(h=4+(a-n)/u),h=Math.min(h*60,360),h<0&&(h+=360),c=v/255*1e3/10,[h,i,c]},L.hsv=function(r){var a=r[0],n=r[1]/100,t=r[2]/100,e,v;return t*=2,n*=t<=1?t:2-t,v=(t+n)/2,e=2*n/(t+n)||0,[a,e*100,v*100]};var e0={name:"hsi",min:[0,0,0],max:[360,100,255],channel:["hue","saturation","intensity"],alias:["HSI"]},Q0=e0;e0.rgb=function(r){var a=(r[0]<0?r[0]%360+360:r[0]%360)*Math.PI/180,n=Math.max(0,Math.min(r[1],100))/100,t=Math.max(0,Math.min(r[2],255))/255,e=Math.PI/3,v,u,h;return a<2*e?(h=t*(1-n),v=t*(1+n*Math.cos(a)/Math.cos(e-a)),u=t*(1+n*(1-Math.cos(a)/Math.cos(e-a)))):a<4*e?(a=a-2*e,v=t*(1-n),u=t*(1+n*Math.cos(a)/Math.cos(e-a)),h=t*(1+n*(1-Math.cos(a)/Math.cos(e-a)))):(a=a-4*e,u=t*(1-n),h=t*(1+n*Math.cos(a)/Math.cos(e-a)),v=t*(1+n*(1-Math.cos(a)/Math.cos(e-a)))),[v*255,u*255,h*255]},f.hsi=function(r){var a=r[0]+r[1]+r[2],n=r[0]/a,t=r[1]/a,e=r[2]/a,v=Math.acos(.5*(n-t+(n-e))/Math.sqrt((n-t)*(n-t)+(n-e)*(t-e)));e>t&&(v=2*Math.PI-v);var u=1-3*Math.min(n,t,e),h=a/3;return[v*180/Math.PI,u*100,h]};var v0={name:"hwb",min:[0,0,0],max:[360,100,100],channel:["hue","whiteness","blackness"],alias:["HWB"],rgb:function(r){var a=r[0]/360,n=r[1]/100,t=r[2]/100,e=n+t,v,u,h,i,c,s,l;switch(e>1&&(n/=e,t/=e),v=Math.floor(6*a),u=1-t,h=6*a-v,v&1&&(h=1-h),i=n+h*(u-n),v){default:case 6:case 0:c=u,s=i,l=n;break;case 1:c=i,s=u,l=n;break;case 2:c=n,s=u,l=i;break;case 3:c=n,s=i,l=u;break;case 4:c=i,s=n,l=u;break;case 5:c=u,s=n,l=i;break}return[c*255,s*255,l*255]},hsv:function(r){var a=r[0],n=r[1],t=r[2],e,v;return n+t>=100?(e=0,v=100*n/(n+t)):(e=100-n/(1-t/100),v=100-t),[a,e,v]},hsl:function(r){return D.hsl(v0.hsv(r))}},u0=v0;f.hwb=function(r){var a=r[0],n=r[1],t=r[2],e=f.hsl(r)[0],v=1/255*Math.min(a,Math.min(n,t));return t=1-1/255*Math.max(a,Math.max(n,t)),[e,v*100,t*100]},D.hwb=function(r){var a=r[0],n=r[1],t=r[2];return[a,t===0?0:t*(1-n/100),100-t]},L.hwb=function(r){return D.hwb(L.hsv(r))};var J0={name:"cmyk",min:[0,0,0,0],max:[100,100,100,100],channel:["cyan","magenta","yellow","black"],alias:["CMYK"],rgb:r=>{let a=r[0]/100,n=r[1]/100,t=r[2]/100,e=r[3]/100,v,u,h;return v=1-Math.min(1,a*(1-e)+e),u=1-Math.min(1,n*(1-e)+e),h=1-Math.min(1,t*(1-e)+e),[v*255,u*255,h*255]}};f.cmyk=r=>{let a=r[0]/255,n=r[1]/255,t=r[2]/255,e,v,u,h;return h=Math.min(1-a,1-n,1-t),e=(1-a-h)/(1-h)||0,v=(1-n-h)/(1-h)||0,u=(1-t-h)/(1-h)||0,[e*100,v*100,u*100,h*100]};var $0=J0,h0={name:"cmy",min:[0,0,0],max:[100,100,100],channel:["cyan","magenta","yellow"],alias:["CMY"]};h0.rgb=([r,a,n])=>[(1-r/100)*255,(1-a/100)*255,(1-n/100)*255],f.cmy=([r,a,n])=>[(1-r/255)*100||0,(1-a/255)*100||0,(1-n/255)*100||0];var a1=h0,C={name:"xyz",min:[0,0,0],channel:["X","Y","Z"],alias:["XYZ","ciexyz","cie1931"],whitepoint:{2:{A:[109.85,100,35.585],C:[98.074,100,118.232],D50:[96.422,100,82.521],D55:[95.682,100,92.149],D65:[95.045592705167,100,108.9057750759878],D75:[94.972,100,122.638],F2:[99.187,100,67.395],F7:[95.044,100,108.755],F11:[100.966,100,64.37],E:[100,100,100]},10:{A:[111.144,100,35.2],C:[97.285,100,116.145],D50:[96.72,100,81.427],D55:[95.799,100,90.926],D65:[94.811,100,107.304],D75:[94.416,100,120.641],F2:[103.28,100,69.026],F7:[95.792,100,107.687],F11:[103.866,100,65.627],E:[100,100,100]}}};C.max=C.whitepoint[2].D65,C.rgb=function(r,a){a=a||C.whitepoint[2].E;var n=r[0]/a[0],t=r[1]/a[1],e=r[2]/a[2],v,u,h;return v=n*3.240969941904521+t*-1.537383177570093+e*-.498610760293,u=n*-.96924363628087+t*1.87596750150772+e*.041555057407175,h=n*.055630079696993+t*-.20397695888897+e*1.056971514242878,v=v>.0031308?1.055*Math.pow(v,1/2.4)-.055:v=v*12.92,u=u>.0031308?1.055*Math.pow(u,1/2.4)-.055:u=u*12.92,h=h>.0031308?1.055*Math.pow(h,1/2.4)-.055:h=h*12.92,v=Math.min(Math.max(0,v),1),u=Math.min(Math.max(0,u),1),h=Math.min(Math.max(0,h),1),[v*255,u*255,h*255]},f.xyz=function(r,a){var n=r[0]/255,t=r[1]/255,e=r[2]/255;n=n>.04045?Math.pow((n+.055)/1.055,2.4):n/12.92,t=t>.04045?Math.pow((t+.055)/1.055,2.4):t/12.92,e=e>.04045?Math.pow((e+.055)/1.055,2.4):e/12.92;var v=n*.41239079926595+t*.35758433938387+e*.18048078840183,u=n*.21263900587151+t*.71516867876775+e*.072192315360733,h=n*.019330818715591+t*.11919477979462+e*.95053215224966;return a=a||C.whitepoint[2].E,[v*a[0],u*a[1],h*a[2]]};var o=C,i0={name:"xyy",min:[0,0,0],max:[1,1,100],channel:["x","y","Y"],alias:["xyY","Yxy","yxy"]};i0.xyz=function(r){var a,n,t,e,v;return e=r[0],v=r[1],n=r[2],v===0?[0,0,0]:(a=e*n/v,t=(1-e-v)*n/v,[a,n,t])},o.xyy=function(r){var a,n,t,e;return n=r[0],t=r[1],e=r[2],a=n+t+e,a===0?[0,0,t]:[n/a,t/a,t]};var k=i0,c0={name:"yiq",min:[0,-.5957,-.5226],max:[1,.5957,.5226],channel:["Y","I","Q"],alias:["YIQ"]};c0.rgb=function(r){var a=r[0],n=r[1],t=r[2],e,v,u;return e=a*1+n*.956+t*.621,v=a*1+n*-.272+t*-.647,u=a*1+n*-1.108+t*1.705,e=Math.min(Math.max(0,e),1),v=Math.min(Math.max(0,v),1),u=Math.min(Math.max(0,u),1),[e*255,v*255,u*255]},f.yiq=function(r){var a=r[0]/255,n=r[1]/255,t=r[2]/255,e=a*.299+n*.587+t*.114,v=0,u=0;return(a!==n||n!==t)&&(v=a*.596+n*-.275+t*-.321,u=a*.212+n*-.528+t*.311),[e,v,u]};var r1=c0,s0={name:"yuv",min:[0,-.5,-.5],max:[1,.5,.5],channel:["Y","U","V"],alias:["YUV","EBU"]};s0.rgb=function(r){var a=r[0],n=r[1],t=r[2],e,v,u;return e=a*1+n*0+t*1.13983,v=a*1+n*-.39465+t*-.5806,u=a*1+n*2.02311+t*0,e=Math.min(Math.max(0,e),1),v=Math.min(Math.max(0,v),1),u=Math.min(Math.max(0,u),1),[e*255,v*255,u*255]},f.yuv=function(r){var a=r[0]/255,n=r[1]/255,t=r[2]/255,e=a*.299+n*.587+t*.114,v=a*-.14713+n*-.28886+t*.436,u=a*.615+n*-.51499+t*-.10001;return[e,v,u]};var l0=s0,j={name:"ydbdr",min:[0,-1.333,-1.333],max:[1,1.333,1.333],channel:["Y","Db","Dr"],alias:["YDbDr"]};j.rgb=function(r){var a=r[0],n=r[1],t=r[2],e=a+92303716148e-15*n-.525912630661865*t,v=a-.129132898890509*n+.267899328207599*t,u=a+.664679059978955*n-79202543533e-15*t;return[e*255,v*255,u*255]},f.ydbdr=function(r){var a=r[0]/255,n=r[1]/255,t=r[2]/255;return[.299*a+.587*n+.114*t,-.45*a-.883*n+1.333*t,-1.333*a+1.116*n+.217*t]},l0.ydbdr=function(r){return[r[0],3.059*r[1],-2.169*r[2]]},j.yuv=function(r){return[r[0],r[1]/3.059,-r[2]/2.169]};var n1=j,o0={name:"ycgco",min:[0,-.5,-.5],max:[1,.5,.5],channel:["Y","Cg","Co"],alias:["YCgCo"]};o0.rgb=function(r){var a=r[0],n=r[1],t=r[2],e=a-n;return[(e+t)*255,(a+n)*255,(e-t)*255]},f.ycgco=function(r){var a=r[0]/255,n=r[1]/255,t=r[2]/255;return[.25*a+.5*n+.25*t,-.25*a+.5*n-.25*t,.5*a-.5*t]};var t1=o0,f0={name:"ypbpr",min:[0,-.5,-.5],max:[1,.5,.5],channel:["Y","Pb","Pr"],alias:["YPbPr","Y/PB/PR","YPRPB","PRPBY","PBPRY","Y/Pb/Pr","YPrPb","PrPbY","PbPrY","Y/R-Y/B-Y","Y(R-Y)(B-Y)","R-Y","B-Y"]};f0.rgb=function(r,a,n){var t=r[0],e=r[1],v=r[2];a=a||.0722,n=n||.2126;var u=t+2*v*(1-n),h=t+2*e*(1-a),i=(t-n*u-a*h)/(1-n-a);return[u*255,i*255,h*255]},f.ypbpr=function(r,a,n){var t=r[0]/255,e=r[1]/255,v=r[2]/255;a=a||.0722,n=n||.2126;var u=n*t+(1-n-a)*e+a*v,h=.5*(v-u)/(1-a),i=.5*(t-u)/(1-n);return[u,h,i]};var _=f0,Z={name:"ycbcr",min:[16,16,16],max:[235,240,240],channel:["Y","Cb","Cr"],alias:["YCbCr","YCC"],ypbpr:function(r){var a=r[0],n=r[1],t=r[2];return[(a-16)/219,(n-128)/224,(t-128)/224]}};_.ycbcr=function(r){var a=r[0],n=r[1],t=r[2];return[16+219*a,128+224*n,128+224*t]},Z.rgb=function(r,a,n){return _.rgb(Z.ypbpr(r),a,n)},f.ycbcr=function(r,a,n){return _.ycbcr(f.ypbpr(r,a,n))};var e1=Z,M0={name:"xvycc",min:[0,0,0],max:[255,255,255],channel:["Y","Cb","Cr"],alias:["xvYCC"],ypbpr:function(r){var a=r[0],n=r[1],t=r[2];return[(a-16)/219,(n-128)/224,(t-128)/224]},rgb:function(r,a,n){return _.rgb(M0.ypbpr(r),a,n)}},v1=M0;_.xvycc=function(r){var a=r[0],n=r[1],t=r[2];return[16+219*a,128+224*n,128+224*t]},f.xvycc=function(r,a,n){return _.xvycc(f.ypbpr(r,a,n))};var m0={name:"yccbccrc",min:[0,-.5,-.5],max:[1,.5,.5],channel:["Yc","Cbc","Crc"],alias:["YcCbcCrc"]};m0.rgb=function(r){return _.rgb(r,.0593,.2627)},f.yccbccrc=function(r){return f.ypbpr(r,.0593,.2627)};var u1=m0,b0={name:"ucs",min:[0,0,0],max:[100,100,100],channel:["U","V","W"],alias:["UCS","cie1960"]},y0=b0;b0.xyz=function(r){var a=r[0],n=r[1],t=r[2];return[1.5*a,n,1.5*a-3*n+2*t]},o.ucs=function(r){var a=r[0],n=r[1],t=r[2];return[a*2/3,n,.5*(-a+3*n+t)]};var K={name:"uvw",min:[-134,-140,0],max:[224,122,100],channel:["U","V","W"],alias:["UVW","cieuvw","cie1964"]},h1=K;K.xyz=function(r,a,n){var t,e,v,u,h,i,c,s,l,M,m,b,y;return u=r[0],h=r[1],v=r[2],v===0?[0,0,0]:(a=a||"D65",n=n||2,l=o.whitepoint[n][a][0],M=o.whitepoint[n][a][1],m=o.whitepoint[n][a][2],b=4*l/(l+15*M+3*m),y=6*M/(l+15*M+3*m),c=Math.pow((v+17)/25,3),t=u/(13*v)+b||0,e=h/(13*v)+y||0,i=6/4*c*t/e,s=c*(2/e-.5*t/e-5),[i,c,s])},o.uvw=function(r,a,n){var t=r[0],e=r[1],v=r[2],u,h,i,c,s;a=a||"D65",n=n||2,u=o.whitepoint[n][a][0],h=o.whitepoint[n][a][1],i=o.whitepoint[n][a][2],c=4*u/(u+15*h+3*i),s=6*h/(u+15*h+3*i);var l=4*t/(t+15*e+3*v)||0,M=6*e/(t+15*e+3*v)||0,m=25*Math.pow(e,1/3)-17,b=13*m*(l-c),y=13*m*(M-s);return[b,y,m]},K.ucs=function(r){throw new Error("Not implemented")},y0.uvw=function(r){throw new Error("Not implemented")};var x0={name:"jpeg",min:[0,0,0],max:[255,255,255],channel:["Y","Cb","Cr"],alias:["JPEG"]},i1=x0;x0.rgb=function(r){var a=r[0],n=r[1],t=r[2];return[a+1.402*(t-128),a-.34414*(n-128)-.71414*(t-128),a+1.772*(n-128)]},f.jpeg=function(r){var a=r[0],n=r[1],t=r[2];return[.299*a+.587*n+.114*t,128-.168736*a-.331264*n+.5*t,128+.5*a-.418688*n-.081312*t]};var p0={name:"lab",min:[0,-100,-100],max:[100,100,100],channel:["lightness","a","b"],alias:["LAB","cielab"]};p0.xyz=([r,a,n])=>{var t,e,v,u;return r<=8?(e=r*100/903.3,u=7.787*(e/100)+16/116):(e=100*Math.pow((r+16)/116,3),u=Math.pow(e/100,1/3)),t=t/95.047<=.008856?t=95.047*(a/500+u-16/116)/7.787:95.047*Math.pow(a/500+u,3),v=v/108.883<=.008859?v=108.883*(u-n/200-16/116)/7.787:108.883*Math.pow(u-n/200,3),[t,e,v]};var U=p0;o.lab=([r,a,n])=>{var t,e,v;return r/=95.047,a/=100,n/=108.883,r=r>.008856?Math.pow(r,1/3):7.787*r+16/116,a=a>.008856?Math.pow(a,1/3):7.787*a+16/116,n=n>.008856?Math.pow(n,1/3):7.787*n+16/116,t=116*a-16,e=500*(r-a),v=200*(a-n),[t,e,v]};var c1={name:"labh",min:[0,-128,-128],max:[100,128,128],channel:["lightness","a","b"],alias:["LABh","hunter-lab","hlab"],xyz:function(r){var a=r[0],n=r[1],t=r[2],e=a/10,v=n/17.5*a/10,u=t/7*a/10,h=e*e,i=(v+h)/1.02,c=-(u-h)/.847;return[i,h,c]}},s1=c1;o.labh=function(r){var a=r[0],n=r[1],t=r[2],e=Math.sqrt(n),v=10*e,u=n===0?0:17.5*((1.02*a-n)/e),h=n===0?0:7*((n-.847*t)/e);return[v,u,h]};var O={name:"lms",min:[0,0,0],max:[100,100,100],channel:["long","medium","short"],matrix:{HPE:[.38971,.68898,-.07868,-.22981,1.1834,.04641,0,0,1],VONKRIES:[.4002,.7076,-.0808,-.2263,1.1653,.0457,0,0,.9182],BFD:[.8951,.2664,-.1614,-.7502,1.7135,.0367,.0389,-.0686,1.0296],CAT97:[.8562,.3372,-.1934,-.836,1.8327,.0033,.0357,-.00469,1.0112],CAT00:[.7982,.3389,-.1371,-.5918,1.5512,.0406,8e-4,.0239,.9753],CAT02:[.7328,.4296,-.1624,-.7036,1.6975,.0061,.003,.0136,.9834]}},l1=O;O.xyz=function(r,a){var n=r[0],t=r[1],e=r[2];return a||(a=[1.096123820835514,-.278869000218287,.182745179382773,.454369041975359,.473533154307412,.072097803717229,-.009627608738429,-.005698031216113,1.015325639954543]),[n*a[0]+t*a[1]+e*a[2],n*a[3]+t*a[4]+e*a[5],n*a[6]+t*a[7]+e*a[8]]},o.lms=function(r,a){var n=r[0],t=r[1],e=r[2];return a||(a=O.matrix.CAT02),[n*a[0]+t*a[1]+e*a[2],n*a[3]+t*a[4]+e*a[5],n*a[6]+t*a[7]+e*a[8]]};var g0={name:"lchab",min:[0,0,0],max:[100,100,360],channel:["lightness","chroma","hue"],alias:["LCHab","cielch","LCH","HLC","LSH"],xyz:function(r){return U.xyz(g0.lab(r))},lab:function(r){var a=r[0],n=r[1],t=r[2],e,v,u;return u=t/360*2*Math.PI,e=n*Math.cos(u),v=n*Math.sin(u),[a,e,v]}};U.lchab=function(r){var a=r[0],n=r[1],t=r[2],e,v,u;return e=Math.atan2(t,n),v=e*360/2/Math.PI,v<0&&(v+=360),u=Math.sqrt(n*n+t*t),[a,u,v]},o.lchab=function(r){return U.lchab(o.lab(r))};var o1=g0,f1={name:"luv",min:[0,-134,-140],max:[100,224,122],channel:["lightness","u","v"],alias:["LUV","cieluv","cie1976"],xyz:function(r,a,n){var t,e,v,u,h,i,c,s,l,M,m,b,y;if(v=r[0],u=r[1],h=r[2],v===0)return[0,0,0];var P=.0011070564598794539;return a=a||"D65",n=n||2,l=o.whitepoint[n][a][0],M=o.whitepoint[n][a][1],m=o.whitepoint[n][a][2],b=4*l/(l+15*M+3*m),y=9*M/(l+15*M+3*m),t=u/(13*v)+b||0,e=h/(13*v)+y||0,c=v>8?M*Math.pow((v+16)/116,3):M*v*P,i=c*9*t/(4*e)||0,s=c*(12-3*t-20*e)/(4*e)||0,[i,c,s]}},V=f1;o.luv=function(r,a,n){var t,e,v,u,h,i,c,s,l,M,m,b,y,P=.008856451679035631,I=903.2962962962961;a=a||"D65",n=n||2,l=o.whitepoint[n][a][0],M=o.whitepoint[n][a][1],m=o.whitepoint[n][a][2],b=4*l/(l+15*M+3*m),y=9*M/(l+15*M+3*m),i=r[0],c=r[1],s=r[2],t=4*i/(i+15*c+3*s)||0,e=9*c/(i+15*c+3*s)||0;var H=c/M;return v=H<=P?I*H:116*Math.pow(H,1/3)-16,u=13*v*(t-b),h=13*v*(e-y),[v,u,h]};var d0={name:"lchuv",channel:["lightness","chroma","hue"],alias:["LCHuv","cielchuv"],min:[0,0,0],max:[100,100,360],luv:function(r){var a=r[0],n=r[1],t=r[2],e,v,u;return u=t/360*2*Math.PI,e=n*Math.cos(u),v=n*Math.sin(u),[a,e,v]},xyz:function(r){return V.xyz(d0.luv(r))}},B=d0;V.lchuv=function(r){var a=r[0],n=r[1],t=r[2],e=Math.sqrt(n*n+t*t),v=Math.atan2(t,n),u=v*360/2/Math.PI;return u<0&&(u+=360),[a,e,u]},o.lchuv=function(r){return V.lchuv(o.luv(r))};function w0(r){var a=[],n=Math.pow(r+16,3)/1560896;n=n>E0?n:r/a0;for(var t=0;3>t;){var e=t++,v=T[e][0],u=T[e][1];e=T[e][2];for(var h=0;2>h;){var i=h++,c=(632260*e-126452*u)*n+126452*i;a.push({b:(284517*v-94839*e)*n/c,a:((838422*e+769860*u+731718*v)*r*n-769860*i*r)/c})}}return a}function _0(r){r=w0(r);for(var a=1/0,n=0;n<r.length;){var t=r[n];++n,a=Math.min(a,Math.abs(t.a)/Math.sqrt(Math.pow(t.b,2)+1))}return a}function q0(r,a){a=a/360*Math.PI*2,r=w0(r);for(var n=1/0,t=0;t<r.length;){var e=r[t];++t,e=e.a/(Math.sin(a)-e.b*Math.cos(a)),0<=e&&(n=Math.min(n,e))}return n}function z(r,a){for(var n=0,t=0,e=r.length;t<e;){var v=t++;n+=r[v]*a[v]}return n}function W(r){return .0031308>=r?12.92*r:1.055*Math.pow(r,.4166666666666667)-.055}function N(r){return .04045<r?Math.pow((r+.055)/1.055,2.4):r/12.92}function P0(r){return[W(z(T[0],r)),W(z(T[1],r)),W(z(T[2],r))]}function Y0(r){return r=[N(r[0]),N(r[1]),N(r[2])],[z($[0],r),z($[1],r),z($[2],r)]}function C0(r){var a=r[0],n=r[1];return r=a+15*n+3*r[2],r!=0?(a=4*a/r,r=9*n/r):r=a=NaN,n=n<=E0?n/S*a0:116*Math.pow(n/S,.3333333333333333)-16,n==0?[0,0,0]:[n,13*n*(a-R0),13*n*(r-A0)]}function z0(r){var a=r[0];if(a==0)return[0,0,0];var n=r[1]/(13*a)+R0;return r=r[2]/(13*a)+A0,a=8>=a?S*a/a0:S*Math.pow((a+16)/116,3),n=0-9*a*n/((n-4)*r-n*r),[n,a,(9*a-15*r*a-r*n)/(3*r)]}function T0(r){var a=r[0],n=r[1],t=r[2];return r=Math.sqrt(n*n+t*t),1e-8>r?n=0:(n=180*Math.atan2(t,n)/Math.PI,0>n&&(n=360+n)),[a,r,n]}function I0(r){var a=r[1],n=r[2]/360*2*Math.PI;return[r[0],Math.cos(n)*a,Math.sin(n)*a]}function H0(r){var a=r[0],n=r[1];return r=r[2],99.9999999<r?[100,0,a]:1e-8>r?[0,0,a]:(n=q0(r,a)/100*n,[r,n,a])}function L0(r){var a=r[0],n=r[1];if(r=r[2],99.9999999<a)return[r,0,100];if(1e-8>a)return[r,0,0];var t=q0(a,r);return[r,n/t*100,a]}function D0(r){var a=r[0],n=r[1];return r=r[2],99.9999999<r?[100,0,a]:1e-8>r?[0,0,a]:(n=_0(r)/100*n,[r,n,a])}function B0(r){var a=r[0],n=r[1];if(r=r[2],99.9999999<a)return[r,0,100];if(1e-8>a)return[r,0,0];var t=_0(a);return[r,n/t*100,a]}function Q(r){return P0(z0(I0(r)))}function J(r){return T0(C0(Y0(r)))}function M1(r){return Q(H0(r))}function m1(r){return L0(J(r))}function b1(r){return Q(D0(r))}function y1(r){return B0(J(r))}var T=[[3.240969941904521,-1.537383177570093,-.498610760293],[-.96924363628087,1.87596750150772,.041555057407175],[.055630079696993,-.20397695888897,1.056971514242878]],$=[[.41239079926595,.35758433938387,.18048078840183],[.21263900587151,.71516867876775,.072192315360733],[.019330818715591,.11919477979462,.95053215224966]],S=1,R0=.19783000664283,A0=.46831999493879,a0=903.2962962,E0=.0088564516,x={hsluvToRgb:M1,hsluvToLch:H0,rgbToHsluv:m1,rgbToHpluv:y1,rgbToXyz:Y0,rgbToLch:J,hpluvToRgb:b1,hpluvToLch:D0,lchToHpluv:B0,lchToHsluv:L0,lchToLuv:I0,lchToRgb:Q,luvToLch:T0,luvToXyz:z0,xyzToLuv:C0,xyzToRgb:P0},x1={name:"hsluv",min:[0,0,0],max:[360,100,100],channel:["hue","saturation","lightness"],alias:["HSLuv","HuSL"],lchuv:x.hsluvToLch,xyz:function(r){return B.xyz(x.hsluvToLch(r))},hpluv:function(r){return x.lchToHpluv(x.hsluvToLch(r))},_hsluv:x},p1=x1;B.hsluv=x.lchToHsluv,o.hsluv=function(r){return x.lchToHsluv(o.lchuv(r))},f.hsluv=x.rgbToHsluv;var g1={name:"hpluv",min:[0,0,0],max:[360,100,100],channel:["hue","saturation","lightness"],alias:["HPLuv","HuSLp"],lchuv:x.hpluvToLch,xyz:function(r){return B.xyz(x.hpluvToLch(r))},hsluv:function(r){return x.lchToHsluv(x.hpluvToLch(r))}},d1=g1;B.hpluv=x.lchToHpluv,o.hpluv=function(r){return x.lchToHpluv(o.lchuv(r))};var k0={name:"oklab",min:[0,-.4,-.4],max:[1,.4,.4],channel:["lightness","a","b"]},w1=k0;k0.rgb=([r,a,n])=>{const t=r+.3963377774*a+.2158037573*n,e=r-.1055613458*a-.0638541728*n,v=r-.0894841775*a-1.291485548*n,u=t**3,h=e**3,i=v**3;return[(4.0767416621*u-3.307711591*h+.2309699292*i)*255,(-1.2684380046*u+2.6097574011*h-.3413193965*i)*255,(-.0041960863*u-.7034186147*h+1.707614701*i)*255]},f.oklab=([r,a,n])=>{r/=255,a/=255,n/=255;const t=.4122214708*r+.5363325363*a+.0514459929*n,e=.2119034982*r+.6806995451*a+.1073969566*n,v=.0883024619*r+.2817188376*a+.6299787005*n,u=Math.cbrt(t),h=Math.cbrt(e),i=Math.cbrt(v);return[.2104542553*u+.793617785*h-.0040720468*i,1.9779984951*u-2.428592205*h+.4505937099*i,.0259040371*u+.7827717662*h-.808675766*i]};var R={start:0,rotation:.5,hue:1,gamma:1},U0={name:"cubehelix",channel:["fraction"],min:[0],max:[1],defaults:R};U0.rgb=function(r,a={}){Array.isArray(r)&&(r=r[0]);var n=a.start!==void 0?a.start:R.start,t=a.rotation!==void 0?a.rotation:R.rotation,e=a.gamma!==void 0?a.gamma:R.gamma,v=a.hue!==void 0?a.hue:R.hue,u=2*Math.PI*(n/3+1+t*r);r=Math.pow(r,e);var h=v*r*(1-r)/2,i=r+h*(-.14861*Math.cos(u)+1.78277*Math.sin(u)),c=r+h*(-.29227*Math.cos(u)-.90649*Math.sin(u)),s=r+h*(1.97294*Math.cos(u));return i=Math.max(1,Math.min(i,0)),c=Math.max(1,Math.min(c,0)),s=Math.max(1,Math.min(s,0)),[i*255,c*255,s*255]},f.cubehelix=function(r){throw new Error("rgb.cubehelix conversion is not implemented yet")};var _1=U0,F={name:"coloroid",alias:["ATV"],channel:["A","T","V"],min:[10,0,0],max:[76,100,100],table:[[10,59,1.724349,.44987,.53641],[11,55.3,1.740844,.46248,.52444],[12,51.7,1.754985,.47451,.51298],[13,48.2,1.767087,.48601,.50325],[14,44.8,1.775953,.49578,.49052],[15,41.5,1.785073,.5079,.43035],[16,38.2,1.791104,.51874,.46934],[20,34.9,1.794831,.5298,.45783],[21,31.5,1.798664,.54137,.44559],[22,28,1.794819,.55367,.43253],[23,24.4,1.78961,.5668,.41811],[24,20.6,1.809483,.58128,.40176],[25,16.6,1.760983,.59766,.383],[26,12.3,1.723443,.61653,.36061],[30,7.7,1.652891,.63896,.33358],[31,2.8,1.502607,.66619,.2993],[32,-2.5,1.0725,.70061,.26753],[33,-8.4,1.136637,.63925,.22631],[34,-19.8,1.232286,.53962,.19721],[35,-31.6,1.31012,.5034,.17495],[40,-43.2,1.37661,.46041,.15603],[41,-54.6,1.438692,.42386,.13846],[42,-65.8,1.501582,.38991,.12083],[43,-76.8,1.570447,.35586,.10328],[44,-86.8,1.645583,.32195,.08496],[45,-95.8,1.732083,.28657,.05155],[46,-108.4,1.915753,.22202,.01771],[50,-117.2,2.14631,.15664,.05227],[51,-124.7,1.649939,.12736,.0902],[52,-131.8,1.273415,.10813,.12506],[53,-138.5,1.080809,.09414,.15741],[54,-145.1,.957076,.03249,.18958],[55,-152,.868976,.07206,.24109],[56,-163.4,.771731,.05787,.30378],[60,-177.2,.697108,.04353,.35696],[61,171.6,.655803,.03291,.41971],[62,152.4,.623958,.0224,.49954],[63,148.4,.596037,.01196,.60321],[64,136.8,.607413,.00425,.73542],[65,125.4,.659923,.01099,.83391],[66,114.2,.859517,.0805,.77474],[70,103.2,1.195683,.20259,.7046],[71,93.2,1.407534,.28807,.6523],[72,84.2,1.532829,.34422,.6193],[73,77.3,1.603792,.37838,.59533],[74,71.6,1.649448,.4029,.57716],[75,66.9,1.68108,.42141,.56222],[76,62.8,1.704979,.43647,.54895]],xyy:function([r,a,n]){for(var t,e=0;e<A.length;e++)if(r<=A[e][0]){t=A[e];break}var v=t[4],u=t[2],h=t[3],i=n*n/100,c=v*u*100,s=(100*i*E*w+100*h*u*a-c*a*E*w)/(100*a*u-c*a*w+100*i*w),l=(100*i+100*a*v*u-c*a)/(i*w*100+a*100*u-a*c*w);return[s,l,i]}},A=F.table,Y=A.slice(-13).concat(A.slice(0,-13)),r0="D65",n0=2,X=o.whitepoint[n0][r0][0],G=o.whitepoint[n0][r0][1],t0=o.whitepoint[n0][r0][2],q1=X/(X+G+t0),E=G/(X+G+t0),w=(X+G+t0)/100;k.coloroid=function(r){for(var a=r[0],n=r[1],t=r[2],e=10*Math.sqrt(t),v=Math.atan2(n-q1,a-E)*180/Math.PI,u,h=Y.length-1,i=0;i<Y.length&&!(v>Y[i][1]);i++)h=i;u=Math.abs(Y[i+1][1]-v)>Math.abs(Y[h][1]-v)?Y[i+1]:Y[h];var c=u[0],s=u[4],l=u[2],M=u[3],m=s*l*100,b=100*t*(E*w-a*w)/(100*(a*l-M*l)+m*(E*w-a*w));return[c,b,e]},o.coloroid=function(r){return k.coloroid(o.xyy(r))},F.xyz=function(r){return k.xyz(F.xyy(r))};var P1=F,Y1={name:"hcg",min:[0,0,0],max:[360,100,100],channel:["hue","chroma","gray"],alias:["HCG","HSG"],rgb:function(r){var a=r[0]/360,n=r[1]/100,t=r[2]/100;if(n===0)return[t*255,t*255,t*255];var e=a%1*6,v=e%1,u=[0,0,0],h=1-v;switch(Math.floor(e)){case 0:u[0]=1,u[1]=v,u[2]=0;break;case 1:u[0]=h,u[1]=1,u[2]=0;break;case 2:u[0]=0,u[1]=1,u[2]=v;break;case 3:u[0]=0,u[1]=h,u[2]=1;break;case 4:u[0]=v,u[1]=0,u[2]=1;break;default:u[0]=1,u[1]=0,u[2]=h}var i=(1-n)*t,c=[(n*u[0]+i)*255,(n*u[1]+i)*255,(n*u[2]+i)*255];return c},hsl:function(r){var a=r[1]/100,n=r[2]/100,t=n*(1-a)+.5*a,e=0;return t<1&&t>0&&(t<.5?e=a/(2*t):e=a/(2*(1-t))),[r[0],e*100,t*100]},hsv:function(r){var a=r[1]/100,n=r[2]/100,t=a+n*(1-a),e;if(t>0){var v=a/t;e=[r[0],v*100,t*100]}else e=[r[0],0,t*100];return e},hwb:function(r){var a=r[1]/100,n=r[2]/100,t=a+n*(1-a);return[r[0],(t-a)*100,(1-t)*100]}},C1=Y1;f.hcg=function(r){var a=r[0]/255,n=r[1]/255,t=r[2]/255,e=Math.max(Math.max(a,n),t),v=Math.min(Math.min(a,n),t),u=e-v,h,i;return u<1?h=v/(1-u):h=0,u>0?(e===a?i=(n-t)/u%6:e===n?i=2+(t-a)/u:i=4+(a-n)/u,i/=6,i=i%1):i=0,[i*360,u*100,h*100]},L.hcg=function(r){var a=r[1]/100,n=r[2]/100,t=0;n<.5?t=2*a*n:t=2*a*(1-n);var e;if(t<1){var v=(n-.5*t)/(1-t);e=[r[0],t*100,v*100]}else e=[r[0],t*100,0];return e},D.hcg=function(r){var a=r[1]/100,n=r[2]/100,t=a*n,e;if(t<1){var v=(n-t)/(1-t);e=[r[0],t*100,v*100]}else e=[r[0],t*100,0];return e},u0.hcg=function(r){var a=r[1]/100,n=r[2]/100,t=1-n,e=t-a,v=0;return e<1&&(v=(t-e)/(1-e)),[r[0],e*100,v*100]};var V0={name:"hcy",min:[0,0,0],max:[360,100,255],channel:["hue","chroma","luminance"],alias:["HCY"]},z1=V0;V0.rgb=function(r){var a=(r[0]<0?r[0]%360+360:r[0]%360)*Math.PI/180,n=Math.max(0,Math.min(r[1],100))/100,t=Math.max(0,Math.min(r[2],255))/255,e=Math.PI/3,v,u,h;return a<2*e?(h=t*(1-n),v=t*(1+n*Math.cos(a)/Math.cos(e-a)),u=t*(1+n*(1-Math.cos(a)/Math.cos(e-a)))):a<4*e?(a=a-2*e,v=t*(1-n),u=t*(1+n*Math.cos(a)/Math.cos(e-a)),h=t*(1+n*(1-Math.cos(a)/Math.cos(e-a)))):(a=a-4*e,u=t*(1-n),h=t*(1+n*Math.cos(a)/Math.cos(e-a)),v=t*(1+n*(1-Math.cos(a)/Math.cos(e-a)))),[v*255,u*255,h*255]},f.hcy=function(r){var a=r[0]+r[1]+r[2],n=r[0]/a,t=r[1]/a,e=r[2]/a,v=Math.acos(.5*(n-t+(n-e))/Math.sqrt((n-t)*(n-t)+(n-e)*(t-e)));e>t&&(v=2*Math.PI-v);var u=1-3*Math.min(n,t,e),h=a/3;return[v*180/Math.PI,u*100,h]};var S0={name:"tsl",min:[0,0,0],max:[1,1,1],channel:["tint","saturation","lightness"],alias:["TSL"]},T1=S0;S0.rgb=function(r){var a=r[0],n=r[1],t=r[2],e=Math.tan(2*Math.PI*(a-1/4));e*=e;var v=Math.sqrt(5*n*n/(9*(1/e+1)))+1/3,u=Math.sqrt(5*n*n/(9*(e+1)))+1/3,h=t/(.185*v+.473*u+.114),i=h*(1-v-u),c=h*u,s=h*v;return[s*255,c*255,i*255]},f.tsl=function(r){var[a,n,t]=r,e=(a/(a+n+t)||0)-1/3,v=(n/(a+n+t)||0)-1/3,u=v!=0?.5-Math.atan2(v,e)/2/Math.PI:0,h=Math.sqrt(9/5*(e*e+v*v)),i=(a*.299+n*.587+t*.114)/255;return[u,h,i]};var F0={name:"yes",min:[0,0,0],max:[1,1,1],channel:["luminance","e-factor","s-factor"]};F0.rgb=function(r){var a=r[0],n=r[1],t=r[2],e=[1,1.431,.126,1,-.569,.126,1,.431,-1.874],v=a*e[0]+n*e[1]+t*e[2],u=a*e[3]+n*e[4]+t*e[5],h=a*e[6]+n*e[7]+t*e[8];return[v*255,u*255,h*255]},f.yes=function(r){var a=r[0]/255,n=r[1]/255,t=r[2]/255,e=[.253,.684,.063,.5,-.5,0,.25,.25,-.5];return[a*e[0]+n*e[1]+t*e[2],a*e[3]+n*e[4]+t*e[5],a*e[6]+n*e[7]+t*e[8]]};var I1=F0,X0={name:"osaucs",alias:["OSA-UCS"],channel:["L","j","g"],min:[-10,-6,-10],max:[8,12,6]};X0.xyz=function(r){var a,n,t;throw"Unimplemented"},o.osaucs=function(r){var a=r[0],n=r[1],t=r[2],e=a/(a+n+t),v=n/(a+n+t),u=4.4934*e*e+4.3034*v*v-4.276*e*v-1.3744*e-2.56439*v+1.8103,h=u*n,i=5.9*(Math.pow(h,1/3)-2/3+.042*Math.pow(Math.max(h,30)-30,1/3)),c=(i-14.3993)/Math.sqrt(2),s=i/(5.9*(Math.pow(h,1/3)-2/3)),l=.779*a+.4194*n-.1648*t,M=-.4493*a+1.3265*n+.0927*t,m=-.1149*a+.3394*n+.717*t;l=Math.pow(l,1/3)||0,M=Math.pow(M,1/3)||0,m=Math.pow(m,1/3)||0;var b=-13.7*l+17.7*M-4*m,y=1.7*l+8*M-9.7*m,P=s*b,I=s*y;return[c,I,P]};var H1=X0,p=.299,g=.587,d=.114,L1={name:"hsp",min:[0,0,0],max:[360,100,255],channel:["hue","saturation","perceived_brightness"],alias:["HSP"],rgb:function(r){var a=r[0]/360,n=r[1]/100,t=r[2],e,v,u,h,i=1-n;return i>0?a<1/6?(a=6*(a-0/6),h=1+a*(1/i-1),u=t/Math.sqrt(p/i/i+g*h*h+d),e=u/i,v=u+a*(e-u)):a<2/6?(a=6*(-a+2/6),h=1+a*(1/i-1),u=t/Math.sqrt(g/i/i+p*h*h+d),v=u/i,e=u+a*(v-u)):a<3/6?(a=6*(a-2/6),h=1+a*(1/i-1),e=t/Math.sqrt(g/i/i+d*h*h+p),v=e/i,u=e+a*(v-e)):a<4/6?(a=6*(-a+4/6),h=1+a*(1/i-1),e=t/Math.sqrt(d/i/i+g*h*h+p),u=e/i,v=e+a*(u-e)):a<5/6?(a=6*(a-4/6),h=1+a*(1/i-1),v=t/Math.sqrt(d/i/i+p*h*h+g),u=v/i,e=v+a*(u-v)):(a=6*(-a+6/6),h=1+a*(1/i-1),v=t/Math.sqrt(p/i/i+d*h*h+g),e=v/i,u=v+a*(e-v)):a<1/6?(a=6*(a-0/6),e=Math.sqrt(t*t/(p+g*a*a)),v=e*a,u=0):a<2/6?(a=6*(-a+2/6),v=Math.sqrt(t*t/(g+p*a*a)),e=v*a,u=0):a<3/6?(a=6*(a-2/6),v=Math.sqrt(t*t/(g+d*a*a)),u=v*a,e=0):a<4/6?(a=6*(-a+4/6),u=Math.sqrt(t*t/(d+g*a*a)),v=u*a,e=0):a<5/6?(a=6*(a-4/6),u=Math.sqrt(t*t/(d+p*a*a)),e=u*a,v=0):(a=6*(-a+6/6),e=Math.sqrt(t*t/(p+d*a*a)),u=e*a,v=0),[Math.round(e),Math.round(v),Math.round(u)]}},D1=L1;f.hsp=function(r){var a=parseInt(r[0],10),n=parseInt(r[1],10),t=parseInt(r[2],10),e,v,u;return u=Math.sqrt(a*a*p+n*n*g+t*t*d),a===n&&a===t?(e=0,v=0):(a>=n&&a>=t&&(t>=n?(e=6/6-1/6*(t-n)/(a-n),v=1-n/a):(e=0/6+1/6*(n-t)/(a-t),v=1-t/a)),n>=a&&n>=t&&(a>=t?(e=2/6-1/6*(a-t)/(n-t),v=1-t/n):(e=2/6+1/6*(t-a)/(n-a),v=1-a/n)),t>=a&&t>=n&&(n>=a?(e=4/6-1/6*(n-a)/(t-a),v=1-a/t):(e=4/6+1/6*(a-n)/(t-n),v=1-n/t))),[Math.round(e*360),v*100,Math.round(u)]};var G0={name:"hsm",min:[0,0,0],max:[1,1,1],channel:["hue","saturation","mixture"]},B1=G0;G0.rgb=function([r,a,n]){let t;n>=0&&n<=1/7?t=Math.sqrt((0-n)**2+(0-n)**2+(7-n)**2):n>1/7&&n<=3/7?t=Math.sqrt((0-n)**2+((7*n-1)/2-n)**2+(1-n)**2):n>3/7&&n<=.5?t=Math.sqrt(((7*n-3)/2-n)**2+(1-n)**2+(1-n)**2):n>.5&&n<=4/7?t=Math.sqrt((7*n/4-n)**2+(0-n)**2+(0-n)**2):n>4/7&&n<=6/7?t=Math.sqrt((1-n)**2+((7*n-4)/2-n)**2+(0-n)**2):n>6/7&&n<=1?t=Math.sqrt((1-n)**2+(1-n)**2+(7*n-6-n)**2):t=1;const e=a*t,v=Math.cos(2*Math.PI*r),u=Math.sin(2*Math.PI*r),h=3/Math.sqrt(41),i=-4/Math.sqrt(861),c=-4/Math.sqrt(41),s=19/Math.sqrt(861),l=-4/Math.sqrt(41),M=-22/Math.sqrt(861),m=e*(h*v+i*u),b=e*(c*v+s*u),y=e*(l*v+M*u),P=Math.max(0,Math.min(1,n+m))*255,I=Math.max(0,Math.min(1,n+b))*255,H=Math.max(0,Math.min(1,n+y))*255;return[P,I,H]},f.hsm=function([r,a,n]){r/=255,a/=255,n/=255;let t=(4*r+2*a+n)/7,e=r-t,v=a-t,u=n-t,h=Math.sqrt(e*e+v*v+u*u),i=Math.acos((3*e-4*v-4*u)/Math.sqrt(41*(e*e+v*v+u*u))||0),c=n<=a?i/(2*Math.PI):1-i/(2*Math.PI),s;return 0<=t&&t<=1/7?s=h/Math.sqrt((0-t)**2+(0-t)**2+(7-t)**2):1/7<t&&t<=3/7?s=h/Math.sqrt((0-t)**2+((7*t-1)/2-t)**2+(1-t)**2):3/7<t&&t<=1/2?s=h/Math.sqrt(((7*t-3)/2-t)**2+(1-t)**2+(1-t)**2):1/2<t&&t<=4/7?s=h/Math.sqrt((7*t/4-t)**2+(0-t)**2+(0-t)**2):4/7<t&&t<=6/7?s=h/Math.sqrt((1-t)**2+((7*t-4)/2-t)**2+(0-t)**2):6/7<t&&t<1?s=h/Math.sqrt((1-t)**2+(1-t)**2+(7*t-6-t)**2):s=0,[c,s,t]};var j0={name:"lrgb",min:[0,0,0],max:[1,1,1],channel:["red","green","blue"]};j0.rgb=r=>r.map(a=>(a/=255)>.04045?((a+.055)/1.055)**2.4:a/12.92),f.lrgb=r=>r.map(a=>a/255<=.04045?a/255/12.92:((a/255+.055)/1.055)**2.4);var R1=j0,q={},A1=q;function Z0(r){const a=r.name;for(const n in q){r[n]||(r[n]=K0(r,n));const t=q[n];t[a]||(t[a]=K0(t,a))}q[a]=r}function K0(r,a){return r.xyz&&q.xyz[a]?n=>q.xyz[a](r.xyz(n)):r.rgb&&q.rgb[a]?n=>q.rgb[a](r.rgb(n)):()=>{throw new Error(`Conversion ${r.name} to ${a} is not available`)}}[f,o,L,D,Q0,u0,$0,a1,k,r1,l0,n1,t1,_,e1,v1,u1,y0,h1,i1,U,s1,l1,o1,V,B,p1,d1,_1,P1,C1,z1,T1,I1,H1,D1,B1,R1,w1].map(Z0);export{A1 as default,Z0 as register};

@@ -11,8 +11,8 @@ /**

name: 'hcg',
min: [0,0,0],
max: [360,100,100],
min: [0, 0, 0],
max: [360, 100, 100],
channel: ['hue', 'chroma', 'gray'],
alias: ['HCG', 'HSG'],
rgb: function(hcg) {
rgb: function (hcg) {
var h = hcg[0] / 360;

@@ -51,3 +51,3 @@ var c = hcg[1] / 100;

hsl: function(hcg) {
hsl: function (hcg) {
var c = hcg[1] / 100;

@@ -67,3 +67,3 @@ var g = hcg[2] / 100;

hsv: function(hcg){
hsv: function (hcg) {
var c = hcg[1] / 100;

@@ -82,3 +82,3 @@ var g = hcg[2] / 100;

hwb: function(hcg){
hwb: function (hcg) {
var c = hcg[1] / 100;

@@ -95,3 +95,3 @@ var g = hcg[2] / 100;

//append rgb
rgb.hcg = function(rgb) {
rgb.hcg = function (rgb) {
var r = rgb[0] / 255;

@@ -114,7 +114,7 @@ var g = rgb[1] / 255;

} else
if (max === g) {
hue = 2 + (b - r) / chroma;
} else {
hue = 4 + (r - g) / chroma;
}
if (max === g) {
hue = 2 + (b - r) / chroma;
} else {
hue = 4 + (r - g) / chroma;
}
hue /= 6;

@@ -129,3 +129,3 @@ hue = (hue % 1);

//extend hsl
hsl.hcg = function(hsl) {
hsl.hcg = function (hsl) {
var s = hsl[1] / 100;

@@ -150,3 +150,3 @@ var l = hsl[2] / 100;

//extend hsv
hsv.hcg = function(hsv){
hsv.hcg = function (hsv) {
var s = hsv[1] / 100;

@@ -167,3 +167,3 @@ var v = hsv[2] / 100;

//extend hwb
hwb.hcg = function(hwb){
hwb.hcg = function (hwb) {
var w = hwb[1] / 100;

@@ -170,0 +170,0 @@ var b = hwb[2] / 100;

@@ -11,4 +11,4 @@ /**

name: 'hcy',
min: [0,0,0],
max: [360,100,255],
min: [0, 0, 0],
max: [360, 100, 255],
channel: ['hue', 'chroma', 'luminance'],

@@ -36,18 +36,18 @@ alias: ['HCY']

var r, g, b;
if (h < (2 * pi3) ) {
b = i * ( 1 - s );
r = i * (1 + ( s * Math.cos(h) / Math.cos(pi3 - h) ));
g = i * (1 + ( s * ( 1 - Math.cos(h) / Math.cos(pi3 - h) )));
if (h < (2 * pi3)) {
b = i * (1 - s);
r = i * (1 + (s * Math.cos(h) / Math.cos(pi3 - h)));
g = i * (1 + (s * (1 - Math.cos(h) / Math.cos(pi3 - h))));
}
else if (h < (4 * pi3) ) {
else if (h < (4 * pi3)) {
h = h - 2 * pi3;
r = i * ( 1 - s );
g = i * (1 + ( s * Math.cos(h) / Math.cos(pi3 - h) ));
b = i * (1 + ( s * ( 1 - Math.cos(h) / Math.cos(pi3 - h) )));
r = i * (1 - s);
g = i * (1 + (s * Math.cos(h) / Math.cos(pi3 - h)));
b = i * (1 + (s * (1 - Math.cos(h) / Math.cos(pi3 - h))));
}
else {
h = h - 4 * pi3;
g = i * ( 1 - s );
b = i * (1 + ( s * Math.cos(h) / Math.cos(pi3 - h) ));
r = i * (1 + ( s * ( 1 - Math.cos(h) / Math.cos(pi3 - h) )));
g = i * (1 - s);
b = i * (1 + (s * Math.cos(h) / Math.cos(pi3 - h)));
r = i * (1 + (s * (1 - Math.cos(h) / Math.cos(pi3 - h))));
}

@@ -74,4 +74,4 @@

var h = Math.acos(
( 0.5 * ((r - g) + (r - b)) ) /
Math.sqrt( (r - g)*(r - g) + (r - b)*(g - b) )
(0.5 * ((r - g) + (r - b))) /
Math.sqrt((r - g) * (r - g) + (r - b) * (g - b))
);

@@ -78,0 +78,0 @@ if (b > g) {

@@ -9,8 +9,8 @@ /**

import lchuv from './lchuv.js';
import {_hsluv} from './hsluv.js';
import { _hsluv } from './hsluv.js';
var hpluv = {
name: 'hpluv',
min: [0,0,0],
max: [360,100,100],
min: [0, 0, 0],
max: [360, 100, 100],
channel: ['hue', 'saturation', 'lightness'],

@@ -20,7 +20,7 @@ alias: ['HPLuv', 'HuSLp'],

lchuv: _hsluv.hpluvToLch,
xyz: function(arg){return lchuv.xyz(_hsluv.hpluvToLch(arg));},
xyz: function (arg) { return lchuv.xyz(_hsluv.hpluvToLch(arg)); },
//a shorter way to convert to husl
hsluv: function(arg){
return _hsluv.lchToHsluv( _hsluv.hpluvToLch(arg));
hsluv: function (arg) {
return _hsluv.lchToHsluv(_hsluv.hpluvToLch(arg));
}

@@ -33,2 +33,2 @@ };

lchuv.hpluv = _hsluv.lchToHpluv;
xyz.hpluv = function(arg){return _hsluv.lchToHpluv(xyz.lchuv(arg));};
xyz.hpluv = function (arg) { return _hsluv.lchToHpluv(xyz.lchuv(arg)); };

@@ -11,4 +11,4 @@ /**

name: 'hsi',
min: [0,0,0],
max: [360,100,255],
min: [0, 0, 0],
max: [360, 100, 255],
channel: ['hue', 'saturation', 'intensity'],

@@ -36,18 +36,18 @@ alias: ['HSI']

var r, g, b;
if (h < (2 * pi3) ) {
b = i * ( 1 - s );
r = i * (1 + ( s * Math.cos(h) / Math.cos(pi3 - h) ));
g = i * (1 + ( s * ( 1 - Math.cos(h) / Math.cos(pi3 - h) )));
if (h < (2 * pi3)) {
b = i * (1 - s);
r = i * (1 + (s * Math.cos(h) / Math.cos(pi3 - h)));
g = i * (1 + (s * (1 - Math.cos(h) / Math.cos(pi3 - h))));
}
else if (h < (4 * pi3) ) {
else if (h < (4 * pi3)) {
h = h - 2 * pi3;
r = i * ( 1 - s );
g = i * (1 + ( s * Math.cos(h) / Math.cos(pi3 - h) ));
b = i * (1 + ( s * ( 1 - Math.cos(h) / Math.cos(pi3 - h) )));
r = i * (1 - s);
g = i * (1 + (s * Math.cos(h) / Math.cos(pi3 - h)));
b = i * (1 + (s * (1 - Math.cos(h) / Math.cos(pi3 - h))));
}
else {
h = h - 4 * pi3;
g = i * ( 1 - s );
b = i * (1 + ( s * Math.cos(h) / Math.cos(pi3 - h) ));
r = i * (1 + ( s * ( 1 - Math.cos(h) / Math.cos(pi3 - h) )));
g = i * (1 - s);
b = i * (1 + (s * Math.cos(h) / Math.cos(pi3 - h)));
r = i * (1 + (s * (1 - Math.cos(h) / Math.cos(pi3 - h))));
}

@@ -74,4 +74,4 @@

var h = Math.acos(
( 0.5 * ((r - g) + (r - b)) ) /
Math.sqrt( (r - g)*(r - g) + (r - b)*(g - b) )
(0.5 * ((r - g) + (r - b))) /
Math.sqrt((r - g) * (r - g) + (r - b) * (g - b))
);

@@ -78,0 +78,0 @@ if (b > g) {

@@ -8,9 +8,9 @@ /**

name: 'hsl',
min: [0,0,0],
max: [360,100,100],
min: [0, 0, 0],
max: [360, 100, 100],
channel: ['hue', 'saturation', 'lightness'],
alias: ['HSL'],
rgb: function(hsl) {
var h = hsl[0]/360, s = hsl[1]/100, l = hsl[2]/100, t1, t2, t3, rgb, val, i=0;
rgb: function (hsl) {
var h = hsl[0] / 360, s = hsl[1] / 100, l = hsl[2] / 100, t1, t2, t3, rgb, val, i = 0;

@@ -23,9 +23,9 @@ if (s === 0) return val = l * 255, [val, val, val];

rgb = [0, 0, 0];
for (;i<3;) {
for (; i < 3;) {
t3 = h + 1 / 3 * - (i - 1);
t3 < 0 ? t3++ : t3 > 1 && t3--;
val = 6 * t3 < 1 ? t1 + (t2 - t1) * 6 * t3 :
2 * t3 < 1 ? t2 :
3 * t3 < 2 ? t1 + (t2 - t1) * (2 / 3 - t3) * 6 :
t1;
2 * t3 < 1 ? t2 :
3 * t3 < 2 ? t1 + (t2 - t1) * (2 / 3 - t3) * 6 :
t1;
rgb[i++] = val * 255;

@@ -42,10 +42,10 @@ }

//extend rgb
rgb.hsl = function(rgb) {
var r = rgb[0]/255,
g = rgb[1]/255,
b = rgb[2]/255,
min = Math.min(r, g, b),
max = Math.max(r, g, b),
delta = max - min,
h, s, l;
rgb.hsl = function (rgb) {
var r = rgb[0] / 255,
g = rgb[1] / 255,
b = rgb[2] / 255,
min = Math.min(r, g, b),
max = Math.max(r, g, b),
delta = max - min,
h, s, l;

@@ -62,3 +62,3 @@ if (max === min) {

else if (b === max) {
h = 4 + (r - g)/ delta;
h = 4 + (r - g) / delta;
}

@@ -65,0 +65,0 @@

@@ -15,25 +15,25 @@ /**

// FIXME: update to the latest
function f(a){var c=[],b=Math.pow(a+16,3)/1560896;b=b>g?b:a/k;for(var d=0;3>d;){var e=d++,h=l[e][0],w=l[e][1];e=l[e][2];for(var x=0;2>x;){var y=x++,z=(632260*e-126452*w)*b+126452*y;c.push({b:(284517*h-94839*e)*b/z,a:((838422*e+769860*w+731718*h)*a*b-769860*y*a)/z})}}return c}
function m(a){a=f(a);for(var c=Infinity,b=0;b<a.length;){var d=a[b];++b;c=Math.min(c,Math.abs(d.a)/Math.sqrt(Math.pow(d.b,2)+1))}return c}
function n(a,c){c=c/360*Math.PI*2;a=f(a);for(var b=Infinity,d=0;d<a.length;){var e=a[d];++d;e=e.a/(Math.sin(c)-e.b*Math.cos(c));0<=e&&(b=Math.min(b,e))}return b}
function p(a,c){for(var b=0,d=0,e=a.length;d<e;){var h=d++;b+=a[h]*c[h]}return b}
function q(a){return.0031308>=a?12.92*a:1.055*Math.pow(a,.4166666666666667)-.055}
function r(a){return.04045<a?Math.pow((a+.055)/1.055,2.4):a/12.92}
function t(a){return[q(p(l[0],a)),q(p(l[1],a)),q(p(l[2],a))]}
function u(a){a=[r(a[0]),r(a[1]),r(a[2])];return[p(v[0],a),p(v[1],a),p(v[2],a)]}
function A(a){var c=a[0],b=a[1];a=c+15*b+3*a[2];0!=a?(c=4*c/a,a=9*b/a):a=c=NaN;b=b<=g?b/B*k:116*Math.pow(b/B,.3333333333333333)-16;return 0==b?[0,0,0]:[b,13*b*(c-C),13*b*(a-D)]}
function E(a){var c=a[0];if(0==c)return[0,0,0];var b=a[1]/(13*c)+C;a=a[2]/(13*c)+D;c=8>=c?B*c/k:B*Math.pow((c+16)/116,3);b=0-9*c*b/((b-4)*a-b*a);return[b,c,(9*c-15*a*c-a*b)/(3*a)]}
function F(a){var c=a[0],b=a[1],d=a[2];a=Math.sqrt(b*b+d*d);1E-8>a?b=0:(b=180*Math.atan2(d,b)/Math.PI,0>b&&(b=360+b));return[c,a,b]}
function G(a){var c=a[1],b=a[2]/360*2*Math.PI;return[a[0],Math.cos(b)*c,Math.sin(b)*c]}
function H(a){var c=a[0],b=a[1];a=a[2];if(99.9999999<a)return[100,0,c];if(1E-8>a)return[0,0,c];b=n(a,c)/100*b;return[a,b,c]}
function I(a){var c=a[0],b=a[1];a=a[2];if(99.9999999<c)return[a,0,100];if(1E-8>c)return[a,0,0];var d=n(c,a);return[a,b/d*100,c]}
function J(a){var c=a[0],b=a[1];a=a[2];if(99.9999999<a)return[100,0,c];if(1E-8>a)return[0,0,c];b=m(a)/100*b;return[a,b,c]}
function K(a){var c=a[0],b=a[1];a=a[2];if(99.9999999<c)return[a,0,100];if(1E-8>c)return[a,0,0];var d=m(c);return[a,b/d*100,c]}
function O(a){return t(E(G(a)))}
function P(a){return F(A(u(a)))}
function Q(a){return O(H(a))}
function R(a){return I(P(a))}
function S(a){return O(J(a))}
function T(a){return K(P(a))}
var l=[[3.240969941904521,-1.537383177570093,-.498610760293],[-.96924363628087,1.87596750150772,.041555057407175],[.055630079696993,-.20397695888897,1.056971514242878]],v=[[.41239079926595,.35758433938387,.18048078840183],[.21263900587151,.71516867876775,.072192315360733],[.019330818715591,.11919477979462,.95053215224966]],B=1,C=.19783000664283,D=.46831999493879,k=903.2962962,g=.0088564516,M="0123456789abcdef";
function f(a) { var c = [], b = Math.pow(a + 16, 3) / 1560896; b = b > g ? b : a / k; for (var d = 0; 3 > d;) { var e = d++, h = l[e][0], w = l[e][1]; e = l[e][2]; for (var x = 0; 2 > x;) { var y = x++, z = (632260 * e - 126452 * w) * b + 126452 * y; c.push({ b: (284517 * h - 94839 * e) * b / z, a: ((838422 * e + 769860 * w + 731718 * h) * a * b - 769860 * y * a) / z }) } } return c }
function m(a) { a = f(a); for (var c = Infinity, b = 0; b < a.length;) { var d = a[b]; ++b; c = Math.min(c, Math.abs(d.a) / Math.sqrt(Math.pow(d.b, 2) + 1)) } return c }
function n(a, c) { c = c / 360 * Math.PI * 2; a = f(a); for (var b = Infinity, d = 0; d < a.length;) { var e = a[d]; ++d; e = e.a / (Math.sin(c) - e.b * Math.cos(c)); 0 <= e && (b = Math.min(b, e)) } return b }
function p(a, c) { for (var b = 0, d = 0, e = a.length; d < e;) { var h = d++; b += a[h] * c[h] } return b }
function q(a) { return .0031308 >= a ? 12.92 * a : 1.055 * Math.pow(a, .4166666666666667) - .055 }
function r(a) { return .04045 < a ? Math.pow((a + .055) / 1.055, 2.4) : a / 12.92 }
function t(a) { return [q(p(l[0], a)), q(p(l[1], a)), q(p(l[2], a))] }
function u(a) { a = [r(a[0]), r(a[1]), r(a[2])]; return [p(v[0], a), p(v[1], a), p(v[2], a)] }
function A(a) { var c = a[0], b = a[1]; a = c + 15 * b + 3 * a[2]; 0 != a ? (c = 4 * c / a, a = 9 * b / a) : a = c = NaN; b = b <= g ? b / B * k : 116 * Math.pow(b / B, .3333333333333333) - 16; return 0 == b ? [0, 0, 0] : [b, 13 * b * (c - C), 13 * b * (a - D)] }
function E(a) { var c = a[0]; if (0 == c) return [0, 0, 0]; var b = a[1] / (13 * c) + C; a = a[2] / (13 * c) + D; c = 8 >= c ? B * c / k : B * Math.pow((c + 16) / 116, 3); b = 0 - 9 * c * b / ((b - 4) * a - b * a); return [b, c, (9 * c - 15 * a * c - a * b) / (3 * a)] }
function F(a) { var c = a[0], b = a[1], d = a[2]; a = Math.sqrt(b * b + d * d); 1E-8 > a ? b = 0 : (b = 180 * Math.atan2(d, b) / Math.PI, 0 > b && (b = 360 + b)); return [c, a, b] }
function G(a) { var c = a[1], b = a[2] / 360 * 2 * Math.PI; return [a[0], Math.cos(b) * c, Math.sin(b) * c] }
function H(a) { var c = a[0], b = a[1]; a = a[2]; if (99.9999999 < a) return [100, 0, c]; if (1E-8 > a) return [0, 0, c]; b = n(a, c) / 100 * b; return [a, b, c] }
function I(a) { var c = a[0], b = a[1]; a = a[2]; if (99.9999999 < c) return [a, 0, 100]; if (1E-8 > c) return [a, 0, 0]; var d = n(c, a); return [a, b / d * 100, c] }
function J(a) { var c = a[0], b = a[1]; a = a[2]; if (99.9999999 < a) return [100, 0, c]; if (1E-8 > a) return [0, 0, c]; b = m(a) / 100 * b; return [a, b, c] }
function K(a) { var c = a[0], b = a[1]; a = a[2]; if (99.9999999 < c) return [a, 0, 100]; if (1E-8 > c) return [a, 0, 0]; var d = m(c); return [a, b / d * 100, c] }
function O(a) { return t(E(G(a))) }
function P(a) { return F(A(u(a))) }
function Q(a) { return O(H(a)) }
function R(a) { return I(P(a)) }
function S(a) { return O(J(a)) }
function T(a) { return K(P(a)) }
var l = [[3.240969941904521, -1.537383177570093, -.498610760293], [-.96924363628087, 1.87596750150772, .041555057407175], [.055630079696993, -.20397695888897, 1.056971514242878]], v = [[.41239079926595, .35758433938387, .18048078840183], [.21263900587151, .71516867876775, .072192315360733], [.019330818715591, .11919477979462, .95053215224966]], B = 1, C = .19783000664283, D = .46831999493879, k = 903.2962962, g = .0088564516, M = "0123456789abcdef";

@@ -61,4 +61,4 @@ export const _hsluv = {

name: 'hsluv',
min: [0,0,0],
max: [360,100,100],
min: [0, 0, 0],
max: [360, 100, 100],
channel: ['hue', 'saturation', 'lightness'],

@@ -69,3 +69,3 @@ alias: ['HSLuv', 'HuSL'],

xyz: function(arg){
xyz: function (arg) {
return lchuv.xyz(_hsluv.hsluvToLch(arg));

@@ -75,4 +75,4 @@ },

//a shorter way to convert to hpluv
hpluv: function(arg){
return _hsluv.lchToHpluv( _hsluv.hsluvToLch(arg));
hpluv: function (arg) {
return _hsluv.lchToHpluv(_hsluv.hsluvToLch(arg));
},

@@ -88,3 +88,3 @@

lchuv.hsluv = _hsluv.lchToHsluv;
xyz.hsluv = function(arg){
xyz.hsluv = function (arg) {
return _hsluv.lchToHsluv(xyz.lchuv(arg));

@@ -91,0 +91,0 @@ };

@@ -6,3 +6,3 @@ /**

const Pr = 0.299,
const Pr = 0.299,
Pg = 0.587,

@@ -19,4 +19,4 @@ Pb = 0.114;

rgb: function (hsp) {
var h = hsp[0]/360.0,
s = hsp[1]/100.0,
var h = hsp[0] / 360.0,
s = hsp[1] / 100.0,
p = hsp[2],

@@ -98,3 +98,3 @@ r, g, b, part,

return [Math.round(r), Math.round(g), Math.round(b)];
return [Math.round(r), Math.round(g), Math.round(b)];
}

@@ -156,3 +156,3 @@ };

//@ts-ignore
return [Math.round(h*360.0), s*100.0, Math.round(p)];
return [Math.round(h * 360.0), s * 100.0, Math.round(p)];
};

@@ -10,8 +10,8 @@ /**

name: 'hsv',
min: [0,0,0],
max: [360,100,100],
min: [0, 0, 0],
max: [360, 100, 100],
channel: ['hue', 'saturation', 'value'],
alias: ['HSV', 'HSB'],
rgb: function(hsv) {
rgb: function (hsv) {
var h = hsv[0] / 60,

@@ -28,3 +28,3 @@ s = hsv[1] / 100,

switch(hi) {
switch (hi) {
case 0:

@@ -45,3 +45,3 @@ return [v, t, p];

hsl: function(hsv) {
hsl: function (hsv) {
var h = hsv[0],

@@ -62,7 +62,7 @@ s = hsv[1] / 100,

export default (hsv);
export default (hsv);
//append rgb
rgb.hsv = function(rgb) {
rgb.hsv = function (rgb) {
var r = rgb[0],

@@ -80,3 +80,3 @@ g = rgb[1],

else {
s = (delta/max * 100);
s = (delta / max * 100);
}

@@ -113,7 +113,7 @@

//extend hsl
hsl.hsv = function(hsl) {
hsl.hsv = function (hsl) {
var h = hsl[0],
s = hsl[1] / 100,
l = hsl[2] / 100,
sv, v;
s = hsl[1] / 100,
l = hsl[2] / 100,
sv, v;
l *= 2;

@@ -120,0 +120,0 @@ s *= (l <= 1) ? l : 2 - l;

@@ -35,2 +35,3 @@ /**

import hpluv from './hpluv.js'
import oklab from './oklab.js'
import cubehelix from './cubehelix.js'

@@ -45,2 +46,3 @@ import coloroid from './coloroid.js'

import hsm from './hsm.js'
import lrgb from './lrgb.js'

@@ -62,3 +64,3 @@

*/
export function register (newSpace) {
export function register(newSpace) {
const newSpaceName = newSpace.name;

@@ -81,3 +83,3 @@ for (const existingSpaceName in spaces) {

*/
function createConverter (fromSpace, toSpaceName) {
function createConverter(fromSpace, toSpaceName) {
//create xyz converter, if available

@@ -93,3 +95,3 @@ if (fromSpace.xyz && spaces.xyz[toSpaceName])

return () => {
throw new Error('Conversion not available');
throw new Error(`Conversion ${fromSpace.name} to ${toSpaceName} is not available`);
}

@@ -99,2 +101,2 @@ }

// register all spaces by default
[rgb, xyz, hsl, hsv, hsi, hwb, cmyk, cmy, xyy, yiq, yuv, ydbdr, ycgco, ypbpr, ycbcr, xvycc, yccbccrc, ucs, uvw, jpeg, lab, labh, lms, lchab, luv, lchuv, hsluv, hpluv, cubehelix, coloroid, hcg, hcy, tsl, yes, osaucs, hsp, hsm].map(register)
[rgb, xyz, hsl, hsv, hsi, hwb, cmyk, cmy, xyy, yiq, yuv, ydbdr, ycgco, ypbpr, ycbcr, xvycc, yccbccrc, ucs, uvw, jpeg, lab, labh, lms, lchab, luv, lchuv, hsluv, hpluv, cubehelix, coloroid, hcg, hcy, tsl, yes, osaucs, hsp, hsm, lrgb, oklab].map(register)

@@ -15,3 +15,3 @@ /**

max: [255, 255, 255],
channel: ['Y','Cb','Cr'],
channel: ['Y', 'Cb', 'Cr'],
alias: ['JPEG']

@@ -50,3 +50,3 @@ };

*/
rgb.jpeg = function(arr) {
rgb.jpeg = function (arr) {
var r = arr[0], g = arr[1], b = arr[2];

@@ -56,5 +56,5 @@

0.299 * r + 0.587 * g + 0.114 * b,
128 - 0.168736 * r - 0.331264 * g + 0.5 * b,
128 - 0.168736 * r - 0.331264 * g + 0.5 * b,
128 + 0.5 * r - 0.418688 * g - 0.081312 * b
]
};

@@ -15,38 +15,28 @@ /**

alias: ['LAB', 'cielab'],
}
xyz: function (lab) {
var l = lab[0],
a = lab[1],
b = lab[2],
x, y, z, y2;
lab.xyz = ([l, a, b]) => {
var x, y, z, y2;
if (l <= 8) {
y = (l * 100) / 903.3;
y2 = (7.787 * (y / 100)) + (16 / 116);
} else {
y = 100 * Math.pow((l + 16) / 116, 3);
y2 = Math.pow(y / 100, 1 / 3);
}
if (l <= 8) {
y = (l * 100) / 903.3;
y2 = (7.787 * (y / 100)) + (16 / 116);
} else {
y = 100 * Math.pow((l + 16) / 116, 3);
y2 = Math.pow(y / 100, 1 / 3);
}
//FIXME x is undefined!
//@ts-ignore
x = x / 95.047 <= 0.008856 ? x = (95.047 * ((a / 500) + y2 - (16 / 116))) / 7.787 : 95.047 * Math.pow((a / 500) + y2, 3);
x = x / 95.047 <= 0.008856 ? x = (95.047 * ((a / 500) + y2 - (16 / 116))) / 7.787 : 95.047 * Math.pow((a / 500) + y2, 3);
//FIXME z is undefined!
//@ts-ignore
z = z / 108.883 <= 0.008859 ? z = (108.883 * (y2 - (b / 200) - (16 / 116))) / 7.787 : 108.883 * Math.pow(y2 - (b / 200), 3);
z = z / 108.883 <= 0.008859 ? z = (108.883 * (y2 - (b / 200) - (16 / 116))) / 7.787 : 108.883 * Math.pow(y2 - (b / 200), 3);
return [x, y, z];
}
};
return [x, y, z];
}
export default (lab);
//extend xyz
xyz.lab = function (xyz) {
var x = xyz[0],
y = xyz[1],
z = xyz[2],
l, a, b;
xyz.lab = ([x, y, z]) => {
var l, a, b;

@@ -53,0 +43,0 @@ x /= 95.047;

@@ -13,16 +13,16 @@ /**

name: 'lchab',
min: [0,0,0],
max: [100,100,360],
min: [0, 0, 0],
max: [100, 100, 360],
channel: ['lightness', 'chroma', 'hue'],
alias: ['LCHab', 'cielch', 'LCH', 'HLC', 'LSH'],
xyz: function(arg) {
xyz: function (arg) {
return lab.xyz(lchab.lab(arg));
},
lab: function(lch) {
lab: function (lch) {
var l = lch[0],
c = lch[1],
h = lch[2],
a, b, hr;
c = lch[1],
h = lch[2],
a, b, hr;

@@ -38,7 +38,7 @@ hr = h / 360 * 2 * Math.PI;

//extend lab
lab.lchab = function(lab) {
lab.lchab = function (lab) {
var l = lab[0],
a = lab[1],
b = lab[2],
hr, h, c;
a = lab[1],
b = lab[2],
hr, h, c;

@@ -54,3 +54,3 @@ hr = Math.atan2(b, a);

xyz.lchab = function(arg){
xyz.lchab = function (arg) {
return lab.lchab(xyz.lab(arg));

@@ -57,0 +57,0 @@ };

@@ -17,4 +17,4 @@ /**

name: 'lms',
min: [0,0,0],
max: [100,100,100],
min: [0, 0, 0],
max: [100, 100, 100],
channel: ['long', 'medium', 'short'],

@@ -26,24 +26,24 @@

HPE: [
0.38971, 0.68898,-0.07868,
-0.22981, 1.18340, 0.04641,
0.38971, 0.68898, -0.07868,
-0.22981, 1.18340, 0.04641,
0.00000, 0.00000, 1.00000],
VONKRIES: [
0.4002, 0.7076, -0.0808,
-0.2263, 1.1653, 0.0457,
0.00000,0.00000, 0.9182],
-0.2263, 1.1653, 0.0457,
0.00000, 0.00000, 0.9182],
BFD: [
0.8951, 0.2664,-0.1614,
-0.7502, 1.7135, 0.0367,
0.0389,-0.0686, 1.0296],
0.8951, 0.2664, -0.1614,
-0.7502, 1.7135, 0.0367,
0.0389, -0.0686, 1.0296],
CAT97: [
0.8562, 0.3372,-0.1934,
-0.8360, 1.8327, 0.0033,
0.0357,-0.00469,1.0112],
0.8562, 0.3372, -0.1934,
-0.8360, 1.8327, 0.0033,
0.0357, -0.00469, 1.0112],
CAT00: [
0.7982, 0.3389,-0.1371,
-0.5918, 1.5512, 0.0406,
0.7982, 0.3389, -0.1371,
-0.5918, 1.5512, 0.0406,
0.0008, 0.0239, 0.9753],
CAT02: [
0.7328, 0.4296,-0.1624,
-0.7036, 1.6975, 0.0061,
0.7328, 0.4296, -0.1624,
-0.7036, 1.6975, 0.0061,
0.0030, 0.0136, 0.9834]

@@ -55,3 +55,3 @@ }

lms.xyz = function(arg, matrix){
lms.xyz = function (arg, matrix) {
var l = arg[0], m = arg[1], s = arg[2];

@@ -74,14 +74,14 @@

xyz.lms = function(arg, matrix) {
var x = arg[0], y = arg[1], z = arg[2];
xyz.lms = function (arg, matrix) {
var x = arg[0], y = arg[1], z = arg[2];
if (!matrix) {
matrix = lms.matrix.CAT02
}
if (!matrix) {
matrix = lms.matrix.CAT02
}
return [
x * matrix[0] + y * matrix[1] + z * matrix[2],
x * matrix[3] + y * matrix[4] + z * matrix[5],
x * matrix[6] + y * matrix[7] + z * matrix[8]
];
return [
x * matrix[0] + y * matrix[1] + z * matrix[2],
x * matrix[3] + y * matrix[4] + z * matrix[5],
x * matrix[6] + y * matrix[7] + z * matrix[8]
];
};

@@ -20,8 +20,8 @@ /**

var a,t,v;
var a, t, v;
//coloroid chroma / munsell chroma
t = kav * Math.pow(c, 2/3);
t = kav * Math.pow(c, 2 / 3);
v = 10 * Math.sqrt(1.2219*vm - 0.23111*vm*vm + 0.23951*vm*vm*vm - 0.021009*vm*vm*vm*vm + 0.0008404*vm*vm*vm*vm*vm);
v = 10 * Math.sqrt(1.2219 * vm - 0.23111 * vm * vm + 0.23951 * vm * vm * vm - 0.021009 * vm * vm * vm * vm + 0.0008404 * vm * vm * vm * vm * vm);
};

@@ -28,0 +28,0 @@

@@ -46,23 +46,23 @@ /**

//FIXME: there might be a typo, wiki states 1.8103 as a constant value
var K = 4.4934*x*x + 4.3034*y*y - 4.276*x*y - 1.3744*x - 2.56439*y + 1.8103;
var Y0 = K*Y;
var K = 4.4934 * x * x + 4.3034 * y * y - 4.276 * x * y - 1.3744 * x - 2.56439 * y + 1.8103;
var Y0 = K * Y;
var L_ = 5.9*(Math.pow(Y0, 1/3) - 2/3 + 0.042*Math.pow(Math.max(Y0, 30) - 30, 1/3));
var L_ = 5.9 * (Math.pow(Y0, 1 / 3) - 2 / 3 + 0.042 * Math.pow(Math.max(Y0, 30) - 30, 1 / 3));
var L = (L_ - 14.3993) / Math.sqrt(2);
var C = L_ / (5.9 * (Math.pow(Y0, 1/3) - 2/3));
var C = L_ / (5.9 * (Math.pow(Y0, 1 / 3) - 2 / 3));
var R = 0.7790*X + 0.4194*Y - 0.1648*Z;
var G = -0.4493*X + 1.3265*Y + 0.0927*Z;
var B = -0.1149*X + 0.3394*Y + 0.7170*Z;
var R = 0.7790 * X + 0.4194 * Y - 0.1648 * Z;
var G = -0.4493 * X + 1.3265 * Y + 0.0927 * Z;
var B = -0.1149 * X + 0.3394 * Y + 0.7170 * Z;
R = Math.pow(R, 1/3) || 0;
G = Math.pow(G, 1/3) || 0;
B = Math.pow(B, 1/3) || 0;
R = Math.pow(R, 1 / 3) || 0;
G = Math.pow(G, 1 / 3) || 0;
B = Math.pow(B, 1 / 3) || 0;
var a = -13.7*R + 17.7*G - 4*B;
var b = 1.7*R + 8*G - 9.7*B;
var a = -13.7 * R + 17.7 * G - 4 * B;
var b = 1.7 * R + 8 * G - 9.7 * B;
var g = C*a;
var j = C*b;
var g = C * a;
var j = C * b;

@@ -69,0 +69,0 @@ //polar form

{
"name": "color-space",
"description": "Collection of color space conversions",
"version": "2.3.0",
"version": "2.3.1",
"author": "Dmitry Ivanov <df.creative@gmail.com>",

@@ -10,22 +10,49 @@ "type": "module",

"colour",
"color-space",
"gamut",
"color-convert",
"color-conversion",
"color-conversions",
"color-translation",
"color-math",
"color-data",
"rgb",
"xyz",
"hsl",
"hsv",
"hsi",
"hwb",
"cmyk",
"cmy",
"xyy",
"yiq",
"yuv",
"ydbdr",
"ycgco",
"ypbpr",
"ycbcr",
"xvycc",
"yccbccrc",
"ucs",
"uvw",
"jpeg",
"lab",
"labh",
"lms",
"lchab",
"luv",
"lch",
"cie",
"lchuv",
"hsluv",
"husl",
"color-convert",
"gamut",
"color-conversions",
"color-space",
"color-translation",
"color-data",
"hpluv",
"cubehelix",
"coloroid",
"cubehelix",
"munsell",
"hcg",
"hsp"
"hcy",
"tsl",
"yes",
"osaucs",
"hsp",
"hsm",
"lrgb",
"oklab"
],

@@ -178,6 +205,6 @@ "repository": {

],
"rgb.js": [
"rgb": [
"./types/rgb.d.ts"
],
"rgb.js.js": [
"rgb.js": [
"./types/rgb.d.ts"

@@ -272,7 +299,8 @@ ],

"devDependencies": {
"color-name": "^2.0.0",
"esbuild": "^0.24.2",
"tst": "^8.0.1"
"tst": "^8.0.2"
},
"scripts": {
"test": "uvu test",
"test": "node test",
"build": "esbuild ./index.js --bundle --format=esm --outfile=dist/color-space.js",

@@ -279,0 +307,0 @@ "min": "esbuild ./dist/color-space.js --minify --outfile=dist/color-space.min.js",

@@ -5,3 +5,3 @@ # Color-space [![test](https://github.com/colorjs/color-space/actions/workflows/test.yml/badge.svg)](https://github.com/colorjs/color-space/actions/workflows/test.yml) [![stable](https://img.shields.io/badge/stability-stable-brightgreen.svg)](http://github.com/badges/stability-badges) [![npm](https://img.shields.io/npm/v/color-space)](https://npmjs.org/color-space) [![size](https://img.shields.io/bundlephobia/minzip/color-space/latest)](https://bundlephobia.com/package/color-space)

Collection of color spaces conversions & data.
Open collection of color spaces.

@@ -27,3 +27,3 @@ [Demo](http://colorjs.github.io/color-space).

//convert rgb to hsl
rgb.hsl([200,230,100]);
rgb.hsl([200, 230, 100]);
```

@@ -43,6 +43,5 @@ <!--

<space>.name //space name
<space>.channel //channel names
<space>.min //channel minimums
<space>.max //channel maximums
<space>.channel //channel names
<space>.alias //alias space names
```

@@ -52,4 +51,5 @@

* [x] [RGB](https://en.wikipedia.org/wiki/CIE_1931_color_space#CIE_RGB_colour_space) — additive color model based on red, green and blue primary colors.
* [x] [HSL](https://en.wikipedia.org/wiki/HSL_and_HSV) — cylindrical-coordinates representation of RGB.
* [x] [RGB](https://en.wikipedia.org/wiki/CIE_1931_color_space#CIE_RGB_colour_space) — sRGB
* [x] [LRGB](https://en.wikipedia.org/wiki/SRGB#Transfer_function_("gamma")) – linear light sRGB
* [x] [HSL](https://en.wikipedia.org/wiki/HSL_and_HSV) — cylindrical-coordinates sRGB
* [x] [HSV, HSB](https://en.wikipedia.org/wiki/HSL_and_HSV)

@@ -68,3 +68,3 @@ * [x] [HWB](http://dev.w3.org/csswg/css-color/#the-hwb-notation)

* [x] [HPL<sub>uv</sub>](http://www.hsluv.org/)
* [x] [LAB<sub>Hunter</sub>](http://en.wikipedia.org/wiki/Lab_color_space#Hunter_Lab)
* [x] [LAB<sub>H</sub>](http://en.wikipedia.org/wiki/Lab_color_space#Hunter_Lab)
* [x] [YUV](https://en.wikipedia.org/?title=YUV)

@@ -81,2 +81,3 @@ * [x] [YIQ](https://en.wikipedia.org/?title=YIQ)

* [x] [UVW](https://en.wikipedia.org/wiki/CIE_1964_color_space)
* [x] [OKLAB](https://bottosson.github.io/posts/oklab/)
* [ ] [Munsell](https://en.wikipedia.org/wiki/Munsell_color_system)

@@ -107,19 +108,21 @@ * [ ] [NCS](https://en.wikipedia.org/wiki/Natural_Color_System)

* [ ] [CIE DSH](https://en.wikipedia.org/wiki/Rg_chromaticity)
* [x] [HSM](http://seer.ufrgs.br/rita/article/viewFile/rita_v16_n2_p141/7428) (fixed)
* [x] [HSM](http://seer.ufrgs.br/rita/article/viewFile/rita_v16_n2_p141/7428)
## Contribute
Please fork, add color space with basic _conversions_ to/from XYZ or RGB and _tests_.
The goal of the project is the most complete set of color spaces with minimal uniform API.
## Purpose
A complete collection of color spaces with minimal consistent and clean API, verified formulas and cases.
While alternatives focus on digital color spaces, this project takes broader perspective, including historical / multidisciplinary spaces.
A side effect is verifying and correcting papers.
## Credits
Thanks to all scientists, who devoted their time to color research and conveyed their knowledge, for now we can use their formulas and code.
Thanks to all who contribute to color science – researchers, scientists, color theorists, specifiers, implementors, developers, and users.
## Similar
[culori](https://github.com/Evercoder/culori), [colorjs.io](https://colorjs.io/docs/procedural), [color-api](https://github.com/LeaVerou/color-api), [texel/color](https://github.com/texel-org/color?tab=readme-ov-file),
<!--
## See also
* [texel/color](https://github.com/texel-org/color?tab=readme-ov-file)
* [colorjs.io](https://colorjs.io/docs/procedural)
* [color-convert](https://github.com/harthur/color-convert)

@@ -129,4 +132,4 @@ * [chromatist](https://github.com/jrus/chromatist)

* [colorspaces.js](https://github.com/boronine/colorspaces.js)
* [color-api](https://github.com/LeaVerou/color-api) - color API proposal by Lea Verou
-->
<p align="center"><a href="https://github.com/krsnzd/license/">🕉</a></p>

@@ -13,5 +13,5 @@ /**

name: 'tsl',
min: [0,0,0],
min: [0, 0, 0],
max: [1, 1, 1],
channel: ['tint','saturation','lightness'],
channel: ['tint', 'saturation', 'lightness'],
alias: ['TSL'],

@@ -29,3 +29,3 @@ };

*/
tsl.rgb = function(tsl) {
tsl.rgb = function (tsl) {
var T = tsl[0],

@@ -48,7 +48,7 @@ S = tsl[1],

var x = Math.tan(2 * Math.PI * (T - 1/4));
var x = Math.tan(2 * Math.PI * (T - 1 / 4));
x *= x;
var r = Math.sqrt(5 * S*S / (9 * (1/x + 1))) + 1/3;
var g = Math.sqrt(5 * S*S / (9 * (x + 1))) + 1/3;
var r = Math.sqrt(5 * S * S / (9 * (1 / x + 1))) + 1 / 3;
var g = Math.sqrt(5 * S * S / (9 * (x + 1))) + 1 / 3;

@@ -74,12 +74,12 @@ var k = L / (.185 * r + .473 * g + .114);

*/
rgb.tsl = function(rgb) {
rgb.tsl = function (rgb) {
var [r, g, b] = rgb;
var r_ = (r / (r + g + b) || 0) - 1/3,
g_ = (g / (r + g + b) || 0) - 1/3,
T = g_ != 0 ? 0.5 - Math.atan2(g_, r_) / 2 / Math.PI : 0,
S = Math.sqrt(9/5 * (r_*r_ + g_*g_)),
L = ((r * 0.299) + (g * 0.587) + (b * 0.114)) / 255;
var r_ = (r / (r + g + b) || 0) - 1 / 3,
g_ = (g / (r + g + b) || 0) - 1 / 3,
T = g_ != 0 ? 0.5 - Math.atan2(g_, r_) / 2 / Math.PI : 0,
S = Math.sqrt(9 / 5 * (r_ * r_ + g_ * g_)),
L = ((r * 0.299) + (g * 0.587) + (b * 0.114)) / 255;
return [T, S, L];
};

@@ -20,5 +20,7 @@ import cmy from './cmy';

import lms from './lms';
import lrgb from './lrgb';
import luv from './luv';
import munsell from './munsell';
import osaucs from './osaucs';
import oklab from './oklab';
import rgb from './rgb';

@@ -61,4 +63,6 @@ import tsl from './tsl';

luv: typeof luv;
lrgb: typeof lrgb;
munsell: typeof munsell;
osaucs: typeof osaucs;
oklab: typeof oklab;
rgb: typeof rgb;

@@ -116,4 +120,6 @@ tsl: typeof tsl;

declare module './luv' { interface LuvSpace extends Transforms {}}
declare module './lrgb' { interface LrgbSpace extends Transforms {}}
declare module './munsell' { interface MunsellSpace extends Transforms {}}
declare module './osaucs' { interface OsaucsSpace extends Transforms {}}
declare module './oklab' { interface OklabSpace extends Transforms {}}
declare module './rgb' { interface RgbSpace extends Transforms {}}

@@ -120,0 +126,0 @@ declare module './tsl' { interface TslSpace extends Transforms {}}

@@ -12,5 +12,5 @@ /**

name: 'ucs',
min: [0,0,0],
min: [0, 0, 0],
max: [100, 100, 100],
channel: ['U','V','W'],
channel: ['U', 'V', 'W'],
alias: ['UCS', 'cie1960']

@@ -28,3 +28,3 @@ };

*/
ucs.xyz = function(ucs) {
ucs.xyz = function (ucs) {
var u = ucs[0],

@@ -49,3 +49,3 @@ v = ucs[1],

*/
xyz.ucs = function(xyz) {
xyz.ucs = function (xyz) {
var x = xyz[0],

@@ -56,6 +56,6 @@ y = xyz[1],

return [
x * 2/3,
x * 2 / 3,
y,
0.5 * (-x + 3*y + z)
0.5 * (-x + 3 * y + z)
];
};

@@ -15,3 +15,3 @@ /**

max: [224, 122, 100],
channel: ['U','V','W'],
channel: ['U', 'V', 'W'],
alias: ['UVW', 'cieuvw', 'cie1964']

@@ -29,3 +29,3 @@ };

if (w === 0) return [0,0,0];
if (w === 0) return [0, 0, 0];

@@ -78,3 +78,3 @@ //get illuminant/observer

//calc values
var w = 25 * Math.pow(y, 1/3) - 17;
var w = 25 * Math.pow(y, 1 / 3) - 17;
var u = 13 * w * (_u - un);

@@ -95,3 +95,3 @@ var v = 13 * w * (_v - vn);

*/
uvw.ucs = function(uvw) {
uvw.ucs = function (uvw) {
//find chromacity variables

@@ -109,3 +109,3 @@ throw new Error('Not implemented');

*/
ucs.uvw = function(ucs) {
ucs.uvw = function (ucs) {
// //find chromacity variables

@@ -112,0 +112,0 @@ // var u = U / (U + V + W);

@@ -25,3 +25,3 @@ /**

max: [255, 255, 255],
channel: ['Y','Cb','Cr'],
channel: ['Y', 'Cb', 'Cr'],
alias: ['xvYCC'],

@@ -84,4 +84,4 @@ /**

*/
rgb.xvycc = function(arr, kb, kr) {
rgb.xvycc = function (arr, kb, kr) {
return ypbpr.xvycc(rgb.ypbpr(arr, kb, kr));
};

@@ -10,9 +10,9 @@ /**

name: 'xyy',
min: [0,0,0],
max: [1,1,100],
channel: ['x','y','Y'],
min: [0, 0, 0],
max: [1, 1, 100],
channel: ['x', 'y', 'Y'],
alias: ['xyY', 'Yxy', 'yxy']
};
xyy.xyz = function(arg) {
xyy.xyz = function (arg) {
var X, Y, Z, x, y;

@@ -28,3 +28,3 @@ x = arg[0]; y = arg[1]; Y = arg[2];

xyz.xyy = function(arg) {
xyz.xyy = function (arg) {
var sum, X, Y, Z;

@@ -31,0 +31,0 @@ X = arg[0]; Y = arg[1]; Z = arg[2];

@@ -117,3 +117,3 @@ /**

*/
rgb.xyz = function(rgb, white) {
rgb.xyz = function (rgb, white) {
var r = rgb[0] / 255,

@@ -120,0 +120,0 @@ g = rgb[1] / 255,

@@ -16,3 +16,3 @@ /**

max: [235, 240, 240],
channel: ['Y','Cb','Cr'],
channel: ['Y', 'Cb', 'Cr'],
alias: ['YCbCr', 'YCC'],

@@ -75,3 +75,3 @@ /**

*/
rgb.ycbcr = function(arr, kb, kr) {
rgb.ycbcr = function (arr, kb, kr) {
return ypbpr.ycbcr(rgb.ypbpr(arr, kb, kr));

@@ -78,0 +78,0 @@ };

@@ -13,3 +13,3 @@ /**

max: [1, 0.5, 0.5],
channel: ['Yc','Cbc','Crc'],
channel: ['Yc', 'Cbc', 'Crc'],
alias: ['YcCbcCrc']

@@ -26,3 +26,3 @@ };

*/
yccbccrc.rgb = function(yccbccrc) {
yccbccrc.rgb = function (yccbccrc) {
return ypbpr.rgb(yccbccrc, 0.0593, 0.2627);

@@ -39,3 +39,3 @@ };

*/
rgb.yccbccrc = function(arr) {
rgb.yccbccrc = function (arr) {
return rgb.ypbpr(arr, 0.0593, 0.2627);

@@ -42,0 +42,0 @@ };

@@ -13,3 +13,3 @@ /**

max: [1, 0.5, 0.5],
channel: ['Y','Cg','Co'],
channel: ['Y', 'Cg', 'Co'],
alias: ['YCgCo']

@@ -33,5 +33,5 @@ };

return [
(tmp + co)*255,
(y + cg)*255,
(tmp - co)*255
(tmp + co) * 255,
(y + cg) * 255,
(tmp - co) * 255
];

@@ -49,9 +49,9 @@ };

*/
rgb.ycgco = function(arr) {
var r = arr[0]/255, g = arr[1]/255, b = arr[2]/255;
rgb.ycgco = function (arr) {
var r = arr[0] / 255, g = arr[1] / 255, b = arr[2] / 255;
return [
0.25*r + 0.5*g + 0.25*b,
-0.25*r + 0.5*g - 0.25*b,
0.5*r - 0.5*b
0.25 * r + 0.5 * g + 0.25 * b,
-0.25 * r + 0.5 * g - 0.25 * b,
0.5 * r - 0.5 * b
];

@@ -58,0 +58,0 @@ };

@@ -13,5 +13,5 @@ /**

name: 'ydbdr',
min: [0,-1.333,-1.333],
min: [0, -1.333, -1.333],
max: [1, 1.333, 1.333],
channel: ['Y','Db','Dr'],
channel: ['Y', 'Db', 'Dr'],
alias: ['YDbDr']

@@ -28,10 +28,10 @@ };

*/
ydbdr.rgb = function(ydbdr) {
ydbdr.rgb = function (ydbdr) {
var y = ydbdr[0], db = ydbdr[1], dr = ydbdr[2];
var r = y + 0.000092303716148*db - 0.525912630661865*dr;
var g = y - 0.129132898890509*db + 0.267899328207599*dr;
var b = y + 0.664679059978955*db - 0.000079202543533*dr;
var r = y + 0.000092303716148 * db - 0.525912630661865 * dr;
var g = y - 0.129132898890509 * db + 0.267899328207599 * dr;
var b = y + 0.664679059978955 * db - 0.000079202543533 * dr;
return [r*255, g*255, b*255];
return [r * 255, g * 255, b * 255];
};

@@ -47,8 +47,8 @@

*/
rgb.ydbdr = function(rgb) {
var r = rgb[0]/255, g = rgb[1]/255, b = rgb[2]/255;
rgb.ydbdr = function (rgb) {
var r = rgb[0] / 255, g = rgb[1] / 255, b = rgb[2] / 255;
return [
0.299*r + 0.587*g + 0.114*b,
-0.450*r - 0.883*g + 1.333*b,
-1.333*r + 1.116*g + 0.217*b
0.299 * r + 0.587 * g + 0.114 * b,
-0.450 * r - 0.883 * g + 1.333 * b,
-1.333 * r + 1.116 * g + 0.217 * b
];

@@ -63,3 +63,3 @@ };

return [
yuv[0], 3.059*yuv[1], -2.169*yuv[2]
yuv[0], 3.059 * yuv[1], -2.169 * yuv[2]
]

@@ -66,0 +66,0 @@ };

@@ -12,8 +12,8 @@ /**

name: 'yes',
min: [0,0,0],
max: [1,1,1],
min: [0, 0, 0],
max: [1, 1, 1],
channel: ['luminance', 'e-factor', 's-factor']
};
yes.rgb = function(arg){
yes.rgb = function (arg) {
var y = arg[0], e = arg[1], s = arg[2];

@@ -31,6 +31,6 @@

return [r*255, g*255, b*255];
return [r * 255, g * 255, b * 255];
};
rgb.yes = function(arg) {
rgb.yes = function (arg) {
var r = arg[0] / 255, g = arg[1] / 255, b = arg[2] / 255;

@@ -37,0 +37,0 @@

@@ -10,9 +10,9 @@ /**

name: 'yiq',
min: [0,-0.5957,-0.5226],
min: [0, -0.5957, -0.5226],
max: [1, 0.5957, 0.5226],
channel: ['Y','I','Q'],
channel: ['Y', 'I', 'Q'],
alias: ['YIQ']
});
yiq.rgb = function(yiq) {
yiq.rgb = function (yiq) {
var y = yiq[0],

@@ -23,3 +23,3 @@ i = yiq[1],

r = (y * 1) + (i * 0.956) + (q * 0.621);
r = (y * 1) + (i * 0.956) + (q * 0.621);
g = (y * 1) + (i * -0.272) + (q * -0.647);

@@ -37,3 +37,3 @@ b = (y * 1) + (i * -1.108) + (q * 1.705);

//extend rgb
rgb.yiq = function(rgb) {
rgb.yiq = function (rgb) {
var r = rgb[0] / 255,

@@ -40,0 +40,0 @@ g = rgb[1] / 255,

@@ -15,5 +15,5 @@ /**

name: 'ypbpr',
min: [0,-0.5,-0.5],
min: [0, -0.5, -0.5],
max: [1, 0.5, 0.5],
channel: ['Y','Pb','Pr'],
channel: ['Y', 'Pb', 'Pr'],
alias: ['YPbPr', 'Y/PB/PR', 'YPRPB', 'PRPBY', 'PBPRY', 'Y/Pb/Pr', 'YPrPb', 'PrPbY', 'PbPrY', 'Y/R-Y/B-Y', 'Y(R-Y)(B-Y)', 'R-Y', 'B-Y']

@@ -31,3 +31,3 @@ });

*/
ypbpr.rgb = function(ypbpr, kb, kr) {
ypbpr.rgb = function (ypbpr, kb, kr) {
var y = ypbpr[0], pb = ypbpr[1], pr = ypbpr[2];

@@ -43,3 +43,3 @@

return [r*255,g*255,b*255];
return [r * 255, g * 255, b * 255];
};

@@ -56,4 +56,4 @@

*/
rgb.ypbpr = function(rgb, kb, kr) {
var r = rgb[0]/255, g = rgb[1]/255, b = rgb[2]/255;
rgb.ypbpr = function (rgb, kb, kr) {
var r = rgb[0] / 255, g = rgb[1] / 255, b = rgb[2] / 255;

@@ -64,3 +64,3 @@ //ITU-R BT.709

var y = kr*r + (1 - kr - kb)*g + kb*b;
var y = kr * r + (1 - kr - kb) * g + kb * b;
var pb = 0.5 * (b - y) / (1 - kb);

@@ -67,0 +67,0 @@ var pr = 0.5 * (r - y) / (1 - kr);

@@ -10,9 +10,9 @@ /**

name: 'yuv',
min: [0,-0.5,-0.5],
min: [0, -0.5, -0.5],
max: [1, 0.5, 0.5],
channel: ['Y','U','V'],
channel: ['Y', 'U', 'V'],
alias: ['YUV', 'EBU'],
});
yuv.rgb = function(yuv) {
yuv.rgb = function (yuv) {
var y = yuv[0],

@@ -23,3 +23,3 @@ u = yuv[1],

r = (y * 1) + (u * 0) + (v * 1.13983);
r = (y * 1) + (u * 0) + (v * 1.13983);
g = (y * 1) + (u * -0.39465) + (v * -0.58060);

@@ -37,3 +37,3 @@ b = (y * 1) + (u * 2.02311) + (v * 0);

//extend rgb
rgb.yuv = function(rgb) {
rgb.yuv = function (rgb) {
var r = rgb[0] / 255,

@@ -40,0 +40,0 @@ g = rgb[1] / 255,

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc