/* eslint-disable */ // @ts-nocheck import { useEffect, useRef } from "react"; import { Icon } from "../../../shared/@patternfly/react-core"; import { CaretDownIcon } from "../../../shared/@patternfly/react-icons"; import "./dropdown-panel.css"; type DropdownPanelProps = { buttonText: string; children: React.ReactNode; setSearchDropdownOpen: (open: boolean) => void; searchDropdownOpen: boolean; marginRight?: string; width: string; }; const DropdownPanel: React.FC = ({ buttonText, children, setSearchDropdownOpen, searchDropdownOpen, marginRight, width, }) => { const dropdownRef = useRef(null); useEffect(() => { const handleClickOutside = (event: MouseEvent) => { if ( dropdownRef.current && !dropdownRef.current.contains(event.target as Node) ) { setSearchDropdownOpen(false); } }; document.addEventListener("mousedown", handleClickOutside); return () => document.removeEventListener("mousedown", handleClickOutside); }, [setSearchDropdownOpen]); useEffect(() => { const handleVisibilityChange = () => { if (document.visibilityState === "hidden") { setSearchDropdownOpen(false); } }; document.addEventListener("visibilitychange", handleVisibilityChange); return () => document.removeEventListener("visibilitychange", handleVisibilityChange); }, [setSearchDropdownOpen]); return ( {searchDropdownOpen && (
{children}
)}
); }; export default DropdownPanel;