'use client'; import { ChangeEventHandler, ReactNode } from 'react'; import { cn } from '@/lib/helper'; import FieldMessage from '@/components/helper/FieldMessage'; export interface RadioOption { label: string; value: string; } export interface RadioInputProps { label?: string; bottomLabel?: string; name: string; value?: string; options: RadioOption[]; variant?: string; className?: { wrapper?: string; label?: string; radioWrapper?: string; radio?: string; }; isError?: boolean; isValid?: boolean; errorMessage?: string; required?: boolean; disabled?: boolean; startAdornment?: ReactNode; endAdornment?: ReactNode; onChange?: ChangeEventHandler; onBlur?: (e: React.FocusEvent) => void; } const RadioInput = ({ label, bottomLabel, name, value, options, variant = 'radio-primary', className, isError, errorMessage, required = false, disabled = false, onChange, onBlur, }: RadioInputProps) => { const showErrorMessage = Boolean(isError && errorMessage); const feedbackMessage = showErrorMessage ? errorMessage : bottomLabel; return (
{/* Label atas */} {label && ( )} {/* Daftar opsi radio */}
{options.map((option) => ( ))}
); }; export default RadioInput;