UNPKG

4.13 kBJavaScriptView Raw
1'use strict';
2
3Object.defineProperty(exports, '__esModule', { value: true });
4
5function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
6
7require('./slicedToArray-0711941d.js');
8require('./unsupportedIterableToArray-68db1d3b.js');
9var React = require('react');
10var React__default = _interopDefault(React);
11require('./_commonjsHelpers-72d386ba.js');
12var index = require('./index-b0606964.js');
13require('./defineProperty-0921a47c.js');
14require('./toConsumableArray-d8a4a2c3.js');
15var _styled = require('styled-components');
16var _styled__default = _interopDefault(_styled);
17require('./getPrototypeOf-2a661a20.js');
18require('./color.js');
19require('./components.js');
20require('./contains-component.js');
21require('./css.js');
22require('./dayjs.min-e07657bf.js');
23require('./date.js');
24var miscellaneous = require('./miscellaneous.js');
25require('./environment.js');
26require('./font.js');
27require('./math-f4029164.js');
28require('./characters.js');
29require('./format.js');
30require('./keycodes.js');
31require('./url.js');
32require('./web3.js');
33var constants = require('./constants.js');
34require('./breakpoints.js');
35require('./springs.js');
36require('./text-styles.js');
37require('./theme-dark.js');
38require('./theme-light.js');
39require('./Theme.js');
40require('./extends-40571110.js');
41var objectWithoutProperties = require('./objectWithoutProperties-35db8ab0.js');
42require('./FocusVisible.js');
43require('./objectWithoutPropertiesLoose-1af20ad0.js');
44require('react-dom');
45require('./web-d0294535.js');
46require('./Checkbox.js');
47var RadioGroup = require('./RadioGroup.js');
48require('./Radio.js');
49var RadioListItem = require('./RadioListItem.js');
50
51var _StyledH = _styled__default("h2").withConfig({
52 displayName: "RadioList___StyledH",
53 componentId: "sc-1hkg1b7-0"
54})(["margin-bottom:", "px;font-weight:600;"], function (p) {
55 return p._css;
56});
57
58var _StyledDiv = _styled__default("div").withConfig({
59 displayName: "RadioList___StyledDiv",
60 componentId: "sc-1hkg1b7-1"
61})(["margin-bottom:", "px;"], function (p) {
62 return p._css2;
63});
64
65var _StyledRadioGroup = _styled__default(RadioGroup.default).withConfig({
66 displayName: "RadioList___StyledRadioGroup",
67 componentId: "sc-1hkg1b7-2"
68})(["display:flex;flex-direction:column;"]);
69
70function RadioList(_ref) {
71 var description = _ref.description,
72 items = _ref.items,
73 onChange = _ref.onChange,
74 selected = _ref.selected,
75 title = _ref.title,
76 props = objectWithoutProperties._objectWithoutProperties(_ref, ["description", "items", "onChange", "selected", "title"]);
77
78 return /*#__PURE__*/React__default.createElement("div", props, title && /*#__PURE__*/React__default.createElement(_StyledH, {
79 _css: 0.5 * constants.GU
80 }, title), description && /*#__PURE__*/React__default.createElement(_StyledDiv, {
81 _css2: 2.5 * constants.GU
82 }, description), /*#__PURE__*/React__default.createElement(_StyledRadioGroup, {
83 onChange: onChange,
84 selected: selected
85 }, items.map(function (_ref2, i) {
86 var description = _ref2.description,
87 title = _ref2.title;
88 return /*#__PURE__*/React__default.createElement(RadioListItem.default, {
89 key: i,
90 description: description,
91 index: i,
92 title: title
93 });
94 })));
95}
96
97RadioList.propTypes = {
98 description: index.PropTypes.node,
99 items: index.PropTypes.arrayOf(index.PropTypes.shape({
100 description: index.PropTypes.node.isRequired,
101 title: index.PropTypes.node.isRequired
102 })),
103 onChange: index.PropTypes.func,
104 selected: function selected(_ref3, _, componentName) {
105 var items = _ref3.items,
106 _selected = _ref3.selected;
107
108 if (!Number.isInteger(_selected) || _selected >= items.length) {
109 throw new Error("Invalid prop `selected` supplied to `".concat(componentName, "`. ") + '`selected` must be an integer less than the length of `items`. ' + "Given ".concat(_selected, " instead."));
110 }
111 },
112 title: index.PropTypes.node
113};
114RadioList.defaultProps = {
115 items: [],
116 onChange: miscellaneous.noop,
117 selected: 0
118};
119
120exports.default = RadioList;
121//# sourceMappingURL=RadioList.js.map