| 1202 | return { h: h * 360, s: s * 100, l: l * 100 }; |
| 1203 | } |
| 1204 | function hslToHex(h, s, l) { |
| 1205 | h /= 360; s /= 100; l /= 100; |
| 1206 | const f = n => { |
| 1207 | const k = (n + h * 12) % 12, a = s * Math.min(l, 1 - l); |
| 1208 | const c = l - a * Math.max(-1, Math.min(k - 3, Math.min(9 - k, 1))); |
| 1209 | return Math.round(255 * c).toString(16).padStart(2, '0'); |
| 1210 | }; |
| 1211 | return '#' + f(0) + f(8) + f(4); |
| 1212 | } |
| 1213 | function lighten(hex, amt = 14) { |
| 1214 | const { h, s, l } = hexToHsl(hex); return hslToHex(h, s, Math.min(100, l + amt)); |
| 1215 | } |