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

@lostelk/nearest-color

Package Overview
Dependencies
Maintainers
1
Versions
30
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@lostelk/nearest-color - npm Package Compare versions

Comparing version 1.0.1-alpha to 1.0.1

dist/index.cjs

29

dist/index.d.ts

@@ -0,4 +1,5 @@

type ColorFormat = string | RGB | HSL | HSV;
interface ColorEntry {
key: string;
[key: string | number | symbol]: any;
key: ColorFormat;
[key: string]: any;
}

@@ -11,5 +12,17 @@ interface RGB {

}
interface HSL {
h: number;
s: number;
l: number;
a?: number;
}
interface HSV {
h: number;
s: number;
v: number;
a?: number;
}
interface NearestColorResult {
key: string;
[key: string | number | symbol]: any;
key: ColorFormat;
[key: string]: any;
distance: number;

@@ -25,9 +38,9 @@ }

* 寻找最接近的颜色
* @param {string | RGB} color - Color to match (supports hex, rgb strings, or RGB objects) 要匹配的颜色(支持 hex、rgb 字符串或 RGB 对象)
* @param {string | RGB | HSL | HSV} color - Color to match (supports strings、HEX、RGB、HSL、HSV) 要匹配的颜色(支持字符串、HEX、RGB、HSL、HSV)
* @returns {NearestColorResult} - The object nearest to the color, containing color key-value pairs and distance information, as well as any other properties 最接近颜色的对象,包含颜色键值对和距离信息以及任意其它的属性
*/
find(color: string | RGB): NearestColorResult;
find(color: ColorFormat): NearestColorResult;
/**
* Create a NearestColor instance from an existing color palette
* 从现有颜色调色板创建 NearestColor 实例
* Create a NearestColor instance using a custom color palette
* 使用自定义颜色调色板创建 NearestColor 实例
* @param {Array<ColorEntry>} availableColors - Array containing key-value pairs of colors 包含颜色键值对的数组

@@ -34,0 +47,0 @@ * @returns {FindNearestColor} - New NearestColor instance 新的 NearestColor 实例

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

!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n(require("tinycolor2")):"function"==typeof define&&define.amd?define(["tinycolor2"],n):(e="undefined"!=typeof globalThis?globalThis:e||self).NearestColor=n(e.tinycolor)}(this,(function(e){"use strict";const n=[{category:"black",key:"#000000",english:["black"],chinese:["黑色","墨黑色"]},{category:"silver",key:"#c0c0c0",english:["silver"],chinese:["银色","银灰色"]},{category:"gray",key:"#808080",english:["gray"],chinese:["灰色","灰暗色"]},{category:"white",key:"#ffffff",english:["white"],chinese:["白色","纯白色"]},{category:"brown",key:"#800000",english:["maroon","brown"],chinese:["栗红色","褐红色","栗色","褐色"]},{category:"red",key:"#ff0000",english:["red","crimson"],chinese:["红色","猩红色","朱红色","深红色"]},{category:"purple",key:"#800080",english:["purple"],chinese:["紫色","深紫色"]},{category:"purple",key:"#ff00ff",english:["fuchsia","magenta"],chinese:["紫红色","洋红色","粉紫色","洋红色"]},{category:"green",key:"#008000",english:["green","lime"],chinese:["绿色","鲜绿色","草绿色"]},{category:"green",key:"#00ff00",english:["lime","green"],chinese:["鲜绿色","绿色","草绿色"]},{category:"green",key:"#808000",english:["olive","green"],chinese:["橄榄色","橄榄绿色","自然橄榄色","绿色"]},{category:"yellow",key:"#ffff00",english:["yellow"],chinese:["黄色","明黄色","金黄色"]},{category:"blue",key:"#000080",english:["navy","blue"],chinese:["深蓝色","海军蓝色","深夜蓝色","蓝色","湛蓝色","宝蓝色"]},{category:"blue",key:"#0000ff",english:["blue"],chinese:["蓝色","湛蓝色","宝蓝色"]},{category:"green",key:"#008080",english:["teal","green"],chinese:["蓝绿色","湖绿色","蓝翠绿色","绿色"]},{category:"blue",key:"#00ffff",english:["aqua","cyan","blue","green"],chinese:["青色","蓝绿色","湖绿色","蓝色","湛蓝色","绿色"]},{category:"blue",key:"#f0f8ff",english:["aliceblue","blue"],chinese:["艾莉丝蓝","淡蓝色","蓝色","湛蓝色","宝蓝色"]},{category:"white",key:"#faebd7",english:["antiquewhite","white"],chinese:["古董白色","米白色","白色"]},{category:"green",key:"#7fffd4",english:["aquamarine","green"],chinese:["碧绿色","绿松石色","绿色"]},{category:"blue",key:"#f0ffff",english:["azure","cyan","blue"],chinese:["天蓝色","湛蓝色","宝蓝色","青色"]},{category:"yellow",key:"#f5f5dc",english:["beige","yellow"],chinese:["米色","米白色","黄色"]},{category:"orange",key:"#ffe4c4",english:["bisque","orange"],chinese:["桔黄色","橙黄色","橙色","黄色"]},{category:"yellow",key:"#ffebcd",english:["blanchedalmond","beige","yellow"],chinese:["杏仁白","淡米色","米白色","黄色"]},{category:"purple",key:"#8a2be2",english:["blueviolet","purple"],chinese:["蓝紫色","紫色","深紫色"]},{category:"brown",key:"#a52a2a",english:["brown"],chinese:["褐色","棕色"]},{category:"brown",key:"#deb887",english:["burlywood","brown"],chinese:["实木色","褐色","棕色"]},{category:"blue",key:"#5f9ea0",english:["cadetblue","blue"],chinese:["军服蓝","湛蓝色","宝蓝色"]},{category:"green",key:"#7fff00",english:["chartreuse","green","yellow"],chinese:["黄绿色","草绿色","绿色","黄色"]},{category:"brown",key:"#d2691e",english:["chocolate","brown"],chinese:["巧克力色","褐色","棕色"]},{category:"orange",key:"#ff7f50",english:["coral","orange"],chinese:["珊瑚色","橙色","桔红色"]},{category:"blue",key:"#6495ed",english:["cornflowerblue","blue"],chinese:["矢车菊蓝色","湛蓝色","宝蓝色","蓝色"]},{category:"yellow",key:"#fff8dc",english:["cornsilk","beige","yellow"],chinese:["米黄色","淡米色","米白色","黄色"]},{category:"red",key:"#dc143c",english:["crimson","red"],chinese:["绯红色","深红色","红色"]},{category:"blue",key:"#00008b",english:["darkblue","blue"],chinese:["深蓝色","湛蓝色","宝蓝色","蓝色"]},{category:"cyan",key:"#008b8b",english:["darkcyan","cyan","blue","green"],chinese:["深青色","青色","蓝色","绿色"]},{category:"yellow",key:"#b8860b",english:["darkgoldenrod","yellow"],chinese:["深金黄色","金黄色","黄色"]},{category:"gray",key:"#a9a9a9",english:["darkgray","grey"],chinese:["深灰色","灰色"]},{category:"green",key:"#006400",english:["darkgreen","green"],chinese:["深绿色","绿色"]},{category:"yellow",key:"#bdb76b",english:["darkkhaki","yellow"],chinese:["深卡其色","卡其色","黄色"]},{category:"purple",key:"#8b008b",english:["darkmagenta","purple"],chinese:["深品红色","品红色","紫色"]},{category:"green",key:"#556b2f",english:["darkolivegreen","olive","green"],chinese:["深橄榄绿色","橄榄绿色","绿色"]},{category:"orange",key:"#ff8c00",english:["darkorange","orange"],chinese:["深橙色","橙色"]},{category:"purple",key:"#9932cc",english:["darkorchid","purple"],chinese:["深兰花紫","兰花紫","紫色"]},{category:"red",key:"#8b0000",english:["darkred","red"],chinese:["深红色","红色"]},{category:"orange",key:"#e9967a",english:["darksalmon","orange"],chinese:["深橙红色","橙红色","橙色"]},{category:"green",key:"#8fbc8f",english:["darkseagreen","green"],chinese:["深海蓝绿色","海蓝绿色","绿色"]},{category:"blue",key:"#483d8b",english:["darkslateblue","blue"],chinese:["深岩蓝色","岩蓝色","蓝色"]},{category:"gray",key:"#2f4f4f",english:["darkslategray","darkslategrey","grey"],chinese:["深岩灰色","岩灰色","灰色"]},{category:"cyan",key:"#00ced1",english:["darkturquoise","cyan","blue","green"],chinese:["深青绿色","青绿色","蓝色","绿色"]},{category:"purple",key:"#9400d3",english:["darkviolet","purple"],chinese:["深紫罗兰色","紫罗兰色","紫色"]},{category:"pink",key:"#ff1493",english:["deeppink","red","pink"],chinese:["深粉红色","粉红色","红色","粉色"]},{category:"blue",key:"#00bfff",english:["deepskyblue","blue"],chinese:["深天蓝色","天蓝色","蓝色"]},{category:"gray",key:"#696969",english:["dimgray","dimgrey","grey"],chinese:["深灰色","灰色"]},{category:"blue",key:"#1e90ff",english:["dodgerblue","blue"],chinese:["道奇蓝色","蓝色"]},{category:"red",key:"#b22222",english:["firebrick","red"],chinese:["火砖红色","红色"]},{category:"white",key:"#fffaf0",english:["floralwhite","white"],chinese:["花卉白色","白色"]},{category:"green",key:"#228b22",english:["forestgreen","green"],chinese:["森林绿色","绿色"]},{category:"gray",key:"#dcdcdc",english:["gainsboro","grey"],chinese:["淡灰色","灰色"]},{category:"white",key:"#f8f8ff",english:["ghostwhite","white"],chinese:["幽灵白色","白色"]},{category:"yellow",key:"#ffd700",english:["gold","yellow"],chinese:["金色","黄色"]},{category:"yellow",key:"#daa520",english:["goldenrod","yellow"],chinese:["金麒麟色","黄色"]},{category:"yellow",key:"#adff2f",english:["greenyellow","yellow"],chinese:["绿黄色","黄色"]},{category:"white",key:"#f0fff0",english:["honeydew","white"],chinese:["蜜露白色","白色"]},{category:"pink",key:"#ff69b4",english:["hotpink","pink"],chinese:["热粉红","粉色"]},{category:"red",key:"#cd5c5c",english:["indianred","red"],chinese:["印度红","红色"]},{category:"purple",key:"#4b0082",english:["indigo","purple"],chinese:["靛青色","紫色"]},{category:"white",key:"#fffff0",english:["ivory","white"],chinese:["象牙白色","白色"]},{category:"yellow",key:"#f0e68c",english:["khaki","yellow"],chinese:["黄褐色","黄色"]},{category:"purple",key:"#e6e6fa",english:["lavender","purple"],chinese:["淡紫色","紫色"]},{category:"red",key:"#fff0f5",english:["lavenderblush","red"],chinese:["淡紫红","红色"]},{category:"green",key:"#7cfc00",english:["lawngreen","green"],chinese:["草坪绿色","绿色"]},{category:"yellow",key:"#fffacd",english:["lemonchiffon","yellow"],chinese:["柠檬雪纺色","黄色"]},{category:"blue",key:"#add8e6",english:["lightblue","blue"],chinese:["淡蓝色","蓝色"]},{category:"pink",key:"#f08080",english:["lightcoral","pink","red"],chinese:["淡珊瑚红色","淡粉红","粉色"]},{category:"blue",key:"#e0ffff",english:["lightcyan","blue"],chinese:["淡青色","蓝色"]},{category:"yellow",key:"#fafad2",english:["lightgoldenrodyellow","yellow"],chinese:["淡金黄色","黄色"]},{category:"gray",key:"#d3d3d3",english:["lightgray","grey"],chinese:["淡灰色","灰色"]},{category:"green",key:"#90ee90",english:["lightgreen","green"],chinese:["淡绿色","绿色"]},{category:"gray",key:"#d3d3d3",english:["lightgrey","grey"],chinese:["淡灰色","灰色"]},{category:"pink",key:"#ffb6c1",english:["lightpink","pink","red"],chinese:["淡粉红色","粉红色","粉色"]},{category:"pink",key:"#ffa07a",english:["lightsalmon","pink","red"],chinese:["淡鲑红色","淡粉红色","粉色"]},{category:"green",key:"#20b2aa",english:["lightseagreen","green"],chinese:["淡海绿色","绿色"]},{category:"blue",key:"#87cefa",english:["lightskyblue","blue"],chinese:["淡天蓝色","蓝色"]},{category:"gray",key:"#778899",english:["lightslategray","grey"],chinese:["淡蓝灰色","灰色"]},{category:"gray",key:"#778899",english:["lightslategrey","grey"],chinese:["淡蓝灰色","灰色"]},{category:"blue",key:"#b0c4de",english:["lightsteelblue","blue"],chinese:["淡钢蓝色","蓝色"]},{category:"yellow",key:"#ffffe0",english:["lightyellow","yellow"],chinese:["淡黄色","黄色"]},{category:"green",key:"#32cd32",english:["limegreen","green"],chinese:["青柠绿色","绿色"]},{category:"white",key:"#faf0e6",english:["linen","white"],chinese:["亚麻色","白色"]},{category:"red",key:"#800000",english:["maroon","red"],chinese:["褐红色","红色"]},{category:"green",key:"#66cdaa",english:["mediumaquamarine","green"],chinese:["中碧绿色","绿色"]},{category:"blue",key:"#0000cd",english:["mediumblue","blue"],chinese:["中蓝色","蓝色"]},{category:"purple",key:"#ba55d3",english:["mediumorchid","purple"],chinese:["中兰花紫色","紫色"]},{category:"purple",key:"#9370db",english:["mediumpurple","purple"],chinese:["中紫色","紫色"]},{category:"green",key:"#3cb371",english:["mediumseagreen","green"],chinese:["中海绿色","绿色"]},{category:"blue",key:"#7b68ee",english:["mediumslateblue","blue"],chinese:["中板岩蓝色","蓝色"]},{category:"green",key:"#00fa9a",english:["mediumspringgreen","green"],chinese:["中春绿色","绿色"]},{category:"blue",key:"#48d1cc",english:["mediumturquoise","blue"],chinese:["中绿宝石色","蓝色"]},{category:"red",key:"#c71585",english:["mediumvioletred","red"],chinese:["中紫罗兰红色","红色"]},{category:"blue",key:"#191970",english:["midnightblue","blue"],chinese:["午夜蓝色","蓝色"]},{category:"white",key:"#f5fffa",english:["mintcream","white"],chinese:["薄荷奶油色","白色"]},{category:"pink",key:"#ffe4e1",english:["mistyrose","pink"],chinese:["薄雾玫瑰色","粉色"]},{category:"orange",key:"#ffe4b5",english:["moccasin","orange"],chinese:["鹿皮色","橙色"]},{category:"orange",key:"#ffdead",english:["navajowhite","orange"],chinese:["纳瓦霍白色","橙色"]},{category:"white",key:"#fdf5e6",english:["oldlace","white"],chinese:["旧蕾丝色","白色"]},{category:"green",key:"#6b8e23",english:["olivedrab","green"],chinese:["橄榄褐色","绿色"]},{category:"orange",key:"#ffa500",english:["orange"],chinese:["橙色"]},{category:"red",key:"#ff4500",english:["orangered","red"],chinese:["橙红色","红色"]},{category:"purple",key:"#da70d6",english:["orchid","purple"],chinese:["兰花紫色","紫色"]},{category:"yellow",key:"#eee8aa",english:["palegoldenrod","yellow"],chinese:["灰秋色","黄色"]},{category:"green",key:"#98fb98",english:["palegreen","green"],chinese:["苍绿色","绿色"]},{category:"blue",key:"#afeeee",english:["paleturquoise","blue"],chinese:["苍宝石色","蓝色"]},{category:"red",key:"#db7093",english:["palevioletred","red"],chinese:["苍紫罗兰红色","红色"]},{category:"yellow",key:"#ffefd5",english:["papayawhip","yellow"],chinese:["番木瓜色","黄色"]},{category:"orange",key:"#ffdab9",english:["peachpuff","orange"],chinese:["桃色","橙色"]},{category:"brown",key:"#cd853f",english:["peru","brown"],chinese:["秘鲁色","棕色"]},{category:"pink",key:"#ffc0cb",english:["pink"],chinese:["粉色","粉红色"]},{category:"purple",key:"#dda0dd",english:["plum","purple"],chinese:["李子色","紫色"]},{category:"blue",key:"#b0e0e6",english:["powderblue","blue"],chinese:["淡蓝色","蓝色"]},{category:"purple",key:"#663399",english:["rebeccapurple","purple"],chinese:["丽贝卡紫色","紫色"]},{category:"brown",key:"#bc8f8f",english:["rosybrown","brown"],chinese:["玫瑰棕色","棕色"]},{category:"blue",key:"#4169e1",english:["royalblue","blue"],chinese:["宝蓝色","蓝色"]},{category:"brown",key:"#8b4513",english:["saddlebrown","brown"],chinese:["马鞍棕色","棕色"]},{category:"red",key:"#fa8072",english:["salmon","red"],chinese:["鲑鱼红色","红色"]},{category:"brown",key:"#f4a460",english:["sandybrown","brown"],chinese:["沙棕色","棕色"]},{category:"green",key:"#2e8b57",english:["seagreen","green"],chinese:["海绿色","绿色"]},{category:"white",key:"#fff5ee",english:["seashell","white"],chinese:["贝壳白色","白色"]},{category:"brown",key:"#a0522d",english:["sienna","brown"],chinese:["黄土赭色","棕色"]},{category:"blue",key:"#87ceeb",english:["skyblue","blue"],chinese:["天蓝色","蓝色"]},{category:"blue",key:"#6a5acd",english:["slateblue","blue"],chinese:["板岩蓝色","蓝色"]},{category:"blue",key:"#708090",english:["slategray","blue"],chinese:["板岩灰色","蓝色"]},{category:"blue",key:"#708090",english:["slategrey","blue"],chinese:["板岩灰色","蓝色"]},{category:"white",key:"#fffafa",english:["snow","white"],chinese:["雪白色","白色"]},{category:"green",key:"#00ff7f",english:["springgreen","green"],chinese:["嫩绿色","绿色"]},{category:"blue",key:"#4682b4",english:["steelblue","blue"],chinese:["钢青色","蓝色"]},{category:"brown",key:"#d2b48c",english:["tan","brown"],chinese:["黄褐色","棕色"]},{category:"purple",key:"#d8bfd8",english:["thistle","purple"],chinese:["蓟色","紫色"]},{category:"red",key:"#ff6347",english:["tomato","red"],chinese:["番茄红色","红色"]},{category:"blue",key:"#40e0d0",english:["turquoise","blue"],chinese:["绿宝石色","蓝色"]},{category:"purple",key:"#ee82ee",english:["violet","purple"],chinese:["紫罗兰色","紫色"]},{category:"brown",key:"#f5deb3",english:["wheat","brown"],chinese:["小麦色","棕色"]},{category:"white",key:"#f5f5f5",english:["whitesmoke","white"],chinese:["烟白色","白色"]},{category:"green",key:"#9acd32",english:["yellowgreen","green"],chinese:["黄绿色","绿色"]}];class r{constructor(e=n){this.colorPaletteMap=new Map,this.colorPalette=e}getColorPaletteMap(n){if(this.colorPaletteMap.has(n))return this.colorPaletteMap.get(n);const r=e(n).toRgb();return this.colorPaletteMap.set(n,r),r}find(n){if(!e(n).isValid())throw new Error(`Invalid color: ${n}`);const r=e(n).toRgb();let i,l=1/0;for(const n of this.colorPalette){const g=n.key;if(!e(g).isValid()){console.warn(`Invalid color key: ${g}`);continue}const{r:c,g:y,b:s}=this.getColorPaletteMap(g),h=Math.pow(r.r-c,2)+Math.pow(r.g-y,2)+Math.pow(r.b-s,2);if(0===h){l=h,i=n;break}h<l&&(l=h,i=n)}if(i)return Object.assign(Object.assign({},i),{distance:Math.sqrt(l)});throw new Error(`No nearest color found for: ${n}`)}static from(e){return new r(e)}concat(e){const n=this.colorPalette.concat(e);return new r(n)}}return r}));
!function(e,r){"object"==typeof exports&&"undefined"!=typeof module?module.exports=r():"function"==typeof define&&define.amd?define(r):(e="undefined"!=typeof globalThis?globalThis:e||self).NearestColor=r()}(this,(function(){"use strict";function e(r){return e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e(r)}var r=/^\s+/,n=/\s+$/;function t(a,i){if(i=i||{},(a=a||"")instanceof t)return a;if(!(this instanceof t))return new t(a,i);var o=function(t){var a={r:0,g:0,b:0},i=1,o=null,s=null,h=null,l=!1,g=!1;"string"==typeof t&&(t=function(e){e=e.replace(r,"").replace(n,"").toLowerCase();var t,a=!1;if(w[e])e=w[e],a=!0;else if("transparent"==e)return{r:0,g:0,b:0,a:0,format:"name"};if(t=N.rgb.exec(e))return{r:t[1],g:t[2],b:t[3]};if(t=N.rgba.exec(e))return{r:t[1],g:t[2],b:t[3],a:t[4]};if(t=N.hsl.exec(e))return{h:t[1],s:t[2],l:t[3]};if(t=N.hsla.exec(e))return{h:t[1],s:t[2],l:t[3],a:t[4]};if(t=N.hsv.exec(e))return{h:t[1],s:t[2],v:t[3]};if(t=N.hsva.exec(e))return{h:t[1],s:t[2],v:t[3],a:t[4]};if(t=N.hex8.exec(e))return{r:A(t[1]),g:A(t[2]),b:A(t[3]),a:F(t[4]),format:a?"name":"hex8"};if(t=N.hex6.exec(e))return{r:A(t[1]),g:A(t[2]),b:A(t[3]),format:a?"name":"hex"};if(t=N.hex4.exec(e))return{r:A(t[1]+""+t[1]),g:A(t[2]+""+t[2]),b:A(t[3]+""+t[3]),a:F(t[4]+""+t[4]),format:a?"name":"hex8"};if(t=N.hex3.exec(e))return{r:A(t[1]+""+t[1]),g:A(t[2]+""+t[2]),b:A(t[3]+""+t[3]),format:a?"name":"hex"};return!1}(t));"object"==e(t)&&(E(t.r)&&E(t.g)&&E(t.b)?(c=t.r,f=t.g,u=t.b,a={r:255*M(c,255),g:255*M(f,255),b:255*M(u,255)},l=!0,g="%"===String(t.r).substr(-1)?"prgb":"rgb"):E(t.h)&&E(t.s)&&E(t.v)?(o=R(t.s),s=R(t.v),a=function(e,r,n){e=6*M(e,360),r=M(r,100),n=M(n,100);var t=Math.floor(e),a=e-t,i=n*(1-r),o=n*(1-a*r),s=n*(1-(1-a)*r),h=t%6,l=[n,o,i,i,s,n][h],g=[s,n,n,o,i,i][h],c=[i,i,s,n,n,o][h];return{r:255*l,g:255*g,b:255*c}}(t.h,o,s),l=!0,g="hsv"):E(t.h)&&E(t.s)&&E(t.l)&&(o=R(t.s),h=R(t.l),a=function(e,r,n){var t,a,i;function o(e,r,n){return n<0&&(n+=1),n>1&&(n-=1),n<1/6?e+6*(r-e)*n:n<.5?r:n<2/3?e+(r-e)*(2/3-n)*6:e}if(e=M(e,360),r=M(r,100),n=M(n,100),0===r)t=a=i=n;else{var s=n<.5?n*(1+r):n+r-n*r,h=2*n-s;t=o(h,s,e+1/3),a=o(h,s,e),i=o(h,s,e-1/3)}return{r:255*t,g:255*a,b:255*i}}(t.h,o,h),l=!0,g="hsl"),t.hasOwnProperty("a")&&(i=t.a));var c,f,u;return i=v(i),{ok:l,format:t.format||g,r:Math.min(255,Math.max(a.r,0)),g:Math.min(255,Math.max(a.g,0)),b:Math.min(255,Math.max(a.b,0)),a:i}}(a);this._originalInput=a,this._r=o.r,this._g=o.g,this._b=o.b,this._a=o.a,this._roundA=Math.round(100*this._a)/100,this._format=i.format||o.format,this._gradientType=i.gradientType,this._r<1&&(this._r=Math.round(this._r)),this._g<1&&(this._g=Math.round(this._g)),this._b<1&&(this._b=Math.round(this._b)),this._ok=o.ok}function a(e,r,n){e=M(e,255),r=M(r,255),n=M(n,255);var t,a,i=Math.max(e,r,n),o=Math.min(e,r,n),s=(i+o)/2;if(i==o)t=a=0;else{var h=i-o;switch(a=s>.5?h/(2-i-o):h/(i+o),i){case e:t=(r-n)/h+(r<n?6:0);break;case r:t=(n-e)/h+2;break;case n:t=(e-r)/h+4}t/=6}return{h:t,s:a,l:s}}function i(e,r,n){e=M(e,255),r=M(r,255),n=M(n,255);var t,a,i=Math.max(e,r,n),o=Math.min(e,r,n),s=i,h=i-o;if(a=0===i?0:h/i,i==o)t=0;else{switch(i){case e:t=(r-n)/h+(r<n?6:0);break;case r:t=(n-e)/h+2;break;case n:t=(e-r)/h+4}t/=6}return{h:t,s:a,v:s}}function o(e,r,n,t){var a=[S(Math.round(e).toString(16)),S(Math.round(r).toString(16)),S(Math.round(n).toString(16))];return t&&a[0].charAt(0)==a[0].charAt(1)&&a[1].charAt(0)==a[1].charAt(1)&&a[2].charAt(0)==a[2].charAt(1)?a[0].charAt(0)+a[1].charAt(0)+a[2].charAt(0):a.join("")}function s(e,r,n,t){return[S(H(t)),S(Math.round(e).toString(16)),S(Math.round(r).toString(16)),S(Math.round(n).toString(16))].join("")}function h(e,r){r=0===r?0:r||10;var n=t(e).toHsl();return n.s-=r/100,n.s=x(n.s),t(n)}function l(e,r){r=0===r?0:r||10;var n=t(e).toHsl();return n.s+=r/100,n.s=x(n.s),t(n)}function g(e){return t(e).desaturate(100)}function c(e,r){r=0===r?0:r||10;var n=t(e).toHsl();return n.l+=r/100,n.l=x(n.l),t(n)}function f(e,r){r=0===r?0:r||10;var n=t(e).toRgb();return n.r=Math.max(0,Math.min(255,n.r-Math.round(-r/100*255))),n.g=Math.max(0,Math.min(255,n.g-Math.round(-r/100*255))),n.b=Math.max(0,Math.min(255,n.b-Math.round(-r/100*255))),t(n)}function u(e,r){r=0===r?0:r||10;var n=t(e).toHsl();return n.l-=r/100,n.l=x(n.l),t(n)}function y(e,r){var n=t(e).toHsl(),a=(n.h+r)%360;return n.h=a<0?360+a:a,t(n)}function d(e){var r=t(e).toHsl();return r.h=(r.h+180)%360,t(r)}function b(e,r){if(isNaN(r)||r<=0)throw new Error("Argument to polyad must be a positive number");for(var n=t(e).toHsl(),a=[t(e)],i=360/r,o=1;o<r;o++)a.push(t({h:(n.h+o*i)%360,s:n.s,l:n.l}));return a}function k(e){var r=t(e).toHsl(),n=r.h;return[t(e),t({h:(n+72)%360,s:r.s,l:r.l}),t({h:(n+216)%360,s:r.s,l:r.l})]}function p(e,r,n){r=r||6,n=n||30;var a=t(e).toHsl(),i=360/n,o=[t(e)];for(a.h=(a.h-(i*r>>1)+720)%360;--r;)a.h=(a.h+i)%360,o.push(t(a));return o}function m(e,r){r=r||6;for(var n=t(e).toHsv(),a=n.h,i=n.s,o=n.v,s=[],h=1/r;r--;)s.push(t({h:a,s:i,v:o})),o=(o+h)%1;return s}t.prototype={isDark:function(){return this.getBrightness()<128},isLight:function(){return!this.isDark()},isValid:function(){return this._ok},getOriginalInput:function(){return this._originalInput},getFormat:function(){return this._format},getAlpha:function(){return this._a},getBrightness:function(){var e=this.toRgb();return(299*e.r+587*e.g+114*e.b)/1e3},getLuminance:function(){var e,r,n,t=this.toRgb();return e=t.r/255,r=t.g/255,n=t.b/255,.2126*(e<=.03928?e/12.92:Math.pow((e+.055)/1.055,2.4))+.7152*(r<=.03928?r/12.92:Math.pow((r+.055)/1.055,2.4))+.0722*(n<=.03928?n/12.92:Math.pow((n+.055)/1.055,2.4))},setAlpha:function(e){return this._a=v(e),this._roundA=Math.round(100*this._a)/100,this},toHsv:function(){var e=i(this._r,this._g,this._b);return{h:360*e.h,s:e.s,v:e.v,a:this._a}},toHsvString:function(){var e=i(this._r,this._g,this._b),r=Math.round(360*e.h),n=Math.round(100*e.s),t=Math.round(100*e.v);return 1==this._a?"hsv("+r+", "+n+"%, "+t+"%)":"hsva("+r+", "+n+"%, "+t+"%, "+this._roundA+")"},toHsl:function(){var e=a(this._r,this._g,this._b);return{h:360*e.h,s:e.s,l:e.l,a:this._a}},toHslString:function(){var e=a(this._r,this._g,this._b),r=Math.round(360*e.h),n=Math.round(100*e.s),t=Math.round(100*e.l);return 1==this._a?"hsl("+r+", "+n+"%, "+t+"%)":"hsla("+r+", "+n+"%, "+t+"%, "+this._roundA+")"},toHex:function(e){return o(this._r,this._g,this._b,e)},toHexString:function(e){return"#"+this.toHex(e)},toHex8:function(e){return function(e,r,n,t,a){var i=[S(Math.round(e).toString(16)),S(Math.round(r).toString(16)),S(Math.round(n).toString(16)),S(H(t))];if(a&&i[0].charAt(0)==i[0].charAt(1)&&i[1].charAt(0)==i[1].charAt(1)&&i[2].charAt(0)==i[2].charAt(1)&&i[3].charAt(0)==i[3].charAt(1))return i[0].charAt(0)+i[1].charAt(0)+i[2].charAt(0)+i[3].charAt(0);return i.join("")}(this._r,this._g,this._b,this._a,e)},toHex8String:function(e){return"#"+this.toHex8(e)},toRgb:function(){return{r:Math.round(this._r),g:Math.round(this._g),b:Math.round(this._b),a:this._a}},toRgbString:function(){return 1==this._a?"rgb("+Math.round(this._r)+", "+Math.round(this._g)+", "+Math.round(this._b)+")":"rgba("+Math.round(this._r)+", "+Math.round(this._g)+", "+Math.round(this._b)+", "+this._roundA+")"},toPercentageRgb:function(){return{r:Math.round(100*M(this._r,255))+"%",g:Math.round(100*M(this._g,255))+"%",b:Math.round(100*M(this._b,255))+"%",a:this._a}},toPercentageRgbString:function(){return 1==this._a?"rgb("+Math.round(100*M(this._r,255))+"%, "+Math.round(100*M(this._g,255))+"%, "+Math.round(100*M(this._b,255))+"%)":"rgba("+Math.round(100*M(this._r,255))+"%, "+Math.round(100*M(this._g,255))+"%, "+Math.round(100*M(this._b,255))+"%, "+this._roundA+")"},toName:function(){return 0===this._a?"transparent":!(this._a<1)&&(_[o(this._r,this._g,this._b,!0)]||!1)},toFilter:function(e){var r="#"+s(this._r,this._g,this._b,this._a),n=r,a=this._gradientType?"GradientType = 1, ":"";if(e){var i=t(e);n="#"+s(i._r,i._g,i._b,i._a)}return"progid:DXImageTransform.Microsoft.gradient("+a+"startColorstr="+r+",endColorstr="+n+")"},toString:function(e){var r=!!e;e=e||this._format;var n=!1,t=this._a<1&&this._a>=0;return r||!t||"hex"!==e&&"hex6"!==e&&"hex3"!==e&&"hex4"!==e&&"hex8"!==e&&"name"!==e?("rgb"===e&&(n=this.toRgbString()),"prgb"===e&&(n=this.toPercentageRgbString()),"hex"!==e&&"hex6"!==e||(n=this.toHexString()),"hex3"===e&&(n=this.toHexString(!0)),"hex4"===e&&(n=this.toHex8String(!0)),"hex8"===e&&(n=this.toHex8String()),"name"===e&&(n=this.toName()),"hsl"===e&&(n=this.toHslString()),"hsv"===e&&(n=this.toHsvString()),n||this.toHexString()):"name"===e&&0===this._a?this.toName():this.toRgbString()},clone:function(){return t(this.toString())},_applyModification:function(e,r){var n=e.apply(null,[this].concat([].slice.call(r)));return this._r=n._r,this._g=n._g,this._b=n._b,this.setAlpha(n._a),this},lighten:function(){return this._applyModification(c,arguments)},brighten:function(){return this._applyModification(f,arguments)},darken:function(){return this._applyModification(u,arguments)},desaturate:function(){return this._applyModification(h,arguments)},saturate:function(){return this._applyModification(l,arguments)},greyscale:function(){return this._applyModification(g,arguments)},spin:function(){return this._applyModification(y,arguments)},_applyCombination:function(e,r){return e.apply(null,[this].concat([].slice.call(r)))},analogous:function(){return this._applyCombination(p,arguments)},complement:function(){return this._applyCombination(d,arguments)},monochromatic:function(){return this._applyCombination(m,arguments)},splitcomplement:function(){return this._applyCombination(k,arguments)},triad:function(){return this._applyCombination(b,[3])},tetrad:function(){return this._applyCombination(b,[4])}},t.fromRatio=function(r,n){if("object"==e(r)){var a={};for(var i in r)r.hasOwnProperty(i)&&(a[i]="a"===i?r[i]:R(r[i]));r=a}return t(r,n)},t.equals=function(e,r){return!(!e||!r)&&t(e).toRgbString()==t(r).toRgbString()},t.random=function(){return t.fromRatio({r:Math.random(),g:Math.random(),b:Math.random()})},t.mix=function(e,r,n){n=0===n?0:n||50;var a=t(e).toRgb(),i=t(r).toRgb(),o=n/100;return t({r:(i.r-a.r)*o+a.r,g:(i.g-a.g)*o+a.g,b:(i.b-a.b)*o+a.b,a:(i.a-a.a)*o+a.a})},t.readability=function(e,r){var n=t(e),a=t(r);return(Math.max(n.getLuminance(),a.getLuminance())+.05)/(Math.min(n.getLuminance(),a.getLuminance())+.05)},t.isReadable=function(e,r,n){var a,i,o=t.readability(e,r);switch(i=!1,(a=function(e){var r,n;r=((e=e||{level:"AA",size:"small"}).level||"AA").toUpperCase(),n=(e.size||"small").toLowerCase(),"AA"!==r&&"AAA"!==r&&(r="AA");"small"!==n&&"large"!==n&&(n="small");return{level:r,size:n}}(n)).level+a.size){case"AAsmall":case"AAAlarge":i=o>=4.5;break;case"AAlarge":i=o>=3;break;case"AAAsmall":i=o>=7}return i},t.mostReadable=function(e,r,n){var a,i,o,s,h=null,l=0;i=(n=n||{}).includeFallbackColors,o=n.level,s=n.size;for(var g=0;g<r.length;g++)(a=t.readability(e,r[g]))>l&&(l=a,h=t(r[g]));return t.isReadable(e,h,{level:o,size:s})||!i?h:(n.includeFallbackColors=!1,t.mostReadable(e,["#fff","#000"],n))};var w=t.names={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"},_=t.hexNames=function(e){var r={};for(var n in e)e.hasOwnProperty(n)&&(r[e[n]]=n);return r}(w);function v(e){return e=parseFloat(e),(isNaN(e)||e<0||e>1)&&(e=1),e}function M(e,r){(function(e){return"string"==typeof e&&-1!=e.indexOf(".")&&1===parseFloat(e)})(e)&&(e="100%");var n=function(e){return"string"==typeof e&&-1!=e.indexOf("%")}(e);return e=Math.min(r,Math.max(0,parseFloat(e))),n&&(e=parseInt(e*r,10)/100),Math.abs(e-r)<1e-6?1:e%r/parseFloat(r)}function x(e){return Math.min(1,Math.max(0,e))}function A(e){return parseInt(e,16)}function S(e){return 1==e.length?"0"+e:""+e}function R(e){return e<=1&&(e=100*e+"%"),e}function H(e){return Math.round(255*parseFloat(e)).toString(16)}function F(e){return A(e)/255}var q,C,P,N=(C="[\\s|\\(]+("+(q="(?:[-\\+]?\\d*\\.\\d+%?)|(?:[-\\+]?\\d+%?)")+")[,|\\s]+("+q+")[,|\\s]+("+q+")\\s*\\)?",P="[\\s|\\(]+("+q+")[,|\\s]+("+q+")[,|\\s]+("+q+")[,|\\s]+("+q+")\\s*\\)?",{CSS_UNIT:new RegExp(q),rgb:new RegExp("rgb"+C),rgba:new RegExp("rgba"+P),hsl:new RegExp("hsl"+C),hsla:new RegExp("hsla"+P),hsv:new RegExp("hsv"+C),hsva:new RegExp("hsva"+P),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/});function E(e){return!!N.CSS_UNIT.exec(e)}const j=[{category:"black",key:"#000000",english:["black"],chinese:["黑色","墨黑色"]},{category:"silver",key:"#c0c0c0",english:["silver"],chinese:["银色","银灰色"]},{category:"gray",key:"#808080",english:["gray"],chinese:["灰色","灰暗色"]},{category:"white",key:"#ffffff",english:["white"],chinese:["白色","纯白色"]},{category:"brown",key:"#800000",english:["maroon","brown"],chinese:["栗红色","褐红色","栗色","褐色"]},{category:"red",key:"#ff0000",english:["red","crimson"],chinese:["红色","猩红色","朱红色","深红色"]},{category:"purple",key:"#800080",english:["purple"],chinese:["紫色","深紫色"]},{category:"purple",key:"#ff00ff",english:["fuchsia","magenta"],chinese:["紫红色","洋红色","粉紫色","洋红色"]},{category:"green",key:"#008000",english:["green","lime"],chinese:["绿色","鲜绿色","草绿色"]},{category:"green",key:"#00ff00",english:["lime","green"],chinese:["鲜绿色","绿色","草绿色"]},{category:"green",key:"#808000",english:["olive","green"],chinese:["橄榄色","橄榄绿色","自然橄榄色","绿色"]},{category:"yellow",key:"#ffff00",english:["yellow"],chinese:["黄色","明黄色","金黄色"]},{category:"blue",key:"#000080",english:["navy","blue"],chinese:["深蓝色","海军蓝色","深夜蓝色","蓝色","湛蓝色","宝蓝色"]},{category:"blue",key:"#0000ff",english:["blue"],chinese:["蓝色","湛蓝色","宝蓝色"]},{category:"green",key:"#008080",english:["teal","green"],chinese:["蓝绿色","湖绿色","蓝翠绿色","绿色"]},{category:"blue",key:"#00ffff",english:["aqua","cyan","blue","green"],chinese:["青色","蓝绿色","湖绿色","蓝色","湛蓝色","绿色"]},{category:"blue",key:"#f0f8ff",english:["aliceblue","blue"],chinese:["艾莉丝蓝","淡蓝色","蓝色","湛蓝色","宝蓝色"]},{category:"white",key:"#faebd7",english:["antiquewhite","white"],chinese:["古董白色","米白色","白色"]},{category:"green",key:"#7fffd4",english:["aquamarine","green"],chinese:["碧绿色","绿松石色","绿色"]},{category:"blue",key:"#f0ffff",english:["azure","cyan","blue"],chinese:["天蓝色","湛蓝色","宝蓝色","青色"]},{category:"yellow",key:"#f5f5dc",english:["beige","yellow"],chinese:["米色","米白色","黄色"]},{category:"orange",key:"#ffe4c4",english:["bisque","orange"],chinese:["桔黄色","橙黄色","橙色","黄色"]},{category:"yellow",key:"#ffebcd",english:["blanchedalmond","beige","yellow"],chinese:["杏仁白","淡米色","米白色","黄色"]},{category:"purple",key:"#8a2be2",english:["blueviolet","purple"],chinese:["蓝紫色","紫色","深紫色"]},{category:"brown",key:"#a52a2a",english:["brown"],chinese:["褐色","棕色"]},{category:"brown",key:"#deb887",english:["burlywood","brown"],chinese:["实木色","褐色","棕色"]},{category:"blue",key:"#5f9ea0",english:["cadetblue","blue"],chinese:["军服蓝","湛蓝色","宝蓝色"]},{category:"green",key:"#7fff00",english:["chartreuse","green","yellow"],chinese:["黄绿色","草绿色","绿色","黄色"]},{category:"brown",key:"#d2691e",english:["chocolate","brown"],chinese:["巧克力色","褐色","棕色"]},{category:"orange",key:"#ff7f50",english:["coral","orange"],chinese:["珊瑚色","橙色","桔红色"]},{category:"blue",key:"#6495ed",english:["cornflowerblue","blue"],chinese:["矢车菊蓝色","湛蓝色","宝蓝色","蓝色"]},{category:"yellow",key:"#fff8dc",english:["cornsilk","beige","yellow"],chinese:["米黄色","淡米色","米白色","黄色"]},{category:"red",key:"#dc143c",english:["crimson","red"],chinese:["绯红色","深红色","红色"]},{category:"blue",key:"#00008b",english:["darkblue","blue"],chinese:["深蓝色","湛蓝色","宝蓝色","蓝色"]},{category:"cyan",key:"#008b8b",english:["darkcyan","cyan","blue","green"],chinese:["深青色","青色","蓝色","绿色"]},{category:"yellow",key:"#b8860b",english:["darkgoldenrod","yellow"],chinese:["深金黄色","金黄色","黄色"]},{category:"gray",key:"#a9a9a9",english:["darkgray","grey"],chinese:["深灰色","灰色"]},{category:"green",key:"#006400",english:["darkgreen","green"],chinese:["深绿色","绿色"]},{category:"yellow",key:"#bdb76b",english:["darkkhaki","yellow"],chinese:["深卡其色","卡其色","黄色"]},{category:"purple",key:"#8b008b",english:["darkmagenta","purple"],chinese:["深品红色","品红色","紫色"]},{category:"green",key:"#556b2f",english:["darkolivegreen","olive","green"],chinese:["深橄榄绿色","橄榄绿色","绿色"]},{category:"orange",key:"#ff8c00",english:["darkorange","orange"],chinese:["深橙色","橙色"]},{category:"purple",key:"#9932cc",english:["darkorchid","purple"],chinese:["深兰花紫","兰花紫","紫色"]},{category:"red",key:"#8b0000",english:["darkred","red"],chinese:["深红色","红色"]},{category:"orange",key:"#e9967a",english:["darksalmon","orange"],chinese:["深橙红色","橙红色","橙色"]},{category:"green",key:"#8fbc8f",english:["darkseagreen","green"],chinese:["深海蓝绿色","海蓝绿色","绿色"]},{category:"blue",key:"#483d8b",english:["darkslateblue","blue"],chinese:["深岩蓝色","岩蓝色","蓝色"]},{category:"gray",key:"#2f4f4f",english:["darkslategray","darkslategrey","grey"],chinese:["深岩灰色","岩灰色","灰色"]},{category:"cyan",key:"#00ced1",english:["darkturquoise","cyan","blue","green"],chinese:["深青绿色","青绿色","蓝色","绿色"]},{category:"purple",key:"#9400d3",english:["darkviolet","purple"],chinese:["深紫罗兰色","紫罗兰色","紫色"]},{category:"pink",key:"#ff1493",english:["deeppink","red","pink"],chinese:["深粉红色","粉红色","红色","粉色"]},{category:"blue",key:"#00bfff",english:["deepskyblue","blue"],chinese:["深天蓝色","天蓝色","蓝色"]},{category:"gray",key:"#696969",english:["dimgray","dimgrey","grey"],chinese:["深灰色","灰色"]},{category:"blue",key:"#1e90ff",english:["dodgerblue","blue"],chinese:["道奇蓝色","蓝色"]},{category:"red",key:"#b22222",english:["firebrick","red"],chinese:["火砖红色","红色"]},{category:"white",key:"#fffaf0",english:["floralwhite","white"],chinese:["花卉白色","白色"]},{category:"green",key:"#228b22",english:["forestgreen","green"],chinese:["森林绿色","绿色"]},{category:"gray",key:"#dcdcdc",english:["gainsboro","grey"],chinese:["淡灰色","灰色"]},{category:"white",key:"#f8f8ff",english:["ghostwhite","white"],chinese:["幽灵白色","白色"]},{category:"yellow",key:"#ffd700",english:["gold","yellow"],chinese:["金色","黄色"]},{category:"yellow",key:"#daa520",english:["goldenrod","yellow"],chinese:["金麒麟色","黄色"]},{category:"yellow",key:"#adff2f",english:["greenyellow","yellow"],chinese:["绿黄色","黄色"]},{category:"white",key:"#f0fff0",english:["honeydew","white"],chinese:["蜜露白色","白色"]},{category:"pink",key:"#ff69b4",english:["hotpink","pink"],chinese:["热粉红","粉色"]},{category:"red",key:"#cd5c5c",english:["indianred","red"],chinese:["印度红","红色"]},{category:"purple",key:"#4b0082",english:["indigo","purple"],chinese:["靛青色","紫色"]},{category:"white",key:"#fffff0",english:["ivory","white"],chinese:["象牙白色","白色"]},{category:"yellow",key:"#f0e68c",english:["khaki","yellow"],chinese:["黄褐色","黄色"]},{category:"purple",key:"#e6e6fa",english:["lavender","purple"],chinese:["淡紫色","紫色"]},{category:"red",key:"#fff0f5",english:["lavenderblush","red"],chinese:["淡紫红","红色"]},{category:"green",key:"#7cfc00",english:["lawngreen","green"],chinese:["草坪绿色","绿色"]},{category:"yellow",key:"#fffacd",english:["lemonchiffon","yellow"],chinese:["柠檬雪纺色","黄色"]},{category:"blue",key:"#add8e6",english:["lightblue","blue"],chinese:["淡蓝色","蓝色"]},{category:"pink",key:"#f08080",english:["lightcoral","pink","red"],chinese:["淡珊瑚红色","淡粉红","粉色"]},{category:"blue",key:"#e0ffff",english:["lightcyan","blue"],chinese:["淡青色","蓝色"]},{category:"yellow",key:"#fafad2",english:["lightgoldenrodyellow","yellow"],chinese:["淡金黄色","黄色"]},{category:"gray",key:"#d3d3d3",english:["lightgray","grey"],chinese:["淡灰色","灰色"]},{category:"green",key:"#90ee90",english:["lightgreen","green"],chinese:["淡绿色","绿色"]},{category:"gray",key:"#d3d3d3",english:["lightgrey","grey"],chinese:["淡灰色","灰色"]},{category:"pink",key:"#ffb6c1",english:["lightpink","pink","red"],chinese:["淡粉红色","粉红色","粉色"]},{category:"pink",key:"#ffa07a",english:["lightsalmon","pink","red"],chinese:["淡鲑红色","淡粉红色","粉色"]},{category:"green",key:"#20b2aa",english:["lightseagreen","green"],chinese:["淡海绿色","绿色"]},{category:"blue",key:"#87cefa",english:["lightskyblue","blue"],chinese:["淡天蓝色","蓝色"]},{category:"gray",key:"#778899",english:["lightslategray","grey"],chinese:["淡蓝灰色","灰色"]},{category:"gray",key:"#778899",english:["lightslategrey","grey"],chinese:["淡蓝灰色","灰色"]},{category:"blue",key:"#b0c4de",english:["lightsteelblue","blue"],chinese:["淡钢蓝色","蓝色"]},{category:"yellow",key:"#ffffe0",english:["lightyellow","yellow"],chinese:["淡黄色","黄色"]},{category:"green",key:"#32cd32",english:["limegreen","green"],chinese:["青柠绿色","绿色"]},{category:"white",key:"#faf0e6",english:["linen","white"],chinese:["亚麻色","白色"]},{category:"red",key:"#800000",english:["maroon","red"],chinese:["褐红色","红色"]},{category:"green",key:"#66cdaa",english:["mediumaquamarine","green"],chinese:["中碧绿色","绿色"]},{category:"blue",key:"#0000cd",english:["mediumblue","blue"],chinese:["中蓝色","蓝色"]},{category:"purple",key:"#ba55d3",english:["mediumorchid","purple"],chinese:["中兰花紫色","紫色"]},{category:"purple",key:"#9370db",english:["mediumpurple","purple"],chinese:["中紫色","紫色"]},{category:"green",key:"#3cb371",english:["mediumseagreen","green"],chinese:["中海绿色","绿色"]},{category:"blue",key:"#7b68ee",english:["mediumslateblue","blue"],chinese:["中板岩蓝色","蓝色"]},{category:"green",key:"#00fa9a",english:["mediumspringgreen","green"],chinese:["中春绿色","绿色"]},{category:"blue",key:"#48d1cc",english:["mediumturquoise","blue"],chinese:["中绿宝石色","蓝色"]},{category:"red",key:"#c71585",english:["mediumvioletred","red"],chinese:["中紫罗兰红色","红色"]},{category:"blue",key:"#191970",english:["midnightblue","blue"],chinese:["午夜蓝色","蓝色"]},{category:"white",key:"#f5fffa",english:["mintcream","white"],chinese:["薄荷奶油色","白色"]},{category:"pink",key:"#ffe4e1",english:["mistyrose","pink"],chinese:["薄雾玫瑰色","粉色"]},{category:"orange",key:"#ffe4b5",english:["moccasin","orange"],chinese:["鹿皮色","橙色"]},{category:"orange",key:"#ffdead",english:["navajowhite","orange"],chinese:["纳瓦霍白色","橙色"]},{category:"white",key:"#fdf5e6",english:["oldlace","white"],chinese:["旧蕾丝色","白色"]},{category:"green",key:"#6b8e23",english:["olivedrab","green"],chinese:["橄榄褐色","绿色"]},{category:"orange",key:"#ffa500",english:["orange"],chinese:["橙色"]},{category:"red",key:"#ff4500",english:["orangered","red"],chinese:["橙红色","红色"]},{category:"purple",key:"#da70d6",english:["orchid","purple"],chinese:["兰花紫色","紫色"]},{category:"yellow",key:"#eee8aa",english:["palegoldenrod","yellow"],chinese:["灰秋色","黄色"]},{category:"green",key:"#98fb98",english:["palegreen","green"],chinese:["苍绿色","绿色"]},{category:"blue",key:"#afeeee",english:["paleturquoise","blue"],chinese:["苍宝石色","蓝色"]},{category:"red",key:"#db7093",english:["palevioletred","red"],chinese:["苍紫罗兰红色","红色"]},{category:"yellow",key:"#ffefd5",english:["papayawhip","yellow"],chinese:["番木瓜色","黄色"]},{category:"orange",key:"#ffdab9",english:["peachpuff","orange"],chinese:["桃色","橙色"]},{category:"brown",key:"#cd853f",english:["peru","brown"],chinese:["秘鲁色","棕色"]},{category:"pink",key:"#ffc0cb",english:["pink"],chinese:["粉色","粉红色"]},{category:"purple",key:"#dda0dd",english:["plum","purple"],chinese:["李子色","紫色"]},{category:"blue",key:"#b0e0e6",english:["powderblue","blue"],chinese:["淡蓝色","蓝色"]},{category:"purple",key:"#663399",english:["rebeccapurple","purple"],chinese:["丽贝卡紫色","紫色"]},{category:"brown",key:"#bc8f8f",english:["rosybrown","brown"],chinese:["玫瑰棕色","棕色"]},{category:"blue",key:"#4169e1",english:["royalblue","blue"],chinese:["宝蓝色","蓝色"]},{category:"brown",key:"#8b4513",english:["saddlebrown","brown"],chinese:["马鞍棕色","棕色"]},{category:"red",key:"#fa8072",english:["salmon","red"],chinese:["鲑鱼红色","红色"]},{category:"brown",key:"#f4a460",english:["sandybrown","brown"],chinese:["沙棕色","棕色"]},{category:"green",key:"#2e8b57",english:["seagreen","green"],chinese:["海绿色","绿色"]},{category:"white",key:"#fff5ee",english:["seashell","white"],chinese:["贝壳白色","白色"]},{category:"brown",key:"#a0522d",english:["sienna","brown"],chinese:["黄土赭色","棕色"]},{category:"blue",key:"#87ceeb",english:["skyblue","blue"],chinese:["天蓝色","蓝色"]},{category:"blue",key:"#6a5acd",english:["slateblue","blue"],chinese:["板岩蓝色","蓝色"]},{category:"blue",key:"#708090",english:["slategray","blue"],chinese:["板岩灰色","蓝色"]},{category:"blue",key:"#708090",english:["slategrey","blue"],chinese:["板岩灰色","蓝色"]},{category:"white",key:"#fffafa",english:["snow","white"],chinese:["雪白色","白色"]},{category:"green",key:"#00ff7f",english:["springgreen","green"],chinese:["嫩绿色","绿色"]},{category:"blue",key:"#4682b4",english:["steelblue","blue"],chinese:["钢青色","蓝色"]},{category:"brown",key:"#d2b48c",english:["tan","brown"],chinese:["黄褐色","棕色"]},{category:"purple",key:"#d8bfd8",english:["thistle","purple"],chinese:["蓟色","紫色"]},{category:"red",key:"#ff6347",english:["tomato","red"],chinese:["番茄红色","红色"]},{category:"blue",key:"#40e0d0",english:["turquoise","blue"],chinese:["绿宝石色","蓝色"]},{category:"purple",key:"#ee82ee",english:["violet","purple"],chinese:["紫罗兰色","紫色"]},{category:"brown",key:"#f5deb3",english:["wheat","brown"],chinese:["小麦色","棕色"]},{category:"white",key:"#f5f5f5",english:["whitesmoke","white"],chinese:["烟白色","白色"]},{category:"green",key:"#9acd32",english:["yellowgreen","green"],chinese:["黄绿色","绿色"]}];class I{constructor(e=j){if(this.colorPaletteMap=new Map,!Array.isArray(e)||0===e.length)throw new Error("Color palette must be a non-empty array");this.colorPalette=e}getColorPaletteMap(e){if(this.colorPaletteMap.has(e))return this.colorPaletteMap.get(e);const r=t(e).toRgb();return this.colorPaletteMap.set(e,r),r}find(e){if(!t(e).isValid())throw new Error(`Invalid color: ${e}`);const r=t(e).toRgb();let n,a=1/0;for(const e of this.colorPalette){const i=e.key;if(!t(i).isValid()){console.warn(`Invalid color key: ${i}`);continue}const{r:o,g:s,b:h}=this.getColorPaletteMap(i),l=Math.pow(r.r-o,2)+Math.pow(r.g-s,2)+Math.pow(r.b-h,2);if(0===l){a=l,n=e;break}l<a&&(a=l,n=e)}if(n)return Object.assign(Object.assign({},n),{distance:Math.sqrt(a)});throw new Error(`No nearest color found for: ${e}`)}static from(e){return new I(e)}concat(e){const r=this.colorPalette.concat(e);return new I(r)}}return I}));
{
"name": "@lostelk/nearest-color",
"version": "1.0.1-alpha",
"version": "1.0.1",
"description": "Discover the nearest color from a predefined collection of colors.",
"main": "dist/index-cjs.js",
"module": "dist/index-esm.js",
"browser": "dist/index.umd.js",
"unpkg": "dist/index-umd.js",
"main": "./dist/index.cjs",
"module": "./dist/index.mjs",
"browser": "./dist/index.umd.js",
"unpkg": "./dist/index.umd.js",
"types": "./dist/index.d.ts",
"exports": {
"require": "./dist/index-cjs.js",
"import": "./dist/index-esm.js"
},
"types": "dist/index.d.ts",
".": {
"types": "./dist/index.d.ts",
"require": "./dist/index.cjs",
"import": "./dist/index.mjs",
"default": "./dist/index.mjs"
}
},
"typesVersions": {
"*": {
"*": [
"./dist/*",
"./dist/index.d.ts"
]
}
},
"type": "module",
"files": [
"dist"
],
"type": "module",
"scripts": {

@@ -42,6 +54,8 @@ "test": "jest",

],
"homepage": "",
"bugs": "",
"homepage": "https://github.com/LostElkByte/nearest-color",
"bugs": "https://github.com/LostElkByte/nearest-color/issues",
"license": "MIT",
"devDependencies": {
"@rollup/plugin-commonjs": "^25.0.7",
"@rollup/plugin-node-resolve": "^15.2.3",
"@rollup/plugin-terser": "^0.4.4",

@@ -48,0 +62,0 @@ "@rollup/plugin-typescript": "^11.1.6",

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