UNPKG

informed

Version:

A lightweight framework and utility for building powerful forms in React applications

35 lines (32 loc) 1.17 kB
import { objectWithoutProperties as _objectWithoutProperties, extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js'; import React from 'react'; import { useRadioGroup } from '../../hooks/useRadioGroup.js'; var _excluded = ["label", "value"]; var Radio = function Radio(_ref) { var label = _ref.label, value = _ref.value, props = _objectWithoutProperties(_ref, _excluded); var _useRadioGroup = useRadioGroup(), radioGroupApi = _useRadioGroup.radioGroupApi, radioGroupState = _useRadioGroup.radioGroupState; var setValue = radioGroupApi.setValue, setTouched = radioGroupApi.setTouched; var groupValue = radioGroupState.value, showError = radioGroupState.showError; return /*#__PURE__*/React.createElement("label", null, label, /*#__PURE__*/React.createElement("input", _extends({}, props, { "aria-invalid": !!showError, value: value, checked: groupValue === value, onChange: function onChange(e) { if (!e.target.checked) { return; } setValue(value, e); }, onBlur: function onBlur(e) { setTouched(true, e); }, type: "radio" }))); }; export { Radio };