twin-moon-color
Version:
Generate dark or light color automatically for MUI
3 lines (2 loc) • 6.77 kB
JavaScript
var e=function(e,r,a){void 0===e&&(e=0),void 0===r&&(r=0),void 0===a&&(a=0),a/=100;var t=function(r){return(r+e/30)%12},f=(r/=100)*Math.min(a,1-a),n=function(e){return Math.round(255*function(e){return a-f*Math.max(-1,Math.min(t(e)-3,Math.min(9-t(e),1)))}(e))};return[n(0),n(8),n(4)]},r=function(e,r,a){var t=function(e){var r=e.toString(16);return 2!=r.length?"0"+r:r};return"#"+t(e)+t(r)+t(a)},a=function(a){var t,f=4===(t=a).length?function(e){var r=e.slice(1,2),a=e.slice(2,3),t=e.slice(3,4);return[r=parseInt(r+r,16),a=parseInt(a+a,16),t=parseInt(t+t,16)]}(t):[parseInt(t.slice(1,3),16),parseInt(t.slice(3,5),16),parseInt(t.slice(5,7),16)],n=function(e,r,a){void 0===e&&(e=0),void 0===r&&(r=0),void 0===a&&(a=0),e/=255,r/=255,a/=255;var t=Math.max(e,r,a),f=t-Math.min(e,r,a),n=f?t===e?(r-a)/f:t===r?2+(a-e)/f:4+(e-r)/f:0;return[60*n<0?60*n+360:60*n,100*(f?t<=.5?f/(2*t-f):f/(2-(2*t-f)):0),100*(2*t-f)/2]}(f[0],f[1],f[2]),l=n[2],i=100-l;i>=35&&i<=44&&(i-=15),i>=45&&i<=55&&(i-=35),i>=56&&i<=65&&(i+=10),i<0&&(i=0),i>100&&(i=100);var d=e(n[0],n[1],i),o=a,c=r(d[0],d[1],d[2]);return l>i?{light:o,dark:c}:{light:c,dark:o}},t={black:"#000000",silver:"#c0c0c0",gray:"#808080",white:"#ffffff",maroon:"#800000",red:"#ff0000",purple:"#800080",fuchsia:"#ff00ff",green:"#008000",lime:"#00ff00",olive:"#808000",yellow:"#ffff00",navy:"#000080",blue:"#0000ff",teal:"#008080",aqua:"#00ffff",aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",blanchedalmond:"#ffebcd",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",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",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",greenyellow:"#adff2f",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:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",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",oldlace:"#fdf5e6",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",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",whitesmoke:"#f5f5f5",yellowgreen:"#9acd32"},f=/!/,n=/\*/,l=function(){var a=[].slice.call(arguments);if(!a)return null;var l=!1,i=!1,d="",o="rgb",c=0;switch(a.length){case 1:if(a=a[0].trim(),l=f.test(a),i=n.test(a),"string"!=typeof(a=a.replace("*","").replace("!","")))return null;var u=function(e){if(e)return e=e.trim().toLocaleLowerCase(),t[e]}(a);if(u){d=u;break}if(a=a.startsWith("#")?a:"#"+a,!/^#[0-9a-z]{6}$/gi.test(a)&&!/^#[0-9a-z]{3}$/gi.test(a))return null;d=a;break;case 4:l=a[0].includes("!"),i=a[0].includes("*"),a[0].includes("h")&&(o="h"),a[0].includes("r")&&(o="r"),c=1;case 3:"h"===o&&(a=e(a[c],a[c+1],a[c+2]),c=0),d=r(a[c],a[c+1],a[c+2]);break;default:return null}return{hex:d,swipeTheme:l,sameColor:i}},i=function(){var e=[].slice.call(arguments);Array.isArray(e[0])&&(e=[].concat(e[0]));var r,t=l.apply(void 0,e);if(!t)return null;if(r=t.sameColor?{light:t.hex,dark:t.hex}:a(t.hex),t.swipeTheme){var f=r.light;r.light=r.dark,r.dark=f}return r},d=function(e,r,a,t){if("object"!=typeof t)return null;for(var f={},n=0,l=Object.entries(t);n<l.length;n++){var d,o,c=l[n],u=c[0],s=c[1];if("string"!=typeof s&&!Array.isArray(s))return null;f=i(s),e.palette[a]?e.palette[a][u]=f.light:e.palette[a]=((d={})[u]=f.light,d),r.palette[a]?r.palette[a][u]=f.dark:r.palette[a]=((o={})[u]=f.dark,o)}return!0};function o(e,r){(null==r||r>e.length)&&(r=e.length);for(var a=0,t=new Array(r);a<r;a++)t[a]=e[a];return t}var c=function(e,r,a,t){var f=a.split(".");if(f.length<=1)return null;for(var n,l,d,c=i(t),u=e.palette,s=r.palette,b=function(e,r){var a="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(a)return(a=a.call(e)).next.bind(a);if(Array.isArray(e)||(a=function(e,r){if(e){if("string"==typeof e)return o(e,r);var a=Object.prototype.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?o(e,r):void 0}}(e))){a&&(e=a);var t=0;return function(){return t>=e.length?{done:!0}:{done:!1,value:e[t++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(f);!(d=b()).done;){var g=d.value;u[g]=u[g]?u[g]:{},n=u,u=u[g],s[g]=s[g]?s[g]:{},l=s,s=s[g]}var h=f[f.length-1];return n[h]=c.light,l[h]=c.dark,!0},u=function(e,r,a,t){var f=i(t);return e.palette[a]={main:f.light},r.palette[a]={main:f.dark},!0},s=function(e){void 0===e&&(e={});for(var r={palette:{mode:"light"}},a={palette:{mode:"dark"}},t=0,f=Object.entries(e);t<f.length;t++){var n=f[t],l=n[0],i=n[1];"string"==typeof i||Array.isArray(i)?l.includes(".")?c(r,a,l,i):u(r,a,l,i):d(r,a,l,i)}return{light:r,dark:a}};export{a as createDarkLightColors,s as default,t as knownColors};
//# sourceMappingURL=index.module.js.map