(color1: HexColor, color2: HexColor, amount: number)
| 234 | } |
| 235 | |
| 236 | export function mixColors(color1: HexColor, color2: HexColor, amount: number): HexColor { |
| 237 | const c1 = hexToOklch(color1) |
| 238 | const c2 = hexToOklch(color2) |
| 239 | const delta = ((((c2.h - c1.h) % 360) + 540) % 360) - 180 |
| 240 | |
| 241 | return oklchToHex({ |
| 242 | l: c1.l + (c2.l - c1.l) * amount, |
| 243 | c: c1.c + (c2.c - c1.c) * amount, |
| 244 | h: c1.h + delta * amount, |
| 245 | }) |
| 246 | } |
| 247 | |
| 248 | export function shift(color: HexColor, value: { l?: number; c?: number; h?: number }): HexColor { |
| 249 | const base = hexToOklch(color) |
no test coverage detected