@platformbuilders/fluid-react
Version:
Builders React for Fluid Design System
17 lines (16 loc) • 814 B
JavaScript
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
import { useEffect, useState } from 'react';
import { Input, Label, Wrapper } from './styles';
const Radio = ({ onChange, id, value, label, group, style, disabled = false, checked = false, }) => {
const [internalChecked, setInternalChecked] = useState(checked);
const handleOnChange = (event) => {
if (disabled)
return;
onChange(event);
};
useEffect(() => {
setInternalChecked(checked);
}, [checked]);
return (_jsxs(Wrapper, { disabled: !!disabled, style: style, children: [_jsx(Input, { onChange: handleOnChange, id: id, value: value, name: group, type: "radio", disabled: disabled, checked: internalChecked }), _jsx(Label, { htmlFor: id, children: label })] }));
};
export default Radio;