import React, { useState } from 'react'; import { Icon, CircularLoader, Button, TextEllipsis } from 'UI'; import cn from 'classnames'; import stl from './widgetAutoComplete.module.css'; import { debounce } from 'App/utils'; const 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 (