UNPKG

@taiga-ui/core

Version:

Core library for creating Angular components and applications using Taiga UI

21 lines 2.46 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 tuiStringHashToHsl(value) { if (value === '') { return ''; } let hash = 0; for (let i = 0; i < value.length; i++) { hash = value.charCodeAt(i) + ((hash << 5) - hash); hash &= hash; } const hue = hash % 360; const saturation = 60 + (hash % 5); const lightness = 80 + (hash % 5); return `hsl(${hue},${saturation}%,${lightness}%)`; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5nLWhhc2gtdG8taHNsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS91dGlscy9mb3JtYXQvc3RyaW5nLWhhc2gtdG8taHNsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFDSCx3REFBd0Q7QUFDeEQsTUFBTSxVQUFVLGtCQUFrQixDQUFDLEtBQWE7SUFDNUMsSUFBSSxLQUFLLEtBQUssRUFBRSxFQUFFO1FBQ2QsT0FBTyxFQUFFLENBQUM7S0FDYjtJQUVELElBQUksSUFBSSxHQUFHLENBQUMsQ0FBQztJQUViLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1FBQ25DLElBQUksR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7UUFDbEQsSUFBSSxJQUFJLElBQUksQ0FBQztLQUNoQjtJQUVELE1BQU0sR0FBRyxHQUFHLElBQUksR0FBRyxHQUFHLENBQUM7SUFDdkIsTUFBTSxVQUFVLEdBQUcsRUFBRSxHQUFHLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ25DLE1BQU0sU0FBUyxHQUFHLEVBQUUsR0FBRyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQztJQUVsQyxPQUFPLE9BQU8sR0FBRyxJQUFJLFVBQVUsS0FBSyxTQUFTLElBQUksQ0FBQztBQUN0RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb252ZXJ0cyBhIHN0cmluZyB0byBhbiBIU0wgY29sb3JcbiAqIEBwYXJhbSB2YWx1ZSBzdHJpbmcgdG8gY29udmVydFxuICogQHJldHVybiBIU0wgY29sb3Igc3RyaW5nXG4gKi9cbi8vIEBiYWQgVE9ETzogY29udmVydCBzdHJpbmdIYXNoVG9Ic2wgdG8gc3RyaW5nSGFzaFRvUmdiXG5leHBvcnQgZnVuY3Rpb24gdHVpU3RyaW5nSGFzaFRvSHNsKHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGlmICh2YWx1ZSA9PT0gJycpIHtcbiAgICAgICAgcmV0dXJuICcnO1xuICAgIH1cblxuICAgIGxldCBoYXNoID0gMDtcblxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdmFsdWUubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgaGFzaCA9IHZhbHVlLmNoYXJDb2RlQXQoaSkgKyAoKGhhc2ggPDwgNSkgLSBoYXNoKTtcbiAgICAgICAgaGFzaCAmPSBoYXNoO1xuICAgIH1cblxuICAgIGNvbnN0IGh1ZSA9IGhhc2ggJSAzNjA7XG4gICAgY29uc3Qgc2F0dXJhdGlvbiA9IDYwICsgKGhhc2ggJSA1KTtcbiAgICBjb25zdCBsaWdodG5lc3MgPSA4MCArIChoYXNoICUgNSk7XG5cbiAgICByZXR1cm4gYGhzbCgke2h1ZX0sJHtzYXR1cmF0aW9ufSUsJHtsaWdodG5lc3N9JSlgO1xufVxuIl19