import React, { useEffect, useRef, useState } from "react"; import Label from "../Label"; const InputSuggessionField = ({ suggesstionList = [], value, onChange, error, disabled = false, label = "Label", placeholder = "Please Enter", required = false, isLoading = 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 = suggesstionList.find((opt) => opt === value); const displayText = selectedOption ? selectedOption : placeholder; const handleSelect = (option) => { onChange(option); setOpen(false); }; const toggleDropdown = () => setOpen((prev) => !prev); return (
{label && ( )} {open && !isLoading && ( )}
); }; export default InputSuggessionField;