This commit is contained in:
2025-04-29 12:58:18 +05:00
parent f82b114db1
commit 9a7e52b95f
9 changed files with 75 additions and 69 deletions
+6 -4
View File
@@ -6,24 +6,26 @@ import { useClickAway } from "@uidotdev/usehooks";
import clsx from "clsx";
import ChevronDownIcon from "../icons/ChevronDownIcon";
import CheckIcon from "../icons/CheckIcon";
function Select({
options,
onSelect,
className = "",
label = "",
defaultOption = "",
}: {
options: string[];
onSelect: (option: string) => void;
defaultOption: string;
className?: string;
label?: string;
}) {
const [isShow, setIsShow] = useState(false);
const [selectedOption, setSelectedOption] = useState(options[0]);
const [selectedOption, setSelectedOption] = useState(defaultOption);
const ref = useClickAway<HTMLDivElement>(() => setIsShow(false));
useEffect(() => {
onSelect(selectedOption);
}, [selectedOption]);
useEffect(() => onSelect(selectedOption), [selectedOption]);
return (
<div ref={ref} className={clsx("relative", className)}>