import { TextInput, type TextInputProps } from '@mantine/core'; import { useEffect } from 'react'; export function DebouncedInput({ value, onChange, debounce = 500, ...props }: { value: string | number; onChange: (value: string | number) => void; debounce?: number; } & Omit) { useEffect(() => { const timeout = setTimeout(() => { onChange(value); }, debounce); return () => clearTimeout(timeout); }, [value]); return ( e.stopPropagation()} onChange={(e) => onChange(e.target.value)} /> ); }