All files / app/ui/form RadioInput.tsx

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46112x 112x   112x 112x                 112x   5x 5x 5x 5x 5x 5x     5x                                         112x  
import classNames from 'classnames';
import React, { forwardRef, ReactNode, Ref } from 'react';
 
import Input, { InputProps } from './Input';
import Label from './Label';
 
export interface RadioInputProps extends InputProps {
    additionalClassName?: string;
    label: ReactNode;
    value: string;
    checked: boolean;
}
 
const RadioInput = forwardRef((
    {
        additionalClassName,
        label,
        value,
        checked,
        id,
        ...rest
    }: RadioInputProps,
    ref: Ref<HTMLInputElement>
) => (
    <>
        <Input
            { ...rest }
            checked={ checked }
            className={ classNames(
                'form-radio',
                'optimizedCheckout-form-radio',
                additionalClassName
            ) }
            id={ id }
            ref={ ref }
            type="radio"
            value={ value }
        />
        <Label htmlFor={ id }>
            { label }
        </Label>
    </>
));
 
export default RadioInput;