jobiqo-cl
Version:
[](https://circleci.com/gh/jobiqo/jobiqo-cl)
30 lines (27 loc) • 1.49 kB
JavaScript
import { __rest } from '../../../../../node_modules/tslib/tslib.es6.js';
import React__default from 'react';
import { FormItem } from '../11-form-item/index.js';
import { FormLabel } from '../11-form-item/01-form-label/index.js';
import { FormDescription } from '../11-form-item/02-form-description/index.js';
import { StyledRadio, StyledLabel } from './styles.js';
/**
* @file index.tsx
*
* @fileoverview Renders a list of radio buttons.
*/
const Radios = (_a) => {
var { label, description, id, name, values, error, required, selectedValue = null } = _a, props = __rest(_a, ["label", "description", "id", "name", "values", "error", "required", "selectedValue"]);
const radios = (React__default.createElement("div", null, values.map(value => {
return (React__default.createElement("div", { key: value.value },
React__default.createElement(StyledRadio, Object.assign({ id: value.value, type: "radio", name: name, value: value.value, defaultChecked: value.value === selectedValue }, props)),
React__default.createElement(StyledLabel, { htmlFor: value.value }, value.title)));
})));
if (!label) {
return radios;
}
return (React__default.createElement(FormItem, null,
React__default.createElement(FormLabel, { error: error, required: required, htmlFor: id }, label),
radios,
description && React__default.createElement(FormDescription, null, description)));
};
export { Radios };