1 | 'use strict';
|
2 |
|
3 | Object.defineProperty(exports, '__esModule', { value: true });
|
4 |
|
5 | function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
|
6 |
|
7 | require('./slicedToArray-0711941d.js');
|
8 | require('./unsupportedIterableToArray-68db1d3b.js');
|
9 | var React = require('react');
|
10 | var React__default = _interopDefault(React);
|
11 | require('./_commonjsHelpers-72d386ba.js');
|
12 | var index = require('./index-b0606964.js');
|
13 | var defineProperty$1 = require('./defineProperty-0921a47c.js');
|
14 | require('./toConsumableArray-d8a4a2c3.js');
|
15 | require('styled-components');
|
16 | var getPrototypeOf = require('./getPrototypeOf-2a661a20.js');
|
17 | require('./color.js');
|
18 | require('./components.js');
|
19 | require('./contains-component.js');
|
20 | require('./css.js');
|
21 | require('./dayjs.min-e07657bf.js');
|
22 | require('./date.js');
|
23 | var miscellaneous = require('./miscellaneous.js');
|
24 | require('./environment.js');
|
25 | require('./font.js');
|
26 | require('./math-f4029164.js');
|
27 | require('./characters.js');
|
28 | require('./format.js');
|
29 | require('./keycodes.js');
|
30 | require('./url.js');
|
31 | require('./web3.js');
|
32 | require('./constants.js');
|
33 | require('./breakpoints.js');
|
34 | require('./springs.js');
|
35 | require('./text-styles.js');
|
36 | require('./theme-dark.js');
|
37 | require('./theme-light.js');
|
38 | require('./Theme.js');
|
39 | var _extends$1 = require('./extends-40571110.js');
|
40 | var objectWithoutProperties = require('./objectWithoutProperties-35db8ab0.js');
|
41 | require('./FocusVisible.js');
|
42 | require('./objectWithoutPropertiesLoose-1af20ad0.js');
|
43 | require('react-dom');
|
44 | require('./web-d0294535.js');
|
45 | var Checkbox = require('./Checkbox.js');
|
46 | var RadioGroup = require('./RadioGroup.js');
|
47 |
|
48 | function _createSuper(Derived) { return function () { var Super = getPrototypeOf._getPrototypeOf(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = getPrototypeOf._getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return getPrototypeOf._possibleConstructorReturn(this, result); }; }
|
49 |
|
50 | function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
|
51 | var KEYS_PREV = ['ArrowUp', 'ArrowLeft',
|
52 | 'Up', 'Left'];
|
53 | var KEYS_NEXT = ['ArrowDown', 'ArrowRight',
|
54 | 'Down', 'Right'];
|
55 |
|
56 | var RadioButton = function (_React$PureComponent) {
|
57 | getPrototypeOf._inherits(RadioButton, _React$PureComponent);
|
58 |
|
59 | var _super = _createSuper(RadioButton);
|
60 |
|
61 | function RadioButton() {
|
62 | var _this;
|
63 |
|
64 | getPrototypeOf._classCallCheck(this, RadioButton);
|
65 |
|
66 | for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
67 | args[_key] = arguments[_key];
|
68 | }
|
69 |
|
70 | _this = _super.call.apply(_super, [this].concat(args));
|
71 |
|
72 | defineProperty$1._defineProperty(getPrototypeOf._assertThisInitialized(_this), "_element", React__default.createRef());
|
73 |
|
74 | defineProperty$1._defineProperty(getPrototypeOf._assertThisInitialized(_this), "handleKeyDown", function (event) {
|
75 | var _this$props = _this.props,
|
76 | selectPrev = _this$props.selectPrev,
|
77 | selectNext = _this$props.selectNext;
|
78 |
|
79 | if (KEYS_PREV.includes(event.key)) {
|
80 | selectPrev();
|
81 | event.preventDefault();
|
82 | }
|
83 |
|
84 | if (KEYS_NEXT.includes(event.key)) {
|
85 | selectNext();
|
86 | event.preventDefault();
|
87 | }
|
88 | });
|
89 |
|
90 | defineProperty$1._defineProperty(getPrototypeOf._assertThisInitialized(_this), "handleChange", function () {
|
91 | var _this$props2 = _this.props,
|
92 | onChange = _this$props2.onChange,
|
93 | id = _this$props2.id;
|
94 |
|
95 | if (onChange) {
|
96 | onChange(id);
|
97 | }
|
98 | });
|
99 |
|
100 | return _this;
|
101 | }
|
102 |
|
103 | getPrototypeOf._createClass(RadioButton, [{
|
104 | key: "componentDidMount",
|
105 | value: function componentDidMount() {
|
106 | var _this$props3 = this.props,
|
107 | addRadio = _this$props3.addRadio,
|
108 | id = _this$props3.id;
|
109 |
|
110 | if (addRadio && id !== null) {
|
111 | addRadio(id);
|
112 | }
|
113 | }
|
114 | }, {
|
115 | key: "componentWillUnmount",
|
116 | value: function componentWillUnmount() {
|
117 | var _this$props4 = this.props,
|
118 | removeRadio = _this$props4.removeRadio,
|
119 | id = _this$props4.id;
|
120 |
|
121 | if (removeRadio && id !== null) {
|
122 | removeRadio(id);
|
123 | }
|
124 | }
|
125 | }, {
|
126 | key: "componentDidUpdate",
|
127 | value: function componentDidUpdate(prevProps) {
|
128 | var checked = this.props.checked;
|
129 |
|
130 | if (checked && !prevProps.checked) {
|
131 | this._element.current.focus();
|
132 | }
|
133 | }
|
134 | }, {
|
135 | key: "render",
|
136 | value: function render() {
|
137 | var _this$props5 = this.props,
|
138 | checked = _this$props5.checked,
|
139 | disabled = _this$props5.disabled,
|
140 | id = _this$props5.id,
|
141 | onChange = _this$props5.onChange,
|
142 | tabIndex = _this$props5.tabIndex,
|
143 | props = objectWithoutProperties._objectWithoutProperties(_this$props5, ["checked", "disabled", "id", "onChange", "tabIndex"]);
|
144 |
|
145 | return React__default.createElement(Checkbox.default, _extends$1._extends({
|
146 | ref: this._element,
|
147 | checked: checked,
|
148 | disabled: disabled,
|
149 | onChange: this.handleChange,
|
150 | onKeyDown: this.handleKeyDown,
|
151 | tabIndex: tabIndex,
|
152 | variant: "radio"
|
153 | }, props));
|
154 | }
|
155 | }]);
|
156 |
|
157 | return RadioButton;
|
158 | }(React__default.PureComponent);
|
159 |
|
160 | defineProperty$1._defineProperty(RadioButton, "propTypes", {
|
161 | addRadio: index.PropTypes.func,
|
162 | checked: index.PropTypes.bool,
|
163 | disabled: index.PropTypes.bool,
|
164 | id: index.PropTypes.oneOfType([index.PropTypes.string, index.PropTypes.number]),
|
165 | onChange: index.PropTypes.func,
|
166 | removeRadio: index.PropTypes.func,
|
167 | selectNext: index.PropTypes.func,
|
168 | selectPrev: index.PropTypes.func,
|
169 | tabIndex: index.PropTypes.string
|
170 | });
|
171 |
|
172 | defineProperty$1._defineProperty(RadioButton, "defaultProps", {
|
173 | addRadio: miscellaneous.noop,
|
174 | checked: false,
|
175 | disabled: false,
|
176 | id: null,
|
177 | onChange: undefined,
|
178 |
|
179 | removeRadio: miscellaneous.noop,
|
180 | selectNext: miscellaneous.noop,
|
181 | selectPrev: miscellaneous.noop
|
182 | });
|
183 |
|
184 | var Radio = function (_React$PureComponent2) {
|
185 | getPrototypeOf._inherits(Radio, _React$PureComponent2);
|
186 |
|
187 | var _super2 = _createSuper(Radio);
|
188 |
|
189 | function Radio() {
|
190 | getPrototypeOf._classCallCheck(this, Radio);
|
191 |
|
192 | return _super2.apply(this, arguments);
|
193 | }
|
194 |
|
195 | getPrototypeOf._createClass(Radio, [{
|
196 | key: "render",
|
197 | value: function render() {
|
198 | var props = this.props;
|
199 | return React__default.createElement(RadioGroup.RadioGroupConsumer, null, function (_ref) {
|
200 | var onChange = _ref.onChange,
|
201 | selected = _ref.selected,
|
202 | focusableId = _ref.focusableId,
|
203 | addRadio = _ref.addRadio,
|
204 | removeRadio = _ref.removeRadio,
|
205 | selectNext = _ref.selectNext,
|
206 | selectPrev = _ref.selectPrev;
|
207 | return React__default.createElement(RadioButton, _extends$1._extends({}, props, {
|
208 | onChange: props.onChange || onChange,
|
209 | checked: props.checked || props.id === selected && selected !== null,
|
210 | tabIndex: props.tabIndex || (focusableId === undefined || props.id === focusableId ? '0' : '-1'),
|
211 | addRadio: addRadio,
|
212 | removeRadio: removeRadio,
|
213 | selectPrev: selectPrev,
|
214 | selectNext: selectNext
|
215 | }));
|
216 | });
|
217 | }
|
218 | }]);
|
219 |
|
220 | return Radio;
|
221 | }(React__default.PureComponent);
|
222 |
|
223 | defineProperty$1._defineProperty(Radio, "propTypes", RadioButton.propTypes);
|
224 |
|
225 | defineProperty$1._defineProperty(Radio, "defaultProps", RadioButton.defaultProps);
|
226 |
|
227 | exports.default = Radio;
|
228 |
|