UNPKG

chromatism

Version:

A simple set of utility functions for colours.

20 lines (18 loc) 531 B
export default { hsl: value => { const normalized = Object.assign({}, value, { h: value.h / 360, s: value.s / 100, v: value.v / 100 }) let h = normalized.h let s if ((2 - normalized.s) * normalized.v < 1) { s = normalized.s * normalized.v / ((2 - normalized.s) * normalized.v) } else { s = normalized.s * normalized.v / (2 - (2 - normalized.s) * normalized.v) } let l = ((2 - normalized.s) * normalized.v) / 2 return { h: h * 360, s: s * 100, l: l * 100 } } }