import { AutoComplete, Option, Box, Chip } from '@rocket.chat/fuselage'; import { useDebouncedValue } from '@rocket.chat/fuselage-hooks'; import React, { memo, useMemo, useState } from 'react'; import { useEndpointData } from '../../hooks/useEndpointData'; import UserAvatar from '../avatar/UserAvatar'; import Avatar from './Avatar'; const query = (term = '', conditions = {}) => ({ selector: JSON.stringify({ term, conditions }) }); const UserAutoComplete = (props) => { const { conditions = {} } = props; const [filter, setFilter] = useState(''); const debouncedFilter = useDebouncedValue(filter, 1000); const { value: data } = useEndpointData( 'users.autocomplete', // eslint-disable-next-line react-hooks/exhaustive-deps useMemo(() => query(debouncedFilter, conditions), [filter]), ); const options = useMemo(() => (data && data.items.map((user) => ({ value: user.username, label: user.name }))) || [], [data]); return ( { if (!value) { return ''; } return ( props.onChange()} mie='x4'> {label} ); }} renderItem={({ value, ...props }) =>