@lostelk/nearest-color
Advanced tools
Comparing version 1.0.1-alpha to 1.0.1
@@ -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", |
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
Minified code
QualityThis package contains minified code. This may be harmless in some cases where minified code is included in packaged libraries, however packages on npm should not minify code.
Found 1 instance in 1 package
No bug tracker
MaintenancePackage does not have a linked bug tracker in package.json.
Found 1 instance in 1 package
Deprecated
MaintenanceThe maintainer of the package marked it as deprecated. This could indicate that a single version should not be used, or that the package is no longer maintained and any new vulnerabilities will not be fixed.
Found 1 instance in 1 package
No README
QualityPackage does not have a README. This may indicate a failed publish or a low quality package.
Found 1 instance in 1 package
Minified code
QualityThis package contains minified code. This may be harmless in some cases where minified code is included in packaged libraries, however packages on npm should not minify code.
Found 1 instance in 1 package
No bug tracker
MaintenancePackage does not have a linked bug tracker in package.json.
Found 1 instance in 1 package
No v1
QualityPackage is not semver >=1. This means it is not stable and does not support ^ ranges.
Found 1 instance in 1 package
No website
QualityPackage does not have a website.
Found 1 instance in 1 package
76480
8
298
0
1
1
193
14
1