UNPKG

@hackoregon/component-library

Version:

Official repo for Hack Oregon React component library

77 lines (71 loc) 2.18 kB
function _templateObject() { var data = _taggedTemplateLiteral(["\n cursor: pointer;\n"]); _templateObject = function _templateObject() { return data; }; return data; } function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); } import { jsx, css } from "@emotion/core"; import PropTypes from "prop-types"; import FormLabel from "@material-ui/core/FormLabel"; import FormControlLabel from "@material-ui/core/FormControlLabel"; import MaterialRadio from "@material-ui/core/Radio"; import MaterialRadioGroup from "@material-ui/core/RadioGroup"; var radioButtonGroupClass = css(_templateObject()); var RadioButtonGroup = function RadioButtonGroup(_ref) { var labels = _ref.labels, onChange = _ref.onChange, disabled = _ref.disabled, value = _ref.value, grpLabel = _ref.grpLabel, labelPlacement = _ref.labelPlacement, row = _ref.row; return jsx(MaterialRadioGroup, { "aria-label": grpLabel, name: grpLabel, onChange: onChange, value: value, row: row, inputProps: { "aria-labelledby": { grpLabel: grpLabel } } }, jsx(FormLabel, null, grpLabel), labels.map(function (label) { return jsx(FormControlLabel, { key: label.id, value: label, control: jsx(MaterialRadio, { disabled: disabled, css: radioButtonGroupClass, inputProps: { "aria-label": { label: label } } }), label: label, labelPlacement: labelPlacement }); })); }; RadioButtonGroup.displayName = "RadioButtonGroup"; RadioButtonGroup.propTypes = { labels: PropTypes.arrayOf(PropTypes.string), value: PropTypes.string, grpLabel: PropTypes.string, labelPlacement: PropTypes.string, row: PropTypes.bool, disabled: PropTypes.bool, onChange: PropTypes.func }; RadioButtonGroup.defaultProps = { labels: ["Label 1", "Label 2", "Label 3"], value: "Label 1", grpLabel: "GroupLabel", labelPlacement: "end", row: false, disabled: false }; export default RadioButtonGroup;