import React, { useEffect, useRef, useState } from "react"; import Label from "../Label"; const InputSuggessionField = ({ organizationList = [], value, onChange, error, disabled=false }) => { const [open, setOpen] = useState(false); const dropdownRef = useRef(null); useEffect(() => { const handleClickOutside = (event) => { if (dropdownRef.current && !dropdownRef.current.contains(event.target)) { setOpen(false); } }; document.addEventListener("mousedown", handleClickOutside); return () => document.removeEventListener("mousedown", handleClickOutside); }, []); const selectedOption = options.find((opt) => opt[valueKey] === value); const displayText = selectedOption ? selectedOption[labelKey] : placeholder; const handleSelect = (option) => { onChange(option[valueKey]); setOpen(false); }; const toggleDropdown = () => setOpen((prev) => !prev); return (
{label && ( )} {open && !isLoading && ( )}
); }; export default InputSuggessionField;