File manager - Edit - /home/web/vm-3fadc827.na4u.ru/www/bitrix/modules/mail/install/js/mail/avatar/dist/avatar.bundle.js.map
Back
{"version":3,"file":"avatar.bundle.js","sources":["../src/avatar.js"],"sourcesContent":["import { Tag } from 'main.core';\nimport './css/style.css';\n\nexport class Avatar\n{\n\tstatic stringToHashCode(string)\n\t{\n\t\tlet hashCode = 0;\n\n\t\tfor (let i = 0; i < string.length; i++)\n\t\t{\n\t\t\thashCode = string.charCodeAt(i) + ((hashCode << 5) - hashCode);\n\t\t}\n\n\t\treturn hashCode;\n\t}\n\n\tstatic alignChannelRangeColor(chanelCode)\n\t{\n\t\tif(chanelCode > 255)\n\t\t{\n\t\t\treturn 255;\n\t\t}\n\t\telse if(chanelCode < 0)\n\t\t{\n\t\t\treturn 0;\n\t\t}\n\t\telse\n\t\t{\n\t\t\treturn Math.ceil(chanelCode);\n\t\t}\n\t}\n\n\tstatic hashToColor(hash)\n\t{\n\t\tconst maxIntensityAllChannels = 255*3;\n\t\tconst minIntensityAllChannels = 0;\n\t\tconst differenceCoefficientForGrayDetection = 0.20;\n\n\t\tlet r = (hash & 0xFF0000) >> 16;\n\t\tlet g = (hash & 0x00FF00) >> 8;\n\t\tlet b = (hash & 0x0000FF);\n\n\t\tconst contrastRatioForPastelColors = 1.5;\n\t\tconst contrastRatioForDarkColors = 2.5;\n\t\tconst channelReductionCoefficientIfGray = 2;\n\n\t\tif(maxIntensityAllChannels - (r+g+b) < 100)\n\t\t{\t//Pastel colors or white\n\t\t\tr/=contrastRatioForPastelColors;\n\t\t\tg/=contrastRatioForPastelColors;\n\t\t\tb/=contrastRatioForPastelColors;\n\t\t}\n\t\telse if((r+g+b) < (200 - minIntensityAllChannels))\n\t\t{\n\t\t\t//Very dark colors\n\t\t\tr*=contrastRatioForDarkColors;\n\t\t\tg*=contrastRatioForDarkColors;\n\t\t\tb*=contrastRatioForDarkColors;\n\t\t}\n\n\t\tlet channels = [r,g,b];\n\t\tchannels.sort(function(a,b){\n\t\t\treturn a - b;\n\t\t})\n\n\t\tif(((channels[channels.length - 1]-channels[0])/channels[0]) < differenceCoefficientForGrayDetection)\n\t\t{\n\t\t\t//Shade of gray\n\t\t\tg/=channelReductionCoefficientIfGray;\n\t\t}\n\n\t\tr=this.alignChannelRangeColor(r);\n\t\tg=this.alignChannelRangeColor(g);\n\t\tb=this.alignChannelRangeColor(b);\n\n\t\tconst color = \"#\" + (\"0\" + r.toString(16)).substr(-2) + (\"0\" + g.toString(16)).substr(-2) + (\"0\" + b.toString(16)).substr(-2);\n\t\treturn color.toUpperCase();\n\t}\n\n\tstatic stringToColor(name)\n\t{\n\t\treturn this.hashToColor(this.stringToHashCode(name));\n\t}\n\n\tstatic build(config = {\n\t\tsize: 'small',\n\t\tfullName: 'User Quest',\n\t\temail: 'info@example.com',\n\t})\n\t{\n\t\tconst whiteList = new Set(['small', 'big']);\n\n\t\tif (config['size'] === undefined || !whiteList.has(config['size']))\n\t\t{\n\t\t\tconfig['size'] = 'small';\n\t\t}\n\n\t\tconfig['fullName'] = config['fullName'].replace(/[\\u0026\\u005c\\u002f\\u005c\\u005c\\u0023\\u002c\\u002b\\u0028\\u0029\\u0024\\u007e\\u0025\\u002e\\u0027\\u0022\\u003a\\u002a\\u003f\\u003c\\u003e\\u007b\\u007d\\u00ab\\u00bb]/g, '').toUpperCase();\n\t\tlet brokenName = config['fullName'].split(' ');\n\t\tlet abbreviation = brokenName[0][0];\n\n\t\tif (brokenName.length > 1)\n\t\t{\n\t\t\tabbreviation += brokenName[1][0];\n\t\t}\n\n\t\tlet avatar = Tag.render`<span class=\"mail-ui-avatar mail-ui-avatar-${config['size']}\">${abbreviation}</span>`;\n\t\tavatar.style.backgroundColor = this.stringToColor(config['email']);\n\n\t\treturn avatar;\n\t}\n\n\tstatic replaceElementWithAvatar(object, avatar)\n\t{\n\t\tconst parent = object.parentNode;\n\t\tparent.insertBefore(avatar, object);\n\t\tparent.removeChild(object);\n\t}\n\n\tstatic replaceTagsWithAvatars(config = { className: 'mail-ui-avatar' })\n\t{\n\t\tconst elements = document.getElementsByClassName(config['className']);\n\t\tfor (let element of elements)\n\t\t{\n\t\t\tthis.replaceElementWithAvatar(element, this.build({\n\t\t\t\tfullName: element.getAttribute('user-name'),\n\t\t\t\temail: element.getAttribute('email'),\n\t\t\t}));\n\t\t}\n\t}\n}"],"names":["Avatar","string","hashCode","i","length","charCodeAt","chanelCode","Math","ceil","hash","maxIntensityAllChannels","minIntensityAllChannels","differenceCoefficientForGrayDetection","r","g","b","contrastRatioForPastelColors","contrastRatioForDarkColors","channelReductionCoefficientIfGray","channels","sort","a","alignChannelRangeColor","color","toString","substr","toUpperCase","name","hashToColor","stringToHashCode","config","size","fullName","email","whiteList","Set","undefined","has","replace","brokenName","split","abbreviation","avatar","Tag","render","style","backgroundColor","stringToColor","object","parent","parentNode","insertBefore","removeChild","className","elements","document","getElementsByClassName","element","replaceElementWithAvatar","build","getAttribute"],"mappings":";;;;;;;;;;;KAGaA,MAAb;CAAA;CAAA;CAAA;;CAAA;CAAA;CAAA,qCAEyBC,MAFzB,EAGC;CACC,UAAIC,QAAQ,GAAG,CAAf;;CAEA,WAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGF,MAAM,CAACG,MAA3B,EAAmCD,CAAC,EAApC,EACA;CACCD,QAAAA,QAAQ,GAAGD,MAAM,CAACI,UAAP,CAAkBF,CAAlB,KAAwB,CAACD,QAAQ,IAAI,CAAb,IAAkBA,QAA1C,CAAX;CACA;;CAED,aAAOA,QAAP;CACA;CAZF;CAAA;CAAA,2CAc+BI,UAd/B,EAeC;CACC,UAAGA,UAAU,GAAG,GAAhB,EACA;CACC,eAAO,GAAP;CACA,OAHD,MAIK,IAAGA,UAAU,GAAG,CAAhB,EACL;CACC,eAAO,CAAP;CACA,OAHI,MAKL;CACC,eAAOC,IAAI,CAACC,IAAL,CAAUF,UAAV,CAAP;CACA;CACD;CA5BF;CAAA;CAAA,gCA8BoBG,IA9BpB,EA+BC;CACC,UAAMC,uBAAuB,GAAG,MAAI,CAApC;CACA,UAAMC,uBAAuB,GAAG,CAAhC;CACA,UAAMC,qCAAqC,GAAG,IAA9C;CAEA,UAAIC,CAAC,GAAG,CAACJ,IAAI,GAAG,QAAR,KAAqB,EAA7B;CACA,UAAIK,CAAC,GAAG,CAACL,IAAI,GAAG,QAAR,KAAqB,CAA7B;CACA,UAAIM,CAAC,GAAIN,IAAI,GAAG,QAAhB;CAEA,UAAMO,4BAA4B,GAAG,GAArC;CACA,UAAMC,0BAA0B,GAAG,GAAnC;CACA,UAAMC,iCAAiC,GAAG,CAA1C;;CAEA,UAAGR,uBAAuB,IAAIG,CAAC,GAACC,CAAF,GAAIC,CAAR,CAAvB,GAAoC,GAAvC,EACA;CAAE;CACDF,QAAAA,CAAC,IAAEG,4BAAH;CACAF,QAAAA,CAAC,IAAEE,4BAAH;CACAD,QAAAA,CAAC,IAAEC,4BAAH;CACA,OALD,MAMK,IAAIH,CAAC,GAACC,CAAF,GAAIC,CAAL,GAAW,MAAMJ,uBAApB,EACL;CACC;CACAE,QAAAA,CAAC,IAAEI,0BAAH;CACAH,QAAAA,CAAC,IAAEG,0BAAH;CACAF,QAAAA,CAAC,IAAEE,0BAAH;CACA;;CAED,UAAIE,QAAQ,GAAG,CAACN,CAAD,EAAGC,CAAH,EAAKC,CAAL,CAAf;CACAI,MAAAA,QAAQ,CAACC,IAAT,CAAc,UAASC,CAAT,EAAWN,CAAX,EAAa;CAC1B,eAAOM,CAAC,GAAGN,CAAX;CACA,OAFD;;CAIA,UAAI,CAACI,QAAQ,CAACA,QAAQ,CAACf,MAAT,GAAkB,CAAnB,CAAR,GAA8Be,QAAQ,CAAC,CAAD,CAAvC,IAA4CA,QAAQ,CAAC,CAAD,CAArD,GAA4DP,qCAA/D,EACA;CACC;CACAE,QAAAA,CAAC,IAAEI,iCAAH;CACA;;CAEDL,MAAAA,CAAC,GAAC,KAAKS,sBAAL,CAA4BT,CAA5B,CAAF;CACAC,MAAAA,CAAC,GAAC,KAAKQ,sBAAL,CAA4BR,CAA5B,CAAF;CACAC,MAAAA,CAAC,GAAC,KAAKO,sBAAL,CAA4BP,CAA5B,CAAF;CAEA,UAAMQ,KAAK,GAAG,MAAM,CAAC,MAAMV,CAAC,CAACW,QAAF,CAAW,EAAX,CAAP,EAAuBC,MAAvB,CAA8B,CAAC,CAA/B,CAAN,GAA0C,CAAC,MAAMX,CAAC,CAACU,QAAF,CAAW,EAAX,CAAP,EAAuBC,MAAvB,CAA8B,CAAC,CAA/B,CAA1C,GAA8E,CAAC,MAAMV,CAAC,CAACS,QAAF,CAAW,EAAX,CAAP,EAAuBC,MAAvB,CAA8B,CAAC,CAA/B,CAA5F;CACA,aAAOF,KAAK,CAACG,WAAN,EAAP;CACA;CA3EF;CAAA;CAAA,kCA6EsBC,IA7EtB,EA8EC;CACC,aAAO,KAAKC,WAAL,CAAiB,KAAKC,gBAAL,CAAsBF,IAAtB,CAAjB,CAAP;CACA;CAhFF;CAAA;CAAA,4BAuFC;CAAA,UALaG,MAKb,uEALsB;CACrBC,QAAAA,IAAI,EAAE,OADe;CAErBC,QAAAA,QAAQ,EAAE,YAFW;CAGrBC,QAAAA,KAAK,EAAE;CAHc,OAKtB;CACC,UAAMC,SAAS,GAAG,IAAIC,GAAJ,CAAQ,CAAC,OAAD,EAAU,KAAV,CAAR,CAAlB;;CAEA,UAAIL,MAAM,CAAC,MAAD,CAAN,KAAmBM,SAAnB,IAAgC,CAACF,SAAS,CAACG,GAAV,CAAcP,MAAM,CAAC,MAAD,CAApB,CAArC,EACA;CACCA,QAAAA,MAAM,CAAC,MAAD,CAAN,GAAiB,OAAjB;CACA;;CAEDA,MAAAA,MAAM,CAAC,UAAD,CAAN,GAAqBA,MAAM,CAAC,UAAD,CAAN,CAAmBQ,OAAnB,CAA2B,2JAA3B,EAAwL,EAAxL,EAA4LZ,WAA5L,EAArB;CACA,UAAIa,UAAU,GAAGT,MAAM,CAAC,UAAD,CAAN,CAAmBU,KAAnB,CAAyB,GAAzB,CAAjB;CACA,UAAIC,YAAY,GAAGF,UAAU,CAAC,CAAD,CAAV,CAAc,CAAd,CAAnB;;CAEA,UAAIA,UAAU,CAACnC,MAAX,GAAoB,CAAxB,EACA;CACCqC,QAAAA,YAAY,IAAIF,UAAU,CAAC,CAAD,CAAV,CAAc,CAAd,CAAhB;CACA;;CAED,UAAIG,MAAM,GAAGC,aAAG,CAACC,MAAP,gJAA2Dd,MAAM,CAAC,MAAD,CAAjE,EAA8EW,YAA9E,CAAV;CACAC,MAAAA,MAAM,CAACG,KAAP,CAAaC,eAAb,GAA+B,KAAKC,aAAL,CAAmBjB,MAAM,CAAC,OAAD,CAAzB,CAA/B;CAEA,aAAOY,MAAP;CACA;CA5GF;CAAA;CAAA,6CA8GiCM,MA9GjC,EA8GyCN,MA9GzC,EA+GC;CACC,UAAMO,MAAM,GAAGD,MAAM,CAACE,UAAtB;CACAD,MAAAA,MAAM,CAACE,YAAP,CAAoBT,MAApB,EAA4BM,MAA5B;CACAC,MAAAA,MAAM,CAACG,WAAP,CAAmBJ,MAAnB;CACA;CAnHF;CAAA;CAAA,6CAsHC;CAAA,UAD8BlB,MAC9B,uEADuC;CAAEuB,QAAAA,SAAS,EAAE;CAAb,OACvC;CACC,UAAMC,QAAQ,GAAGC,QAAQ,CAACC,sBAAT,CAAgC1B,MAAM,CAAC,WAAD,CAAtC,CAAjB;;CADD,iDAEqBwB,QAFrB;CAAA;;CAAA;CAEC,4DACA;CAAA,cADSG,OACT;CACC,eAAKC,wBAAL,CAA8BD,OAA9B,EAAuC,KAAKE,KAAL,CAAW;CACjD3B,YAAAA,QAAQ,EAAEyB,OAAO,CAACG,YAAR,CAAqB,WAArB,CADuC;CAEjD3B,YAAAA,KAAK,EAAEwB,OAAO,CAACG,YAAR,CAAqB,OAArB;CAF0C,WAAX,CAAvC;CAIA;CARF;CAAA;CAAA;CAAA;CAAA;CASC;CA/HF;CAAA;CAAA;;;;;;;;"}
| ver. 1.4 |
Github
|
.
| PHP 7.4.33 | Generation time: 0.26 |
proxy
|
phpinfo
|
Settings