'use client'; import { Search, X } from 'lucide-react'; import { useCallback, useState, useEffect } from 'react'; interface TaxonomySearchProps { value: string; onChange: (value: string) => void; resultCount?: number; } export default function TaxonomySearch({ value, onChange, resultCount }: TaxonomySearchProps) { const [localValue, setLocalValue] = useState(value); // Debounce the search useEffect(() => { const timer = setTimeout(() => { onChange(localValue); }, 200); return () => clearTimeout(timer); }, [localValue, onChange]); // Sync external changes useEffect(() => { setLocalValue(value); }, [value]); const handleClear = useCallback(() => { setLocalValue(''); onChange(''); }, [onChange]); return (