New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

smart-avatar

Package Overview
Dependencies
Maintainers
1
Versions
21
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

smart-avatar - npm Package Compare versions

Comparing version 1.0.0 to 1.0.1

6

dist/smart-avatar.browser.js

@@ -1,5 +0,5 @@

function renderSA(element, saData) { var creation = create(element, saData); if (creation.finished) { return creation.asset; } else { throw new Error("SmartAvatar ERROR: something went wrong."); } } function create(element, saData) { var gravatarIcons = ['mp', 'identicon', 'monsterid', 'wavatar', 'retro', 'robohash']; var creation = {}; switch (true) { case (saData.priority.src1 === 'smart' && saData.initials): creation.asset = generateEl('initEl', saData); creation.finished = true; break; case (saData.priority.src1 === 'smart' && saData.icon && !gravatarIcons.includes(saData.icon)): creation.asset = generateEl('iconEl', saData); creation.finished = true; break; case (saData.priority.src1 === 'smart' && saData.icon && gravatarIcons.includes(saData.icon)): creation.asset = generateEl('iconImg', saData); creation.finished = true; break; default: creation.asset = generateComplexImage(element, saData); creation.finished = true; } return creation; } function generateEl(type, saData) { switch (type) { case 'iconImg': return generateIconImg(saData); case 'initEl': return generateInitEl(saData); case 'iconEl': return generateIconEl(saData); } } function generateGravatarIconUrl(gravatarIcon) { var url = 'https://www.gravatar.com/avatar?d=' + gravatarIcon + '&f=y'; return url; } function generateIconImg(saData) { var img = new Image(); var iconUrl = generateGravatarIconUrl(saData.icon); img.src = iconUrl; if (!saData.unstyled) { img.style.cssText = (saData.round ? 'border-radius: 50%;' : '') + (saData.size ? 'height:' + saData.size + 'px;width:' + saData.size +'px;' : '') + 'object-fit:cover;'; } if (saData.cssClass) { img.classList.add('smart-avatar', saData.cssClass); } else { img.classList.add('smart-avatar'); } if (saData.timestamp) { img.setAttribute('sa_timestamp', Date.now()); } if (saData.alt) { img.alt = saData.alt; } return img; } function generateInitEl(saData) { var el = generateElement('initEl', saData); return el; } function generateIconEl(saData) { var el = generateElement('iconEl', saData); return el; } function generateElement(type, saData) { var content; if (type === 'initEl') { content = saData.initials; } else if (type === 'iconEl') { content = renderSmartFox(saData); } var div = document.createElement("div"); if (!saData.unstyled) { div.style.cssText = (saData.round ? 'border-radius: 50%;' : '') + 'align-items:center;' + (saData.color ? 'background-color:' + saData.color : '') + (saData.textColor ? ';color:' + saData.textColor : '') + ';display:flex;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",' + 'Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;' + (saData.size ? 'font-size:' + (saData.size / 2) + 'px;height:' + saData.size + 'px;justify-content:center;margin:0;padding:0;width:' + saData.size +'px;' : ''); } if (saData.cssClass) { div.classList.add('smart-avatar', saData.cssClass); } else { div.classList.add('smart-avatar'); } if (saData.timestamp) { div.setAttribute('sa_timestamp', Date.now()); } div.innerHTML = '<span ' + (saData.unstyled ? '' : 'style="display:flex;"') + '>' + content + '</span>'; return div; } function generateComplexImage(element, saData) { var assets = parseComplexAssets(saData); var a1 = assets.asset1; var a2 = assets.asset2; var a3 = assets.asset3; var img = new Image(); img.src = a1.content; if (!saData.unstyled) { img.style.cssText = (saData.round ? 'border-radius: 50%;' : '') + (saData.size ? 'height:' + saData.size + 'px;width:' + saData.size +'px;' : '') + 'object-fit:cover;'; } img.onerror = function() { handleErrFallback(element, img, a2); if (a2.type !== 'el') { img.onerror = function() { handleErrFallback(element, img, a3); }; } }; if (saData.cssClass) { img.classList.add('smart-avatar', saData.cssClass); } else { img.classList.add('smart-avatar'); } if (saData.timestamp) { img.setAttribute('sa_timestamp', Date.now()); } if (saData.alt) { img.alt = saData.alt; } return img; } function handleErrFallback(element, img, asset) { img.style.opacity = 0; if (asset.type === 'el') { delete img.onerror; element.appendChild(asset.content); element.removeChild(img); } else { img.src = asset.content; img.style.opacity = 1; if (!img.src) { throw new Error("SmartAvatar ERROR: internal error - img src recursively undefined") } } } function parseComplexAssets(saData) { var gravatarIcons = ['mp', 'identicon', 'monsterid', 'wavatar', 'retro', 'robohash']; var assets = { asset1: {}, asset2: {}, asset3: {}, }; assets.asset1.content = saData.priority.src1 === 'gravatar' ? saData.gravatarUrl : saData.src; assets.asset1.type = 'url'; for (var i = 2; i <= 3; i++) { var srcKey = 'src' + i; var assetKey = 'asset' + i; if (saData.priority[srcKey] === 'gravatar') { assets[assetKey].content = saData.gravatarUrl; assets[assetKey].type = 'url'; } else if (saData.priority[srcKey] === 'src') { assets[assetKey].content = saData.src; assets[assetKey].type = 'url'; } else if (saData.priority[srcKey] === 'smart') { if (saData.initials) { assets[assetKey].content = generateEl('initEl', saData); assets[assetKey].type = 'el'; } else if (saData.icon && !gravatarIcons.includes(saData.icon)) { assets[assetKey].content = generateEl('iconEl', saData); assets[assetKey].type = 'el'; } else if (saData.icon && gravatarIcons.includes(saData.icon)) { assets[assetKey].content = generateGravatarIconUrl(saData.icon); assets[assetKey].type = 'url'; } } } return assets; } function renderSmartFox(saData) { return '<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="' + (saData.size ? saData.size * 0.75 : '48') + '" height="' + (saData.size ? saData.size * 0.75 : '48') + '" viewBox="0 0 640 640"><path d="M482.82 372.91c0 104.04-73.14 188.5-163.22 188.5s-163.22-84.46-163.22-188.5S229.52 184.4 319.6 184.4s163.22 84.47 163.22 188.51z" fill="#222"></path><path d="M257 313.26L452.53 101l-.26 212.5-195.27-.24z" fill="#222"></path><path d="M382.53 313.26L187 101l.26 212.5 195.27-.24z" fill="#222"></path><path d="M194.79 119.68c0 14.23-11.55 25.78-25.79 25.78-14.23 0-25.78-11.55-25.78-25.78S154.77 93.89 169 93.89c14.24 0 25.79 11.56 25.79 25.79z" fill="#222"></path><path d="M495.69 119.68c0 14.23-11.55 25.78-25.78 25.78s-25.79-11.55-25.79-25.78 11.56-25.79 25.79-25.79c14.23 0 25.78 11.56 25.78 25.79z" fill="#222"></path><path d="M143.22 114.92h57.31v314.79h-57.31V114.92z" fill="#222"></path><path d="M438.38 119.68h57.31v314.78h-57.31V119.68z" fill="#222"></path><path d="M319.6 216.7l275.67 275.68H319.6V216.7z" fill="#222"></path><path d="M319.6 272.32l275.67 275.67H319.6V272.32z" fill="#222"></path><path d="M319.6 272.32L43.92 547.99H319.6V272.32z" fill="#222"></path><path d="M319.6 216.7L43.92 492.38H319.6V216.7z" fill="#222"></path><path d="M384.87 189.61L109.19 465.28h275.68V189.61z" fill="#e4e4e4"></path><path d="M254.03 246.36l275.68 275.68H254.03V246.36z" fill="#e4e4e4"></path><path d="M254.03 189.61l275.68 275.67H254.03V189.61z" fill="#e4e4e4"></path><path d="M170.85 126.78l275.68 275.68H170.85V126.78z" fill="#de7f27"></path><path d="M467.82 126.78L192.14 402.46h275.68V126.78z" fill="#de7f27"></path><path d="M297.46 277.07L125.05 449.48h172.41V277.07z" fill="#e4e4e4"></path><path d="M384.87 246.36L109.19 522.04h275.68V246.36z" fill="#e4e4e4"></path><path d="M341.37 277.07l172.41 172.41H341.37V277.07z" fill="#e4e4e4"></path><path d="M173.57 124.8l17.92-17.19 133.42 139.08-17.92 17.19L173.57 124.8z" fill="#222"></path><path d="M466.34 124.8l-17.92-17.19L315 246.69l17.92 17.19L466.34 124.8z" fill="#222"></path><path d="M451.53 355.79c0 82.04-59.49 148.65-132.77 148.65-73.27 0-132.76-66.61-132.76-148.65s59.49-148.64 132.76-148.64c73.28 0 132.77 66.6 132.77 148.64z" fill="#de7f27"></path><path d="M452.53 386.62c0 82.04-59.49 148.64-132.77 148.64-73.27 0-132.76-66.6-132.76-148.64 0-82.04 59.49-148.65 132.76-148.65 73.28 0 132.77 66.61 132.77 148.65z" fill="#e4e4e4"></path><path d="M171.88 126.78l275.67 275.68H171.88V126.78z" fill="#de7f27"></path><path d="M466.34 126.78L190.67 402.46h275.67V126.78z" fill="#de7f27"></path><path d="M370.61 272.32c0 28.15-22.86 51.01-51.01 51.01-28.16 0-51.02-22.86-51.02-51.01 0-28.16 22.86-51.02 51.02-51.02 28.15 0 51.01 22.86 51.01 51.02z" fill="#de7f27"></path><path d="M253.44 259.45l1.38.23 1.34.28 1.32.35 1.29.4 1.26.46 1.22.51 1.19.57 1.14.61 1.11.67 1.07.71 1.02.75.97.8.93.84.88.89.82.91.77.96.71.99.66 1.02.59 1.06.53 1.08.47 1.11.4 1.14.33 1.16.27 1.19.19 1.21.11 1.22.04 1.24h.11v46.42h-.14l-.01.15-.11 1.22-.19 1.21-.27 1.18-.33 1.16-.4 1.14-.47 1.11-.53 1.09-.59 1.05-.66 1.03-.71.99-.77.95-.82.92-.88.88-.93.84-.97.8-1.02.76-1.07.71-1.11.66-1.14.62-1.19.56-1.22.52-1.26.45-1.29.41-1.32.34-1.34.29-1.38.23-1.4.16-1.42.1-1.44.03-1.44-.03-1.42-.1-1.39-.16-1.38-.23-1.34-.29-1.32-.34-1.29-.41-1.26-.45-1.22-.52-1.19-.56-1.15-.62-1.1-.66-1.07-.71-1.02-.76-.97-.8-.93-.84-.88-.88-.82-.92-.77-.95-.71-.99-.66-1.03-.59-1.05-.53-1.09-.47-1.11-.4-1.14-.33-1.16-.27-1.18-.19-1.21-.11-1.22-.01-.15h-.03v-46.42l.04-1.24.11-1.22.19-1.21.27-1.19.33-1.16.4-1.14.47-1.11.53-1.08.59-1.06.66-1.02.71-.99.77-.96.82-.91.88-.89.93-.84.97-.8 1.02-.75 1.07-.71 1.1-.67 1.15-.61 1.19-.57 1.22-.51 1.26-.46 1.29-.4 1.32-.35 1.34-.28 1.38-.23 1.39-.16 1.42-.1 1.44-.04 1.44.04 1.42.1 1.4.16z" fill="#111"></path><path d="M394.88 259.45l1.37.23 1.35.28 1.32.35 1.28.4 1.26.46 1.22.51 1.19.57 1.15.61 1.1.67 1.07.71 1.02.75.98.8.92.84.88.89.82.91.77.96.71.99.66 1.02.59 1.06.54 1.08.46 1.11.4 1.14.34 1.16.26 1.19.19 1.21.11 1.22.04 1.24h.11v46.42h-.14l-.01.15-.11 1.22-.19 1.21-.26 1.18-.34 1.16-.4 1.14-.46 1.11-.54 1.09-.59 1.05-.66 1.03-.71.99-.77.95-.82.92-.88.88-.92.84-.98.8-1.02.76-1.07.71-1.1.66-1.15.62-1.19.56-1.22.52-1.26.45-1.28.41-1.32.34-1.35.29-1.37.23-1.4.16-1.42.1-1.44.03-1.44-.03-1.42-.1-1.4-.16-1.37-.23-1.35-.29-1.32-.34-1.29-.41-1.26-.45-1.22-.52-1.18-.56-1.15-.62-1.11-.66-1.07-.71-1.02-.76-.97-.8-.93-.84-.87-.88-.83-.92-.77-.95-.71-.99-.65-1.03-.6-1.05-.53-1.09-.47-1.11-.4-1.14-.33-1.16-.26-1.18-.19-1.21-.12-1.22v-.15h-.04v-46.42l.04-1.24.12-1.22.19-1.21.26-1.19.33-1.16.4-1.14.47-1.11.53-1.08.6-1.06.65-1.02.71-.99.77-.96.83-.91.87-.89.93-.84.97-.8 1.02-.75 1.07-.71 1.11-.67 1.15-.61 1.18-.57 1.22-.51 1.26-.46 1.29-.4 1.32-.35 1.35-.28 1.37-.23 1.4-.16 1.42-.1 1.44-.04 1.44.04 1.42.1 1.4.16z" fill="#111"></path><path d="M170.85 402.46l148.75 45.28v-45.28H170.85z" fill="#de7f27"></path><path d="M468.34 402.46L319.6 447.74v-45.28h148.74z" fill="#de7f27"></path><path d="M341.98 413.09l1.16.31 1.13.39 1.11.47 1.06.55 1.04.62.99.69.95.76.91.82.86.89.82.94.76 1 .71 1.05.66 1.11.59 1.15.54 1.2.47 1.23.4 1.28.34 1.31.27 1.35.19 1.38.12 1.4.04 1.43-.04 1.42-.12 1.41-.19 1.37-.27 1.35-.34 1.31-.4 1.28-.47 1.24-.54 1.19-.6 1.15-.65 1.11-.71 1.05-.76 1-.82.95-.86.88-.91.82-.95.76-1 .69-1.03.62-1.07.55-1.1.47-1.13.39-1.16.31-1.19.23-1.21.13-1.23.05v.09h-38.41v-.13l-.33-.01-1.21-.14-1.19-.22-1.16-.31-1.13-.39-1.1-.47-1.07-.55-1.03-.62-.99-.69-.96-.76-.9-.82-.87-.89-.81-.94-.77-1-.71-1.05-.65-1.11-.6-1.15-.53-1.2-.47-1.23-.41-1.28-.34-1.31-.26-1.35-.2-1.37-.12-1.41-.04-1.43.04-1.42.12-1.41.2-1.37.26-1.35.34-1.31.41-1.28.47-1.24.53-1.19.6-1.15.66-1.11.71-1.05.76-1 .81-.95.87-.88.91-.82.95-.76.99-.69 1.03-.62 1.07-.55 1.1-.47 1.14-.39 1.16-.31 1.18-.23 1.22-.13.32-.01v-.04h38.41l1.23.05 1.21.14 1.19.22z" fill="#111"></path><path d="M323.76 413.81l1.35.27 1.31.34 1.28.4 1.23.47 1.2.54 1.15.59 1.11.66 1.05.71 1 .76.94.82.89.86.82.91.76.95.69 1 .62 1.03.55 1.07.47 1.1.39 1.13.31 1.16.22 1.19.14 1.21.05 1.23h.09v38.41h-.13l-.01.33-.14 1.21-.22 1.18-.31 1.17-.39 1.13-.47 1.1-.55 1.07-.62 1.03-.69.99-.76.95-.82.91-.89.87-.94.81-1 .76-1.06.71-1.1.66-1.15.6-1.2.53-1.24.47-1.27.41-1.32.34-1.34.26-1.38.2-1.4.11-1.43.04-1.43-.04-1.4-.11-1.38-.2-1.34-.26-1.32-.34-1.27-.41-1.24-.47-1.2-.54-1.15-.59-1.1-.66-1.05-.71-1-.76-.95-.81-.88-.87-.83-.91-.75-.95-.7-.99-.62-1.03-.54-1.07-.47-1.1-.39-1.14-.31-1.16-.23-1.18-.14-1.22-.01-.32h-.03v-38.41l.05-1.23.13-1.21.23-1.19.31-1.16.39-1.13.47-1.11.55-1.06.62-1.04.69-.99.76-.95.82-.91.88-.86.95-.82 1-.76 1.05-.71 1.11-.66 1.15-.59 1.19-.54 1.24-.47 1.28-.4 1.31-.34 1.35-.27 1.37-.19 1.41-.12 1.42-.04 1.43.04 1.41.12 1.37.19z" fill="#111"></path></svg>'; }
export default function smartAvatar(element, options) { var saData = {}; if (!arguments[1]) { var options = {}; } if (!arguments.length) { throw new Error("SmartAvatar ERROR: missing 'element' argument.") } else if (arguments[1] === 'dispose') { const saChildren = element.querySelectorAll(".smart-avatar"); for (let i = 0; i < saChildren.length; i++) { element.removeChild(saChildren[i]); } if (element.querySelectorAll(".smart-avatar").length > 0) { throw new Error("SmartAvatar ERROR: could not dispose SmartAvatar nodes." + element.querySelectorAll(".smart-avatar").length + "left."); } else { return; } } else if (arguments[1] && (typeof arguments[1] !== 'object')) { throw new Error("SmartAvatar ERROR: 'options' argument must be an object."); } var isElement = function(element) { return element instanceof Element || element instanceof HTMLDocument; } if (isElement(element)) { saData.parent = element; } else { var type = typeof element; throw new Error('SmartAvatar ERROR: cannot append asset to ' + type + '.'); } saData.priority = options.priority ? parsePriority(options.priority) : {src1:'gravatar',src2:'src',src3:'smart'}; saData.timestamp = typeof options.timestamp === 'boolean' ? options.timestamp : false; saData.alt = options.alt ? options.alt.toString() : null; saData.icon = options.icon ? options.icon.toString() : 'smartfox'; saData.size = options.size ? parseImgRes(options.size.toString()) : null; saData.round = options.round === true ? true : false; saData.initials = options.initials ? parseInitials(options.initials.toString()) : null; saData.color = options.color ? parseColor(options.color.toString()) : null; saData.textColor = options.textColor ? parseColor(options.textColor.toString()) : null; saData.colorScheme = options.colorScheme ? parseColorScheme(options.colorScheme) : null; saData.cssClass = options.cssClass ? options.cssClass.toString() : null; saData.email = options.email ? parseEmail(options.email.toString()) : null; saData.hash = (options.hash ? options.hash.toString() : false) || (saData.email ? md5(saData.email) : null); saData.protocol = options.protocol ? parseProtocol(options.protocol.toString()) : 'secure'; saData.format = options.format ? parseImgFormat(options.format.toString()) : 'jpg'; saData.resolution = options.resolution ? parseImgRes(options.resolution.toString()) : '80'; saData.src = options.src ? options.src.toString() : null; saData.unstyled = options.unstyled === true ? true : false; if (!saData.unstyled && options.setDefaults) { saData.color = saData.color || '#777'; saData.size = saData.size || '48'; saData.textColor = saData.textColor || '#FFF'; } saData.gravatarUrl = saData.hash ? generateGravatarUrl(saData) : ''; var asset = renderSA(element, saData); element.appendChild(asset); }
function renderSA(element, saData) { var creation = create(element, saData); if (creation.finished) { return creation.asset; } else { throw new Error("SmartAvatar ERROR: something went wrong."); } } function create(element, saData) { var gravatarIcons = ['mp', 'identicon', 'monsterid', 'wavatar', 'retro', 'robohash']; var creation = {}; switch (true) { case (saData.priority.src1 === 'smart' && saData.initials): creation.asset = generateEl('initEl', saData); creation.finished = true; break; case (saData.priority.src1 === 'smart' && saData.icon && !gravatarIcons.includes(saData.icon)): creation.asset = generateEl('iconEl', saData); creation.finished = true; break; case (saData.priority.src1 === 'smart' && saData.icon && gravatarIcons.includes(saData.icon)): creation.asset = generateEl('iconImg', saData); creation.finished = true; break; default: creation.asset = generateComplexImage(element, saData); creation.finished = true; } return creation; } function generateEl(type, saData) { switch (type) { case 'iconImg': return generateIconImg(saData); case 'initEl': return generateInitEl(saData); case 'iconEl': return generateIconEl(saData); } } function generateGravatarIconUrl(gravatarIcon) { var url = 'https://www.gravatar.com/avatar?d=' + gravatarIcon + '&f=y'; return url; } function generateIconImg(saData) { var img = new Image(); var iconUrl = generateGravatarIconUrl(saData.icon); img.src = iconUrl; if (!saData.unstyled) { img.style.cssText = (saData.round ? 'border-radius: 50%;' : '') + (saData.size ? 'height:' + saData.size + 'px;width:' + saData.size +'px;' : '') + 'object-fit:cover;'; } img.classList.add('smart-avatar'); if (saData.cssClass) { const length = saData.cssClass.length; for (let i = 0; i < length; i++) { img.classList.add(saData.cssClass[i]); } } if (saData.timestamp) { img.setAttribute('sa_timestamp', Date.now()); } if (saData.alt) { img.alt = saData.alt; } return img; } function generateInitEl(saData) { var el = generateElement('initEl', saData); return el; } function generateIconEl(saData) { var el = generateElement('iconEl', saData); return el; } function generateElement(type, saData) { var content; if (type === 'initEl') { content = saData.initials; } else if (type === 'iconEl') { content = renderSmartFox(saData); } var div = document.createElement("div"); if (!saData.unstyled) { div.style.cssText = (saData.round ? 'border-radius: 50%;' : '') + 'align-items:center;' + (saData.color ? 'background-color:' + saData.color : '') + (saData.textColor ? ';color:' + saData.textColor : '') + ';display:flex;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",' + 'Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;' + (saData.size ? 'font-size:' + (saData.size / 2) + 'px;height:' + saData.size + 'px;' : '') + 'justify-content:center;margin:0;padding:0;' + (saData.size ? 'width:' + saData.size +'px;' : ''); } div.classList.add('smart-avatar'); if (saData.cssClass) { const length = saData.cssClass.length; for (let i = 0; i < length; i++) { div.classList.add(saData.cssClass[i]); } } if (saData.timestamp) { div.setAttribute('sa_timestamp', Date.now()); } div.innerHTML = '<span ' + (saData.unstyled ? '' : 'style="display:flex;"') + '>' + content + '</span>'; return div; } function generateComplexImage(element, saData) { var assets = parseComplexAssets(saData); var a1 = assets.asset1; var a2 = assets.asset2; var a3 = assets.asset3; var img = new Image(); img.src = a1.content; if (!saData.unstyled) { img.style.cssText = (saData.round ? 'border-radius: 50%;' : '') + (saData.size ? 'height:' + saData.size + 'px;width:' + saData.size +'px;' : '') + 'object-fit:cover;'; } img.onerror = function() { handleErrFallback(element, img, a2); if (a2.type !== 'el') { img.onerror = function() { handleErrFallback(element, img, a3); }; } }; img.classList.add('smart-avatar'); if (saData.cssClass) { const length = saData.cssClass.length; for (let i = 0; i < length; i++) { img.classList.add(saData.cssClass[i]); } } if (saData.timestamp) { img.setAttribute('sa_timestamp', Date.now()); } if (saData.alt) { img.alt = saData.alt; } return img; } function handleErrFallback(element, img, asset) { img.style.opacity = 0; if (asset.type === 'el') { delete img.onerror; element.appendChild(asset.content); element.removeChild(img); } else { img.src = asset.content; img.style.opacity = 1; if (!img.src) { throw new Error("SmartAvatar ERROR: internal error - img src recursively undefined") } } } function parseComplexAssets(saData) { var gravatarIcons = ['mp', 'identicon', 'monsterid', 'wavatar', 'retro', 'robohash']; var assets = { asset1: {}, asset2: {}, asset3: {}, }; assets.asset1.content = saData.priority.src1 === 'gravatar' ? saData.gravatarUrl : saData.src; assets.asset1.type = 'url'; for (var i = 2; i <= 3; i++) { var srcKey = 'src' + i; var assetKey = 'asset' + i; if (saData.priority[srcKey] === 'gravatar') { assets[assetKey].content = saData.gravatarUrl; assets[assetKey].type = 'url'; } else if (saData.priority[srcKey] === 'src') { assets[assetKey].content = saData.src; assets[assetKey].type = 'url'; } else if (saData.priority[srcKey] === 'smart') { if (saData.initials) { assets[assetKey].content = generateEl('initEl', saData); assets[assetKey].type = 'el'; } else if (saData.icon && !gravatarIcons.includes(saData.icon)) { assets[assetKey].content = generateEl('iconEl', saData); assets[assetKey].type = 'el'; } else if (saData.icon && gravatarIcons.includes(saData.icon)) { assets[assetKey].content = generateGravatarIconUrl(saData.icon); assets[assetKey].type = 'url'; } } } return assets; } function renderSmartFox(saData) { return '<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="' + (saData.size ? saData.size * 0.75 : '48') + '" height="' + (saData.size ? saData.size * 0.75 : '48') + '" viewBox="0 0 640 640"><path d="M482.82 372.91c0 104.04-73.14 188.5-163.22 188.5s-163.22-84.46-163.22-188.5S229.52 184.4 319.6 184.4s163.22 84.47 163.22 188.51z" fill="#222"></path><path d="M257 313.26L452.53 101l-.26 212.5-195.27-.24z" fill="#222"></path><path d="M382.53 313.26L187 101l.26 212.5 195.27-.24z" fill="#222"></path><path d="M194.79 119.68c0 14.23-11.55 25.78-25.79 25.78-14.23 0-25.78-11.55-25.78-25.78S154.77 93.89 169 93.89c14.24 0 25.79 11.56 25.79 25.79z" fill="#222"></path><path d="M495.69 119.68c0 14.23-11.55 25.78-25.78 25.78s-25.79-11.55-25.79-25.78 11.56-25.79 25.79-25.79c14.23 0 25.78 11.56 25.78 25.79z" fill="#222"></path><path d="M143.22 114.92h57.31v314.79h-57.31V114.92z" fill="#222"></path><path d="M438.38 119.68h57.31v314.78h-57.31V119.68z" fill="#222"></path><path d="M319.6 216.7l275.67 275.68H319.6V216.7z" fill="#222"></path><path d="M319.6 272.32l275.67 275.67H319.6V272.32z" fill="#222"></path><path d="M319.6 272.32L43.92 547.99H319.6V272.32z" fill="#222"></path><path d="M319.6 216.7L43.92 492.38H319.6V216.7z" fill="#222"></path><path d="M384.87 189.61L109.19 465.28h275.68V189.61z" fill="#e4e4e4"></path><path d="M254.03 246.36l275.68 275.68H254.03V246.36z" fill="#e4e4e4"></path><path d="M254.03 189.61l275.68 275.67H254.03V189.61z" fill="#e4e4e4"></path><path d="M170.85 126.78l275.68 275.68H170.85V126.78z" fill="#de7f27"></path><path d="M467.82 126.78L192.14 402.46h275.68V126.78z" fill="#de7f27"></path><path d="M297.46 277.07L125.05 449.48h172.41V277.07z" fill="#e4e4e4"></path><path d="M384.87 246.36L109.19 522.04h275.68V246.36z" fill="#e4e4e4"></path><path d="M341.37 277.07l172.41 172.41H341.37V277.07z" fill="#e4e4e4"></path><path d="M173.57 124.8l17.92-17.19 133.42 139.08-17.92 17.19L173.57 124.8z" fill="#222"></path><path d="M466.34 124.8l-17.92-17.19L315 246.69l17.92 17.19L466.34 124.8z" fill="#222"></path><path d="M451.53 355.79c0 82.04-59.49 148.65-132.77 148.65-73.27 0-132.76-66.61-132.76-148.65s59.49-148.64 132.76-148.64c73.28 0 132.77 66.6 132.77 148.64z" fill="#de7f27"></path><path d="M452.53 386.62c0 82.04-59.49 148.64-132.77 148.64-73.27 0-132.76-66.6-132.76-148.64 0-82.04 59.49-148.65 132.76-148.65 73.28 0 132.77 66.61 132.77 148.65z" fill="#e4e4e4"></path><path d="M171.88 126.78l275.67 275.68H171.88V126.78z" fill="#de7f27"></path><path d="M466.34 126.78L190.67 402.46h275.67V126.78z" fill="#de7f27"></path><path d="M370.61 272.32c0 28.15-22.86 51.01-51.01 51.01-28.16 0-51.02-22.86-51.02-51.01 0-28.16 22.86-51.02 51.02-51.02 28.15 0 51.01 22.86 51.01 51.02z" fill="#de7f27"></path><path d="M253.44 259.45l1.38.23 1.34.28 1.32.35 1.29.4 1.26.46 1.22.51 1.19.57 1.14.61 1.11.67 1.07.71 1.02.75.97.8.93.84.88.89.82.91.77.96.71.99.66 1.02.59 1.06.53 1.08.47 1.11.4 1.14.33 1.16.27 1.19.19 1.21.11 1.22.04 1.24h.11v46.42h-.14l-.01.15-.11 1.22-.19 1.21-.27 1.18-.33 1.16-.4 1.14-.47 1.11-.53 1.09-.59 1.05-.66 1.03-.71.99-.77.95-.82.92-.88.88-.93.84-.97.8-1.02.76-1.07.71-1.11.66-1.14.62-1.19.56-1.22.52-1.26.45-1.29.41-1.32.34-1.34.29-1.38.23-1.4.16-1.42.1-1.44.03-1.44-.03-1.42-.1-1.39-.16-1.38-.23-1.34-.29-1.32-.34-1.29-.41-1.26-.45-1.22-.52-1.19-.56-1.15-.62-1.1-.66-1.07-.71-1.02-.76-.97-.8-.93-.84-.88-.88-.82-.92-.77-.95-.71-.99-.66-1.03-.59-1.05-.53-1.09-.47-1.11-.4-1.14-.33-1.16-.27-1.18-.19-1.21-.11-1.22-.01-.15h-.03v-46.42l.04-1.24.11-1.22.19-1.21.27-1.19.33-1.16.4-1.14.47-1.11.53-1.08.59-1.06.66-1.02.71-.99.77-.96.82-.91.88-.89.93-.84.97-.8 1.02-.75 1.07-.71 1.1-.67 1.15-.61 1.19-.57 1.22-.51 1.26-.46 1.29-.4 1.32-.35 1.34-.28 1.38-.23 1.39-.16 1.42-.1 1.44-.04 1.44.04 1.42.1 1.4.16z" fill="#111"></path><path d="M394.88 259.45l1.37.23 1.35.28 1.32.35 1.28.4 1.26.46 1.22.51 1.19.57 1.15.61 1.1.67 1.07.71 1.02.75.98.8.92.84.88.89.82.91.77.96.71.99.66 1.02.59 1.06.54 1.08.46 1.11.4 1.14.34 1.16.26 1.19.19 1.21.11 1.22.04 1.24h.11v46.42h-.14l-.01.15-.11 1.22-.19 1.21-.26 1.18-.34 1.16-.4 1.14-.46 1.11-.54 1.09-.59 1.05-.66 1.03-.71.99-.77.95-.82.92-.88.88-.92.84-.98.8-1.02.76-1.07.71-1.1.66-1.15.62-1.19.56-1.22.52-1.26.45-1.28.41-1.32.34-1.35.29-1.37.23-1.4.16-1.42.1-1.44.03-1.44-.03-1.42-.1-1.4-.16-1.37-.23-1.35-.29-1.32-.34-1.29-.41-1.26-.45-1.22-.52-1.18-.56-1.15-.62-1.11-.66-1.07-.71-1.02-.76-.97-.8-.93-.84-.87-.88-.83-.92-.77-.95-.71-.99-.65-1.03-.6-1.05-.53-1.09-.47-1.11-.4-1.14-.33-1.16-.26-1.18-.19-1.21-.12-1.22v-.15h-.04v-46.42l.04-1.24.12-1.22.19-1.21.26-1.19.33-1.16.4-1.14.47-1.11.53-1.08.6-1.06.65-1.02.71-.99.77-.96.83-.91.87-.89.93-.84.97-.8 1.02-.75 1.07-.71 1.11-.67 1.15-.61 1.18-.57 1.22-.51 1.26-.46 1.29-.4 1.32-.35 1.35-.28 1.37-.23 1.4-.16 1.42-.1 1.44-.04 1.44.04 1.42.1 1.4.16z" fill="#111"></path><path d="M170.85 402.46l148.75 45.28v-45.28H170.85z" fill="#de7f27"></path><path d="M468.34 402.46L319.6 447.74v-45.28h148.74z" fill="#de7f27"></path><path d="M341.98 413.09l1.16.31 1.13.39 1.11.47 1.06.55 1.04.62.99.69.95.76.91.82.86.89.82.94.76 1 .71 1.05.66 1.11.59 1.15.54 1.2.47 1.23.4 1.28.34 1.31.27 1.35.19 1.38.12 1.4.04 1.43-.04 1.42-.12 1.41-.19 1.37-.27 1.35-.34 1.31-.4 1.28-.47 1.24-.54 1.19-.6 1.15-.65 1.11-.71 1.05-.76 1-.82.95-.86.88-.91.82-.95.76-1 .69-1.03.62-1.07.55-1.1.47-1.13.39-1.16.31-1.19.23-1.21.13-1.23.05v.09h-38.41v-.13l-.33-.01-1.21-.14-1.19-.22-1.16-.31-1.13-.39-1.1-.47-1.07-.55-1.03-.62-.99-.69-.96-.76-.9-.82-.87-.89-.81-.94-.77-1-.71-1.05-.65-1.11-.6-1.15-.53-1.2-.47-1.23-.41-1.28-.34-1.31-.26-1.35-.2-1.37-.12-1.41-.04-1.43.04-1.42.12-1.41.2-1.37.26-1.35.34-1.31.41-1.28.47-1.24.53-1.19.6-1.15.66-1.11.71-1.05.76-1 .81-.95.87-.88.91-.82.95-.76.99-.69 1.03-.62 1.07-.55 1.1-.47 1.14-.39 1.16-.31 1.18-.23 1.22-.13.32-.01v-.04h38.41l1.23.05 1.21.14 1.19.22z" fill="#111"></path><path d="M323.76 413.81l1.35.27 1.31.34 1.28.4 1.23.47 1.2.54 1.15.59 1.11.66 1.05.71 1 .76.94.82.89.86.82.91.76.95.69 1 .62 1.03.55 1.07.47 1.1.39 1.13.31 1.16.22 1.19.14 1.21.05 1.23h.09v38.41h-.13l-.01.33-.14 1.21-.22 1.18-.31 1.17-.39 1.13-.47 1.1-.55 1.07-.62 1.03-.69.99-.76.95-.82.91-.89.87-.94.81-1 .76-1.06.71-1.1.66-1.15.6-1.2.53-1.24.47-1.27.41-1.32.34-1.34.26-1.38.2-1.4.11-1.43.04-1.43-.04-1.4-.11-1.38-.2-1.34-.26-1.32-.34-1.27-.41-1.24-.47-1.2-.54-1.15-.59-1.1-.66-1.05-.71-1-.76-.95-.81-.88-.87-.83-.91-.75-.95-.7-.99-.62-1.03-.54-1.07-.47-1.1-.39-1.14-.31-1.16-.23-1.18-.14-1.22-.01-.32h-.03v-38.41l.05-1.23.13-1.21.23-1.19.31-1.16.39-1.13.47-1.11.55-1.06.62-1.04.69-.99.76-.95.82-.91.88-.86.95-.82 1-.76 1.05-.71 1.11-.66 1.15-.59 1.19-.54 1.24-.47 1.28-.4 1.31-.34 1.35-.27 1.37-.19 1.41-.12 1.42-.04 1.43.04 1.41.12 1.37.19z" fill="#111"></path></svg>'; }
export default function smartAvatar(element, options) { var saData = {}; if (!arguments[1]) { var options = {}; } if (!arguments.length) { throw new Error("SmartAvatar ERROR: missing 'element' argument.") } else if (arguments[1] === 'dispose') { const saChildren = element.querySelectorAll(".smart-avatar"); for (let i = 0; i < saChildren.length; i++) { element.removeChild(saChildren[i]); } if (element.querySelectorAll(".smart-avatar").length > 0) { throw new Error("SmartAvatar ERROR: could not dispose SmartAvatar nodes." + element.querySelectorAll(".smart-avatar").length + "left."); } else { return; } } else if (arguments[1] && (typeof arguments[1] !== 'object')) { throw new Error("SmartAvatar ERROR: 'options' argument must be an object."); } var isElement = function(element) { return element instanceof Element || element instanceof HTMLDocument; } if (isElement(element)) { saData.parent = element; } else { var type = typeof element; throw new Error('SmartAvatar ERROR: cannot append asset to ' + type + '.'); } saData.priority = options.priority ? parsePriority(options.priority) : {src1:'gravatar',src2:'src',src3:'smart'}; saData.timestamp = typeof options.timestamp === 'boolean' ? options.timestamp : false; saData.alt = options.alt ? options.alt.toString() : null; saData.icon = options.icon ? options.icon.toString() : 'smartfox'; saData.size = options.size ? parseImgRes(options.size.toString()) : null; saData.round = options.round === true ? true : false; saData.initials = options.initials ? parseInitials(options.initials.toString()) : null; saData.color = options.color ? parseColor(options.color.toString()) : null; saData.textColor = options.textColor ? parseColor(options.textColor.toString()) : null; saData.colorScheme = options.colorScheme ? parseColorScheme(options.colorScheme) : null; saData.cssClass = options.cssClass ? parseCssClass(options.cssClass.toString()) : null; saData.email = options.email ? parseEmail(options.email.toString()) : null; saData.hash = (options.hash ? options.hash.toString() : false) || (saData.email ? md5(saData.email) : null); saData.protocol = options.protocol ? parseProtocol(options.protocol.toString()) : 'secure'; saData.format = options.format ? parseImgFormat(options.format.toString()) : 'jpg'; saData.resolution = options.resolution ? parseImgRes(options.resolution.toString()) : '80'; saData.src = options.src ? options.src.toString() : null; saData.unstyled = options.unstyled === true ? true : false; if (!saData.unstyled && options.setDefaults) { saData.color = saData.color || '#777'; saData.size = saData.size || '48'; saData.textColor = saData.textColor || '#FFF'; } saData.gravatarUrl = saData.hash ? generateGravatarUrl(saData) : ''; var asset = renderSA(element, saData); element.appendChild(asset); }
function generateGravatarUrl(saData) { var imgProtocol = parseProtocol(saData.protocol); var imgFormat = parseImgFormat(saData.format); var imgRes = parseGravatarURIRes(saData.resolution); var queryString = '?d=404&' + imgRes; var gravatarUrl = imgProtocol + 'www.gravatar.com/avatar/' + saData.hash + '.' + imgFormat + queryString; return gravatarUrl; }
function md5cycle(x, k) { var a = x[0], b = x[1], c = x[2], d = x[3]; a = ff(a, b, c, d, k[0], 7, -680876936); d = ff(d, a, b, c, k[1], 12, -389564586); c = ff(c, d, a, b, k[2], 17, 606105819); b = ff(b, c, d, a, k[3], 22, -1044525330); a = ff(a, b, c, d, k[4], 7, -176418897); d = ff(d, a, b, c, k[5], 12, 1200080426); c = ff(c, d, a, b, k[6], 17, -1473231341); b = ff(b, c, d, a, k[7], 22, -45705983); a = ff(a, b, c, d, k[8], 7, 1770035416); d = ff(d, a, b, c, k[9], 12, -1958414417); c = ff(c, d, a, b, k[10], 17, -42063); b = ff(b, c, d, a, k[11], 22, -1990404162); a = ff(a, b, c, d, k[12], 7, 1804603682); d = ff(d, a, b, c, k[13], 12, -40341101); c = ff(c, d, a, b, k[14], 17, -1502002290); b = ff(b, c, d, a, k[15], 22, 1236535329); a = gg(a, b, c, d, k[1], 5, -165796510); d = gg(d, a, b, c, k[6], 9, -1069501632); c = gg(c, d, a, b, k[11], 14, 643717713); b = gg(b, c, d, a, k[0], 20, -373897302); a = gg(a, b, c, d, k[5], 5, -701558691); d = gg(d, a, b, c, k[10], 9, 38016083); c = gg(c, d, a, b, k[15], 14, -660478335); b = gg(b, c, d, a, k[4], 20, -405537848); a = gg(a, b, c, d, k[9], 5, 568446438); d = gg(d, a, b, c, k[14], 9, -1019803690); c = gg(c, d, a, b, k[3], 14, -187363961); b = gg(b, c, d, a, k[8], 20, 1163531501); a = gg(a, b, c, d, k[13], 5, -1444681467); d = gg(d, a, b, c, k[2], 9, -51403784); c = gg(c, d, a, b, k[7], 14, 1735328473); b = gg(b, c, d, a, k[12], 20, -1926607734); a = hh(a, b, c, d, k[5], 4, -378558); d = hh(d, a, b, c, k[8], 11, -2022574463); c = hh(c, d, a, b, k[11], 16, 1839030562); b = hh(b, c, d, a, k[14], 23, -35309556); a = hh(a, b, c, d, k[1], 4, -1530992060); d = hh(d, a, b, c, k[4], 11, 1272893353); c = hh(c, d, a, b, k[7], 16, -155497632); b = hh(b, c, d, a, k[10], 23, -1094730640); a = hh(a, b, c, d, k[13], 4, 681279174); d = hh(d, a, b, c, k[0], 11, -358537222); c = hh(c, d, a, b, k[3], 16, -722521979); b = hh(b, c, d, a, k[6], 23, 76029189); a = hh(a, b, c, d, k[9], 4, -640364487); d = hh(d, a, b, c, k[12], 11, -421815835); c = hh(c, d, a, b, k[15], 16, 530742520); b = hh(b, c, d, a, k[2], 23, -995338651); a = ii(a, b, c, d, k[0], 6, -198630844); d = ii(d, a, b, c, k[7], 10, 1126891415); c = ii(c, d, a, b, k[14], 15, -1416354905); b = ii(b, c, d, a, k[5], 21, -57434055); a = ii(a, b, c, d, k[12], 6, 1700485571); d = ii(d, a, b, c, k[3], 10, -1894986606); c = ii(c, d, a, b, k[10], 15, -1051523); b = ii(b, c, d, a, k[1], 21, -2054922799); a = ii(a, b, c, d, k[8], 6, 1873313359); d = ii(d, a, b, c, k[15], 10, -30611744); c = ii(c, d, a, b, k[6], 15, -1560198380); b = ii(b, c, d, a, k[13], 21, 1309151649); a = ii(a, b, c, d, k[4], 6, -145523070); d = ii(d, a, b, c, k[11], 10, -1120210379); c = ii(c, d, a, b, k[2], 15, 718787259); b = ii(b, c, d, a, k[9], 21, -343485551); x[0] = add32(a, x[0]); x[1] = add32(b, x[1]); x[2] = add32(c, x[2]); x[3] = add32(d, x[3]); } function cmn(q, a, b, x, s, t) { a = add32(add32(a, q), add32(x, t)); return add32((a << s) | (a >>> (32 - s)), b); } function ff(a, b, c, d, x, s, t) { return cmn((b & c) | ((~b) & d), a, b, x, s, t); } function gg(a, b, c, d, x, s, t) { return cmn((b & d) | (c & (~d)), a, b, x, s, t); } function hh(a, b, c, d, x, s, t) { return cmn(b ^ c ^ d, a, b, x, s, t); } function ii(a, b, c, d, x, s, t) { return cmn(c ^ (b | (~d)), a, b, x, s, t); } function md51(s) { var n = s.length, state = [1732584193, -271733879, -1732584194, 271733878], i; for (i=64; i<=s.length; i+=64) { md5cycle(state, md5blk(s.substring(i-64, i))); } s = s.substring(i-64); var tail = [0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0]; for (i=0; i<s.length; i++) tail[i>>2] |= s.charCodeAt(i) << ((i%4) << 3); tail[i>>2] |= 0x80 << ((i%4) << 3); if (i > 55) { md5cycle(state, tail); for (i=0; i<16; i++) tail[i] = 0; } tail[14] = n*8; md5cycle(state, tail); return state; } function md5blk(s) { var md5blks = [], i; for (i=0; i<64; i+=4) { md5blks[i>>2] = s.charCodeAt(i) + (s.charCodeAt(i+1) << 8) + (s.charCodeAt(i+2) << 16) + (s.charCodeAt(i+3) << 24); } return md5blks; } var hex_chr = '0123456789abcdef'.split(''); function rhex(n) { var s='', j=0; for(; j<4; j++) s += hex_chr[(n >> (j * 8 + 4)) & 0x0F] + hex_chr[(n >> (j * 8)) & 0x0F]; return s; } function hex(x) { for (var i=0; i<x.length; i++) x[i] = rhex(x[i]); return x.join(''); } function md5(s) { return hex(md51(s)); } function add32(a, b) { return (a + b) & 0xFFFFFFFF; }
function parseInitials(initialsStr) { var initials; if ((initialsStr.length > 1) && initialsStr.indexOf(' ') != -1) { var splitInit = initialsStr.split(' ') initials = splitInit[0][0] + splitInit[1][0]; } else if (initialsStr.length > 1) { initials = initialsStr[0] + initialsStr[1]; } else { initials = initialsStr; } var upperInitials = initials.toUpperCase(); return upperInitials; } function parsePriority(priorityArr) { var allowedEntries = ['gravatar','src','smart']; var priorityObj = {}; for (let i = 0; i < priorityArr.length; i++) { if ((allowedEntries.indexOf(priorityArr[i].toString()) != -1) && (Object.values(priorityObj).indexOf(priorityArr[i].toString()) === -1)) { var key = 'src' + (i + 1); priorityObj[key] = priorityArr[i].toString(); } } return priorityObj; } function parseEmail(emailStr) { var email; if (emailStr.indexOf('@') != -1) { email = emailStr.trim().toLowerCase(); } else { email = null; } return email; } function parseImgFormat(formatStr) { var format; switch (true) { case (formatStr.toLowerCase().indexOf('png') != -1): format = 'png'; break; case ((formatStr.toLowerCase().indexOf('jpg') != -1) || (formatStr.toLowerCase().indexOf('jpeg') != -1)): format = 'jpg'; break; case (formatStr.toLowerCase().indexOf('tiff') != -1): format = 'tiff'; break; default: format = 'jpg'; } return format; } function parseImgRes(resStr) { var resNum = parseInt(resStr, 10); var resString; switch (true) { case (!isNaN(resNum)): resString = resNum.toString(); break; default: resString = '80'; } return resString; } function parseColor(colorStr) { return colorStr; } function parseColorScheme(colorArr) { return colorArr; } function parseProtocol(protocolStr) { var protocalString; switch(protocolStr) { case 'agnostic': protocalString = '//'; break; case 'secure': protocalString = 'https://'; break; case 'unsecure': protocalString = 'http://'; break; default: protocalString = 'https://'; } return protocalString; } function parseGravatarURIRes(res) { var resString = parseImgRes(res.toString()) var resQuery = 's=' + resString; return resQuery; }
function parseInitials(initialsStr) { var initials; if ((initialsStr.length > 1) && initialsStr.indexOf(' ') != -1) { var splitInit = initialsStr.split(' ') initials = splitInit[0][0] + splitInit[1][0]; } else if (initialsStr.length > 1) { initials = initialsStr[0] + initialsStr[1]; } else { initials = initialsStr; } var upperInitials = initials.toUpperCase(); return upperInitials; } function parsePriority(priorityArr) { var allowedEntries = ['gravatar','src','smart']; var priorityObj = {}; for (let i = 0; i < priorityArr.length; i++) { if ((allowedEntries.indexOf(priorityArr[i].toString()) != -1) && (Object.values(priorityObj).indexOf(priorityArr[i].toString()) === -1)) { var key = 'src' + (i + 1); priorityObj[key] = priorityArr[i].toString(); } } return priorityObj; } function parseEmail(emailStr) { var email; if (emailStr.indexOf('@') != -1) { email = emailStr.trim().toLowerCase(); } else { email = null; } return email; } function parseImgFormat(formatStr) { var format; switch (true) { case (formatStr.toLowerCase().indexOf('png') != -1): format = 'png'; break; case ((formatStr.toLowerCase().indexOf('jpg') != -1) || (formatStr.toLowerCase().indexOf('jpeg') != -1)): format = 'jpg'; break; case (formatStr.toLowerCase().indexOf('tiff') != -1): format = 'tiff'; break; default: format = 'jpg'; } return format; } function parseImgRes(resStr) { var resNum = parseInt(resStr, 10); var resString; switch (true) { case (!isNaN(resNum)): resString = resNum.toString(); break; default: resString = '80'; } return resString; } function parseColor(colorStr) { return colorStr; } function parseColorScheme(colorArr) { return colorArr; } function parseCssClass(cssClass) { let cssClassArray = []; if (cssClass) { cssClassArray = cssClass.replace(/\s/g, '').split(','); } return cssClassArray; } function parseProtocol(protocolStr) { var protocalString; switch(protocolStr) { case 'agnostic': protocalString = '//'; break; case 'secure': protocalString = 'https://'; break; case 'unsecure': protocalString = 'http://'; break; default: protocalString = 'https://'; } return protocalString; } function parseGravatarURIRes(res) { var resString = parseImgRes(res.toString()) var resQuery = 's=' + resString; return resQuery; }

