import { FormControl, FormHelperText, InputLabel, MenuItem, Select } from '@mui/material' import type { SxProps, Theme } from '@mui/material' interface SelectOption { value: T label: string } interface SelectFieldProps { label: string value: T | '' onChange: (value: T) => void options: SelectOption[] error?: string helperText?: string required?: boolean disabled?: boolean size?: 'small' | 'medium' fullWidth?: boolean sx?: SxProps } export function SelectField({ label, value, onChange, options, error, helperText, required, disabled, size = 'small', fullWidth = true, sx, }: SelectFieldProps) { const labelId = `select-${label.replace(/\s+/g, '-').toLowerCase()}` return ( {label} {(error ?? helperText) && {error ?? helperText}} ) }