/** * Custom Form Component: Select with Reset Button * * A select/combobox field with an optional reset to default button. * Built on top of shadcn/ui Select component. * * @author Andreas Weyer * @license MIT */ import * as React from "react" import { RotateCcw } from "lucide-react" import { IconButtonWithTooltip } from "./icon-button-with-tooltip" import { Select, SelectTrigger, SelectValue, SelectContent } from "./select" import { cn } from "../../lib/utils" import { useTranslation } from "react-i18next" interface FormSelectProps { value: string onValueChange: (value: string) => void showResetButton?: boolean defaultValue?: string children: React.ReactNode triggerClassName?: string placeholder?: string } export const FormSelect: React.FC = ({ value, onValueChange, showResetButton = false, defaultValue, children, triggerClassName, placeholder, }) => { const { t } = useTranslation() return (
{showResetButton && ( } tooltip={t('buttonResetToDefault')} variant="outline" size="icon" className="h-9 w-9 rounded-l-none border-l-0" onClick={() => onValueChange(defaultValue || '')} tabIndex={-1} /> )}
) }