UNPKG

@taiga-ui/kit

Version:
23 lines 2.69 kB
/** * Converts a string to an HSL color * @param value string to convert * @return HSL color string */ // @bad TODO: convert stringHashToHsl to stringHashToRgb export function stringHashToHsl(value) { if (value === '') { return ''; } let hash = 0; for (let i = 0; i < value.length; i++) { /* tslint:disable: no-bitwise */ hash = value.charCodeAt(i) + ((hash << 5) - hash); hash = hash & hash; /* tslint:enable: no-bitwise */ } const hue = hash % 360; const saturation = 60 + (hash % 5); const lightness = 80 + (hash % 5); return `hsl(${hue},${saturation}%,${lightness}%)`; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5nLWhhc2gtdG8taHNsLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2tpdC91dGlscy9mb3JtYXQvIiwic291cmNlcyI6WyJzdHJpbmctaGFzaC10by1oc2wudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQUNILHdEQUF3RDtBQUN4RCxNQUFNLFVBQVUsZUFBZSxDQUFDLEtBQWE7SUFDekMsSUFBSSxLQUFLLEtBQUssRUFBRSxFQUFFO1FBQ2QsT0FBTyxFQUFFLENBQUM7S0FDYjtJQUVELElBQUksSUFBSSxHQUFHLENBQUMsQ0FBQztJQUViLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1FBQ25DLGdDQUFnQztRQUNoQyxJQUFJLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO1FBQ2xELElBQUksR0FBRyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ25CLCtCQUErQjtLQUNsQztJQUVELE1BQU0sR0FBRyxHQUFHLElBQUksR0FBRyxHQUFHLENBQUM7SUFDdkIsTUFBTSxVQUFVLEdBQUcsRUFBRSxHQUFHLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ25DLE1BQU0sU0FBUyxHQUFHLEVBQUUsR0FBRyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQztJQUVsQyxPQUFPLE9BQU8sR0FBRyxJQUFJLFVBQVUsS0FBSyxTQUFTLElBQUksQ0FBQztBQUN0RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb252ZXJ0cyBhIHN0cmluZyB0byBhbiBIU0wgY29sb3JcbiAqIEBwYXJhbSB2YWx1ZSBzdHJpbmcgdG8gY29udmVydFxuICogQHJldHVybiBIU0wgY29sb3Igc3RyaW5nXG4gKi9cbi8vIEBiYWQgVE9ETzogY29udmVydCBzdHJpbmdIYXNoVG9Ic2wgdG8gc3RyaW5nSGFzaFRvUmdiXG5leHBvcnQgZnVuY3Rpb24gc3RyaW5nSGFzaFRvSHNsKHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGlmICh2YWx1ZSA9PT0gJycpIHtcbiAgICAgICAgcmV0dXJuICcnO1xuICAgIH1cblxuICAgIGxldCBoYXNoID0gMDtcblxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdmFsdWUubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgLyogdHNsaW50OmRpc2FibGU6IG5vLWJpdHdpc2UgKi9cbiAgICAgICAgaGFzaCA9IHZhbHVlLmNoYXJDb2RlQXQoaSkgKyAoKGhhc2ggPDwgNSkgLSBoYXNoKTtcbiAgICAgICAgaGFzaCA9IGhhc2ggJiBoYXNoO1xuICAgICAgICAvKiB0c2xpbnQ6ZW5hYmxlOiBuby1iaXR3aXNlICovXG4gICAgfVxuXG4gICAgY29uc3QgaHVlID0gaGFzaCAlIDM2MDtcbiAgICBjb25zdCBzYXR1cmF0aW9uID0gNjAgKyAoaGFzaCAlIDUpO1xuICAgIGNvbnN0IGxpZ2h0bmVzcyA9IDgwICsgKGhhc2ggJSA1KTtcblxuICAgIHJldHVybiBgaHNsKCR7aHVlfSwke3NhdHVyYXRpb259JSwke2xpZ2h0bmVzc30lKWA7XG59XG4iXX0=