UNPKG

informed

Version:

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

47 lines (40 loc) 1.85 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var _rollupPluginBabelHelpers = require('../../_virtual/_rollupPluginBabelHelpers.js'); var React = require('react'); var Context = require('../../Context.js'); var useField = require('../../hooks/useField.js'); var Radio = require('./Radio.js'); function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } var React__default = /*#__PURE__*/_interopDefaultLegacy(React); var RadioGroup = function RadioGroup(props) { var _useField = useField.useField(props), fieldApi = _useField.fieldApi, fieldState = _useField.fieldState, userProps = _useField.userProps; var groupContext = _rollupPluginBabelHelpers.objectSpread2({ radioGroupApi: fieldApi, radioGroupState: fieldState }, props); var label = userProps.label, id = userProps.id, options = userProps.options, children = userProps.children; var showError = fieldState.showError, error = fieldState.error; return /*#__PURE__*/React__default["default"].createElement(Context.RadioGroupContext.Provider, { value: groupContext }, /*#__PURE__*/React__default["default"].createElement("fieldset", { "aria-describedby": "".concat(id, "-error") }, label ? /*#__PURE__*/React__default["default"].createElement("legend", null, label) : null, options ? options.map(function (option) { return /*#__PURE__*/React__default["default"].createElement("label", { key: option.value }, option.label, " ", /*#__PURE__*/React__default["default"].createElement(Radio.Radio, { value: option.value })); }) : children, showError ? /*#__PURE__*/React__default["default"].createElement("small", { role: "alert", id: "".concat(id, "-error") }, error) : null)); }; exports.RadioGroup = RadioGroup;