@penaprieto/design-system
Version:
Multi-brand React design system with design tokens from Figma
30 lines • 1.15 kB
TypeScript
import React from 'react';
import './RadioGroup.css';
export interface RadioOption {
value: string;
label: React.ReactNode;
description?: React.ReactNode;
disabled?: boolean;
}
export interface RadioGroupProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange'> {
/** Nombre del grupo (se asigna a todos los radios) */
name?: string;
/** Label visible del grupo de radios */
label?: React.ReactNode;
/** Texto de ayuda opcional debajo del grupo */
helperText?: React.ReactNode;
/** Lista de opciones a renderizar como radios */
options: RadioOption[];
/** Valor seleccionado (modo controlado) */
value?: string;
/** Valor inicial seleccionado (modo no controlado) */
defaultValue?: string;
/** Deshabilita todos los radios del grupo */
disabled?: boolean;
/** Estado de error para estilos del grupo */
error?: boolean;
/** Callback cuando cambia la opción seleccionada */
onChange?: (value: string, event: React.ChangeEvent<HTMLInputElement>) => void;
}
export declare const RadioGroup: React.FC<RadioGroupProps>;
//# sourceMappingURL=RadioGroup.d.ts.map