UNPKG

informed

Version:

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

43 lines (36 loc) 1.5 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var _rollupPluginBabelHelpers = require('../../_virtual/_rollupPluginBabelHelpers.js'); var React = require('react'); var useRadioGroup = require('../../hooks/useRadioGroup.js'); function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } var React__default = /*#__PURE__*/_interopDefaultLegacy(React); var _excluded = ["label", "value"]; var Radio = function Radio(_ref) { var label = _ref.label, value = _ref.value, props = _rollupPluginBabelHelpers.objectWithoutProperties(_ref, _excluded); var _useRadioGroup = 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__default["default"].createElement("label", null, label, /*#__PURE__*/React__default["default"].createElement("input", _rollupPluginBabelHelpers["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" }))); }; exports.Radio = Radio;