import React, { useState } from 'react'; import { Icon, CircularLoader } from 'UI'; import { Button } from 'antd'; import cn from 'classnames'; import { debounce } from 'App/utils'; import stl from './widgetAutoComplete.module.css'; function WidgetAutoComplete(props) { const { className, placeholder = 'Search for Resource', itemStyle = {}, filterParams = {}, } = props; const [selected, setSelected] = useState(null); const [focused, setFocused] = useState(props.autoFocus); const fetchOptions = debounce(props.fetchOptions, 300); const handleChange = ({ target: { name, value } }) => { fetchOptions({ ...filterParams, q: value }); }; const onSelected = (opt) => { setSelected(opt); props.onSelect(opt); }; const onItemClick = (e, { name, value }) => { props.onSelect({ url: value }); setSelected(value); }; const onClearHandle = (e) => { e.preventDefault(); e.stopPropagation(); setSelected(null); props.onSelect({}); }; return (