matercolors
Version:
A tiny, zero-dependency libary for building harmonious material palettes for any color.
3 lines (2 loc) • 20.6 kB
JavaScript
var e=[50,100,200,300,400,500,600,700,800,900,"A100","A200","A400","A700"],n={threshold:128,light:200,main:500,dark:700};function t(e){var n=e.r/255,t=e.g/255,w=e.b/255,a=Math.min(n,t,w),r=Math.max(n,t,w),h=r-a,o=0,i=0,F=0;return o=0===h?0:r===n?(t-w)/h%6:r===t?(w-n)/h+2:(n-t)/h+4,(o=Math.round(60*o))<0&&(o+=360),F=(r+a)/2,{h:o,s:i=+(100*(i=0===h?0:h/(1-Math.abs(2*F-1)))).toFixed(1),l:F=+(100*F).toFixed(1),string:"hsl("+o+","+i+"%,"+F+"%)"}}function w(e){var n=e.r/255,t=e.g/255,w=e.b/255,a=Math.min(1-n,1-t,1-w),r=parseFloat((100*((1-n-a)/(1-a)||0)).toFixed(4)),h=parseFloat((100*((1-t-a)/(1-a)||0)).toFixed(4)),o=parseFloat((100*((1-w-a)/(1-a)||0)).toFixed(4));return a*=100,{c:r,y:o,m:h,k:a=parseFloat(a.toFixed(4)),string:"cymk("+r+"%,"+o+"%,"+h+"%,"+a+"%)"}}function a(e){var n=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);return n?{r:parseInt(n[1],16),g:parseInt(n[2],16),b:parseInt(n[3],16)}:{}}function r(e){return{red:e.r/255,green:e.g/255,blue:e.b/255,alpha:1}}function h(e){var n=e.toString(16);return 1===n.length?"0"+n:n}function o(e,n,t){return"#"+h(e)+h(n)+h(t)}function i(e,n){var t=e.g,w=e.b;return(Math.round(299*e.r)+Math.round(587*t)+Math.round(114*w))/1e3>=n?"black":"white"}function F(e,n,t){if(Number.isNaN(e)||e<0||e>n)throw new RangeError(e+" for "+t+" is not between 0 and "+n)}function s(e){return e<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4)}function u(e){var n=1/(3*Math.pow(6/29,2));return e>Math.pow(6/29,3)?Math.pow(e,1/3):n*e+4/29}function M(e,n,t){return Math.min(Math.max(e,n),t)}function p(e){return e<=.0031308?12.92*e:1.055*Math.pow(e,1/2.4)-.055}function g(e){var n=3*Math.pow(6/29,2);return e>6/29?Math.pow(e,3):n*(e-4/29)}function l(e,n){if(Math.abs(e)<1e-4&&Math.abs(n)<1e-4)return 0;var t=180*Math.atan2(e,n)/Math.PI;return t>=0?t:t+360}var c=function(e,n,t,w){var a=void 0===w?1:w;this.red=e,this.green=n,this.blue=t,this.alpha=a,F(e,1,"red"),F(n,1,"green"),F(t,1,"blue"),F(a,1,"alpha")},d=function(e,n,t,w){var a=void 0===w?1:w;this.g=e,this.T=n,this.hue=t,this.alpha=a,F(e,Number.MAX_VALUE,"lightness"),F(n,Number.MAX_VALUE,"chroma"),F(t,360,"hue"),F(a,1,"alpha")};function f(e){return new d(e.g,Math.sqrt(Math.pow(e.A,2)+Math.pow(e.B,2)),(180*Math.atan2(e.B,e.A)/Math.PI+360)%360,e.alpha)}var b=function(e,n,t,w){var a=void 0===w?1:w;this.g=e,this.A=n,this.B=t,this.alpha=a,F(e,Number.MAX_VALUE,"lightness"),F(a,1,"alpha")};function v(e){var n=s(e.red),t=s(e.green),w=s(e.blue),a=.2126729*n+.7151522*t+.072175*w;return new b(116*u(a)-16,500*(u((.4124564*n+.3575761*t+.1804375*w)/.95047)-u(a)),200*(u(a)-u((.0193339*n+.119192*t+.9503041*w)/1.08883)),e.alpha)}var A=[[new b(94.67497003305085,7.266715066863771,1.000743882272359),new b(86.7897416761699,18.370736761658012,4.23637133971424),new b(72.0939162832561,31.7948058298117,13.2972443996896),new b(61.79353370051851,44.129498163764545,20.721477326799608),new b(57.194195398949574,59.6450006197361,34.999830012940194),new b(55.603951071861374,66.01287384845483,47.67169313982772),new b(51.66348502954747,64.7487785020625,43.244876694855286),new b(47.09455666350969,62.29836039074277,40.67775424698388),new b(43.77122063388739,60.28633509183384,40.31444686692952),new b(39.555187078007386,58.703681355389975,41.66495027798629)],[new b(92.68053776327665,9.515385232804263,-.8994072969754852),new b(81.86756643628922,25.05688089723257,-1.9475235115390621),new b(70.90987389545768,42.21705257720526,-1.095154624057959),new b(61.08140805216186,58.871233307587204,2.1008764804626434),new b(54.97970219986448,68.56530938366889,7.327430728560569),new b(50.872250340749176,74.60459195925529,15.353576256896073),new b(47.27738650144558,70.77855776427805,11.70434273264508),new b(42.58424189486517,65.5411953138309,7.595596439803797),new b(37.977492407254836,60.74362621842075,2.9847124951453474),new b(29.699290034849604,51.90485023721311,-4.830186634107636)],[new b(92.4362655169016,7.542927467702299,-6.039842848605881),new b(81.07399776904751,19.563870217805036,-15.719625491986044),new b(68.71394717711831,33.79992812490556,-26.49539972339321),new b(56.596161226236305,47.5856631835152,-36.480816605410915),new b(48.002791217624434,57.30866443934879,-43.2561127152548),new b(40.66211534692161,64.01910773818436,-48.05930162591041),new b(37.690702208992185,61.13762767732481,-49.384803274243026),new b(33.56291870731981,57.637381239254104,-51.39557249855828),new b(29.865391314234515,54.29737439901333,-52.6601973712463),new b(23.16724235420436,48.51764437280498,-55.16267949015293)],[new b(92.49103426017201,4.712320025752947,-6.532868071709763),new b(81.24668319505597,11.50642734909485,-16.666600637245367),new b(68.61488216554629,20.395329051982824,-28.522018851715416),new b(55.60369793053023,30.933537768905005,-41.16439122358484),new b(45.834566190969426,39.28806272235674,-50.523322052772635),new b(36.608620229358664,47.29686002828143,-59.111766586186846),new b(34.189791237562616,46.60426065139123,-59.53961627676729),new b(30.52713367338361,46.01498224754519,-60.19975052509064),new b(27.44585524877222,44.96180431854785,-60.46395810756433),new b(21.98627670328218,44.29296076245473,-60.93653655172098)],[new b(92.86314411983918,1.5318147061061937,-6.025243528950552),new b(81.8348073705298,4.460934955458907,-15.873561009736136),new b(69.7796913795672,7.9043652558912765,-26.3170846346932),new b(57.48786519938736,12.681019504822533,-37.23202012914528),new b(47.74592578811101,18.520799302452374,-46.47540679000397),new b(38.334403614455404,25.57700668170812,-55.28224153299287),new b(35.15116453901552,26.231812080381168,-54.53700978785404),new b(31.080429988007957,27.07394930110124,-53.97505274579958),new b(27.026672080454922,28.165266427558983,-53.28987325482218),new b(19.751201587921678,30.60784576895101,-52.13866519297474)],[new b(94.70682457348717,-2.835484735987326,-6.978044694792707),new b(86.8839842970016,-5.16908728759552,-17.88561192754956),new b(79.0451532401558,-6.817753527015746,-28.968537490432176),new b(71.15083697242613,-5.994763756850707,-39.72549451158927),new b(65.48106058907833,-2.735745792537936,-48.15471238926561),new b(60.43009440850862,2.079928897321559,-55.10935847069616),new b(55.62267676922188,4.998684384486918,-55.02164729429915),new b(49.27006645904875,8.470398370314381,-54.494796838457546),new b(43.16828856394358,11.968483076143844,-53.972567377977974),new b(32.17757793894193,18.96054990229354,-53.45146365049088)],[new b(95.35713467762652,-4.797149155388203,-6.550002550504308),new b(88.27942649540043,-10.836006614583892,-16.359361821940375),new b(81.10009044900976,-15.323054522981716,-26.419121191320947),new b(74.44713958259777,-16.664432625362547,-35.19702686900037),new b(69.87836465637318,-14.291515332054693,-41.827430329755174),new b(65.68851259178913,-9.612635721963692,-47.34091616039191),new b(60.88357994308973,-7.252819027184943,-46.67753731595634),new b(54.26166495426166,-3.8141836897908066,-45.97939475762498),new b(48.10661895072673,-1.378998784464347,-44.34466750206778),new b(36.34401147057282,5.067812404713545,-43.11786257561915)],[new b(95.69295154599753,-6.898716127301141,-3.994284229654421),new b(89.52842524059004,-16.412398289601725,-9.260466069266693),new b(83.32031214655748,-24.83036840728098,-14.568673583304603),new b(77.35338313752958,-30.201708572215104,-18.92358284721101),new b(73.45322093857781,-31.88590390189383,-21.130459992513686),new b(69.97638465064783,-30.679850324547953,-23.186685661136707),new b(64.44491716553777,-29.08337434584457,-21.154935769156214),new b(56.99816432961103,-27.31081477279451,-17.86988815767443),new b(49.75464182255671,-25.335383503694242,-15.024722591662787),new b(36.52725894264432,-22.129641744194515,-9.176159146894303)],[new b(94.18453941589918,-6.08351703428972,-1.5488916051161983),new b(85.68177077414457,-15.333179440298606,-2.8519825761476048),new b(76.85067847190405,-24.844059173189713,-3.8750785132192656),new b(68.02762242570138,-32.566861154120716,-4.015231084407134),new b(61.667257304525464,-36.06752603289354,-3.4734046401753815),new b(55.67310397390196,-36.66069960626328,-2.125617915169653),new b(51.059149495197715,-34.65019160301408,-1.3910484300432513),new b(45.269081019218405,-32.13244775422941,-.4526371852697775),new b(39.36899076059384,-29.25264468583161,-.03562564673170732),new b(28.58363043701477,-24.585465516136413,1.8037402162492389)],[new b(95.30530183565223,-6.430415645739263,4.292950594459599),new b(88.49014579152143,-15.23147744952702,10.848261177683138),new b(81.22616870575376,-24.993886168551583,18.144696803330884),new b(74.30361721558802,-35.56088696067356,26.781515251907727),new b(69.0430995277442,-42.61556126595995,33.17109563126665),new b(63.977421814072926,-48.54292673319982,39.73241526342939),new b(58.777960853461366,-46.1153692478013,37.838910745225576),new b(52.41108688974904,-43.21761792485762,35.62250659009424),new b(46.2813873076426,-40.25816227675361,33.32343229338761),new b(34.685655305814514,-34.75343878510312,28.866739034359767)],[new b(96.70518169355954,-4.929987845095463,6.397084523168894),new b(91.66416061199438,-12.057032041945693,16.054604579275143),new b(86.2244395865449,-19.613646834080622,26.384906423454236),new b(80.83404879636919,-27.080171840756893,37.378493742021334),new b(76.79543725108964,-32.76659719736752,45.912190572444445),new b(72.90025297028019,-37.549139223927384,53.51959496103027),new b(67.21532310272079,-36.56304870773486,50.49629051268894),new b(59.91051142210195,-35.77011466063357,46.56465847976187),new b(52.51015841084511,-34.47903440699235,42.20723868724268),new b(39.41191983353878,-32.80460974352642,35.255490585630014)],[new b(97.99506057883428,-4.059632482741494,9.355797602381521),new b(94.80926235976536,-9.237091467352855,23.230650064824985),new b(91.85205843526167,-15.053917327011114,38.86115182206598),new b(88.75812142080242,-19.542900400164097,53.71785675783709),new b(86.27404180729515,-22.173992891121596,63.978639065232514),new b(84.20566835376492,-24.270643520989342,72.79624067033038),new b(78.27915100603997,-21.181850056402496,68.82763412297965),new b(70.82385811892824,-17.788148932525672,64.00327817988128),new b(62.936867012868035,-13.697412111684903,58.513000509287835),new b(49.498610881452535,-6.485230564384715,49.67432722833751)],[new b(98.93885129752759,-3.0098470288543178,10.765736833790008),new b(97.22689784824074,-6.174599368734491,26.22932417355146),new b(95.58092947828766,-8.907132848473886,43.56297291446567),new b(94.09009515702486,-10.509628942710735,60.20019514231188),new b(93.06546746683087,-11.008558476013008,71.76500826005477),new b(92.12975017760128,-10.830023094868302,80.9090559640089),new b(87.12188349168609,-2.3764300099239355,78.14868195373407),new b(80.96200442419905,8.849333792729064,75.05050700092679),new b(75.00342770718086,20.340173566879283,72.24841925958934),new b(65.48207757431567,39.647064970476094,68.34872841768654)],[new b(97.5642392074337,-1.445525639405032,11.881254316297674),new b(93.67057953749456,-1.8693096862072434,30.02888670415651),new b(89.94571492804107,-1.0224503814769692,49.649542361642276),new b(86.71009164153801,1.0496066396428194,68.77377342409739),new b(83.78773993319211,5.248231820098425,78.92920457852716),new b(81.52191382080228,9.403655370707199,82.69257112982746),new b(78.17240973804697,16.628512886531887,81.09358318806208),new b(73.80899654381052,26.53614315250874,78.21754052181723),new b(70.1134511665764,35.3007623359744,75.87510992138593),new b(63.86460405565717,50.94648214505959,72.17815682124423)],[new b(96.30459517801387,.923151172282477,10.598439446083074),new b(90.68320082865087,4.103774964681062,26.485793721916128),new b(85.00055287186233,9.047181758866651,44.51407622580792),new b(79.42428495742953,16.452610724439875,62.08721739074201),new b(75.47792699289774,23.395742928451867,72.64347611236501),new b(72.04246561548388,30.681921012382098,77.08579298904603),new b(68.94724338946975,35.22014778433863,74.88425044595111),new b(64.83017495535229,40.91200730099703,71.9596053545428),new b(60.8534207471871,46.41483590510681,69.18061963415211),new b(54.77571742962287,55.282751019360035,65.10193403547922)],[new b(93.69219844671957,5.763979334358293,3.1700162796469034),new b(86.04629434276428,15.750843803958192,14.828476927090994),new b(77.54010042938336,27.90113842540043,25.99645229289065),new b(69.74095456707857,41.14487377552256,39.443320178900024),new b(64.37085344539341,51.890379620443575,50.81312471046415),new b(60.06780837277435,61.65258736118817,61.54771829165221),new b(57.28707915232363,60.3250664308812,60.07341536376447),new b(53.810052616293845,58.36760943780162,58.19586806694884),new b(50.301352405105874,56.40104898089937,55.924141992404344),new b(43.86477994548343,52.970887703910726,52.30067989225532)],[new b(93.29864888069987,.9915456090475727,1.442353076378411),new b(82.80884359004081,3.116221903342209,3.3523059451463055),new b(70.95493047668185,5.469742193344784,5.449009494553492),new b(58.712934619103066,7.990991075363385,8.352488495367627),new b(49.150208552875895,10.570984981000397,10.831440151197924),new b(39.63200151837749,13.138881961627241,13.531574711511885),new b(35.600996682015754,12.40352847757295,12.10432183902449),new b(30.084271265759952,11.317148149878081,10.547484304296217),new b(24.555014696416578,10.816613316782464,8.506555306791984),new b(18.35055226514404,10.225725550338765,7.058582769882571)],[new b(98.27202740980219,-16418393644634932e-21,6567357457853973e-21),new b(96.53749336548567,-1616917905122861e-20,6467671598286984e-21),new b(94.0978378987781,-1581865383126768e-20,6327461532507073e-21),new b(89.17728373493613,-1511167768697419e-20,6044671074789676e-21),new b(76.61119902231323,-1330620591488696e-20,5322482343750323e-21),new b(65.11424774127516,-11654345155598378e-21,4661738062239351e-21),new b(49.238989620828065,-9373417431124409e-21,37493669724497636e-22),new b(41.14266843804848,-8210152946386273e-21,32840611896567395e-22),new b(27.974857206003705,-6318226192236764e-21,25272904768947058e-22),new b(12.740011331302725,-4129311698131133e-21,16517246792524531e-22)],[new b(94.27665212516236,-.637571046109342,-1.313515378996688),new b(85.77788001492097,-2.2777811084512822,-3.0177758416151557),new b(76.12296325015231,-3.401502988883809,-5.16867892977908),new b(66.16340108908365,-4.819627183079045,-7.520697631614404),new b(58.35752478513645,-5.7195089100892105,-9.165988916613488),new b(50.70748082202715,-6.837992965799455,-10.956055112409357),new b(44.85917867647632,-6.411990559239578,-9.74511982878765),new b(36.92458930566504,-5.319878610845596,-8.341943474561553),new b(29.115334784637618,-4.168907828645069,-6.8629962199973304),new b(19.958338450799914,-3.3116721453186617,-5.4486142104736786)]],m=[[new v(r(a("#FF8A80"))),new v(r(a("#FF5252"))),new v(r(a("#FF1744"))),new v(r(a("#D50000")))],[new v(r(a("#FF80AB"))),new v(r(a("#FF4081"))),new v(r(a("#F50057"))),new v(r(a("#C51162")))],[new v(r(a("#EA80FC"))),new v(r(a("#E040FB"))),new v(r(a("#D500F9"))),new v(r(a("#AA00FF")))],[new v(r(a("#B388FF"))),new v(r(a("#7C4DFF"))),new v(r(a("#651FFF"))),new v(r(a("#6200EA")))],[new v(r(a("#8C9EFF"))),new v(r(a("#536DFE"))),new v(r(a("#3D5AFE"))),new v(r(a("#304FFE")))],[new v(r(a("#82B1FF"))),new v(r(a("#448AFF"))),new v(r(a("#2979FF"))),new v(r(a("#2962FF")))],[new v(r(a("#80D8FF"))),new v(r(a("#40C4FF"))),new v(r(a("#00B0FF"))),new v(r(a("#0091EA")))],[new v(r(a("#84FFFF"))),new v(r(a("#18FFFF"))),new v(r(a("#00E5FF"))),new v(r(a("#00B8D4")))],[new v(r(a("#A7FFEB"))),new v(r(a("#64FFDA"))),new v(r(a("#1DE9B6"))),new v(r(a("#00BFA5")))],[new v(r(a("#B9F6CA"))),new v(r(a("#69F0AE"))),new v(r(a("#00E676"))),new v(r(a("#00C853")))],[new v(r(a("#CCFF90"))),new v(r(a("#B2FF59"))),new v(r(a("#76FF03"))),new v(r(a("#64DD17")))],[new v(r(a("#F4FF81"))),new v(r(a("#EEFF41"))),new v(r(a("#C6FF00"))),new v(r(a("#AEEA00")))],[new v(r(a("#FFFF8D"))),new v(r(a("#FFFF00"))),new v(r(a("#FFEA00"))),new v(r(a("#FFD600")))],[new v(r(a("#FFE57F"))),new v(r(a("#FFD740"))),new v(r(a("#FFC400"))),new v(r(a("#FFAB00")))],[new v(r(a("#FFD180"))),new v(r(a("#FFAB40"))),new v(r(a("#FF9100"))),new v(r(a("#FF6D00")))],[new v(r(a("#FF9E80"))),new v(r(a("#FF6E40"))),new v(r(a("#FF3D00"))),new v(r(a("#DD2C00")))]],E=[2.048875457,5.124792061,8.751659557,12.07628774,13.91449542,15.92738893,15.46585818,15.09779227,15.13738673,15.09818372],B=[1.762442714,4.213532634,7.395827458,11.07174158,13.89634504,16.37591477,16.27071136,16.54160806,17.35916727,19.88410864];function x(e,n){var t,w=n?2:5;t=void 0===t?n?m:A:t;var a=v(e),r=function(e,n,t){var w=void 0===n?t?m:A:n,a=w[0],r=-1;if(!w.length||!w[0].length)throw Error("Invalid golden palettes");for(var h=Infinity,o=0;o<w.length;o+=1)for(var i=0;i<w[o].length&&h>0;i+=1){var F=w[o][i],s=(F.g+e.g)/2,u=Math.sqrt(Math.pow(F.A,2)+Math.pow(F.B,2)),M=Math.sqrt(Math.pow(e.A,2)+Math.pow(e.B,2)),p=(u+M)/2;p=.5*(1-Math.sqrt(Math.pow(p,7)/(Math.pow(p,7)+Math.pow(25,7))));var g=F.A*(1+p),c=e.A*(1+p),d=Math.sqrt(Math.pow(g,2)+Math.pow(F.B,2)),f=Math.sqrt(Math.pow(c,2)+Math.pow(e.B,2));p=f-d;var b=(d+f)/2;g=l(F.B,g),c=l(e.B,c),d=2*Math.sqrt(d*f)*Math.sin((Math.abs(u)<1e-4||Math.abs(M)<1e-4?0:Math.abs(c-g)<=180?c-g:c<=g?c-g+360:c-g-360)/2*Math.PI/180),u=Math.abs(u)<1e-4||Math.abs(M)<1e-4?0:Math.abs(c-g)<=180?(g+c)/2:g+c<360?(g+c+360)/2:(g+c-360)/2,M=1+.045*b,f=1+.015*b*(1-.17*Math.cos((u-30)*Math.PI/180)+.24*Math.cos(2*u*Math.PI/180)+.32*Math.cos((3*u+6)*Math.PI/180)-.2*Math.cos((4*u-63)*Math.PI/180)),(F=Math.sqrt(Math.pow((e.g-F.g)/(1+.015*Math.pow(s-50,2)/Math.sqrt(20+Math.pow(s-50,2))),2)+Math.pow(p/(1*M),2)+Math.pow(d/(1*f),2)+p/(1*M)*Math.sqrt(Math.pow(b,7)/(Math.pow(b,7)+Math.pow(25,7)))*Math.sin(60*Math.exp(-Math.pow((u-275)/25,2))*Math.PI/180)*-2*(d/(1*f))))<h&&(h=F,a=w[o],r=i)}return{fd:a,ed:r}}(a,t,n),h=(t=r.fd)[r=r.ed],o=f(h),i=f(a),F=f(t[w]).T<30,s=o.g-i.g,u=o.T-i.T,x=o.hue-i.hue,D=E[r],y=B[r],I=100;return t.map(function(n,t){var w=n,a=t;if(w===h)return I=Math.max(i.g-1.7,0),e;var r=(w=f(w)).g-E[a]/D*s;r=Math.min(r,I),a=new d(M(r,0,100),Math.max(0,F?w.T-u:w.T-u*Math.min(B[a]/y,1.25)),(w.hue-x+360)%360),I=Math.max(a.g-1.7,0),w=a.hue*Math.PI/180;var o=((a=new b(a.g,a.T*Math.cos(w),a.T*Math.sin(w),a.alpha)).g+16)/116;return w=.95047*g(o+a.A/500),r=1*g(o),o=1.08883*g(o-a.B/200),new c(M(p(3.2404542*w+-1.5371385*r+-.4985314*o),0,1),M(p(-.969266*w+1.8760108*r+.041556*o),0,1),M(p(.0556434*w+-.2040259*r+1.0572252*o),0,1),a.alpha)})}var D=function(){function h(e,t){this.color=e;var w=function(e){var n,t,w=a(e),r=w.r/255,h=w.g/255,o=w.b/255,i=Math.max(r,h,o),F=Math.min(r,h,o),s=(i+F)/2;if(i===F)n=0,t=0;else{var u=i-F;t=s>.5?u/(2-i-F):u/(i+F),i===r&&h>=o?n=1.0472*(h-o)/u:i===r&&h<o?n=1.0472*(h-o)/u+6.2832:i===h?n=1.0472*(o-r)/u+2.0944:i===o&&(n=1.0472*(r-h)/u+4.1888)}if(n=n/6.2832*360+0,(n+=180)>360&&(n-=360),n/=360,0===t)r=s,h=s,o=s;else{var M=function(e,n,t){var w=t;return w<0&&(w+=1),w>1&&(w-=1),w<1/6?e+6*(n-e)*w:w<.5?n:w<2/3?e+(n-e)*(2/3-w)*6:e},p=s<.5?s*(1+t):s+t-s*t,g=2*s-p;r=M(g,p,n+1/3),h=M(g,p,n),o=M(g,p,n-1/3)}return r=Math.round(255*r),h=Math.round(255*h),"#"+((o=Math.round(255*o))|h<<8|r<<16|16777216).toString(16).substring(1)}(e);this.complementary=function(){return w},this.options=t?Object.assign(n,t):n;var r={};this.palette=function(){return r},this.getPalette()}var F=h.prototype;return F.shades=function(e){return{light:this.palette()[e][this.options.light],main:this.palette()[e][this.options.main],dark:this.palette()[e][this.options.dark]}},F.accents=function(e){return{A100:this.palette()[e].A100,A200:this.palette()[e].A200,A400:this.palette()[e].A400,A700:this.palette()[e].A700}},F.getPalette=function(){this.palette().primary={},this.palette().secondary={};var n=x(r(a(this.color))).map(function(e){return o(Math.round(255*e.red),Math.round(255*e.green),Math.round(255*e.blue))}),h=x(r(a(this.color)),!0).map(function(e){return o(Math.round(255*e.red),Math.round(255*e.green),Math.round(255*e.blue))}),F=x(r(a(this.complementary()))).map(function(e){return o(Math.round(255*e.red),Math.round(255*e.green),Math.round(255*e.blue))}),s=x(r(a(this.complementary())),!0).map(function(e){return o(Math.round(255*e.red),Math.round(255*e.green),Math.round(255*e.blue))});n.push.apply(n,h);for(var u=0;u<e.length;u+=1){var M={};M.hex=n[u],M.rgb=a(n[u]),M.rgb.string="rgb("+M.rgb.r+","+M.rgb.g+","+M.rgb.b+")",M.hsl=t(M.rgb),M.cymk=w(M.rgb),M.contrastText=i(M.rgb,this.options.threshold),this.palette().primary[e[u]]=M}F.push.apply(F,s);for(var p=0;p<e.length;p+=1){var g={};g.hex=F[p],g.rgb=a(F[p]),g.rgb.string="rgb("+g.rgb.r+","+g.rgb.g+","+g.rgb.b+")",g.hsl=t(g.rgb),g.cymk=w(g.rgb),g.contrastText=i(g.rgb,this.options.threshold),this.palette().secondary[e[p]]=g}},h}();export default D;
//# sourceMappingURL=index.mjs.map