34 lines
		
	
	
		
			619 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			34 lines
		
	
	
		
			619 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| import classNames from 'classnames';
 | |
| 
 | |
| interface Props {
 | |
|   value: string;
 | |
|   checked: boolean;
 | |
|   name: string;
 | |
|   onChange: (event: React.ChangeEvent<HTMLInputElement>) => void;
 | |
|   label: React.ReactNode;
 | |
| }
 | |
| 
 | |
| export const RadioButton: React.FC<Props> = ({
 | |
|   name,
 | |
|   value,
 | |
|   checked,
 | |
|   onChange,
 | |
|   label,
 | |
| }) => {
 | |
|   return (
 | |
|     <label className='radio-button'>
 | |
|       <input
 | |
|         name={name}
 | |
|         type='radio'
 | |
|         value={value}
 | |
|         checked={checked}
 | |
|         onChange={onChange}
 | |
|       />
 | |
| 
 | |
|       <span className={classNames('radio-button__input', { checked })} />
 | |
| 
 | |
|       <span>{label}</span>
 | |
|     </label>
 | |
|   );
 | |
| };
 |