import useDebouncedCallback from '../hooks/use-debounced-callback'; import { Icon, Button } from '@elementor/app-ui'; import { useState, useEffect } from 'react'; import './search-input.scss'; export default function SearchInput( props ) { const [ localValue, setLocalValue ] = useState( props.value || '' ); const debouncedOnChange = useDebouncedCallback( ( value ) => props.onChange( value ), props.debounceTimeout ); useEffect( () => { if ( props.value !== localValue ) { setLocalValue( props.value ); } }, [ props.value ] ); return (