All files / src/components/common/TypingDropdownMultipleSelection SearchDropdown.tsx

0% Statements 0/6
0% Branches 0/6
0% Functions 0/1
0% Lines 0/6

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32                                                               
import Form from "./Form";
import DropdownOptions from "../DropdownOptions";
import { useTypingDropdownMultipleContext } from "./contexts/TypingDropdownMultipleContext";
 
type SearchDropdownPropTypes = {
  label?: string;
  placeholder?: string;
  disabled?: boolean;
};
 
function SearchDropdown({
  label,
  placeholder,
  disabled,
}: SearchDropdownPropTypes) {
  const { dropdownRef, filteredOptions, handleSelect, isOpen } =
    useTypingDropdownMultipleContext();
  return (
    <div ref={dropdownRef} className="flex-1 max-w-full relative">
      <Form placeholder={placeholder ?? `Enter ${label}`} />
      {isOpen && filteredOptions?.length > 0 && !disabled && (
        <DropdownOptions
          options={filteredOptions}
          handleSelect={handleSelect}
        />
      )}
    </div>
  );
}
 
export default SearchDropdown;