@itwin/itwinui-react
Version:
A react component library for iTwinUI
48 lines (47 loc) • 1.47 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', {
value: true,
});
function _export(target, all) {
for (var name in all)
Object.defineProperty(target, name, {
enumerable: true,
get: all[name],
});
}
_export(exports, {
SoftBackgrounds: function () {
return SoftBackgrounds;
},
getUserColor: function () {
return getUserColor;
},
isSoftBackground: function () {
return isSoftBackground;
},
});
const SoftBackgrounds = {
skyblue: 'var(--iui-color-background-skyblue)',
celery: 'var(--iui-color-background-celery)',
froly: 'var(--iui-color-background-froly)',
steelblue: 'var(--iui-color-background-steelblue)',
sunglow: 'var(--iui-color-background-sunglow)',
seabuckthorn: 'var(--iui-color-background-seabuckthorn)',
montecarlo: 'var(--iui-color-background-montecarlo)',
poloblue: 'var(--iui-color-background-poloblue)',
bouquet: 'var(--iui-color-background-bouquet)',
ash: 'var(--iui-color-background-ash)',
oak: 'var(--iui-color-background-oak)',
};
const isSoftBackground = (value) =>
Object.keys(SoftBackgrounds).includes(value);
const USER_COLORS = Object.values(SoftBackgrounds);
const getUserColor = (emailOrName) => {
let normalizedString = emailOrName.trim().toLowerCase();
let hash = 0;
for (let i = 0; i < normalizedString.length; i++) {
let charCode = normalizedString.charCodeAt(i);
hash = (hash + charCode) % USER_COLORS.length;
}
return USER_COLORS[hash];
};