@yosulramp/material-color-palette-js
Version:
Get color palette for Material Design as Javascript version for Hammwerk/material-color-palette
12 lines (10 loc) • 22.2 kB
JavaScript
'use strict';
var b=class{constructor(t,r,e,n=1){this.hue=t;this.saturation=r;this.lightness=e;this.alpha=n;}get complementaryColor(){return this.harmonize(180)}get analogousColor(){return [this.harmonize(330),this.harmonize(30)]}get triadicColor(){return [this.harmonize(60),this.harmonize(120)]}toRgbColor(){let{hue:t,saturation:r,lightness:e,alpha:n}=this,l=(1-Math.abs(2*e-1))*r,s=t/60,a=l*(1-Math.abs(s%2-1)),h=e-l/2;return s<1?new w(l+h,a+h,h,n):s<2?new w(a+h,l+h,h,n):s<3?new w(h,l+h,a+h,n):s<4?new w(h,a+h,l+h,n):s<5?new w(a+h,h,l+h,n):new w(l+h,h,a+h,n)}harmonize(t){let{hue:r,saturation:e,lightness:n,alpha:l}=this;return new b((r+t)%360,e,n,l)}},j=b;Number.prototype.correctGamma=function(){return this<=.04045?this/12.92:Math.pow((this+.055)/1.055,2.4)};Number.prototype.toDegrees=function(){return this*180/Math.PI};Number.prototype.toRadians=function(){return this*Math.PI/180};Number.prototype.reverseGammaCorrection=function(){return this<=.0031308?12.92*this:1.055*Math.pow(this,1/2.4)-.055};Number.prototype.coerceAtMost=function(c){return this>c?c:this};Number.prototype.coerceAtLeast=function(c){return this<c?c:this};Number.prototype.coerceIn=function(c,t){if(c!=null&&t!=null){if(c>t)throw new Error(`Cannot coerce value to an empty range: maximum ${t} is less than minimum ${c}.`);if(this<c)return c;if(this>t)return t}return c!=null&&this<c?c:t!=null&&this>t?t:this};var u=class{constructor(t,r,e,n=1){this.lightness=t;this.chroma=r;this.hue=e;this.alpha=n;}getLightness(){return this.lightness}getChroma(){return this.chroma}deltaE(t){let{lightness:r,chroma:e}=this,n=r-t.lightness,l=(r+t.lightness)/2,s=(e+t.chroma)/2,a=1-Math.sqrt(Math.pow(s,7)/(Math.pow(s,7)+Math.pow(25,7))),h=(()=>{let{lightness:M,a:m,b:x,alpha:v}=Object.assign(this.toLabColor());return new o(M,m+m/2*a,x,v).toLchColor()})(),i=(()=>{let{lightness:M,a:m,b:x,alpha:v}=Object.assign(t.toLabColor());return new o(M,m+m/2*a,x,v).toLchColor()})(),z=h.chroma-i.chroma,p=(h.chroma+i.chroma)/2,O=h.hueDelta(i),N=2*Math.sqrt(h.chroma*i.chroma)*Math.sin((O/2).toRadians()),L=h.meanHue(i),F=1-.17*Math.cos((L-30).toRadians())+.24*Math.cos((2*L).toRadians())+.32*Math.cos((3*L+6).toRadians())-.2*Math.cos((4*L-63).toRadians()),X=1+.015*Math.pow(l-50,2)/Math.sqrt(20+Math.pow(l-50,2)),D=1+.045*p,I=1+.015*p*F,q=-2*Math.sqrt(Math.pow(p,7)/(Math.pow(p,7)+Math.pow(25,7)))*Math.sin((60*Math.exp(-Math.pow((L-275)/25,2))).toRadians());return Math.sqrt(Math.pow(n/X,2)+Math.pow(z/D,2)+Math.pow(N/I,2)+q*(z/D)*(N/I))}toLabColor(){let{lightness:t,chroma:r,hue:e,alpha:n}=this,l=r*Math.cos(e.toRadians()),s=r*Math.sin(e.toRadians());return new o(t,l,s,n)}minus(t){let r=this.lightness-t.lightness,e=this.chroma-t.chroma,n=this.hue-t.hue;return new u(r,e,n)}adjustLightness(t){let{lightness:r,chroma:e,hue:n,alpha:l}=this;return new u(t(r),e,n,l)}adjustChroma(t){let{lightness:r,chroma:e,hue:n,alpha:l}=this;return new u(r,t(e),n,l)}adjustHue(t){let{lightness:r,chroma:e,hue:n,alpha:l}=this;return new u(r,e,t(n),l)}hueDelta(t){let{hue:r}=this;return r-t.hue>=-180&&r-t.hue<=180?r-t.hue:r<=t.hue?r-t.hue+360:r-t.hue-360}meanHue(t){let{hue:r}=this;return r-t.hue>=-180&&r-t.hue<=180?(t.hue+r)/2:t.hue+r<360?(t.hue+r+360)/2:(t.hue+r-360)/2}},A=u;var P=class{constructor(t,r,e,n=1){this.lightness=t;this.a=r;this.b=e;this.alpha=n;}toLchColor(){let{lightness:t,a:r,b:e,alpha:n}=this,l=Math.sqrt(Math.pow(r,2)+Math.pow(e,2)),s=()=>1e-4>Math.abs(e)&&1e-4>Math.abs(r)?0:(Math.atan2(e,r).toDegrees()+360)%360;return new A(t,l,s(),n)}toXyzColor(){let{lightness:t,a:r,b:e,alpha:n,fInv:l}=this,s=.95047*l((t+16)/116+r/500),a=1*l((t+16)/116),h=1.08883*l((t+16)/116-e/200);return new g(s,a,h,n)}fInv(t){let r=.20689655172413793;return t>r?Math.pow(t,3):3*Math.pow(r,2)*(t-4/29)}},o=P;var R=class{constructor(t,r,e,n=1){this.x=t;this.y=r;this.z=e;this.alpha=n;}toLabColor(){let{x:t,y:r,z:e,alpha:n,f:l}=this,s=116*l(r)-16,a=500*(l(t/.95047)-l(r)),h=200*(l(r)-l(e/1.08883));return new o(s,a,h,n)}toRgbColor(){let{x:t,y:r,z:e,alpha:n}=this,l=(3.2404542*t+-1.5371385*r+-.4985314*e).reverseGammaCorrection().coerceIn(0,1),s=(-.969266*t+1.8760108*r+.041556*e).reverseGammaCorrection().coerceIn(0,1),a=(.0556434*t+-.2040259*r+1.0572252*e).reverseGammaCorrection().coerceIn(0,1);return new w(l,s,a,n)}f(t){let r=.20689655172413793;return t>Math.pow(r,3)?Math.pow(t,1/3):t/(3*Math.pow(r,2))+4/29}},g=R;var y=class{constructor(t,r,e,n=1){this.red=t;this.green=r;this.blue=e;this.alpha=n;}get rgbHex(){let{red:t,green:r,blue:e}=this,n=Math.round(t*255).toString(16).padStart(2,"0"),l=Math.round(r*255).toString(16).padStart(2,"0"),s=Math.round(e*255).toString(16).padStart(2,"0");return `${n}${l}${s}`.toUpperCase()}toLchColor(){return this.toHslColor().toRgbColor().toXyzColor().toLabColor().toLchColor()}toHslColor(){let t=Math.max(this.red,this.green,this.blue),r=Math.min(this.red,this.green,this.blue),e=t-r,n=()=>{let a=h=>Math.round((60*h+360)%360);return e==0?0:t==this.red?a((this.green-this.blue)/e):t==this.green?a((this.blue-this.red)/e+2):a((this.red-this.green)/e+4)},l=()=>t==0||r==1?0:e/(1-Math.abs(t+r-1)),s=(t+r)/2;return new j(n(),l(),s,this.alpha)}toXyzColor(){let{red:t,green:r,blue:e,alpha:n}=this,l=.4124564*t.correctGamma()+.3575761*r.correctGamma()+.1804375*e.correctGamma(),s=.2126729*t.correctGamma()+.7151522*r.correctGamma()+.072175*e.correctGamma(),a=.0193339*t.correctGamma()+.119192*r.correctGamma()+.9503041*e.correctGamma();return new g(l,s,a,n)}},w=y;var G=class{constructor(t){this.colors=t;this.lightnessFactors=[2.048875457,5.124792061,8.751659557,12.07628774,13.91449542,15.92738893,15.46585818,15.09779227,15.13738673,15.09818372];this.chromaFactors=[1.762442714,4.213532634,7.395827458,11.07174158,13.89634504,16.37591477,16.27071136,16.54160806,17.35916727,19.88410864];}minDeltaE(t){let r=this.colors.map(e=>t.deltaE(e));return Math.min(...r)}getClosestColor(t){let r=this.colors.map(l=>t.deltaE(l)),e=Math.min(...r),n=r.indexOf(e);return this.colors[n]}createCustomPalette(t){let r=100,e=this.getClosestColor(t),n=this.colors.indexOf(e),l=s=>(s.getLightness()-1.7).coerceAtLeast(0);return this.colors.map((s,a)=>{if(s===e)return r=l(t),t;let h=s.minus(e.minus(t).adjustLightness(i=>i*(this.lightnessFactors[a]/this.lightnessFactors[n])).adjustChroma(i=>i*(this.hasMainColorLowChroma()?1:(this.chromaFactors[a]/this.chromaFactors[n]).coerceAtMost(1.25)))).adjustLightness(i=>i.coerceIn(0,r)).adjustChroma(i=>i.coerceAtLeast(0)).adjustHue(i=>(i+360)%360);return r=l(h),h})}hasMainColorLowChroma(){return this.colors[5].getChroma()<30}},C=G;var H=[new C([new o(94.67497003305085,7.266715066863771,1.000743882272359).toLchColor(),new o(86.7897416761699,18.370736761658012,4.23637133971424).toLchColor(),new o(72.0939162832561,31.7948058298117,13.2972443996896).toLchColor(),new o(61.79353370051851,44.129498163764545,20.721477326799608).toLchColor(),new o(57.194195398949574,59.6450006197361,34.999830012940194).toLchColor(),new o(55.603951071861374,66.01287384845483,47.67169313982772).toLchColor(),new o(51.66348502954747,64.7487785020625,43.244876694855286).toLchColor(),new o(47.09455666350969,62.29836039074277,40.67775424698388).toLchColor(),new o(43.77122063388739,60.28633509183384,40.31444686692952).toLchColor(),new o(39.555187078007386,58.703681355389975,41.66495027798629).toLchColor()]),new C([new o(92.68053776327665,9.515385232804263,-.8994072969754852).toLchColor(),new o(81.86756643628922,25.05688089723257,-1.9475235115390621).toLchColor(),new o(70.90987389545768,42.21705257720526,-1.095154624057959).toLchColor(),new o(61.08140805216186,58.871233307587204,2.1008764804626434).toLchColor(),new o(54.97970219986448,68.56530938366889,7.327430728560569).toLchColor(),new o(50.872250340749176,74.60459195925529,15.353576256896073).toLchColor(),new o(47.27738650144558,70.77855776427805,11.70434273264508).toLchColor(),new o(42.58424189486517,65.5411953138309,7.595596439803797).toLchColor(),new o(37.977492407254836,60.74362621842075,2.9847124951453474).toLchColor(),new o(29.699290034849604,51.90485023721311,-4.830186634107636).toLchColor()]),new C([new o(92.4362655169016,7.542927467702299,-6.039842848605881).toLchColor(),new o(81.07399776904751,19.563870217805036,-15.719625491986044).toLchColor(),new o(68.71394717711831,33.79992812490556,-26.49539972339321).toLchColor(),new o(56.596161226236305,47.5856631835152,-36.480816605410915).toLchColor(),new o(48.002791217624434,57.30866443934879,-43.2561127152548).toLchColor(),new o(40.66211534692161,64.01910773818436,-48.05930162591041).toLchColor(),new o(37.690702208992185,61.13762767732481,-49.384803274243026).toLchColor(),new o(33.56291870731981,57.637381239254104,-51.39557249855828).toLchColor(),new o(29.865391314234515,54.29737439901333,-52.6601973712463).toLchColor(),new o(23.16724235420436,48.51764437280498,-55.16267949015293).toLchColor()]),new C([new o(92.49103426017201,4.712320025752947,-6.532868071709763).toLchColor(),new o(81.24668319505597,11.50642734909485,-16.666600637245367).toLchColor(),new o(68.61488216554629,20.395329051982824,-28.522018851715416).toLchColor(),new o(55.60369793053023,30.933537768905005,-41.16439122358484).toLchColor(),new o(45.834566190969426,39.28806272235674,-50.523322052772635).toLchColor(),new o(36.608620229358664,47.29686002828143,-59.111766586186846).toLchColor(),new o(34.189791237562616,46.60426065139123,-59.53961627676729).toLchColor(),new o(30.52713367338361,46.01498224754519,-60.19975052509064).toLchColor(),new o(27.44585524877222,44.96180431854785,-60.46395810756433).toLchColor(),new o(21.98627670328218,44.29296076245473,-60.93653655172098).toLchColor()]),new C([new o(92.86314411983918,1.5318147061061937,-6.025243528950552).toLchColor(),new o(81.8348073705298,4.460934955458907,-15.873561009736136).toLchColor(),new o(69.7796913795672,7.9043652558912765,-26.3170846346932).toLchColor(),new o(57.48786519938736,12.681019504822533,-37.23202012914528).toLchColor(),new o(47.74592578811101,18.520799302452374,-46.47540679000397).toLchColor(),new o(38.334403614455404,25.57700668170812,-55.28224153299287).toLchColor(),new o(35.15116453901552,26.231812080381168,-54.53700978785404).toLchColor(),new o(31.080429988007957,27.07394930110124,-53.97505274579958).toLchColor(),new o(27.026672080454922,28.165266427558983,-53.28987325482218).toLchColor(),new o(19.751201587921678,30.60784576895101,-52.13866519297474).toLchColor()]),new C([new o(94.70682457348717,-2.835484735987326,-6.978044694792707).toLchColor(),new o(86.8839842970016,-5.16908728759552,-17.88561192754956).toLchColor(),new o(79.0451532401558,-6.817753527015746,-28.968537490432176).toLchColor(),new o(71.15083697242613,-5.994763756850707,-39.72549451158927).toLchColor(),new o(65.48106058907833,-2.735745792537936,-48.15471238926561).toLchColor(),new o(60.43009440850862,2.079928897321559,-55.10935847069616).toLchColor(),new o(55.62267676922188,4.998684384486918,-55.02164729429915).toLchColor(),new o(49.27006645904875,8.470398370314381,-54.494796838457546).toLchColor(),new o(43.16828856394358,11.968483076143844,-53.972567377977974).toLchColor(),new o(32.17757793894193,18.96054990229354,-53.45146365049088).toLchColor()]),new C([new o(95.35713467762652,-4.797149155388203,-6.550002550504308).toLchColor(),new o(88.27942649540043,-10.836006614583892,-16.359361821940375).toLchColor(),new o(81.10009044900976,-15.323054522981716,-26.419121191320947).toLchColor(),new o(74.44713958259777,-16.664432625362547,-35.19702686900037).toLchColor(),new o(69.87836465637318,-14.291515332054693,-41.827430329755174).toLchColor(),new o(65.68851259178913,-9.612635721963692,-47.34091616039191).toLchColor(),new o(60.88357994308973,-7.252819027184943,-46.67753731595634).toLchColor(),new o(54.26166495426166,-3.8141836897908066,-45.97939475762498).toLchColor(),new o(48.10661895072673,-1.378998784464347,-44.34466750206778).toLchColor(),new o(36.34401147057282,5.067812404713545,-43.11786257561915).toLchColor()]),new C([new o(95.69295154599753,-6.898716127301141,-3.994284229654421).toLchColor(),new o(89.52842524059004,-16.412398289601725,-9.260466069266693).toLchColor(),new o(83.32031214655748,-24.83036840728098,-14.568673583304603).toLchColor(),new o(77.35338313752958,-30.201708572215104,-18.92358284721101).toLchColor(),new o(73.45322093857781,-31.88590390189383,-21.130459992513686).toLchColor(),new o(69.97638465064783,-30.679850324547953,-23.186685661136707).toLchColor(),new o(64.44491716553777,-29.08337434584457,-21.154935769156214).toLchColor(),new o(56.99816432961103,-27.31081477279451,-17.86988815767443).toLchColor(),new o(49.75464182255671,-25.335383503694242,-15.024722591662787).toLchColor(),new o(36.52725894264432,-22.129641744194515,-9.176159146894303).toLchColor()]),new C([new o(94.18453941589918,-6.08351703428972,-1.5488916051161983).toLchColor(),new o(85.68177077414457,-15.333179440298606,-2.8519825761476048).toLchColor(),new o(76.85067847190405,-24.844059173189713,-3.8750785132192656).toLchColor(),new o(68.02762242570138,-32.566861154120716,-4.015231084407134).toLchColor(),new o(61.667257304525464,-36.06752603289354,-3.4734046401753815).toLchColor(),new o(55.67310397390196,-36.66069960626328,-2.125617915169653).toLchColor(),new o(51.059149495197715,-34.65019160301408,-1.3910484300432513).toLchColor(),new o(45.269081019218405,-32.13244775422941,-.4526371852697775).toLchColor(),new o(39.36899076059384,-29.25264468583161,-.03562564673170732).toLchColor(),new o(28.58363043701477,-24.585465516136413,1.8037402162492389).toLchColor()]),new C([new o(95.30530183565223,-6.430415645739263,4.292950594459599).toLchColor(),new o(88.49014579152143,-15.23147744952702,10.848261177683138).toLchColor(),new o(81.22616870575376,-24.993886168551583,18.144696803330884).toLchColor(),new o(74.30361721558802,-35.56088696067356,26.781515251907727).toLchColor(),new o(69.0430995277442,-42.61556126595995,33.17109563126665).toLchColor(),new o(63.977421814072926,-48.54292673319982,39.73241526342939).toLchColor(),new o(58.777960853461366,-46.1153692478013,37.838910745225576).toLchColor(),new o(52.41108688974904,-43.21761792485762,35.62250659009424).toLchColor(),new o(46.2813873076426,-40.25816227675361,33.32343229338761).toLchColor(),new o(34.685655305814514,-34.75343878510312,28.866739034359767).toLchColor()]),new C([new o(96.70518169355954,-4.929987845095463,6.397084523168894).toLchColor(),new o(91.66416061199438,-12.057032041945693,16.054604579275143).toLchColor(),new o(86.2244395865449,-19.613646834080622,26.384906423454236).toLchColor(),new o(80.83404879636919,-27.080171840756893,37.378493742021334).toLchColor(),new o(76.79543725108964,-32.76659719736752,45.912190572444445).toLchColor(),new o(72.90025297028019,-37.549139223927384,53.51959496103027).toLchColor(),new o(67.21532310272079,-36.56304870773486,50.49629051268894).toLchColor(),new o(59.91051142210195,-35.77011466063357,46.56465847976187).toLchColor(),new o(52.51015841084511,-34.47903440699235,42.20723868724268).toLchColor(),new o(39.41191983353878,-32.80460974352642,35.255490585630014).toLchColor()]),new C([new o(97.99506057883428,-4.059632482741494,9.355797602381521).toLchColor(),new o(94.80926235976536,-9.237091467352855,23.230650064824985).toLchColor(),new o(91.85205843526167,-15.053917327011114,38.86115182206598).toLchColor(),new o(88.75812142080242,-19.542900400164097,53.71785675783709).toLchColor(),new o(86.27404180729515,-22.173992891121596,63.978639065232514).toLchColor(),new o(84.20566835376492,-24.270643520989342,72.79624067033038).toLchColor(),new o(78.27915100603997,-21.181850056402496,68.82763412297965).toLchColor(),new o(70.82385811892824,-17.788148932525672,64.00327817988128).toLchColor(),new o(62.936867012868035,-13.697412111684903,58.513000509287835).toLchColor(),new o(49.498610881452535,-6.485230564384715,49.67432722833751).toLchColor()]),new C([new o(98.93885129752759,-3.0098470288543178,10.765736833790008).toLchColor(),new o(97.22689784824074,-6.174599368734491,26.22932417355146).toLchColor(),new o(95.58092947828766,-8.907132848473886,43.56297291446567).toLchColor(),new o(94.09009515702486,-10.509628942710735,60.20019514231188).toLchColor(),new o(93.06546746683087,-11.008558476013008,71.76500826005477).toLchColor(),new o(92.12975017760128,-10.830023094868302,80.9090559640089).toLchColor(),new o(87.12188349168609,-2.3764300099239355,78.14868195373407).toLchColor(),new o(80.96200442419905,8.849333792729064,75.05050700092679).toLchColor(),new o(75.00342770718086,20.340173566879283,72.24841925958934).toLchColor(),new o(65.48207757431567,39.647064970476094,68.34872841768654).toLchColor()]),new C([new o(97.5642392074337,-1.445525639405032,11.881254316297674).toLchColor(),new o(93.67057953749456,-1.8693096862072434,30.02888670415651).toLchColor(),new o(89.94571492804107,-1.0224503814769692,49.649542361642276).toLchColor(),new o(86.71009164153801,1.0496066396428194,68.77377342409739).toLchColor(),new o(83.78773993319211,5.248231820098425,78.92920457852716).toLchColor(),new o(81.52191382080228,9.403655370707199,82.69257112982746).toLchColor(),new o(78.17240973804697,16.628512886531887,81.09358318806208).toLchColor(),new o(73.80899654381052,26.53614315250874,78.21754052181723).toLchColor(),new o(70.1134511665764,35.3007623359744,75.87510992138593).toLchColor(),new o(63.86460405565717,50.94648214505959,72.17815682124423).toLchColor()]),new C([new o(96.30459517801387,.923151172282477,10.598439446083074).toLchColor(),new o(90.68320082865087,4.103774964681062,26.485793721916128).toLchColor(),new o(85.00055287186233,9.047181758866651,44.51407622580792).toLchColor(),new o(79.42428495742953,16.452610724439875,62.08721739074201).toLchColor(),new o(75.47792699289774,23.395742928451867,72.64347611236501).toLchColor(),new o(72.04246561548388,30.681921012382098,77.08579298904603).toLchColor(),new o(68.94724338946975,35.22014778433863,74.88425044595111).toLchColor(),new o(64.83017495535229,40.91200730099703,71.9596053545428).toLchColor(),new o(60.8534207471871,46.41483590510681,69.18061963415211).toLchColor(),new o(54.77571742962287,55.282751019360035,65.10193403547922).toLchColor()]),new C([new o(93.69219844671957,5.763979334358293,3.1700162796469034).toLchColor(),new o(86.04629434276428,15.750843803958192,14.828476927090994).toLchColor(),new o(77.54010042938336,27.90113842540043,25.99645229289065).toLchColor(),new o(69.74095456707857,41.14487377552256,39.443320178900024).toLchColor(),new o(64.37085344539341,51.890379620443575,50.81312471046415).toLchColor(),new o(60.06780837277435,61.65258736118817,61.54771829165221).toLchColor(),new o(57.28707915232363,60.3250664308812,60.07341536376447).toLchColor(),new o(53.810052616293845,58.36760943780162,58.19586806694884).toLchColor(),new o(50.301352405105874,56.40104898089937,55.924141992404344).toLchColor(),new o(43.86477994548343,52.970887703910726,52.30067989225532).toLchColor()]),new C([new o(93.29864888069987,.9915456090475727,1.442353076378411).toLchColor(),new o(82.80884359004081,3.116221903342209,3.3523059451463055).toLchColor(),new o(70.95493047668185,5.469742193344784,5.449009494553492).toLchColor(),new o(58.712934619103066,7.990991075363385,8.352488495367627).toLchColor(),new o(49.150208552875895,10.570984981000397,10.831440151197924).toLchColor(),new o(39.63200151837749,13.138881961627241,13.531574711511885).toLchColor(),new o(35.600996682015754,12.40352847757295,12.10432183902449).toLchColor(),new o(30.084271265759952,11.317148149878081,10.547484304296217).toLchColor(),new o(24.555014696416578,10.816613316782464,8.506555306791984).toLchColor(),new o(18.35055226514404,10.225725550338765,7.058582769882571).toLchColor()]),new C([new o(98.27202740980219,-16418393644634932e-21,6567357457853973e-21).toLchColor(),new o(96.53749336548567,-1616917905122861e-20,6467671598286984e-21).toLchColor(),new o(94.0978378987781,-1581865383126768e-20,6327461532507073e-21).toLchColor(),new o(89.17728373493613,-1511167768697419e-20,6044671074789676e-21).toLchColor(),new o(76.61119902231323,-1330620591488696e-20,5322482343750323e-21).toLchColor(),new o(65.11424774127516,-11654345155598378e-21,4661738062239351e-21).toLchColor(),new o(49.238989620828065,-9373417431124409e-21,37493669724497636e-22).toLchColor(),new o(41.14266843804848,-8210152946386273e-21,32840611896567395e-22).toLchColor(),new o(27.974857206003705,-6318226192236764e-21,25272904768947058e-22).toLchColor(),new o(12.740011331302725,-4129311698131133e-21,16517246792524531e-22).toLchColor()]),new C([new o(94.27665212516236,-.637571046109342,-1.313515378996688).toLchColor(),new o(85.77788001492097,-2.2777811084512822,-3.0177758416151557).toLchColor(),new o(76.12296325015231,-3.401502988883809,-5.16867892977908).toLchColor(),new o(66.16340108908365,-4.819627183079045,-7.520697631614404).toLchColor(),new o(58.35752478513645,-5.7195089100892105,-9.165988916613488).toLchColor(),new o(50.70748082202715,-6.837992965799455,-10.956055112409357).toLchColor(),new o(44.85917867647632,-6.411990559239578,-9.74511982878765).toLchColor(),new o(36.92458930566504,-5.319878610845596,-8.341943474561553).toLchColor(),new o(29.115334784637618,-4.168907828645069,-6.8629962199973304).toLchColor(),new o(19.958338450799914,-3.3116721453186617,-5.4486142104736786).toLchColor()])];var ao=c=>{let t=d(c);if(t==null)return null;let r=t.toHslColor();return f(r)},Co=c=>{let t=d(c);if(t==null)return null;let r=t.toHslColor().complementaryColor;return f(r)},io=c=>{let t=d(c);return t==null?null:t.toHslColor().analogousColor.map(e=>f(e))},wo=c=>{let t=d(c);return t==null?null:t.toHslColor().triadicColor.map(e=>f(e))},f=c=>{let t=c.toRgbColor().toXyzColor().toLabColor().toLchColor();return S(t).createCustomPalette(t).map(n=>n.toLabColor().toXyzColor().toRgbColor())},S=c=>{let t=H.map(n=>n.minDeltaE(c)),r=Math.min(...t),e=t.indexOf(r);return H[e]},d=c=>{let t=parseInt(c,16),r=null;if(c.length===8){let e=(t>>24&255)/255,n=(t>>16&255)/255,l=(t>>8&255)/255,s=(t&255)/255;r=new w(e,n,l,s);}if(c.length===6){let e=(t>>16&255)/255,n=(t>>8&255)/255,l=(t&255)/255;r=new w(e,n,l);}return r};
exports.RgbColor = w;
exports.createAnalogousPalette = io;
exports.createComplementaryPalette = Co;
exports.createPrimaryPalette = ao;
exports.createTriadicPalette = wo;
exports.toRgbColorOrNull = d;
//# sourceMappingURL=out.js.map
//# sourceMappingURL=index.js.map