@@ -1,1 +0,1 @@

module.exports=function(t){var r={};function e(a){if(r[a])return r[a].exports;var n=r[a]={i:a,l:!1,exports:{}};return t[a].call(n.exports,n,n.exports,e),n.l=!0,n.exports}return e.m=t,e.c=r,e.d=function(t,r,a){e.o(t,r)||Object.defineProperty(t,r,{enumerable:!0,get:a})},e.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},e.t=function(t,r){if(1&r&&(t=e(t)),8&r)return t;if(4&r&&"object"==typeof t&&t&&t.__esModule)return t;var a=Object.create(null);if(e.r(a),Object.defineProperty(a,"default",{enumerable:!0,value:t}),2&r&&"string"!=typeof t)for(var n in t)e.d(a,n,function(r){return t[r]}.bind(null,n));return a},e.n=function(t){var r=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(r,"a",r),r},e.o=function(t,r){return Object.prototype.hasOwnProperty.call(t,r)},e.p="",e(e.s=1)}([function(t,r){function e(t){var r,e=parseInt(t,10);switch(!0){case!isNaN(e):r=e.toString();break;default:r="80"}return r}t.exports.parseColor=function(t){return t},t.exports.parseColorScheme=function(t){return t},t.exports.parseEmail=function(t){return-1!=t.indexOf("@")?t.trim().toLowerCase():null},t.exports.parseGravatarURIRes=function(t){return"s="+e(t.toString())},t.exports.parseImgFormat=function(t){var r;switch(!0){case-1!=t.toLowerCase().indexOf("png"):r="png";break;case-1!=t.toLowerCase().indexOf("jpg")||-1!=t.toLowerCase().indexOf("jpeg"):r="jpg";break;case-1!=t.toLowerCase().indexOf("tiff"):r="tiff";break;default:r="jpg"}return r},t.exports.parseImgRes=e,t.exports.parseInitials=function(t){var r;if(t.length>1&&-1!=t.indexOf(" ")){var e=t.split(" ");r=e[0][0]+e[1][0]}else r=t.length>1?t[0]+t[1]:t;return r.toUpperCase()},t.exports.parsePriority=function(t){var r=["gravatar","src","smart"],e={};for(let a=0;a<t.length;a++)-1!=r.indexOf(t[a].toString())&&-1===Object.values(e).indexOf(t[a].toString())&&(e["src"+(a+1)]=t[a].toString());return e},t.exports.parseProtocol=function(t){var r;switch(t){case"agnostic":r="//";break;case"secure":r="https://";break;case"unsecure":r="http://";break;default:r="https://"}return r}},function(t,r,e){t.exports=e(2)},function(t,r,e){var{md5:a}=e(3),{parseColor:n,parseColorScheme:o,parseEmail:i,parseImgFormat:s,parseImgRes:l,parseInitials:c,parsePriority:p,parseProtocol:u}=e(0),{generateGravatarUrl:f}=e(4),{renderSA:h}=e(5);function d(t,r){var e={};if(!arguments[1])r={};if(!arguments.length)throw new Error("SmartAvatar ERROR: missing 'element' argument.");if("dispose"!==arguments[1]){if(arguments[1]&&"object"!=typeof arguments[1])throw new Error("SmartAvatar ERROR: 'options' argument must be an object.");if(!function(t){return t instanceof Element||t instanceof HTMLDocument}(t))throw new Error("SmartAvatar ERROR: cannot append asset to "+typeof t+".");e.parent=t,e.priority=r.priority?p(r.priority):{src1:"gravatar",src2:"src",src3:"smart"},e.timestamp="boolean"==typeof r.timestamp&&r.timestamp,e.alt=r.alt?r.alt.toString():null,e.icon=r.icon?r.icon.toString():"smartfox",e.size=r.size?l(r.size.toString()):null,e.round=!0===r.round,e.initials=r.initials?c(r.initials.toString()):null,e.color=r.color?n(r.color.toString()):null,e.textColor=r.textColor?n(r.textColor.toString()):null,e.colorScheme=r.colorScheme?o(r.colorScheme):null,e.cssClass=r.cssClass?r.cssClass.toString():null,e.email=r.email?i(r.email.toString()):null,e.hash=!!r.hash&&r.hash.toString()||(e.email?a(e.email):null),e.protocol=r.protocol?u(r.protocol.toString()):"secure",e.format=r.format?s(r.format.toString()):"jpg",e.resolution=r.resolution?l(r.resolution.toString()):"80",e.src=r.src?r.src.toString():null,e.unstyled=!0===r.unstyled,!e.unstyled&&r.setDefaults&&(e.color=e.color||"#777",e.size=e.size||"48",e.textColor=e.textColor||"#FFF"),e.gravatarUrl=e.hash?f(e):"";var d=h(t,e);t.appendChild(d)}else{const r=t.querySelectorAll(".smart-avatar");for(let e=0;e<r.length;e++)t.removeChild(r[e]);if(t.querySelectorAll(".smart-avatar").length>0)throw new Error("SmartAvatar ERROR: could not dispose SmartAvatar nodes."+t.querySelectorAll(".smart-avatar").length+"left.")}}t.exports=d,t.exports.default=d},function(t,r){function e(t,r){var e=t[0],a=t[1],l=t[2],c=t[3];e=n(e,a,l,c,r[0],7,-680876936),c=n(c,e,a,l,r[1],12,-389564586),l=n(l,c,e,a,r[2],17,606105819),a=n(a,l,c,e,r[3],22,-1044525330),e=n(e,a,l,c,r[4],7,-176418897),c=n(c,e,a,l,r[5],12,1200080426),l=n(l,c,e,a,r[6],17,-1473231341),a=n(a,l,c,e,r[7],22,-45705983),e=n(e,a,l,c,r[8],7,1770035416),c=n(c,e,a,l,r[9],12,-1958414417),l=n(l,c,e,a,r[10],17,-42063),a=n(a,l,c,e,r[11],22,-1990404162),e=n(e,a,l,c,r[12],7,1804603682),c=n(c,e,a,l,r[13],12,-40341101),l=n(l,c,e,a,r[14],17,-1502002290),e=o(e,a=n(a,l,c,e,r[15],22,1236535329),l,c,r[1],5,-165796510),c=o(c,e,a,l,r[6],9,-1069501632),l=o(l,c,e,a,r[11],14,643717713),a=o(a,l,c,e,r[0],20,-373897302),e=o(e,a,l,c,r[5],5,-701558691),c=o(c,e,a,l,r[10],9,38016083),l=o(l,c,e,a,r[15],14,-660478335),a=o(a,l,c,e,r[4],20,-405537848),e=o(e,a,l,c,r[9],5,568446438),c=o(c,e,a,l,r[14],9,-1019803690),l=o(l,c,e,a,r[3],14,-187363961),a=o(a,l,c,e,r[8],20,1163531501),e=o(e,a,l,c,r[13],5,-1444681467),c=o(c,e,a,l,r[2],9,-51403784),l=o(l,c,e,a,r[7],14,1735328473),e=i(e,a=o(a,l,c,e,r[12],20,-1926607734),l,c,r[5],4,-378558),c=i(c,e,a,l,r[8],11,-2022574463),l=i(l,c,e,a,r[11],16,1839030562),a=i(a,l,c,e,r[14],23,-35309556),e=i(e,a,l,c,r[1],4,-1530992060),c=i(c,e,a,l,r[4],11,1272893353),l=i(l,c,e,a,r[7],16,-155497632),a=i(a,l,c,e,r[10],23,-1094730640),e=i(e,a,l,c,r[13],4,681279174),c=i(c,e,a,l,r[0],11,-358537222),l=i(l,c,e,a,r[3],16,-722521979),a=i(a,l,c,e,r[6],23,76029189),e=i(e,a,l,c,r[9],4,-640364487),c=i(c,e,a,l,r[12],11,-421815835),l=i(l,c,e,a,r[15],16,530742520),e=s(e,a=i(a,l,c,e,r[2],23,-995338651),l,c,r[0],6,-198630844),c=s(c,e,a,l,r[7],10,1126891415),l=s(l,c,e,a,r[14],15,-1416354905),a=s(a,l,c,e,r[5],21,-57434055),e=s(e,a,l,c,r[12],6,1700485571),c=s(c,e,a,l,r[3],10,-1894986606),l=s(l,c,e,a,r[10],15,-1051523),a=s(a,l,c,e,r[1],21,-2054922799),e=s(e,a,l,c,r[8],6,1873313359),c=s(c,e,a,l,r[15],10,-30611744),l=s(l,c,e,a,r[6],15,-1560198380),a=s(a,l,c,e,r[13],21,1309151649),e=s(e,a,l,c,r[4],6,-145523070),c=s(c,e,a,l,r[11],10,-1120210379),l=s(l,c,e,a,r[2],15,718787259),a=s(a,l,c,e,r[9],21,-343485551),t[0]=u(e,t[0]),t[1]=u(a,t[1]),t[2]=u(l,t[2]),t[3]=u(c,t[3])}function a(t,r,e,a,n,o){return r=u(u(r,t),u(a,o)),u(r<<n|r>>>32-n,e)}function n(t,r,e,n,o,i,s){return a(r&e|~r&n,t,r,o,i,s)}function o(t,r,e,n,o,i,s){return a(r&n|e&~n,t,r,o,i,s)}function i(t,r,e,n,o,i,s){return a(r^e^n,t,r,o,i,s)}function s(t,r,e,n,o,i,s){return a(e^(r|~n),t,r,o,i,s)}function l(t){var r,e=[];for(r=0;r<64;r+=4)e[r>>2]=t.charCodeAt(r)+(t.charCodeAt(r+1)<<8)+(t.charCodeAt(r+2)<<16)+(t.charCodeAt(r+3)<<24);return e}var c="0123456789abcdef".split("");function p(t){for(var r="",e=0;e<4;e++)r+=c[t>>8*e+4&15]+c[t>>8*e&15];return r}function u(t,r){return t+r&4294967295}t.exports.md5=function(t){return function(t){for(var r=0;r<t.length;r++)t[r]=p(t[r]);return t.join("")}(function(t){var r,a=t.length,n=[1732584193,-271733879,-1732584194,271733878];for(r=64;r<=t.length;r+=64)e(n,l(t.substring(r-64,r)));t=t.substring(r-64);var o=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];for(r=0;r<t.length;r++)o[r>>2]|=t.charCodeAt(r)<<(r%4<<3);if(o[r>>2]|=128<<(r%4<<3),r>55)for(e(n,o),r=0;r<16;r++)o[r]=0;return o[14]=8*a,e(n,o),n}(t))}},function(t,r,e){var{parseProtocol:a,parseImgFormat:n,parseGravatarURIRes:o}=e(0);t.exports.generateGravatarUrl=function(t){var r=a(t.protocol),e=n(t.format),i="?d=404&"+o(t.resolution);return r+"www.gravatar.com/avatar/"+t.hash+"."+e+i}},function(t,r){function e(t,r){switch(t){case"iconImg":return function(t){var r=new Image,e=a(t.icon);r.src=e,t.unstyled||(r.style.cssText=(t.round?"border-radius: 50%;":"")+(t.size?"height:"+t.size+"px;width:"+t.size+"px;":"")+"object-fit:cover;");t.cssClass?r.classList.add("smart-avatar",t.cssClass):r.classList.add("smart-avatar");t.timestamp&&r.setAttribute("sa_timestamp",Date.now());t.alt&&(r.alt=t.alt);return r}(r);case"initEl":return function(t){return n("initEl",t)}(r);case"iconEl":return function(t){return n("iconEl",t)}(r)}}function a(t){return"https://www.gravatar.com/avatar?d="+t+"&f=y"}function n(t,r){var e;"initEl"===t?e=r.initials:"iconEl"===t&&(e=function(t){return'<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="'+(t.size?.75*t.size:"48")+'" height="'+(t.size?.75*t.size:"48")+'" viewBox="0 0 640 640"><path d="M482.82 372.91c0 104.04-73.14 188.5-163.22 188.5s-163.22-84.46-163.22-188.5S229.52 184.4 319.6 184.4s163.22 84.47 163.22 188.51z" fill="#222"></path><path d="M257 313.26L452.53 101l-.26 212.5-195.27-.24z" fill="#222"></path><path d="M382.53 313.26L187 101l.26 212.5 195.27-.24z" fill="#222"></path><path d="M194.79 119.68c0 14.23-11.55 25.78-25.79 25.78-14.23 0-25.78-11.55-25.78-25.78S154.77 93.89 169 93.89c14.24 0 25.79 11.56 25.79 25.79z" fill="#222"></path><path d="M495.69 119.68c0 14.23-11.55 25.78-25.78 25.78s-25.79-11.55-25.79-25.78 11.56-25.79 25.79-25.79c14.23 0 25.78 11.56 25.78 25.79z" fill="#222"></path><path d="M143.22 114.92h57.31v314.79h-57.31V114.92z" fill="#222"></path><path d="M438.38 119.68h57.31v314.78h-57.31V119.68z" fill="#222"></path><path d="M319.6 216.7l275.67 275.68H319.6V216.7z" fill="#222"></path><path d="M319.6 272.32l275.67 275.67H319.6V272.32z" fill="#222"></path><path d="M319.6 272.32L43.92 547.99H319.6V272.32z" fill="#222"></path><path d="M319.6 216.7L43.92 492.38H319.6V216.7z" fill="#222"></path><path d="M384.87 189.61L109.19 465.28h275.68V189.61z" fill="#e4e4e4"></path><path d="M254.03 246.36l275.68 275.68H254.03V246.36z" fill="#e4e4e4"></path><path d="M254.03 189.61l275.68 275.67H254.03V189.61z" fill="#e4e4e4"></path><path d="M170.85 126.78l275.68 275.68H170.85V126.78z" fill="#de7f27"></path><path d="M467.82 126.78L192.14 402.46h275.68V126.78z" fill="#de7f27"></path><path d="M297.46 277.07L125.05 449.48h172.41V277.07z" fill="#e4e4e4"></path><path d="M384.87 246.36L109.19 522.04h275.68V246.36z" fill="#e4e4e4"></path><path d="M341.37 277.07l172.41 172.41H341.37V277.07z" fill="#e4e4e4"></path><path d="M173.57 124.8l17.92-17.19 133.42 139.08-17.92 17.19L173.57 124.8z" fill="#222"></path><path d="M466.34 124.8l-17.92-17.19L315 246.69l17.92 17.19L466.34 124.8z" fill="#222"></path><path d="M451.53 355.79c0 82.04-59.49 148.65-132.77 148.65-73.27 0-132.76-66.61-132.76-148.65s59.49-148.64 132.76-148.64c73.28 0 132.77 66.6 132.77 148.64z" fill="#de7f27"></path><path d="M452.53 386.62c0 82.04-59.49 148.64-132.77 148.64-73.27 0-132.76-66.6-132.76-148.64 0-82.04 59.49-148.65 132.76-148.65 73.28 0 132.77 66.61 132.77 148.65z" fill="#e4e4e4"></path><path d="M171.88 126.78l275.67 275.68H171.88V126.78z" fill="#de7f27"></path><path d="M466.34 126.78L190.67 402.46h275.67V126.78z" fill="#de7f27"></path><path d="M370.61 272.32c0 28.15-22.86 51.01-51.01 51.01-28.16 0-51.02-22.86-51.02-51.01 0-28.16 22.86-51.02 51.02-51.02 28.15 0 51.01 22.86 51.01 51.02z" fill="#de7f27"></path><path d="M253.44 259.45l1.38.23 1.34.28 1.32.35 1.29.4 1.26.46 1.22.51 1.19.57 1.14.61 1.11.67 1.07.71 1.02.75.97.8.93.84.88.89.82.91.77.96.71.99.66 1.02.59 1.06.53 1.08.47 1.11.4 1.14.33 1.16.27 1.19.19 1.21.11 1.22.04 1.24h.11v46.42h-.14l-.01.15-.11 1.22-.19 1.21-.27 1.18-.33 1.16-.4 1.14-.47 1.11-.53 1.09-.59 1.05-.66 1.03-.71.99-.77.95-.82.92-.88.88-.93.84-.97.8-1.02.76-1.07.71-1.11.66-1.14.62-1.19.56-1.22.52-1.26.45-1.29.41-1.32.34-1.34.29-1.38.23-1.4.16-1.42.1-1.44.03-1.44-.03-1.42-.1-1.39-.16-1.38-.23-1.34-.29-1.32-.34-1.29-.41-1.26-.45-1.22-.52-1.19-.56-1.15-.62-1.1-.66-1.07-.71-1.02-.76-.97-.8-.93-.84-.88-.88-.82-.92-.77-.95-.71-.99-.66-1.03-.59-1.05-.53-1.09-.47-1.11-.4-1.14-.33-1.16-.27-1.18-.19-1.21-.11-1.22-.01-.15h-.03v-46.42l.04-1.24.11-1.22.19-1.21.27-1.19.33-1.16.4-1.14.47-1.11.53-1.08.59-1.06.66-1.02.71-.99.77-.96.82-.91.88-.89.93-.84.97-.8 1.02-.75 1.07-.71 1.1-.67 1.15-.61 1.19-.57 1.22-.51 1.26-.46 1.29-.4 1.32-.35 1.34-.28 1.38-.23 1.39-.16 1.42-.1 1.44-.04 1.44.04 1.42.1 1.4.16z" fill="#111"></path><path d="M394.88 259.45l1.37.23 1.35.28 1.32.35 1.28.4 1.26.46 1.22.51 1.19.57 1.15.61 1.1.67 1.07.71 1.02.75.98.8.92.84.88.89.82.91.77.96.71.99.66 1.02.59 1.06.54 1.08.46 1.11.4 1.14.34 1.16.26 1.19.19 1.21.11 1.22.04 1.24h.11v46.42h-.14l-.01.15-.11 1.22-.19 1.21-.26 1.18-.34 1.16-.4 1.14-.46 1.11-.54 1.09-.59 1.05-.66 1.03-.71.99-.77.95-.82.92-.88.88-.92.84-.98.8-1.02.76-1.07.71-1.1.66-1.15.62-1.19.56-1.22.52-1.26.45-1.28.41-1.32.34-1.35.29-1.37.23-1.4.16-1.42.1-1.44.03-1.44-.03-1.42-.1-1.4-.16-1.37-.23-1.35-.29-1.32-.34-1.29-.41-1.26-.45-1.22-.52-1.18-.56-1.15-.62-1.11-.66-1.07-.71-1.02-.76-.97-.8-.93-.84-.87-.88-.83-.92-.77-.95-.71-.99-.65-1.03-.6-1.05-.53-1.09-.47-1.11-.4-1.14-.33-1.16-.26-1.18-.19-1.21-.12-1.22v-.15h-.04v-46.42l.04-1.24.12-1.22.19-1.21.26-1.19.33-1.16.4-1.14.47-1.11.53-1.08.6-1.06.65-1.02.71-.99.77-.96.83-.91.87-.89.93-.84.97-.8 1.02-.75 1.07-.71 1.11-.67 1.15-.61 1.18-.57 1.22-.51 1.26-.46 1.29-.4 1.32-.35 1.35-.28 1.37-.23 1.4-.16 1.42-.1 1.44-.04 1.44.04 1.42.1 1.4.16z" fill="#111"></path><path d="M170.85 402.46l148.75 45.28v-45.28H170.85z" fill="#de7f27"></path><path d="M468.34 402.46L319.6 447.74v-45.28h148.74z" fill="#de7f27"></path><path d="M341.98 413.09l1.16.31 1.13.39 1.11.47 1.06.55 1.04.62.99.69.95.76.91.82.86.89.82.94.76 1 .71 1.05.66 1.11.59 1.15.54 1.2.47 1.23.4 1.28.34 1.31.27 1.35.19 1.38.12 1.4.04 1.43-.04 1.42-.12 1.41-.19 1.37-.27 1.35-.34 1.31-.4 1.28-.47 1.24-.54 1.19-.6 1.15-.65 1.11-.71 1.05-.76 1-.82.95-.86.88-.91.82-.95.76-1 .69-1.03.62-1.07.55-1.1.47-1.13.39-1.16.31-1.19.23-1.21.13-1.23.05v.09h-38.41v-.13l-.33-.01-1.21-.14-1.19-.22-1.16-.31-1.13-.39-1.1-.47-1.07-.55-1.03-.62-.99-.69-.96-.76-.9-.82-.87-.89-.81-.94-.77-1-.71-1.05-.65-1.11-.6-1.15-.53-1.2-.47-1.23-.41-1.28-.34-1.31-.26-1.35-.2-1.37-.12-1.41-.04-1.43.04-1.42.12-1.41.2-1.37.26-1.35.34-1.31.41-1.28.47-1.24.53-1.19.6-1.15.66-1.11.71-1.05.76-1 .81-.95.87-.88.91-.82.95-.76.99-.69 1.03-.62 1.07-.55 1.1-.47 1.14-.39 1.16-.31 1.18-.23 1.22-.13.32-.01v-.04h38.41l1.23.05 1.21.14 1.19.22z" fill="#111"></path><path d="M323.76 413.81l1.35.27 1.31.34 1.28.4 1.23.47 1.2.54 1.15.59 1.11.66 1.05.71 1 .76.94.82.89.86.82.91.76.95.69 1 .62 1.03.55 1.07.47 1.1.39 1.13.31 1.16.22 1.19.14 1.21.05 1.23h.09v38.41h-.13l-.01.33-.14 1.21-.22 1.18-.31 1.17-.39 1.13-.47 1.1-.55 1.07-.62 1.03-.69.99-.76.95-.82.91-.89.87-.94.81-1 .76-1.06.71-1.1.66-1.15.6-1.2.53-1.24.47-1.27.41-1.32.34-1.34.26-1.38.2-1.4.11-1.43.04-1.43-.04-1.4-.11-1.38-.2-1.34-.26-1.32-.34-1.27-.41-1.24-.47-1.2-.54-1.15-.59-1.1-.66-1.05-.71-1-.76-.95-.81-.88-.87-.83-.91-.75-.95-.7-.99-.62-1.03-.54-1.07-.47-1.1-.39-1.14-.31-1.16-.23-1.18-.14-1.22-.01-.32h-.03v-38.41l.05-1.23.13-1.21.23-1.19.31-1.16.39-1.13.47-1.11.55-1.06.62-1.04.69-.99.76-.95.82-.91.88-.86.95-.82 1-.76 1.05-.71 1.11-.66 1.15-.59 1.19-.54 1.24-.47 1.28-.4 1.31-.34 1.35-.27 1.37-.19 1.41-.12 1.42-.04 1.43.04 1.41.12 1.37.19z" fill="#111"></path></svg>'}(r));var a=document.createElement("div");return r.unstyled||(a.style.cssText=(r.round?"border-radius: 50%;":"")+"align-items:center;"+(r.color?"background-color:"+r.color:"")+(r.textColor?";color:"+r.textColor:"")+';display:flex;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;'+(r.size?"font-size:"+r.size/2+"px;height:"+r.size+"px;justify-content:center;margin:0;padding:0;width:"+r.size+"px;":"")),r.cssClass?a.classList.add("smart-avatar",r.cssClass):a.classList.add("smart-avatar"),r.timestamp&&a.setAttribute("sa_timestamp",Date.now()),a.innerHTML="<span "+(r.unstyled?"":'style="display:flex;"')+">"+e+"</span>",a}function o(t,r,e){if(r.style.opacity=0,"el"===e.type)delete r.onerror,t.appendChild(e.content),t.removeChild(r);else if(r.src=e.content,r.style.opacity=1,!r.src)throw new Error("SmartAvatar ERROR: internal error - img src recursively undefined")}t.exports.renderSA=function(t,r){var n=function(t,r){var n=["mp","identicon","monsterid","wavatar","retro","robohash"],i={};switch(!0){case"smart"===r.priority.src1&&r.initials:i.asset=e("initEl",r),i.finished=!0;break;case"smart"===r.priority.src1&&r.icon&&!n.includes(r.icon):i.asset=e("iconEl",r),i.finished=!0;break;case"smart"===r.priority.src1&&r.icon&&n.includes(r.icon):i.asset=e("iconImg",r),i.finished=!0;break;default:i.asset=function(t,r){var n=function(t){var r=["mp","identicon","monsterid","wavatar","retro","robohash"],n={asset1:{},asset2:{},asset3:{}};n.asset1.content="gravatar"===t.priority.src1?t.gravatarUrl:t.src,n.asset1.type="url";for(var o=2;o<=3;o++){var i="src"+o,s="asset"+o;"gravatar"===t.priority[i]?(n[s].content=t.gravatarUrl,n[s].type="url"):"src"===t.priority[i]?(n[s].content=t.src,n[s].type="url"):"smart"===t.priority[i]&&(t.initials?(n[s].content=e("initEl",t),n[s].type="el"):t.icon&&!r.includes(t.icon)?(n[s].content=e("iconEl",t),n[s].type="el"):t.icon&&r.includes(t.icon)&&(n[s].content=a(t.icon),n[s].type="url"))}return n}(r),i=n.asset1,s=n.asset2,l=n.asset3,c=new Image;return c.src=i.content,r.unstyled||(c.style.cssText=(r.round?"border-radius: 50%;":"")+(r.size?"height:"+r.size+"px;width:"+r.size+"px;":"")+"object-fit:cover;"),c.onerror=function(){o(t,c,s),"el"!==s.type&&(c.onerror=function(){o(t,c,l)})},r.cssClass?c.classList.add("smart-avatar",r.cssClass):c.classList.add("smart-avatar"),r.timestamp&&c.setAttribute("sa_timestamp",Date.now()),r.alt&&(c.alt=r.alt),c}(t,r),i.finished=!0}return i}(t,r);if(n.finished)return n.asset;throw new Error("SmartAvatar ERROR: something went wrong.")}}]);
module.exports=function(t){var e={};function r(a){if(e[a])return e[a].exports;var n=e[a]={i:a,l:!1,exports:{}};return t[a].call(n.exports,n,n.exports,r),n.l=!0,n.exports}return r.m=t,r.c=e,r.d=function(t,e,a){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:a})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var a=Object.create(null);if(r.r(a),Object.defineProperty(a,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var n in t)r.d(a,n,function(e){return t[e]}.bind(null,n));return a},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=1)}([function(t,e){function r(t){var e,r=parseInt(t,10);switch(!0){case!isNaN(r):e=r.toString();break;default:e="80"}return e}t.exports.parseColor=function(t){return t},t.exports.parseColorScheme=function(t){return t},t.exports.parseCssClass=function(t){let e=[];return t&&(e=t.replace(/\s/g,"").split(",")),e},t.exports.parseEmail=function(t){return-1!=t.indexOf("@")?t.trim().toLowerCase():null},t.exports.parseGravatarURIRes=function(t){return"s="+r(t.toString())},t.exports.parseImgFormat=function(t){var e;switch(!0){case-1!=t.toLowerCase().indexOf("png"):e="png";break;case-1!=t.toLowerCase().indexOf("jpg")||-1!=t.toLowerCase().indexOf("jpeg"):e="jpg";break;case-1!=t.toLowerCase().indexOf("tiff"):e="tiff";break;default:e="jpg"}return e},t.exports.parseImgRes=r,t.exports.parseInitials=function(t){var e;if(t.length>1&&-1!=t.indexOf(" ")){var r=t.split(" ");e=r[0][0]+r[1][0]}else e=t.length>1?t[0]+t[1]:t;return e.toUpperCase()},t.exports.parsePriority=function(t){var e=["gravatar","src","smart"],r={};for(let a=0;a<t.length;a++)-1!=e.indexOf(t[a].toString())&&-1===Object.values(r).indexOf(t[a].toString())&&(r["src"+(a+1)]=t[a].toString());return r},t.exports.parseProtocol=function(t){var e;switch(t){case"agnostic":e="//";break;case"secure":e="https://";break;case"unsecure":e="http://";break;default:e="https://"}return e}},function(t,e,r){t.exports=r(2)},function(t,e,r){var{md5:a}=r(3),{parseColor:n,parseColorScheme:s,parseCssClass:o,parseEmail:i,parseImgFormat:l,parseImgRes:c,parseInitials:p,parsePriority:u,parseProtocol:f}=r(0),{generateGravatarUrl:h}=r(4),{renderSA:d}=r(5);function m(t,e){var r={};if(!arguments[1])e={};if(!arguments.length)throw new Error("SmartAvatar ERROR: missing 'element' argument.");if("dispose"!==arguments[1]){if(arguments[1]&&"object"!=typeof arguments[1])throw new Error("SmartAvatar ERROR: 'options' argument must be an object.");if(!function(t){return t instanceof Element||t instanceof HTMLDocument}(t))throw new Error("SmartAvatar ERROR: cannot append asset to "+typeof t+".");r.parent=t,r.priority=e.priority?u(e.priority):{src1:"gravatar",src2:"src",src3:"smart"},r.timestamp="boolean"==typeof e.timestamp&&e.timestamp,r.alt=e.alt?e.alt.toString():null,r.icon=e.icon?e.icon.toString():"smartfox",r.size=e.size?c(e.size.toString()):null,r.round=!0===e.round,r.initials=e.initials?p(e.initials.toString()):null,r.color=e.color?n(e.color.toString()):null,r.textColor=e.textColor?n(e.textColor.toString()):null,r.colorScheme=e.colorScheme?s(e.colorScheme):null,r.cssClass=e.cssClass?o(e.cssClass.toString()):null,r.email=e.email?i(e.email.toString()):null,r.hash=!!e.hash&&e.hash.toString()||(r.email?a(r.email):null),r.protocol=e.protocol?f(e.protocol.toString()):"secure",r.format=e.format?l(e.format.toString()):"jpg",r.resolution=e.resolution?c(e.resolution.toString()):"80",r.src=e.src?e.src.toString():null,r.unstyled=!0===e.unstyled,!r.unstyled&&e.setDefaults&&(r.color=r.color||"#777",r.size=r.size||"48",r.textColor=r.textColor||"#FFF"),r.gravatarUrl=r.hash?h(r):"";var m=d(t,r);t.appendChild(m)}else{const e=t.querySelectorAll(".smart-avatar");for(let r=0;r<e.length;r++)t.removeChild(e[r]);if(t.querySelectorAll(".smart-avatar").length>0)throw new Error("SmartAvatar ERROR: could not dispose SmartAvatar nodes."+t.querySelectorAll(".smart-avatar").length+"left.")}}t.exports=m,t.exports.default=m},function(t,e){function r(t,e){var r=t[0],a=t[1],l=t[2],c=t[3];r=n(r,a,l,c,e[0],7,-680876936),c=n(c,r,a,l,e[1],12,-389564586),l=n(l,c,r,a,e[2],17,606105819),a=n(a,l,c,r,e[3],22,-1044525330),r=n(r,a,l,c,e[4],7,-176418897),c=n(c,r,a,l,e[5],12,1200080426),l=n(l,c,r,a,e[6],17,-1473231341),a=n(a,l,c,r,e[7],22,-45705983),r=n(r,a,l,c,e[8],7,1770035416),c=n(c,r,a,l,e[9],12,-1958414417),l=n(l,c,r,a,e[10],17,-42063),a=n(a,l,c,r,e[11],22,-1990404162),r=n(r,a,l,c,e[12],7,1804603682),c=n(c,r,a,l,e[13],12,-40341101),l=n(l,c,r,a,e[14],17,-1502002290),r=s(r,a=n(a,l,c,r,e[15],22,1236535329),l,c,e[1],5,-165796510),c=s(c,r,a,l,e[6],9,-1069501632),l=s(l,c,r,a,e[11],14,643717713),a=s(a,l,c,r,e[0],20,-373897302),r=s(r,a,l,c,e[5],5,-701558691),c=s(c,r,a,l,e[10],9,38016083),l=s(l,c,r,a,e[15],14,-660478335),a=s(a,l,c,r,e[4],20,-405537848),r=s(r,a,l,c,e[9],5,568446438),c=s(c,r,a,l,e[14],9,-1019803690),l=s(l,c,r,a,e[3],14,-187363961),a=s(a,l,c,r,e[8],20,1163531501),r=s(r,a,l,c,e[13],5,-1444681467),c=s(c,r,a,l,e[2],9,-51403784),l=s(l,c,r,a,e[7],14,1735328473),r=o(r,a=s(a,l,c,r,e[12],20,-1926607734),l,c,e[5],4,-378558),c=o(c,r,a,l,e[8],11,-2022574463),l=o(l,c,r,a,e[11],16,1839030562),a=o(a,l,c,r,e[14],23,-35309556),r=o(r,a,l,c,e[1],4,-1530992060),c=o(c,r,a,l,e[4],11,1272893353),l=o(l,c,r,a,e[7],16,-155497632),a=o(a,l,c,r,e[10],23,-1094730640),r=o(r,a,l,c,e[13],4,681279174),c=o(c,r,a,l,e[0],11,-358537222),l=o(l,c,r,a,e[3],16,-722521979),a=o(a,l,c,r,e[6],23,76029189),r=o(r,a,l,c,e[9],4,-640364487),c=o(c,r,a,l,e[12],11,-421815835),l=o(l,c,r,a,e[15],16,530742520),r=i(r,a=o(a,l,c,r,e[2],23,-995338651),l,c,e[0],6,-198630844),c=i(c,r,a,l,e[7],10,1126891415),l=i(l,c,r,a,e[14],15,-1416354905),a=i(a,l,c,r,e[5],21,-57434055),r=i(r,a,l,c,e[12],6,1700485571),c=i(c,r,a,l,e[3],10,-1894986606),l=i(l,c,r,a,e[10],15,-1051523),a=i(a,l,c,r,e[1],21,-2054922799),r=i(r,a,l,c,e[8],6,1873313359),c=i(c,r,a,l,e[15],10,-30611744),l=i(l,c,r,a,e[6],15,-1560198380),a=i(a,l,c,r,e[13],21,1309151649),r=i(r,a,l,c,e[4],6,-145523070),c=i(c,r,a,l,e[11],10,-1120210379),l=i(l,c,r,a,e[2],15,718787259),a=i(a,l,c,r,e[9],21,-343485551),t[0]=u(r,t[0]),t[1]=u(a,t[1]),t[2]=u(l,t[2]),t[3]=u(c,t[3])}function a(t,e,r,a,n,s){return e=u(u(e,t),u(a,s)),u(e<<n|e>>>32-n,r)}function n(t,e,r,n,s,o,i){return a(e&r|~e&n,t,e,s,o,i)}function s(t,e,r,n,s,o,i){return a(e&n|r&~n,t,e,s,o,i)}function o(t,e,r,n,s,o,i){return a(e^r^n,t,e,s,o,i)}function i(t,e,r,n,s,o,i){return a(r^(e|~n),t,e,s,o,i)}function l(t){var e,r=[];for(e=0;e<64;e+=4)r[e>>2]=t.charCodeAt(e)+(t.charCodeAt(e+1)<<8)+(t.charCodeAt(e+2)<<16)+(t.charCodeAt(e+3)<<24);return r}var c="0123456789abcdef".split("");function p(t){for(var e="",r=0;r<4;r++)e+=c[t>>8*r+4&15]+c[t>>8*r&15];return e}function u(t,e){return t+e&4294967295}t.exports.md5=function(t){return function(t){for(var e=0;e<t.length;e++)t[e]=p(t[e]);return t.join("")}(function(t){var e,a=t.length,n=[1732584193,-271733879,-1732584194,271733878];for(e=64;e<=t.length;e+=64)r(n,l(t.substring(e-64,e)));t=t.substring(e-64);var s=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];for(e=0;e<t.length;e++)s[e>>2]|=t.charCodeAt(e)<<(e%4<<3);if(s[e>>2]|=128<<(e%4<<3),e>55)for(r(n,s),e=0;e<16;e++)s[e]=0;return s[14]=8*a,r(n,s),n}(t))}},function(t,e,r){var{parseProtocol:a,parseImgFormat:n,parseGravatarURIRes:s}=r(0);t.exports.generateGravatarUrl=function(t){var e=a(t.protocol),r=n(t.format),o="?d=404&"+s(t.resolution);return e+"www.gravatar.com/avatar/"+t.hash+"."+r+o}},function(t,e){function r(t,e){switch(t){case"iconImg":return function(t){var e=new Image,r=a(t.icon);e.src=r,t.unstyled||(e.style.cssText=(t.round?"border-radius: 50%;":"")+(t.size?"height:"+t.size+"px;width:"+t.size+"px;":"")+"object-fit:cover;");if(e.classList.add("smart-avatar"),t.cssClass){const r=t.cssClass.length;for(let a=0;a<r;a++)e.classList.add(t.cssClass[a])}t.timestamp&&e.setAttribute("sa_timestamp",Date.now());t.alt&&(e.alt=t.alt);return e}(e);case"initEl":return function(t){return n("initEl",t)}(e);case"iconEl":return function(t){return n("iconEl",t)}(e)}}function a(t){return"https://www.gravatar.com/avatar?d="+t+"&f=y"}function n(t,e){var r;"initEl"===t?r=e.initials:"iconEl"===t&&(r=function(t){return'<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="'+(t.size?.75*t.size:"48")+'" height="'+(t.size?.75*t.size:"48")+'" viewBox="0 0 640 640"><path d="M482.82 372.91c0 104.04-73.14 188.5-163.22 188.5s-163.22-84.46-163.22-188.5S229.52 184.4 319.6 184.4s163.22 84.47 163.22 188.51z" fill="#222"></path><path d="M257 313.26L452.53 101l-.26 212.5-195.27-.24z" fill="#222"></path><path d="M382.53 313.26L187 101l.26 212.5 195.27-.24z" fill="#222"></path><path d="M194.79 119.68c0 14.23-11.55 25.78-25.79 25.78-14.23 0-25.78-11.55-25.78-25.78S154.77 93.89 169 93.89c14.24 0 25.79 11.56 25.79 25.79z" fill="#222"></path><path d="M495.69 119.68c0 14.23-11.55 25.78-25.78 25.78s-25.79-11.55-25.79-25.78 11.56-25.79 25.79-25.79c14.23 0 25.78 11.56 25.78 25.79z" fill="#222"></path><path d="M143.22 114.92h57.31v314.79h-57.31V114.92z" fill="#222"></path><path d="M438.38 119.68h57.31v314.78h-57.31V119.68z" fill="#222"></path><path d="M319.6 216.7l275.67 275.68H319.6V216.7z" fill="#222"></path><path d="M319.6 272.32l275.67 275.67H319.6V272.32z" fill="#222"></path><path d="M319.6 272.32L43.92 547.99H319.6V272.32z" fill="#222"></path><path d="M319.6 216.7L43.92 492.38H319.6V216.7z" fill="#222"></path><path d="M384.87 189.61L109.19 465.28h275.68V189.61z" fill="#e4e4e4"></path><path d="M254.03 246.36l275.68 275.68H254.03V246.36z" fill="#e4e4e4"></path><path d="M254.03 189.61l275.68 275.67H254.03V189.61z" fill="#e4e4e4"></path><path d="M170.85 126.78l275.68 275.68H170.85V126.78z" fill="#de7f27"></path><path d="M467.82 126.78L192.14 402.46h275.68V126.78z" fill="#de7f27"></path><path d="M297.46 277.07L125.05 449.48h172.41V277.07z" fill="#e4e4e4"></path><path d="M384.87 246.36L109.19 522.04h275.68V246.36z" fill="#e4e4e4"></path><path d="M341.37 277.07l172.41 172.41H341.37V277.07z" fill="#e4e4e4"></path><path d="M173.57 124.8l17.92-17.19 133.42 139.08-17.92 17.19L173.57 124.8z" fill="#222"></path><path d="M466.34 124.8l-17.92-17.19L315 246.69l17.92 17.19L466.34 124.8z" fill="#222"></path><path d="M451.53 355.79c0 82.04-59.49 148.65-132.77 148.65-73.27 0-132.76-66.61-132.76-148.65s59.49-148.64 132.76-148.64c73.28 0 132.77 66.6 132.77 148.64z" fill="#de7f27"></path><path d="M452.53 386.62c0 82.04-59.49 148.64-132.77 148.64-73.27 0-132.76-66.6-132.76-148.64 0-82.04 59.49-148.65 132.76-148.65 73.28 0 132.77 66.61 132.77 148.65z" fill="#e4e4e4"></path><path d="M171.88 126.78l275.67 275.68H171.88V126.78z" fill="#de7f27"></path><path d="M466.34 126.78L190.67 402.46h275.67V126.78z" fill="#de7f27"></path><path d="M370.61 272.32c0 28.15-22.86 51.01-51.01 51.01-28.16 0-51.02-22.86-51.02-51.01 0-28.16 22.86-51.02 51.02-51.02 28.15 0 51.01 22.86 51.01 51.02z" fill="#de7f27"></path><path d="M253.44 259.45l1.38.23 1.34.28 1.32.35 1.29.4 1.26.46 1.22.51 1.19.57 1.14.61 1.11.67 1.07.71 1.02.75.97.8.93.84.88.89.82.91.77.96.71.99.66 1.02.59 1.06.53 1.08.47 1.11.4 1.14.33 1.16.27 1.19.19 1.21.11 1.22.04 1.24h.11v46.42h-.14l-.01.15-.11 1.22-.19 1.21-.27 1.18-.33 1.16-.4 1.14-.47 1.11-.53 1.09-.59 1.05-.66 1.03-.71.99-.77.95-.82.92-.88.88-.93.84-.97.8-1.02.76-1.07.71-1.11.66-1.14.62-1.19.56-1.22.52-1.26.45-1.29.41-1.32.34-1.34.29-1.38.23-1.4.16-1.42.1-1.44.03-1.44-.03-1.42-.1-1.39-.16-1.38-.23-1.34-.29-1.32-.34-1.29-.41-1.26-.45-1.22-.52-1.19-.56-1.15-.62-1.1-.66-1.07-.71-1.02-.76-.97-.8-.93-.84-.88-.88-.82-.92-.77-.95-.71-.99-.66-1.03-.59-1.05-.53-1.09-.47-1.11-.4-1.14-.33-1.16-.27-1.18-.19-1.21-.11-1.22-.01-.15h-.03v-46.42l.04-1.24.11-1.22.19-1.21.27-1.19.33-1.16.4-1.14.47-1.11.53-1.08.59-1.06.66-1.02.71-.99.77-.96.82-.91.88-.89.93-.84.97-.8 1.02-.75 1.07-.71 1.1-.67 1.15-.61 1.19-.57 1.22-.51 1.26-.46 1.29-.4 1.32-.35 1.34-.28 1.38-.23 1.39-.16 1.42-.1 1.44-.04 1.44.04 1.42.1 1.4.16z" fill="#111"></path><path d="M394.88 259.45l1.37.23 1.35.28 1.32.35 1.28.4 1.26.46 1.22.51 1.19.57 1.15.61 1.1.67 1.07.71 1.02.75.98.8.92.84.88.89.82.91.77.96.71.99.66 1.02.59 1.06.54 1.08.46 1.11.4 1.14.34 1.16.26 1.19.19 1.21.11 1.22.04 1.24h.11v46.42h-.14l-.01.15-.11 1.22-.19 1.21-.26 1.18-.34 1.16-.4 1.14-.46 1.11-.54 1.09-.59 1.05-.66 1.03-.71.99-.77.95-.82.92-.88.88-.92.84-.98.8-1.02.76-1.07.71-1.1.66-1.15.62-1.19.56-1.22.52-1.26.45-1.28.41-1.32.34-1.35.29-1.37.23-1.4.16-1.42.1-1.44.03-1.44-.03-1.42-.1-1.4-.16-1.37-.23-1.35-.29-1.32-.34-1.29-.41-1.26-.45-1.22-.52-1.18-.56-1.15-.62-1.11-.66-1.07-.71-1.02-.76-.97-.8-.93-.84-.87-.88-.83-.92-.77-.95-.71-.99-.65-1.03-.6-1.05-.53-1.09-.47-1.11-.4-1.14-.33-1.16-.26-1.18-.19-1.21-.12-1.22v-.15h-.04v-46.42l.04-1.24.12-1.22.19-1.21.26-1.19.33-1.16.4-1.14.47-1.11.53-1.08.6-1.06.65-1.02.71-.99.77-.96.83-.91.87-.89.93-.84.97-.8 1.02-.75 1.07-.71 1.11-.67 1.15-.61 1.18-.57 1.22-.51 1.26-.46 1.29-.4 1.32-.35 1.35-.28 1.37-.23 1.4-.16 1.42-.1 1.44-.04 1.44.04 1.42.1 1.4.16z" fill="#111"></path><path d="M170.85 402.46l148.75 45.28v-45.28H170.85z" fill="#de7f27"></path><path d="M468.34 402.46L319.6 447.74v-45.28h148.74z" fill="#de7f27"></path><path d="M341.98 413.09l1.16.31 1.13.39 1.11.47 1.06.55 1.04.62.99.69.95.76.91.82.86.89.82.94.76 1 .71 1.05.66 1.11.59 1.15.54 1.2.47 1.23.4 1.28.34 1.31.27 1.35.19 1.38.12 1.4.04 1.43-.04 1.42-.12 1.41-.19 1.37-.27 1.35-.34 1.31-.4 1.28-.47 1.24-.54 1.19-.6 1.15-.65 1.11-.71 1.05-.76 1-.82.95-.86.88-.91.82-.95.76-1 .69-1.03.62-1.07.55-1.1.47-1.13.39-1.16.31-1.19.23-1.21.13-1.23.05v.09h-38.41v-.13l-.33-.01-1.21-.14-1.19-.22-1.16-.31-1.13-.39-1.1-.47-1.07-.55-1.03-.62-.99-.69-.96-.76-.9-.82-.87-.89-.81-.94-.77-1-.71-1.05-.65-1.11-.6-1.15-.53-1.2-.47-1.23-.41-1.28-.34-1.31-.26-1.35-.2-1.37-.12-1.41-.04-1.43.04-1.42.12-1.41.2-1.37.26-1.35.34-1.31.41-1.28.47-1.24.53-1.19.6-1.15.66-1.11.71-1.05.76-1 .81-.95.87-.88.91-.82.95-.76.99-.69 1.03-.62 1.07-.55 1.1-.47 1.14-.39 1.16-.31 1.18-.23 1.22-.13.32-.01v-.04h38.41l1.23.05 1.21.14 1.19.22z" fill="#111"></path><path d="M323.76 413.81l1.35.27 1.31.34 1.28.4 1.23.47 1.2.54 1.15.59 1.11.66 1.05.71 1 .76.94.82.89.86.82.91.76.95.69 1 .62 1.03.55 1.07.47 1.1.39 1.13.31 1.16.22 1.19.14 1.21.05 1.23h.09v38.41h-.13l-.01.33-.14 1.21-.22 1.18-.31 1.17-.39 1.13-.47 1.1-.55 1.07-.62 1.03-.69.99-.76.95-.82.91-.89.87-.94.81-1 .76-1.06.71-1.1.66-1.15.6-1.2.53-1.24.47-1.27.41-1.32.34-1.34.26-1.38.2-1.4.11-1.43.04-1.43-.04-1.4-.11-1.38-.2-1.34-.26-1.32-.34-1.27-.41-1.24-.47-1.2-.54-1.15-.59-1.1-.66-1.05-.71-1-.76-.95-.81-.88-.87-.83-.91-.75-.95-.7-.99-.62-1.03-.54-1.07-.47-1.1-.39-1.14-.31-1.16-.23-1.18-.14-1.22-.01-.32h-.03v-38.41l.05-1.23.13-1.21.23-1.19.31-1.16.39-1.13.47-1.11.55-1.06.62-1.04.69-.99.76-.95.82-.91.88-.86.95-.82 1-.76 1.05-.71 1.11-.66 1.15-.59 1.19-.54 1.24-.47 1.28-.4 1.31-.34 1.35-.27 1.37-.19 1.41-.12 1.42-.04 1.43.04 1.41.12 1.37.19z" fill="#111"></path></svg>'}(e));var a=document.createElement("div");if(e.unstyled||(a.style.cssText=(e.round?"border-radius: 50%;":"")+"align-items:center;"+(e.color?"background-color:"+e.color:"")+(e.textColor?";color:"+e.textColor:"")+';display:flex;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;'+(e.size?"font-size:"+e.size/2+"px;height:"+e.size+"px;":"")+"justify-content:center;margin:0;padding:0;"+(e.size?"width:"+e.size+"px;":"")),a.classList.add("smart-avatar"),e.cssClass){const t=e.cssClass.length;for(let r=0;r<t;r++)a.classList.add(e.cssClass[r])}return e.timestamp&&a.setAttribute("sa_timestamp",Date.now()),a.innerHTML="<span "+(e.unstyled?"":'style="display:flex;"')+">"+r+"</span>",a}function s(t,e,r){if(e.style.opacity=0,"el"===r.type)delete e.onerror,t.appendChild(r.content),t.removeChild(e);else if(e.src=r.content,e.style.opacity=1,!e.src)throw new Error("SmartAvatar ERROR: internal error - img src recursively undefined")}t.exports.renderSA=function(t,e){var n=function(t,e){var n=["mp","identicon","monsterid","wavatar","retro","robohash"],o={};switch(!0){case"smart"===e.priority.src1&&e.initials:o.asset=r("initEl",e),o.finished=!0;break;case"smart"===e.priority.src1&&e.icon&&!n.includes(e.icon):o.asset=r("iconEl",e),o.finished=!0;break;case"smart"===e.priority.src1&&e.icon&&n.includes(e.icon):o.asset=r("iconImg",e),o.finished=!0;break;default:o.asset=function(t,e){var n=function(t){var e=["mp","identicon","monsterid","wavatar","retro","robohash"],n={asset1:{},asset2:{},asset3:{}};n.asset1.content="gravatar"===t.priority.src1?t.gravatarUrl:t.src,n.asset1.type="url";for(var s=2;s<=3;s++){var o="src"+s,i="asset"+s;"gravatar"===t.priority[o]?(n[i].content=t.gravatarUrl,n[i].type="url"):"src"===t.priority[o]?(n[i].content=t.src,n[i].type="url"):"smart"===t.priority[o]&&(t.initials?(n[i].content=r("initEl",t),n[i].type="el"):t.icon&&!e.includes(t.icon)?(n[i].content=r("iconEl",t),n[i].type="el"):t.icon&&e.includes(t.icon)&&(n[i].content=a(t.icon),n[i].type="url"))}return n}(e),o=n.asset1,i=n.asset2,l=n.asset3,c=new Image;if(c.src=o.content,e.unstyled||(c.style.cssText=(e.round?"border-radius: 50%;":"")+(e.size?"height:"+e.size+"px;width:"+e.size+"px;":"")+"object-fit:cover;"),c.onerror=function(){s(t,c,i),"el"!==i.type&&(c.onerror=function(){s(t,c,l)})},c.classList.add("smart-avatar"),e.cssClass){const t=e.cssClass.length;for(let r=0;r<t;r++)c.classList.add(e.cssClass[r])}return e.timestamp&&c.setAttribute("sa_timestamp",Date.now()),e.alt&&(c.alt=e.alt),c}(t,e),o.finished=!0}return o}(t,e);if(n.finished)return n.asset;throw new Error("SmartAvatar ERROR: something went wrong.")}}]);
{
"name": "smart-avatar",
"version": "1.0.0",
"version": "1.0.1",
"description": "Render avatars with dynamic, defined fallback",

@@ -5,0 +5,0 @@ "main": "./dist/smart-avatar.js",

@@ -202,3 +202,3 @@ # smart-avatar [![Build Status](https://travis-ci.com/jaredgorski/smart-avatar.svg?branch=master)](https://travis-ci.com/jaredgorski/smart-avatar) <img align="left" height="100" src="https://raw.githubusercontent.com/jaredgorski/smart-avatar/master/.media/smartfox%40640.png">

This means that, if you wish to customize the font of your initials avatar or change the layout styles for some reason, simply leaving all of the settings undefined will potentially get in the way of stylesheet customizations (unless you use `!important`, but that defies best-practices).
This means that, if you wish to customize the font of your initials avatar or change the layout styles for some reason, simply leaving all of the settings undefined will still get in the way of stylesheet customizations for the properties defined inline above (unless you use `!important`, but that defies best-practices).

@@ -216,3 +216,3 @@ This is where the `unstyled` flag comes in handy. If you want your smart-avatar asset to be completely raw and unstyled to make room for your stylesheets, you should pass `unstyled: true`. This will override any settings for that smart-avatar asset, always returning pure HTML. This means that images will render at their natural sizes, there will be no layout structure, and background colors, text colors, and font styles will all default to User-Agent unless styled otherwise. This makes smart-avatar a flexible solution for nearly any application.

Since the `setDefaults` flag _only changes the default behavior_ of these settings, that means that defining these settings yourself will still override these defaults. For example, a smart-avatar asset with `setDefaults: true` and `size: 120` will render with a size of 120px, a background color of `#777`, and a font color of `FFF`.
Since the `setDefaults` flag _only changes the default behavior_ of these settings, that means that defining these settings yourself will still override these defaults. For example, a smart-avatar asset with `setDefaults: true` and `size: 120` will render with a size of 120px, a background color of `#777`, and a font color of `#FFF`.

@@ -219,0 +219,0 @@ _Note: `color` and `textColor` only matter in the case of a non-Gravatar icon or an initials avatar._

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc