import { useState, useEffect } from "react"; import { Select as MuiSelect, MenuItem, FormControl, useTheme, } from "@mui/material"; import ArrowDown from "@icons/ArrowDownIcon"; import type { SelectChangeEvent, SxProps } from "@mui/material"; type SelectProps = { items: string[]; activeItemIndex?: number; empty?: boolean; onChange?: (item: string, num: number) => void; sx?: SxProps; }; export const Select = ({ items, activeItemIndex = 0, empty, onChange, sx, }: SelectProps) => { const [activeItem, setActiveItem] = useState( empty ? -1 : activeItemIndex ); const theme = useTheme(); useEffect(() => { setActiveItem(activeItemIndex); }, [activeItemIndex]); const handleChange = (event: SelectChangeEvent) => { const activeItemIndex = Number(event.target.value); setActiveItem(activeItemIndex); onChange?.(items[activeItemIndex], activeItemIndex); }; return ( } > {items.map((item, index) => ( {item} ))} ); };