colour-swapper
Version:
colour-swapper is a compact and efficient JavaScript library designed for color manipulation and conversion
2 lines (1 loc) • 17.4 kB
JavaScript
(function(_,v){typeof exports=="object"&&typeof module<"u"?v(exports):typeof define=="function"&&define.amd?define(["exports"],v):(_=typeof globalThis<"u"?globalThis:_||self,v(_["colour-swapper"]={}))})(this,function(_){"use strict";function v(e){"@babel/helpers - typeof";return v=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(r){return typeof r}:function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},v(e)}var N=/^\s+/,E=/\s+$/;function s(e,r){if(e=e||"",r=r||{},e instanceof s)return e;if(!(this instanceof s))return new s(e,r);var t=P(e);this._originalInput=e,this._r=t.r,this._g=t.g,this._b=t.b,this._a=t.a,this._roundA=Math.round(100*this._a)/100,this._format=r.format||t.format,this._gradientType=r.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=t.ok}s.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 r=this.toRgb();return(r.r*299+r.g*587+r.b*114)/1e3},getLuminance:function(){var r=this.toRgb(),t,n,a,i,h,f;return t=r.r/255,n=r.g/255,a=r.b/255,t<=.03928?i=t/12.92:i=Math.pow((t+.055)/1.055,2.4),n<=.03928?h=n/12.92:h=Math.pow((n+.055)/1.055,2.4),a<=.03928?f=a/12.92:f=Math.pow((a+.055)/1.055,2.4),.2126*i+.7152*h+.0722*f},setAlpha:function(r){return this._a=C(r),this._roundA=Math.round(100*this._a)/100,this},toHsv:function(){var r=k(this._r,this._g,this._b);return{h:r.h*360,s:r.s,v:r.v,a:this._a}},toHsvString:function(){var r=k(this._r,this._g,this._b),t=Math.round(r.h*360),n=Math.round(r.s*100),a=Math.round(r.v*100);return this._a==1?"hsv("+t+", "+n+"%, "+a+"%)":"hsva("+t+", "+n+"%, "+a+"%, "+this._roundA+")"},toHsl:function(){var r=S(this._r,this._g,this._b);return{h:r.h*360,s:r.s,l:r.l,a:this._a}},toHslString:function(){var r=S(this._r,this._g,this._b),t=Math.round(r.h*360),n=Math.round(r.s*100),a=Math.round(r.l*100);return this._a==1?"hsl("+t+", "+n+"%, "+a+"%)":"hsla("+t+", "+n+"%, "+a+"%, "+this._roundA+")"},toHex:function(r){return H(this._r,this._g,this._b,r)},toHexString:function(r){return"#"+this.toHex(r)},toHex8:function(r){return G(this._r,this._g,this._b,this._a,r)},toHex8String:function(r){return"#"+this.toHex8(r)},toRgb:function(){return{r:Math.round(this._r),g:Math.round(this._g),b:Math.round(this._b),a:this._a}},toRgbString:function(){return this._a==1?"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(l(this._r,255)*100)+"%",g:Math.round(l(this._g,255)*100)+"%",b:Math.round(l(this._b,255)*100)+"%",a:this._a}},toPercentageRgbString:function(){return this._a==1?"rgb("+Math.round(l(this._r,255)*100)+"%, "+Math.round(l(this._g,255)*100)+"%, "+Math.round(l(this._b,255)*100)+"%)":"rgba("+Math.round(l(this._r,255)*100)+"%, "+Math.round(l(this._g,255)*100)+"%, "+Math.round(l(this._b,255)*100)+"%, "+this._roundA+")"},toName:function(){return this._a===0?"transparent":this._a<1?!1:J[H(this._r,this._g,this._b,!0)]||!1},toFilter:function(r){var t="#"+w(this._r,this._g,this._b,this._a),n=t,a=this._gradientType?"GradientType = 1, ":"";if(r){var i=s(r);n="#"+w(i._r,i._g,i._b,i._a)}return"progid:DXImageTransform.Microsoft.gradient("+a+"startColorstr="+t+",endColorstr="+n+")"},toString:function(r){var t=!!r;r=r||this._format;var n=!1,a=this._a<1&&this._a>=0,i=!t&&a&&(r==="hex"||r==="hex6"||r==="hex3"||r==="hex4"||r==="hex8"||r==="name");return i?r==="name"&&this._a===0?this.toName():this.toRgbString():(r==="rgb"&&(n=this.toRgbString()),r==="prgb"&&(n=this.toPercentageRgbString()),(r==="hex"||r==="hex6")&&(n=this.toHexString()),r==="hex3"&&(n=this.toHexString(!0)),r==="hex4"&&(n=this.toHex8String(!0)),r==="hex8"&&(n=this.toHex8String()),r==="name"&&(n=this.toName()),r==="hsl"&&(n=this.toHslString()),r==="hsv"&&(n=this.toHsvString()),n||this.toHexString())},clone:function(){return s(this.toString())},_applyModification:function(r,t){var n=r.apply(null,[this].concat([].slice.call(t)));return this._r=n._r,this._g=n._g,this._b=n._b,this.setAlpha(n._a),this},lighten:function(){return this._applyModification(q,arguments)},brighten:function(){return this._applyModification(U,arguments)},darken:function(){return this._applyModification(V,arguments)},desaturate:function(){return this._applyModification(L,arguments)},saturate:function(){return this._applyModification(j,arguments)},greyscale:function(){return this._applyModification(D,arguments)},spin:function(){return this._applyModification($,arguments)},_applyCombination:function(r,t){return r.apply(null,[this].concat([].slice.call(t)))},analogous:function(){return this._applyCombination(Y,arguments)},complement:function(){return this._applyCombination(X,arguments)},monochromatic:function(){return this._applyCombination(Z,arguments)},splitcomplement:function(){return this._applyCombination(W,arguments)},triad:function(){return this._applyCombination(R,[3])},tetrad:function(){return this._applyCombination(R,[4])}},s.fromRatio=function(e,r){if(v(e)=="object"){var t={};for(var n in e)e.hasOwnProperty(n)&&(n==="a"?t[n]=e[n]:t[n]=x(e[n]));e=t}return s(e,r)};function P(e){var r={r:0,g:0,b:0},t=1,n=null,a=null,i=null,h=!1,f=!1;return typeof e=="string"&&(e=te(e)),v(e)=="object"&&(p(e.r)&&p(e.g)&&p(e.b)?(r=O(e.r,e.g,e.b),h=!0,f=String(e.r).substr(-1)==="%"?"prgb":"rgb"):p(e.h)&&p(e.s)&&p(e.v)?(n=x(e.s),a=x(e.v),r=B(e.h,n,a),h=!0,f="hsv"):p(e.h)&&p(e.s)&&p(e.l)&&(n=x(e.s),i=x(e.l),r=z(e.h,n,i),h=!0,f="hsl"),e.hasOwnProperty("a")&&(t=e.a)),t=C(t),{ok:h,format:e.format||f,r:Math.min(255,Math.max(r.r,0)),g:Math.min(255,Math.max(r.g,0)),b:Math.min(255,Math.max(r.b,0)),a:t}}function O(e,r,t){return{r:l(e,255)*255,g:l(r,255)*255,b:l(t,255)*255}}function S(e,r,t){e=l(e,255),r=l(r,255),t=l(t,255);var n=Math.max(e,r,t),a=Math.min(e,r,t),i,h,f=(n+a)/2;if(n==a)i=h=0;else{var o=n-a;switch(h=f>.5?o/(2-n-a):o/(n+a),n){case e:i=(r-t)/o+(r<t?6:0);break;case r:i=(t-e)/o+2;break;case t:i=(e-r)/o+4;break}i/=6}return{h:i,s:h,l:f}}function z(e,r,t){var n,a,i;e=l(e,360),r=l(r,100),t=l(t,100);function h(u,m,b){return b<0&&(b+=1),b>1&&(b-=1),b<1/6?u+(m-u)*6*b:b<1/2?m:b<2/3?u+(m-u)*(2/3-b)*6:u}if(r===0)n=a=i=t;else{var f=t<.5?t*(1+r):t+r-t*r,o=2*t-f;n=h(o,f,e+1/3),a=h(o,f,e),i=h(o,f,e-1/3)}return{r:n*255,g:a*255,b:i*255}}function k(e,r,t){e=l(e,255),r=l(r,255),t=l(t,255);var n=Math.max(e,r,t),a=Math.min(e,r,t),i,h,f=n,o=n-a;if(h=n===0?0:o/n,n==a)i=0;else{switch(n){case e:i=(r-t)/o+(r<t?6:0);break;case r:i=(t-e)/o+2;break;case t:i=(e-r)/o+4;break}i/=6}return{h:i,s:h,v:f}}function B(e,r,t){e=l(e,360)*6,r=l(r,100),t=l(t,100);var n=Math.floor(e),a=e-n,i=t*(1-r),h=t*(1-a*r),f=t*(1-(1-a)*r),o=n%6,u=[t,h,i,i,f,t][o],m=[f,t,t,h,i,i][o],b=[i,i,f,t,t,h][o];return{r:u*255,g:m*255,b:b*255}}function H(e,r,t,n){var a=[g(Math.round(e).toString(16)),g(Math.round(r).toString(16)),g(Math.round(t).toString(16))];return n&&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 G(e,r,t,n,a){var i=[g(Math.round(e).toString(16)),g(Math.round(r).toString(16)),g(Math.round(t).toString(16)),g(I(n))];return 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)?i[0].charAt(0)+i[1].charAt(0)+i[2].charAt(0)+i[3].charAt(0):i.join("")}function w(e,r,t,n){var a=[g(I(n)),g(Math.round(e).toString(16)),g(Math.round(r).toString(16)),g(Math.round(t).toString(16))];return a.join("")}s.equals=function(e,r){return!e||!r?!1:s(e).toRgbString()==s(r).toRgbString()},s.random=function(){return s.fromRatio({r:Math.random(),g:Math.random(),b:Math.random()})};function L(e,r){r=r===0?0:r||10;var t=s(e).toHsl();return t.s-=r/100,t.s=y(t.s),s(t)}function j(e,r){r=r===0?0:r||10;var t=s(e).toHsl();return t.s+=r/100,t.s=y(t.s),s(t)}function D(e){return s(e).desaturate(100)}function q(e,r){r=r===0?0:r||10;var t=s(e).toHsl();return t.l+=r/100,t.l=y(t.l),s(t)}function U(e,r){r=r===0?0:r||10;var t=s(e).toRgb();return t.r=Math.max(0,Math.min(255,t.r-Math.round(255*-(r/100)))),t.g=Math.max(0,Math.min(255,t.g-Math.round(255*-(r/100)))),t.b=Math.max(0,Math.min(255,t.b-Math.round(255*-(r/100)))),s(t)}function V(e,r){r=r===0?0:r||10;var t=s(e).toHsl();return t.l-=r/100,t.l=y(t.l),s(t)}function $(e,r){var t=s(e).toHsl(),n=(t.h+r)%360;return t.h=n<0?360+n:n,s(t)}function X(e){var r=s(e).toHsl();return r.h=(r.h+180)%360,s(r)}function R(e,r){if(isNaN(r)||r<=0)throw new Error("Argument to polyad must be a positive number");for(var t=s(e).toHsl(),n=[s(e)],a=360/r,i=1;i<r;i++)n.push(s({h:(t.h+i*a)%360,s:t.s,l:t.l}));return n}function W(e){var r=s(e).toHsl(),t=r.h;return[s(e),s({h:(t+72)%360,s:r.s,l:r.l}),s({h:(t+216)%360,s:r.s,l:r.l})]}function Y(e,r,t){r=r||6,t=t||30;var n=s(e).toHsl(),a=360/t,i=[s(e)];for(n.h=(n.h-(a*r>>1)+720)%360;--r;)n.h=(n.h+a)%360,i.push(s(n));return i}function Z(e,r){r=r||6;for(var t=s(e).toHsv(),n=t.h,a=t.s,i=t.v,h=[],f=1/r;r--;)h.push(s({h:n,s:a,v:i})),i=(i+f)%1;return h}s.mix=function(e,r,t){t=t===0?0:t||50;var n=s(e).toRgb(),a=s(r).toRgb(),i=t/100,h={r:(a.r-n.r)*i+n.r,g:(a.g-n.g)*i+n.g,b:(a.b-n.b)*i+n.b,a:(a.a-n.a)*i+n.a};return s(h)},s.readability=function(e,r){var t=s(e),n=s(r);return(Math.max(t.getLuminance(),n.getLuminance())+.05)/(Math.min(t.getLuminance(),n.getLuminance())+.05)},s.isReadable=function(e,r,t){var n=s.readability(e,r),a,i;switch(i=!1,a=re(t),a.level+a.size){case"AAsmall":case"AAAlarge":i=n>=4.5;break;case"AAlarge":i=n>=3;break;case"AAAsmall":i=n>=7;break}return i},s.mostReadable=function(e,r,t){var n=null,a=0,i,h,f,o;t=t||{},h=t.includeFallbackColors,f=t.level,o=t.size;for(var u=0;u<r.length;u++)i=s.readability(e,r[u]),i>a&&(a=i,n=s(r[u]));return s.isReadable(e,n,{level:f,size:o})||!h?n:(t.includeFallbackColors=!1,s.mostReadable(e,["#fff","#000"],t))};var M=s.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"},J=s.hexNames=K(M);function K(e){var r={};for(var t in e)e.hasOwnProperty(t)&&(r[e[t]]=t);return r}function C(e){return e=parseFloat(e),(isNaN(e)||e<0||e>1)&&(e=1),e}function l(e,r){Q(e)&&(e="100%");var t=ee(e);return e=Math.min(r,Math.max(0,parseFloat(e))),t&&(e=parseInt(e*r,10)/100),Math.abs(e-r)<1e-6?1:e%r/parseFloat(r)}function y(e){return Math.min(1,Math.max(0,e))}function d(e){return parseInt(e,16)}function Q(e){return typeof e=="string"&&e.indexOf(".")!=-1&&parseFloat(e)===1}function ee(e){return typeof e=="string"&&e.indexOf("%")!=-1}function g(e){return e.length==1?"0"+e:""+e}function x(e){return e<=1&&(e=e*100+"%"),e}function I(e){return Math.round(parseFloat(e)*255).toString(16)}function T(e){return d(e)/255}var c=function(){var e="[-\\+]?\\d+%?",r="[-\\+]?\\d*\\.\\d+%?",t="(?:"+r+")|(?:"+e+")",n="[\\s|\\(]+("+t+")[,|\\s]+("+t+")[,|\\s]+("+t+")\\s*\\)?",a="[\\s|\\(]+("+t+")[,|\\s]+("+t+")[,|\\s]+("+t+")[,|\\s]+("+t+")\\s*\\)?";return{CSS_UNIT:new RegExp(t),rgb:new RegExp("rgb"+n),rgba:new RegExp("rgba"+a),hsl:new RegExp("hsl"+n),hsla:new RegExp("hsla"+a),hsv:new RegExp("hsv"+n),hsva:new RegExp("hsva"+a),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 p(e){return!!c.CSS_UNIT.exec(e)}function te(e){e=e.replace(N,"").replace(E,"").toLowerCase();var r=!1;if(M[e])e=M[e],r=!0;else if(e=="transparent")return{r:0,g:0,b:0,a:0,format:"name"};var t;return(t=c.rgb.exec(e))?{r:t[1],g:t[2],b:t[3]}:(t=c.rgba.exec(e))?{r:t[1],g:t[2],b:t[3],a:t[4]}:(t=c.hsl.exec(e))?{h:t[1],s:t[2],l:t[3]}:(t=c.hsla.exec(e))?{h:t[1],s:t[2],l:t[3],a:t[4]}:(t=c.hsv.exec(e))?{h:t[1],s:t[2],v:t[3]}:(t=c.hsva.exec(e))?{h:t[1],s:t[2],v:t[3],a:t[4]}:(t=c.hex8.exec(e))?{r:d(t[1]),g:d(t[2]),b:d(t[3]),a:T(t[4]),format:r?"name":"hex8"}:(t=c.hex6.exec(e))?{r:d(t[1]),g:d(t[2]),b:d(t[3]),format:r?"name":"hex"}:(t=c.hex4.exec(e))?{r:d(t[1]+""+t[1]),g:d(t[2]+""+t[2]),b:d(t[3]+""+t[3]),a:T(t[4]+""+t[4]),format:r?"name":"hex8"}:(t=c.hex3.exec(e))?{r:d(t[1]+""+t[1]),g:d(t[2]+""+t[2]),b:d(t[3]+""+t[3]),format:r?"name":"hex"}:!1}function re(e){var r,t;return e=e||{level:"AA",size:"small"},r=(e.level||"AA").toUpperCase(),t=(e.size||"small").toLowerCase(),r!=="AA"&&r!=="AAA"&&(r="AA"),t!=="small"&&t!=="large"&&(t="small"),{level:r,size:t}}const ne=e=>{const r=s(e).toHsl().h,t=s(e).toHsl().s,n=s(e).toHsl();n.h=Number(r),t!==null&&(n.s=Number(t)/100);const a=s(n).toHexString();return s(a).greyscale().toHexString()},ae=({paletteColors:e,paletteColor:r,fillColor:t})=>{const n={...t};if(r.l===1){const a=e.filter(i=>!(i.l===0||i.l===1||i.s===0));if(a.length){const i=a[A(a,r).index];n.h=i.h}else n.s=0}else r.s===0||r.l===0?n.s=0:n.h=r.h;return n},A=(e,r)=>{const t=e.map(a=>ie({colorX:r,colorY:a})),n=Math.min.apply(Math,t);return{distance:n,index:t.indexOf(n)}},ie=({colorX:e,colorY:r})=>{const t=F(e),n=F(r);return Math.hypot(n.x-t.x,n.y-t.y,n.z-t.z)},F=e=>{const r=s(e).toRgb();return{x:r.r,y:r.g,z:r.b}},se=(e,r)=>{const t=e.map((a,i)=>({hsl:s(a).toHsl(),index:i,isMostNearer:!1,hex:void 0})),n=r.map((a,i)=>({hsl:s(a).toHsl(),index:i,fillColorIndexes:[],hex:void 0}));return t.forEach((a,i)=>{const h=A(n.map(o=>o.hsl),a.hsl);n[h.index].fillColorIndexes.push({index:i,distance:h.distance})}),n.forEach(a=>{a.fillColorIndexes=a.fillColorIndexes.sort((i,h)=>i.distance-h.distance),a.fillColorIndexes.length&&(t[a.fillColorIndexes[0].index].isMostNearer=!0)}),n.filter(a=>!a.fillColorIndexes.length).forEach(a=>{const i=t.filter(h=>!h.isMostNearer);if(i.length){const h=A(i.map(u=>u.hex),a.hex),f=i[h.index],o=t[f.index];n.filter(u=>u.fillColorIndexes.length).forEach(u=>{u.fillColorIndexes.map(m=>m.index).includes(o.index)&&(u.fillColorIndexes=u.fillColorIndexes.filter(m=>m.index!==o.index))}),a.fillColorIndexes.push({index:o.index,distance:h.distance}),t[o.index].isMostNearer=!0}}),n.filter(a=>a.fillColorIndexes.length).forEach(a=>{a.fillColorIndexes.forEach((i,h)=>{h===0?t[i.index].hsl=a.hsl:t[i.index].hsl=ae({paletteColors:n.map(f=>f.hsl),paletteColor:a.hsl,fillColor:t[i.index].hsl})})}),t.map(a=>s(a.hsl).toHexString())};_.colorswap=se,_.grayscale=ne,Object.defineProperty(_,Symbol.toStringTag,{value:"Module"})});