import { useEffect, useState } from 'react' export function useDebounce(value: T, delayMs: number): T { const [debounced, setDebounced] = useState(value) useEffect(() => { const timer = setTimeout(() => setDebounced(value), delayMs) return () => clearTimeout(timer) }, [value, delayMs]) return debounced }