import { Combobox, Dialog, Transition } from '@headlessui/react'; import MagnifyingGlassIcon from '@heroicons/react/24/solid/MagnifyingGlassIcon'; import XMarkIcon from '@heroicons/react/24/solid/XMarkIcon'; import React, { ReactNode, useState, useEffect, Fragment } from 'react'; import { rdsOverlay } from '../../utils/tailwindClasses'; export interface SearchProps { sourceData: any; searchOn?: string; children?: ReactNode; } function classNames(...classes: (string | boolean)[]) { return classes.filter(Boolean).join(' '); } export const Search = ({ searchOn = 'title', sourceData, children, }: SearchProps) => { const [query, setQuery] = useState(''); const [open, setOpen] = useState(false); const filteredDatabase = query === '' ? [] : sourceData.filter((sourceData: { [x: string]: string }) => { return sourceData[searchOn] .toLowerCase() .includes(query.toLowerCase()); }); const searchAvatar = children ? ( children ) : (