{"version":3,"file":"string-to-color-C8mxwDV4.js","sources":["../../node_modules/string-to-color/index.js"],"sourcesContent":["var toHex = require('colornames');\nvar _words = require('lodash.words');\nvar trimStart = require('lodash.trimstart');\nvar padEnd = require('lodash.padend');\nvar rgbHex = require('rgb-hex');\nvar hexRgb = require('hex-rgb');\n\nconst MIXED_WEIGHT = 0.75;\nconst TEXT_WEIGHT = 0.25;\nconst SEED = 16777215;\nconst FACTOR = 49979693;\n\nmodule.exports = function(object) {\n return '#' + generateColor(String(JSON.stringify(object)));\n};\n\nfunction getColors(text) {\n var words = _words(text);\n var colors = [];\n words.forEach(function(word) {\n var color = toHex(word);\n if (color) colors.push(hexRgb(trimStart(color, '#'), {format: 'array'}));\n });\n return colors;\n}\n\nfunction mixColors(colors) {\n var mixed = [0, 0, 0];\n colors.forEach(function(value) {\n for (var i = 0; i < 3; i++) mixed[i] += value[i];\n });\n return [mixed[0] / colors.length, mixed[1] / colors.length, mixed[2] / colors.length];\n}\n\nfunction generateColor(text) {\n var mixed;\n var colors = getColors(text);\n if (colors.length > 0) mixed = mixColors(colors);\n var b = 1;\n var d = 0;\n var f = 1;\n if (text.length > 0) {\n for (var i = 0; i < text.length; i++)\n text[i].charCodeAt(0) > d && (d = text[i].charCodeAt(0)),\n (f = parseInt(SEED / d)),\n (b = (b + text[i].charCodeAt(0) * f * FACTOR) % SEED);\n }\n var hex = ((b * text.length) % SEED).toString(16);\n hex = padEnd(hex, 6, hex);\n var rgb = hexRgb(hex, {format: 'array'});\n if (mixed)\n return rgbHex(\n TEXT_WEIGHT * rgb[0] + MIXED_WEIGHT * mixed[0],\n TEXT_WEIGHT * rgb[1] + MIXED_WEIGHT * mixed[1],\n TEXT_WEIGHT * rgb[2] + MIXED_WEIGHT * mixed[2]\n );\n return hex;\n}\n"],"names":["toHex","require$$0","_words","require$$1","trimStart","require$$2","padEnd","require$$3","rgbHex","require$$4","hexRgb","require$$5","MIXED_WEIGHT","TEXT_WEIGHT","SEED","FACTOR","object","text","mixed","colors","words","forEach","word","color","push","format","getColors","length","value","i","mixColors","b","d","f","charCodeAt","parseInt","hex","toString","rgb","generateColor","String","JSON","stringify"],"mappings":"gUAAA,IAAIA,EAAQC,EACRC,EAASC,EACTC,EAAYC,EACZC,EAASC,EACTC,EAASC,EACTC,EAASC,EAEb,MAAMC,EAAe,IACfC,EAAc,IACdC,EAAO,SACPC,EAAS,oBAEE,SAASC,GACxB,MAAO,IAqBT,SAAuBC,GACjB,IAAAC,EACAC,EApBN,SAAmBF,GACb,IAAAG,EAAQlB,EAAOe,GACfE,EAAS,GAKN,OAJDC,EAAAC,SAAQ,SAASC,GACjB,IAAAC,EAAQvB,EAAMsB,GACdC,GAAcJ,EAAAK,KAAKd,EAAON,EAAUmB,EAAO,KAAM,CAACE,OAAQ,UAClE,IACSN,CACT,CAYeO,CAAUT,GACnBE,EAAOQ,OAAS,IAAGT,EAXzB,SAAmBC,GACjB,IAAID,EAAQ,CAAC,EAAG,EAAG,GAInB,OAHOC,EAAAE,SAAQ,SAASO,GACb,IAAA,IAAAC,EAAI,EAAGA,EAAI,EAAGA,IAAWX,EAAAW,IAAMD,EAAMC,EAClD,IACS,CAACX,EAAM,GAAKC,EAAOQ,OAAQT,EAAM,GAAKC,EAAOQ,OAAQT,EAAM,GAAKC,EAAOQ,OAChF,CAKiCG,CAAUX,IACzC,IAAIY,EAAI,EACJC,EAAI,EACJC,EAAI,EACJ,GAAAhB,EAAKU,OAAS,EAChB,IAAA,IAASE,EAAI,EAAGA,EAAIZ,EAAKU,OAAQE,IAC1BZ,EAAAY,GAAGK,WAAW,GAAKF,IAAMA,EAAIf,EAAKY,GAAGK,WAAW,IAClDD,EAAIE,SAASrB,EAAOkB,GACpBD,GAAKA,EAAId,EAAKY,GAAGK,WAAW,GAAKD,EAAIlB,GAAUD,EAEtD,IAAIsB,GAAQL,EAAId,EAAKU,OAAUb,GAAMuB,SAAS,IACxCD,EAAA9B,EAAO8B,EAAK,EAAGA,GACrB,IAAIE,EAAM5B,EAAO0B,EAAK,CAACX,OAAQ,UAC3B,OAAAP,EACKV,EACLK,EAAcyB,EAAI,GAAK1B,EAAeM,EAAM,GAC5CL,EAAcyB,EAAI,GAAK1B,EAAeM,EAAM,GAC5CL,EAAcyB,EAAI,GAAK1B,EAAeM,EAAM,IAEzCkB,CACT,CA5CeG,CAAcC,OAAOC,KAAKC,UAAU1B,IACnD","x_google_ignoreList":[0]}