synapse-react-client
Version:
[](https://travis-ci.com/Sage-Bionetworks/Synapse-React-Client) [](https://badge.fury.io/js/synaps
20 lines • 1.23 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.RadioGroup = void 0;
var tslib_1 = require("tslib");
var react_1 = (0, tslib_1.__importStar)(require("react"));
var lodash_es_1 = require("lodash-es");
var RadioGroup = function (props) {
var className = props.className
? "radiogroup " + props.className
: "radiogroup";
return (react_1.default.createElement("div", { className: className }, props.options.map(function (option) { return (react_1.default.createElement(RadioOption, { groupId: props.id, key: option.value, label: option.label, value: option.value, currentValue: props.value, onChange: props.onChange })); })));
};
exports.RadioGroup = RadioGroup;
var RadioOption = function (props) {
var uniqueId = (0, react_1.useState)((0, lodash_es_1.uniqueId)('src-radio-'))[0];
return (react_1.default.createElement("div", { onClick: function () { return props.onChange(props.value); } },
react_1.default.createElement("input", { id: uniqueId, type: "radio", checked: props.currentValue === props.value, value: props.value }),
react_1.default.createElement("label", { htmlFor: uniqueId }, props.label)));
};
//# sourceMappingURL=RadioGroup.js.map