pkg-components
Version:
20 lines (16 loc) • 440 B
text/typescript
import { useState, useEffect } from 'react'
import { hsvToHex } from '../utils/hsvToHex'
export const useHex = (
hue: number,
sv: { s: number; v: number },
onChange?: (hex: string) => void,
initial: string = '#ff0000'
) => {
const [hex, setHex] = useState(initial);
useEffect(() => {
const next = hsvToHex(hue, sv.s, sv.v);
setHex(next);
onChange?.(next);
}, [hue, sv]);
return { hex };
};