'use client'; import { ChangeEventHandler, ReactNode } from 'react'; import { cn } from '@/lib/helper'; export interface RadioOption { label: string; value: string; } export interface RadioInputProps { label?: string; bottomLabel?: string; name: string; value?: string; options: RadioOption[]; variant?: string; // contoh: 'radio-primary', 'radio-secondary', dll 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, isValid, errorMessage, required = false, disabled = false, onChange, onBlur, }: RadioInputProps) => { return (
{/* Label atas */} {label && ( )} {/* Daftar opsi radio */}
{options.map((option) => ( ))}
{/* Label bawah */} {!isError && bottomLabel && (

{bottomLabel}

)} {/* Pesan error */} {isError && errorMessage && (

{errorMessage}

)}
); }; export default RadioInput;