import InputBase from '@material-ui/core/InputBase' import Paper from '@material-ui/core/Paper' import { makeStyles } from '@material-ui/core/styles' import MAutocomplete from '@material-ui/lab/Autocomplete' import classnames from 'classnames' import React, { memo, useState } from 'react' import SearchIcon from 'src/styling/icons/circle buttons/search/zodiac.svg?react' import { P } from 'src/components/typography' import styles from './SearchBox.styles' const useStyles = makeStyles(styles) const SearchBox = memo( ({ loading = false, filters = [], options = [], inputPlaceholder = '', size, onChange, ...props }) => { const classes = useStyles({ size }) const [popupOpen, setPopupOpen] = useState(false) const inputClasses = { [classes.input]: true, [classes.inputWithPopup]: popupOpen } const innerOnChange = filters => onChange(filters) return ( it.value} renderOption={it => (

{it.value}

{it.type}

)} autoHighlight disableClearable clearOnEscape multiple filterSelectedOptions getOptionSelected={(option, value) => option.type === value.type} PaperComponent={({ children }) => (
{children} )} renderInput={params => { return ( } placeholder={inputPlaceholder} inputProps={{ className: classes.bold, classes: { root: classes.size }, ...params.inputProps }} /> ) }} onOpen={() => setPopupOpen(true)} onClose={() => setPopupOpen(false)} onChange={(_, filters) => innerOnChange(filters)} {...props} /> ) } ) export default SearchBox