import { useState, useEffect } from 'react'; import { Input } from './Input'; import { defaultLayoutConfig, type LayoutConfig } from '~/lib/layout-utils'; interface SearchInputProps { placeholder?: string; onSearch: (query: string) => void; debounceMs?: number; className?: string; config?: Partial; initialValue?: string; } export function SearchInput({ placeholder = "البحث...", onSearch, debounceMs = 300, className = '', config = {}, initialValue = '', }: SearchInputProps) { const layoutConfig = { ...defaultLayoutConfig, ...config }; const [query, setQuery] = useState(initialValue); useEffect(() => { const timer = setTimeout(() => { onSearch(query); }, debounceMs); return () => clearTimeout(timer); }, [query, onSearch, debounceMs]); return (
setQuery(e.target.value)} className="pr-10" /> {query && ( )}
); }