@semcore/radio 5.4.14 → 5.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -2,21 +2,23 @@
2
2
 
3
3
  CHANGELOG.md standards are inspired by [keepachangelog.com](https://keepachangelog.com/en/1.0.0/).
4
4
 
5
- ## [5.4.14] - 2023-05-03
5
+ ## [5.5.1] - 2023-05-04
6
6
 
7
7
  ### Changed
8
8
 
9
- - Version patch update due to children dependencies update (`@semcore/utils` [3.50.4 ~> 3.50.5], `@semcore/flex-box` [4.7.20 ~> 4.7.21]).
9
+ - Version patch update due to children dependencies update (`@semcore/utils` [3.50.5 ~> 3.50.6], `@semcore/flex-box` [4.7.21 ~> 4.7.22]).
10
+
11
+ ## [5.5.0] - 2023-05-04
10
12
 
11
- ## [5.4.13] - 2023-04-26
13
+ ### Added
12
14
 
13
- ## [5.4.12] - 2023-04-24
15
+ - Added the ability to set tag for `RadioGroup`.
14
16
 
15
- ## [5.4.11] - 2023-04-17
17
+ ## [5.4.14] - 2023-05-03
16
18
 
17
19
  ### Changed
18
20
 
19
- - Version patch update due to children dependencies update (`@semcore/utils` [3.50.0 ~> 3.50.3], `@semcore/flex-box` [4.7.18 ~> 4.7.19]).
21
+ - Version patch update due to children dependencies update (`@semcore/utils` [3.50.4 ~> 3.50.5], `@semcore/flex-box` [4.7.20 ~> 4.7.21]).
20
22
 
21
23
  ## [5.4.10] - 2023-03-28
22
24
 
package/lib/cjs/Radio.js CHANGED
@@ -23,24 +23,24 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
23
23
  var _core = _interopRequireWildcard(require("@semcore/core"));
24
24
  var _react = _interopRequireDefault(require("react"));
25
25
  var _flexBox = require("@semcore/flex-box");
26
- var _assignProps5 = _interopRequireDefault(require("@semcore/utils/lib/assignProps"));
26
+ var _assignProps6 = _interopRequireDefault(require("@semcore/utils/lib/assignProps"));
27
27
  var _keyboardFocusEnhance = _interopRequireDefault(require("@semcore/utils/lib/enhances/keyboardFocusEnhance"));
28
28
  var _color = _interopRequireDefault(require("@semcore/utils/lib/color"));
29
29
  var _inputProps = _interopRequireWildcard(require("@semcore/utils/lib/inputProps"));
30
30
  /*__reshadow-styles__:"./style/radio.shadow.css"*/
31
- var style = ( /*__reshadow_css_start__*/_core.sstyled.insert( /*__inner_css_start__*/".___SRadio_hz8uv_gg_{display:inline-flex;align-items:flex-start;cursor:pointer}.___SRadio_hz8uv_gg_.__disabled_hz8uv_gg_{opacity:var(--intergalactic-disabled-opacity, 0.3);cursor:default;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.___SText_hz8uv_gg_{margin-left:var(--intergalactic-spacing-2x, 8px);color:var(--intergalactic-text-primary, #191b23)}.___SText_hz8uv_gg_._size_m_hz8uv_gg_{font-size:var(--intergalactic-fs-200, 14px);line-height:var(--intergalactic-lh-200, 142%)}.___SText_hz8uv_gg_._size_l_hz8uv_gg_{font-size:var(--intergalactic-fs-300, 16px);line-height:var(--intergalactic-lh-300, 150%)}.___SValue_hz8uv_gg_{position:relative;flex-shrink:0;padding:0;outline:0;z-index:0;margin-top:var(--intergalactic-spacing-05x, 2px)}.___SValue_hz8uv_gg_::after,.___SValue_hz8uv_gg_::before{content:\"\";position:absolute;right:0;bottom:0;border-radius:50%;background:var(--intergalactic-bg-primary-neutral, #ffffff)}.___SValue_hz8uv_gg_::before{top:0;left:0;border:1px solid;transition:calc(var(--intergalactic-duration-control, 200)*1ms) all ease-in-out}.___SValue_hz8uv_gg_::after{top:50%;left:50%;transform:translate(-50%,-50%);width:0;height:0}.___SValue_hz8uv_gg_._size_m_hz8uv_gg_{width:16px;height:16px}.___SValue_hz8uv_gg_._size_l_hz8uv_gg_{width:20px;height:20px}.___SValue_hz8uv_gg_._state_normal_hz8uv_gg_::before{border-color:var(--intergalactic-border-primary, #c4c7cf)}.___SValue_hz8uv_gg_._state_invalid_hz8uv_gg_::before{border-color:var(--intergalactic-border-critical-active, #d1002f)}.___SControl_hz8uv_gg_{position:absolute;clip:rect(1px,1px,1px,1px)}.___SControl_hz8uv_gg_:checked~.___SValue_hz8uv_gg_::before{border-color:var(--intergalactic-control-primary-info, #008ff8);background-color:var(--intergalactic-bg-primary-info, #008ff8)}.___SControl_hz8uv_gg_:checked~.___SValue_hz8uv_gg_._size_m_hz8uv_gg_::after{width:6px;height:6px}.___SControl_hz8uv_gg_:checked~.___SValue_hz8uv_gg_._size_l_hz8uv_gg_::after{width:8px;height:8px}.___SValue_hz8uv_gg_._state_normal_hz8uv_gg_.__keyboardFocused_hz8uv_gg_::before{box-shadow:var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.3));border-color:var(--intergalactic-border-info-active, #006dca)}.___SValue_hz8uv_gg_._state_invalid_hz8uv_gg_.__keyboardFocused_hz8uv_gg_::before{box-shadow:var(--intergalactic-keyboard-focus-invalid, 0px 0px 0px 3px rgba(255, 73, 83, 0.3))}.___SControl_hz8uv_gg_:checked~.___SValue_hz8uv_gg_.__theme_hz8uv_gg_::before{border-color:var(--theme_hz8uv);background-color:var(--theme_hz8uv)}.___SValue_hz8uv_gg_._state_normal_hz8uv_gg_.__theme_hz8uv_gg_::before{border-color:var(--theme_hz8uv)}" /*__inner_css_end__*/, "hz8uv_gg_") /*__reshadow_css_end__*/, {
32
- "__SRadio": "___SRadio_hz8uv_gg_",
33
- "_disabled": "__disabled_hz8uv_gg_",
34
- "__SText": "___SText_hz8uv_gg_",
35
- "_size_m": "_size_m_hz8uv_gg_",
36
- "_size_l": "_size_l_hz8uv_gg_",
37
- "__SValue": "___SValue_hz8uv_gg_",
38
- "_state_normal": "_state_normal_hz8uv_gg_",
39
- "_state_invalid": "_state_invalid_hz8uv_gg_",
40
- "__SControl": "___SControl_hz8uv_gg_",
41
- "_keyboardFocused": "__keyboardFocused_hz8uv_gg_",
42
- "_theme": "__theme_hz8uv_gg_",
43
- "--theme": "--theme_hz8uv"
31
+ var style = ( /*__reshadow_css_start__*/_core.sstyled.insert( /*__inner_css_start__*/".___SRadio_1yvcn_gg_{display:inline-flex;align-items:flex-start;cursor:pointer}.___SRadio_1yvcn_gg_.__disabled_1yvcn_gg_{opacity:var(--intergalactic-disabled-opacity, 0.3);cursor:default;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.___SText_1yvcn_gg_{margin-left:var(--intergalactic-spacing-2x, 8px);color:var(--intergalactic-text-primary, #191b23)}.___SText_1yvcn_gg_._size_m_1yvcn_gg_{font-size:var(--intergalactic-fs-200, 14px);line-height:var(--intergalactic-lh-200, 142%)}.___SText_1yvcn_gg_._size_l_1yvcn_gg_{font-size:var(--intergalactic-fs-300, 16px);line-height:var(--intergalactic-lh-300, 150%)}.___SValue_1yvcn_gg_{position:relative;flex-shrink:0;padding:0;outline:0;z-index:0;margin-top:var(--intergalactic-spacing-05x, 2px)}.___SValue_1yvcn_gg_::after,.___SValue_1yvcn_gg_::before{content:\"\";position:absolute;right:0;bottom:0;border-radius:50%;background:var(--intergalactic-bg-primary-neutral, #ffffff)}.___SValue_1yvcn_gg_::before{top:0;left:0;border:1px solid;transition:calc(var(--intergalactic-duration-control, 200)*1ms) all ease-in-out}.___SValue_1yvcn_gg_::after{top:50%;left:50%;transform:translate(-50%,-50%);width:0;height:0}.___SValue_1yvcn_gg_._size_m_1yvcn_gg_{width:16px;height:16px}.___SValue_1yvcn_gg_._size_l_1yvcn_gg_{width:20px;height:20px}.___SValue_1yvcn_gg_._state_normal_1yvcn_gg_::before{border-color:var(--intergalactic-border-primary, #c4c7cf)}.___SValue_1yvcn_gg_._state_invalid_1yvcn_gg_::before{border-color:var(--intergalactic-border-critical-active, #d1002f)}.___SControl_1yvcn_gg_{position:absolute;clip:rect(1px,1px,1px,1px)}.___SControl_1yvcn_gg_:checked~.___SValue_1yvcn_gg_::before{border-color:var(--intergalactic-control-primary-info, #008ff8);background-color:var(--intergalactic-bg-primary-info, #008ff8)}.___SControl_1yvcn_gg_:checked~.___SValue_1yvcn_gg_._size_m_1yvcn_gg_::after{width:6px;height:6px}.___SControl_1yvcn_gg_:checked~.___SValue_1yvcn_gg_._size_l_1yvcn_gg_::after{width:8px;height:8px}.___SValue_1yvcn_gg_._state_normal_1yvcn_gg_.__keyboardFocused_1yvcn_gg_::before{box-shadow:var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.3));border-color:var(--intergalactic-border-info-active, #006dca)}.___SValue_1yvcn_gg_._state_invalid_1yvcn_gg_.__keyboardFocused_1yvcn_gg_::before{box-shadow:var(--intergalactic-keyboard-focus-invalid, 0px 0px 0px 3px rgba(255, 73, 83, 0.3))}.___SControl_1yvcn_gg_:checked~.___SValue_1yvcn_gg_.__theme_1yvcn_gg_::before{border-color:var(--theme_1yvcn);background-color:var(--theme_1yvcn)}.___SValue_1yvcn_gg_._state_normal_1yvcn_gg_.__theme_1yvcn_gg_::before{border-color:var(--theme_1yvcn)}" /*__inner_css_end__*/, "1yvcn_gg_") /*__reshadow_css_end__*/, {
32
+ "__SRadio": "___SRadio_1yvcn_gg_",
33
+ "_disabled": "__disabled_1yvcn_gg_",
34
+ "__SText": "___SText_1yvcn_gg_",
35
+ "_size_m": "_size_m_1yvcn_gg_",
36
+ "_size_l": "_size_l_1yvcn_gg_",
37
+ "__SValue": "___SValue_1yvcn_gg_",
38
+ "_state_normal": "_state_normal_1yvcn_gg_",
39
+ "_state_invalid": "_state_invalid_1yvcn_gg_",
40
+ "__SControl": "___SControl_1yvcn_gg_",
41
+ "_keyboardFocused": "__keyboardFocused_1yvcn_gg_",
42
+ "_theme": "__theme_1yvcn_gg_",
43
+ "--theme": "--theme_1yvcn"
44
44
  });
45
45
  var RadioGroupRoot = /*#__PURE__*/function (_Component) {
46
46
  (0, _inherits2["default"])(RadioGroupRoot, _Component);
@@ -76,7 +76,13 @@ var RadioGroupRoot = /*#__PURE__*/function (_Component) {
76
76
  }, {
77
77
  key: "render",
78
78
  value: function render() {
79
- var Children = this.asProps.Children;
79
+ var _ref = this.asProps;
80
+ var _this$asProps2 = this.asProps,
81
+ Children = _this$asProps2.Children,
82
+ Tag = _this$asProps2.tag;
83
+ if (Tag) return /*#__PURE__*/_react["default"].createElement(Tag, (0, _core.assignProps)({
84
+ "role": 'radiogroup'
85
+ }, _ref), /*#__PURE__*/_react["default"].createElement(Children, null));
80
86
  return /*#__PURE__*/_react["default"].createElement(Children, null);
81
87
  }
82
88
  }]);
@@ -111,13 +117,13 @@ var Radio = /*#__PURE__*/function (_Component2) {
111
117
  key: "getValueProps",
112
118
  value: function getValueProps(props) {
113
119
  // The default values are here, since you cannot rewrite out of context
114
- var _assignProps3 = (0, _assignProps5["default"])(this.props, this.context),
115
- _assignProps3$state = _assignProps3.state,
116
- state = _assignProps3$state === void 0 ? 'normal' : _assignProps3$state,
117
- _assignProps3$size = _assignProps3.size,
118
- size = _assignProps3$size === void 0 ? 'm' : _assignProps3$size,
119
- theme = _assignProps3.theme,
120
- name = _assignProps3.name;
120
+ var _assignProps4 = (0, _assignProps6["default"])(this.props, this.context),
121
+ _assignProps4$state = _assignProps4.state,
122
+ state = _assignProps4$state === void 0 ? 'normal' : _assignProps4$state,
123
+ _assignProps4$size = _assignProps4.size,
124
+ size = _assignProps4$size === void 0 ? 'm' : _assignProps4$size,
125
+ theme = _assignProps4.theme,
126
+ name = _assignProps4.name;
121
127
  var value = this.context.value;
122
128
  var other = {};
123
129
  // if used with the context
@@ -136,9 +142,9 @@ var Radio = /*#__PURE__*/function (_Component2) {
136
142
  key: "getTextProps",
137
143
  value: function getTextProps() {
138
144
  // The default values are here, since you cannot rewrite out of context
139
- var _assignProps4 = (0, _assignProps5["default"])(this.props, this.context),
140
- _assignProps4$size = _assignProps4.size,
141
- size = _assignProps4$size === void 0 ? 'm' : _assignProps4$size;
145
+ var _assignProps5 = (0, _assignProps6["default"])(this.props, this.context),
146
+ _assignProps5$size = _assignProps5.size,
147
+ size = _assignProps5$size === void 0 ? 'm' : _assignProps5$size;
142
148
  return {
143
149
  size: size
144
150
  };
@@ -146,15 +152,15 @@ var Radio = /*#__PURE__*/function (_Component2) {
146
152
  }, {
147
153
  key: "render",
148
154
  value: function render() {
149
- var _ref = this.asProps,
150
- _ref3;
155
+ var _ref2 = this.asProps,
156
+ _ref4;
151
157
  var SRadio = _flexBox.Box;
152
- var _this$asProps2 = this.asProps,
153
- styles = _this$asProps2.styles,
154
- Children = _this$asProps2.Children;
155
- return _ref3 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SRadio, _ref3.cn("SRadio", (0, _objectSpread2["default"])({}, (0, _core.assignProps)({
156
- "tag": "label"
157
- }, _ref))), /*#__PURE__*/_react["default"].createElement(Children, _ref3.cn("Children", {})));
158
+ var _this$asProps3 = this.asProps,
159
+ styles = _this$asProps3.styles,
160
+ Children = _this$asProps3.Children;
161
+ return _ref4 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SRadio, _ref4.cn("SRadio", (0, _objectSpread2["default"])({}, (0, _core.assignProps)({
162
+ "tag": 'label'
163
+ }, _ref2))), /*#__PURE__*/_react["default"].createElement(Children, _ref4.cn("Children", {})));
158
164
  }
159
165
  }]);
160
166
  return Radio;
@@ -181,22 +187,22 @@ var Value = /*#__PURE__*/function (_Component3) {
181
187
  }, {
182
188
  key: "render",
183
189
  value: function render() {
184
- var _ref4;
190
+ var _ref5;
185
191
  var SValue = _flexBox.Box;
186
192
  var SControl = _flexBox.Box;
187
- var _this$asProps3 = this.asProps,
188
- forwardRef = _this$asProps3.forwardRef,
189
- styles = _this$asProps3.styles,
190
- includeInputProps = _this$asProps3.includeInputProps,
191
- theme = _this$asProps3.theme;
193
+ var _this$asProps4 = this.asProps,
194
+ forwardRef = _this$asProps4.forwardRef,
195
+ styles = _this$asProps4.styles,
196
+ includeInputProps = _this$asProps4.includeInputProps,
197
+ theme = _this$asProps4.theme;
192
198
  var _getInputProps = (0, _inputProps["default"])(this.asProps, includeInputProps),
193
199
  _getInputProps2 = (0, _slicedToArray2["default"])(_getInputProps, 2),
194
200
  controlProps = _getInputProps2[0],
195
201
  boxProps = _getInputProps2[1];
196
- return _ref4 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(SControl, _ref4.cn("SControl", (0, _objectSpread2["default"])({
197
- "tag": "input",
198
- "type": "radio"
199
- }, controlProps))), /*#__PURE__*/_react["default"].createElement(SValue, _ref4.cn("SValue", (0, _objectSpread2["default"])({
202
+ return _ref5 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(SControl, _ref5.cn("SControl", (0, _objectSpread2["default"])({
203
+ "tag": 'input',
204
+ "type": 'radio'
205
+ }, controlProps))), /*#__PURE__*/_react["default"].createElement(SValue, _ref5.cn("SValue", (0, _objectSpread2["default"])({
200
206
  "ref": forwardRef,
201
207
  "use:theme": (0, _color["default"])(theme)
202
208
  }, boxProps))));
@@ -211,11 +217,11 @@ var Value = /*#__PURE__*/function (_Component3) {
211
217
  (0, _defineProperty2["default"])(Value, "enhance", [(0, _keyboardFocusEnhance["default"])()]);
212
218
  (0, _defineProperty2["default"])(Value, "hoistProps", ['disabled']);
213
219
  function Text(props) {
214
- var _ref2 = arguments[0],
215
- _ref5;
220
+ var _ref3 = arguments[0],
221
+ _ref6;
216
222
  var SText = _flexBox.Box;
217
223
  var styles = props.styles;
218
- return _ref5 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SText, _ref5.cn("SText", (0, _objectSpread2["default"])({}, (0, _core.assignProps)({}, _ref2))));
224
+ return _ref6 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SText, _ref6.cn("SText", (0, _objectSpread2["default"])({}, (0, _core.assignProps)({}, _ref3))));
219
225
  }
220
226
  var _default = (0, _core["default"])(Radio, {
221
227
  Value: Value,
@@ -1 +1 @@
1
- {"version":3,"file":"Radio.js","names":["_core","_interopRequireWildcard","require","_react","_interopRequireDefault","_flexBox","_assignProps5","_keyboardFocusEnhance","_color","_inputProps","style","sstyled","insert","RadioGroupRoot","_Component","_inherits2","_super","_createSuper2","_classCallCheck2","apply","arguments","_createClass2","key","value","uncontrolledProps","setContext","_this$asProps","asProps","theme","size","name","onChange","render","Children","createElement","Component","_defineProperty2","state","defaultValue","RadioGroup","createComponent","exports","Radio","_Component2","_super2","_this","_len","length","args","Array","_key","call","concat","_assertThisInitialized2","checked","e","context","getValueProps","props","_assignProps3","assignProps","_assignProps3$state","_assignProps3$size","other","undefined","bindHandlerChange","_objectSpread2","getTextProps","_assignProps4","_assignProps4$size","_ref","_ref3","SRadio","Box","_this$asProps2","styles","cn","CONTEXT_COMPONENT","Value","_Component3","_super3","target","_ref4","SValue","SControl","_this$asProps3","forwardRef","includeInputProps","_getInputProps","getInputProps","_getInputProps2","_slicedToArray2","controlProps","boxProps","Fragment","resolveColor","inputProps","defaultChecked","keyboardFocusEnhance","Text","_ref2","arguments[0]","_ref5","SText","_default"],"sources":["../../src/Radio.jsx"],"sourcesContent":["import React from 'react';\nimport createComponent, { Component, CONTEXT_COMPONENT, sstyled, Root } from '@semcore/core';\nimport { Box } from '@semcore/flex-box';\nimport assignProps from '@semcore/utils/lib/assignProps';\nimport keyboardFocusEnhance from '@semcore/utils/lib/enhances/keyboardFocusEnhance';\nimport resolveColor from '@semcore/utils/lib/color';\nimport getInputProps, { inputProps } from '@semcore/utils/lib/inputProps';\n\nimport style from './style/radio.shadow.css';\n\nclass RadioGroupRoot extends Component {\n static displayName = 'RadioGroup';\n\n static defaultProps = {\n state: 'normal',\n size: 'm',\n defaultValue: null,\n };\n\n uncontrolledProps() {\n return {\n value: null,\n };\n }\n\n setContext() {\n const { theme, size, name, value, onChange } = this.asProps;\n return {\n onChange,\n value,\n theme,\n size,\n name,\n };\n }\n\n render() {\n const { Children } = this.asProps;\n return <Children />;\n }\n}\n\nconst RadioGroup = createComponent(RadioGroupRoot);\n\nclass Radio extends Component {\n static displayName = 'Radio';\n static style = style;\n static contextType = RadioGroup[CONTEXT_COMPONENT];\n\n bindHandlerChange = (value) => (checked, e) => {\n this.context.onChange(value, e);\n };\n\n getValueProps(props) {\n // The default values are here, since you cannot rewrite out of context\n const { state = 'normal', size = 'm', theme, name } = assignProps(this.props, this.context);\n const { value } = this.context;\n const other = {};\n // if used with the context\n if (value !== undefined) {\n other['checked'] = value === props.value;\n other['onChange'] = this.bindHandlerChange(props.value);\n }\n return {\n ...other,\n state,\n size,\n theme,\n name,\n };\n }\n\n getTextProps() {\n // The default values are here, since you cannot rewrite out of context\n const { size = 'm' } = assignProps(this.props, this.context);\n return {\n size: size,\n };\n }\n\n render() {\n const SRadio = Root;\n const { styles, Children } = this.asProps;\n\n return sstyled(styles)(\n <SRadio render={Box} tag=\"label\">\n <Children />\n </SRadio>,\n );\n }\n}\n\nclass Value extends Component {\n static defaultProps = {\n includeInputProps: inputProps,\n defaultChecked: false,\n };\n static enhance = [keyboardFocusEnhance()];\n static hoistProps = ['disabled'];\n\n uncontrolledProps() {\n return {\n checked: (e) => e.target.checked,\n };\n }\n\n render() {\n const SValue = Box;\n const SControl = Box;\n const { forwardRef, styles, includeInputProps, theme } = this.asProps;\n\n const [controlProps, boxProps] = getInputProps(this.asProps, includeInputProps);\n\n return sstyled(styles)(\n <>\n <SControl tag=\"input\" type=\"radio\" {...controlProps} />\n <SValue ref={forwardRef} use:theme={resolveColor(theme)} {...boxProps} />\n </>,\n );\n }\n}\n\nfunction Text(props) {\n const SText = Root;\n const { styles } = props;\n return sstyled(styles)(<SText render={Box} />);\n}\n\nexport { inputProps, RadioGroup };\nexport default createComponent(Radio, {\n Value,\n Text,\n});\n"],"mappings":"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"}
1
+ {"version":3,"file":"Radio.js","names":["_core","_interopRequireWildcard","require","_react","_interopRequireDefault","_flexBox","_assignProps6","_keyboardFocusEnhance","_color","_inputProps","style","sstyled","insert","RadioGroupRoot","_Component","_inherits2","_super","_createSuper2","_classCallCheck2","apply","arguments","_createClass2","key","value","uncontrolledProps","setContext","_this$asProps","asProps","theme","size","name","onChange","render","_ref","_this$asProps2","Children","Tag","tag","createElement","assignProps","Component","_defineProperty2","state","defaultValue","RadioGroup","createComponent","exports","Radio","_Component2","_super2","_this","_len","length","args","Array","_key","call","concat","_assertThisInitialized2","checked","e","context","getValueProps","props","_assignProps4","_assignProps4$state","_assignProps4$size","other","undefined","bindHandlerChange","_objectSpread2","getTextProps","_assignProps5","_assignProps5$size","_ref2","_ref4","SRadio","Box","_this$asProps3","styles","cn","CONTEXT_COMPONENT","Value","_Component3","_super3","target","_ref5","SValue","SControl","_this$asProps4","forwardRef","includeInputProps","_getInputProps","getInputProps","_getInputProps2","_slicedToArray2","controlProps","boxProps","Fragment","resolveColor","inputProps","defaultChecked","keyboardFocusEnhance","Text","_ref3","arguments[0]","_ref6","SText","_default"],"sources":["../../src/Radio.jsx"],"sourcesContent":["import React from 'react';\nimport createComponent, { Component, CONTEXT_COMPONENT, sstyled, Root } from '@semcore/core';\nimport { Box } from '@semcore/flex-box';\nimport assignProps from '@semcore/utils/lib/assignProps';\nimport keyboardFocusEnhance from '@semcore/utils/lib/enhances/keyboardFocusEnhance';\nimport resolveColor from '@semcore/utils/lib/color';\nimport getInputProps, { inputProps } from '@semcore/utils/lib/inputProps';\n\nimport style from './style/radio.shadow.css';\n\nclass RadioGroupRoot extends Component {\n static displayName = 'RadioGroup';\n\n static defaultProps = {\n state: 'normal',\n size: 'm',\n defaultValue: null,\n };\n\n uncontrolledProps() {\n return {\n value: null,\n };\n }\n\n setContext() {\n const { theme, size, name, value, onChange } = this.asProps;\n return {\n onChange,\n value,\n theme,\n size,\n name,\n };\n }\n\n render() {\n const { Children, tag: Tag } = this.asProps;\n\n if (Tag)\n return (\n <Root render={Tag} role='radiogroup'>\n <Children />\n </Root>\n );\n\n return <Children />;\n }\n}\n\nconst RadioGroup = createComponent(RadioGroupRoot);\n\nclass Radio extends Component {\n static displayName = 'Radio';\n static style = style;\n static contextType = RadioGroup[CONTEXT_COMPONENT];\n\n bindHandlerChange = (value) => (checked, e) => {\n this.context.onChange(value, e);\n };\n\n getValueProps(props) {\n // The default values are here, since you cannot rewrite out of context\n const { state = 'normal', size = 'm', theme, name } = assignProps(this.props, this.context);\n const { value } = this.context;\n const other = {};\n // if used with the context\n if (value !== undefined) {\n other['checked'] = value === props.value;\n other['onChange'] = this.bindHandlerChange(props.value);\n }\n return {\n ...other,\n state,\n size,\n theme,\n name,\n };\n }\n\n getTextProps() {\n // The default values are here, since you cannot rewrite out of context\n const { size = 'm' } = assignProps(this.props, this.context);\n return {\n size: size,\n };\n }\n\n render() {\n const SRadio = Root;\n const { styles, Children } = this.asProps;\n\n return sstyled(styles)(\n <SRadio render={Box} tag='label'>\n <Children />\n </SRadio>,\n );\n }\n}\n\nclass Value extends Component {\n static defaultProps = {\n includeInputProps: inputProps,\n defaultChecked: false,\n };\n static enhance = [keyboardFocusEnhance()];\n static hoistProps = ['disabled'];\n\n uncontrolledProps() {\n return {\n checked: (e) => e.target.checked,\n };\n }\n\n render() {\n const SValue = Box;\n const SControl = Box;\n const { forwardRef, styles, includeInputProps, theme } = this.asProps;\n\n const [controlProps, boxProps] = getInputProps(this.asProps, includeInputProps);\n\n return sstyled(styles)(\n <>\n <SControl tag='input' type='radio' {...controlProps} />\n <SValue ref={forwardRef} use:theme={resolveColor(theme)} {...boxProps} />\n </>,\n );\n }\n}\n\nfunction Text(props) {\n const SText = Root;\n const { styles } = props;\n return sstyled(styles)(<SText render={Box} />);\n}\n\nexport { inputProps, RadioGroup };\nexport default createComponent(Radio, {\n Value,\n Text,\n});\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.js","names":[],"sources":["../../src/index.d.ts"],"sourcesContent":["import { CProps, PropGetterFn, ReturnEl } from '@semcore/core';\nimport { IBoxProps } from '@semcore/flex-box';\nimport { IKeyboardFocusProps } from '@semcore/utils/lib/enhances/keyboardFocusEnhance';\nimport { Text } from '@semcore/typography';\n\nexport type RadioSize = 'm' | 'l';\nexport type RadioState = 'normal' | 'invalid';\nexport type RadioValue = string | number | boolean;\n\nexport interface IRadioProps extends IBoxProps {\n /**\n * The value displaying the state of the component\n * @default normal\n */\n state?: RadioState;\n /**\n * Radio button size\n * @default m\n **/\n size?: RadioSize;\n /** The theme of the radio button that you can send your color to */\n theme?: string;\n}\n\nexport interface IRadioGroupProps {\n /** Radio group name */\n name?: string;\n /** Active default value */\n defaultValue?: RadioValue;\n /** Active value */\n value?: RadioValue;\n /** Called when the selected element is changed */\n onChange?: (value: RadioValue, e?: React.SyntheticEvent<HTMLInputElement>) => void;\n /** Radio button size */\n size?: RadioSize;\n /** The theme of the radio button that you can send your color to */\n theme?: string;\n /** Blocks access and changes to the form field */\n disabled?: boolean;\n}\n\nexport interface IRadioValueProps extends IBoxProps, IKeyboardFocusProps {\n /** List of elements that can be put on a hidden input */\n includeInputProps?: string[];\n /**\n * The value displaying the state of the component\n * @default normal\n */\n state?: RadioState;\n /** The theme of the radio button that you can send your color to */\n theme?: string;\n /** Radio button size */\n size?: RadioSize;\n /** The element value is required for RadioGroup */\n value?: RadioValue;\n /** Default value if `value` property is not provided */\n defaultValue?: RadioValue;\n /** Called when the value changes */\n onChange?: (value: boolean, e?: React.SyntheticEvent<HTMLInputElement>) => void;\n /** Blocks access and changes to the form field */\n disabled?: boolean;\n}\n\nexport interface IRadioCtx {\n getValueProps: PropGetterFn;\n getTextProps: PropGetterFn;\n}\n\ndeclare const RadioGroup: <T>(props: CProps<IRadioGroupProps & T>) => ReturnEl;\n\nexport { RadioGroup };\n\ndeclare const Radio: (<T>(props: CProps<IRadioProps & T, IRadioCtx>) => ReturnEl) & {\n Value: <T>(props: IRadioValueProps & T) => ReturnEl;\n Text: typeof Text;\n};\n\nexport default Radio;\n"],"mappings":""}
1
+ {"version":3,"file":"index.d.js","names":[],"sources":["../../src/index.d.ts"],"sourcesContent":["import React from 'react';\nimport { CProps, PropGetterFn, ReturnEl } from '@semcore/core';\nimport { IBoxProps } from '@semcore/flex-box';\nimport { IKeyboardFocusProps } from '@semcore/utils/lib/enhances/keyboardFocusEnhance';\nimport { Text } from '@semcore/typography';\n\nexport type RadioSize = 'm' | 'l';\nexport type RadioState = 'normal' | 'invalid';\nexport type RadioValue = string | number | boolean;\n\nexport interface IRadioProps extends IBoxProps {\n /**\n * The value displaying the state of the component\n * @default normal\n */\n state?: RadioState;\n /**\n * Radio button size\n * @default m\n **/\n size?: RadioSize;\n /** The theme of the radio button that you can send your color to */\n theme?: string;\n}\n\nexport interface IRadioGroupProps {\n /**\n * HTML tag name for the displayed item\n */\n tag?: React.ElementType | string;\n /** Radio group name */\n name?: string;\n /** Active default value */\n defaultValue?: RadioValue;\n /** Active value */\n value?: RadioValue;\n /** Called when the selected element is changed */\n onChange?: (value: RadioValue, e?: React.SyntheticEvent<HTMLInputElement>) => void;\n /** Radio button size */\n size?: RadioSize;\n /** The theme of the radio button that you can send your color to */\n theme?: string;\n /** Blocks access and changes to the form field */\n disabled?: boolean;\n}\n\nexport interface IRadioValueProps extends IBoxProps, IKeyboardFocusProps {\n /** List of elements that can be put on a hidden input */\n includeInputProps?: string[];\n /**\n * The value displaying the state of the component\n * @default normal\n */\n state?: RadioState;\n /** The theme of the radio button that you can send your color to */\n theme?: string;\n /** Radio button size */\n size?: RadioSize;\n /** The element value is required for RadioGroup */\n value?: RadioValue;\n /** Default value if `value` property is not provided */\n defaultValue?: RadioValue;\n /** Called when the value changes */\n onChange?: (value: boolean, e?: React.SyntheticEvent<HTMLInputElement>) => void;\n /** Blocks access and changes to the form field */\n disabled?: boolean;\n}\n\nexport interface IRadioCtx {\n getValueProps: PropGetterFn;\n getTextProps: PropGetterFn;\n}\n\ndeclare const RadioGroup: <T>(props: CProps<IRadioGroupProps & T>) => ReturnEl;\n\nexport { RadioGroup };\n\ndeclare const Radio: (<T>(props: CProps<IRadioProps & T, IRadioCtx>) => ReturnEl) & {\n Value: <T>(props: IRadioValueProps & T) => ReturnEl;\n Text: typeof Text;\n};\n\nexport default Radio;\n"],"mappings":""}
package/lib/es6/Radio.js CHANGED
@@ -7,6 +7,7 @@ import _inherits from "@babel/runtime/helpers/inherits";
7
7
  import _createSuper from "@babel/runtime/helpers/createSuper";
8
8
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
9
9
  import { sstyled as _sstyled } from "@semcore/core";
10
+ import { assignProps as _assignProps3 } from "@semcore/core";
10
11
  import { assignProps as _assignProps2 } from "@semcore/core";
11
12
  import { assignProps as _assignProps } from "@semcore/core";
12
13
  import React from 'react';
@@ -17,19 +18,19 @@ import keyboardFocusEnhance from '@semcore/utils/lib/enhances/keyboardFocusEnhan
17
18
  import resolveColor from '@semcore/utils/lib/color';
18
19
  import getInputProps, { inputProps } from '@semcore/utils/lib/inputProps';
19
20
  /*__reshadow-styles__:"./style/radio.shadow.css"*/
20
- var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SRadio_hz8uv_gg_{display:inline-flex;align-items:flex-start;cursor:pointer}.___SRadio_hz8uv_gg_.__disabled_hz8uv_gg_{opacity:var(--intergalactic-disabled-opacity, 0.3);cursor:default;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.___SText_hz8uv_gg_{margin-left:var(--intergalactic-spacing-2x, 8px);color:var(--intergalactic-text-primary, #191b23)}.___SText_hz8uv_gg_._size_m_hz8uv_gg_{font-size:var(--intergalactic-fs-200, 14px);line-height:var(--intergalactic-lh-200, 142%)}.___SText_hz8uv_gg_._size_l_hz8uv_gg_{font-size:var(--intergalactic-fs-300, 16px);line-height:var(--intergalactic-lh-300, 150%)}.___SValue_hz8uv_gg_{position:relative;flex-shrink:0;padding:0;outline:0;z-index:0;margin-top:var(--intergalactic-spacing-05x, 2px)}.___SValue_hz8uv_gg_::after,.___SValue_hz8uv_gg_::before{content:\"\";position:absolute;right:0;bottom:0;border-radius:50%;background:var(--intergalactic-bg-primary-neutral, #ffffff)}.___SValue_hz8uv_gg_::before{top:0;left:0;border:1px solid;transition:calc(var(--intergalactic-duration-control, 200)*1ms) all ease-in-out}.___SValue_hz8uv_gg_::after{top:50%;left:50%;transform:translate(-50%,-50%);width:0;height:0}.___SValue_hz8uv_gg_._size_m_hz8uv_gg_{width:16px;height:16px}.___SValue_hz8uv_gg_._size_l_hz8uv_gg_{width:20px;height:20px}.___SValue_hz8uv_gg_._state_normal_hz8uv_gg_::before{border-color:var(--intergalactic-border-primary, #c4c7cf)}.___SValue_hz8uv_gg_._state_invalid_hz8uv_gg_::before{border-color:var(--intergalactic-border-critical-active, #d1002f)}.___SControl_hz8uv_gg_{position:absolute;clip:rect(1px,1px,1px,1px)}.___SControl_hz8uv_gg_:checked~.___SValue_hz8uv_gg_::before{border-color:var(--intergalactic-control-primary-info, #008ff8);background-color:var(--intergalactic-bg-primary-info, #008ff8)}.___SControl_hz8uv_gg_:checked~.___SValue_hz8uv_gg_._size_m_hz8uv_gg_::after{width:6px;height:6px}.___SControl_hz8uv_gg_:checked~.___SValue_hz8uv_gg_._size_l_hz8uv_gg_::after{width:8px;height:8px}.___SValue_hz8uv_gg_._state_normal_hz8uv_gg_.__keyboardFocused_hz8uv_gg_::before{box-shadow:var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.3));border-color:var(--intergalactic-border-info-active, #006dca)}.___SValue_hz8uv_gg_._state_invalid_hz8uv_gg_.__keyboardFocused_hz8uv_gg_::before{box-shadow:var(--intergalactic-keyboard-focus-invalid, 0px 0px 0px 3px rgba(255, 73, 83, 0.3))}.___SControl_hz8uv_gg_:checked~.___SValue_hz8uv_gg_.__theme_hz8uv_gg_::before{border-color:var(--theme_hz8uv);background-color:var(--theme_hz8uv)}.___SValue_hz8uv_gg_._state_normal_hz8uv_gg_.__theme_hz8uv_gg_::before{border-color:var(--theme_hz8uv)}" /*__inner_css_end__*/, "hz8uv_gg_") /*__reshadow_css_end__*/, {
21
- "__SRadio": "___SRadio_hz8uv_gg_",
22
- "_disabled": "__disabled_hz8uv_gg_",
23
- "__SText": "___SText_hz8uv_gg_",
24
- "_size_m": "_size_m_hz8uv_gg_",
25
- "_size_l": "_size_l_hz8uv_gg_",
26
- "__SValue": "___SValue_hz8uv_gg_",
27
- "_state_normal": "_state_normal_hz8uv_gg_",
28
- "_state_invalid": "_state_invalid_hz8uv_gg_",
29
- "__SControl": "___SControl_hz8uv_gg_",
30
- "_keyboardFocused": "__keyboardFocused_hz8uv_gg_",
31
- "_theme": "__theme_hz8uv_gg_",
32
- "--theme": "--theme_hz8uv"
21
+ var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SRadio_1yvcn_gg_{display:inline-flex;align-items:flex-start;cursor:pointer}.___SRadio_1yvcn_gg_.__disabled_1yvcn_gg_{opacity:var(--intergalactic-disabled-opacity, 0.3);cursor:default;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.___SText_1yvcn_gg_{margin-left:var(--intergalactic-spacing-2x, 8px);color:var(--intergalactic-text-primary, #191b23)}.___SText_1yvcn_gg_._size_m_1yvcn_gg_{font-size:var(--intergalactic-fs-200, 14px);line-height:var(--intergalactic-lh-200, 142%)}.___SText_1yvcn_gg_._size_l_1yvcn_gg_{font-size:var(--intergalactic-fs-300, 16px);line-height:var(--intergalactic-lh-300, 150%)}.___SValue_1yvcn_gg_{position:relative;flex-shrink:0;padding:0;outline:0;z-index:0;margin-top:var(--intergalactic-spacing-05x, 2px)}.___SValue_1yvcn_gg_::after,.___SValue_1yvcn_gg_::before{content:\"\";position:absolute;right:0;bottom:0;border-radius:50%;background:var(--intergalactic-bg-primary-neutral, #ffffff)}.___SValue_1yvcn_gg_::before{top:0;left:0;border:1px solid;transition:calc(var(--intergalactic-duration-control, 200)*1ms) all ease-in-out}.___SValue_1yvcn_gg_::after{top:50%;left:50%;transform:translate(-50%,-50%);width:0;height:0}.___SValue_1yvcn_gg_._size_m_1yvcn_gg_{width:16px;height:16px}.___SValue_1yvcn_gg_._size_l_1yvcn_gg_{width:20px;height:20px}.___SValue_1yvcn_gg_._state_normal_1yvcn_gg_::before{border-color:var(--intergalactic-border-primary, #c4c7cf)}.___SValue_1yvcn_gg_._state_invalid_1yvcn_gg_::before{border-color:var(--intergalactic-border-critical-active, #d1002f)}.___SControl_1yvcn_gg_{position:absolute;clip:rect(1px,1px,1px,1px)}.___SControl_1yvcn_gg_:checked~.___SValue_1yvcn_gg_::before{border-color:var(--intergalactic-control-primary-info, #008ff8);background-color:var(--intergalactic-bg-primary-info, #008ff8)}.___SControl_1yvcn_gg_:checked~.___SValue_1yvcn_gg_._size_m_1yvcn_gg_::after{width:6px;height:6px}.___SControl_1yvcn_gg_:checked~.___SValue_1yvcn_gg_._size_l_1yvcn_gg_::after{width:8px;height:8px}.___SValue_1yvcn_gg_._state_normal_1yvcn_gg_.__keyboardFocused_1yvcn_gg_::before{box-shadow:var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.3));border-color:var(--intergalactic-border-info-active, #006dca)}.___SValue_1yvcn_gg_._state_invalid_1yvcn_gg_.__keyboardFocused_1yvcn_gg_::before{box-shadow:var(--intergalactic-keyboard-focus-invalid, 0px 0px 0px 3px rgba(255, 73, 83, 0.3))}.___SControl_1yvcn_gg_:checked~.___SValue_1yvcn_gg_.__theme_1yvcn_gg_::before{border-color:var(--theme_1yvcn);background-color:var(--theme_1yvcn)}.___SValue_1yvcn_gg_._state_normal_1yvcn_gg_.__theme_1yvcn_gg_::before{border-color:var(--theme_1yvcn)}" /*__inner_css_end__*/, "1yvcn_gg_") /*__reshadow_css_end__*/, {
22
+ "__SRadio": "___SRadio_1yvcn_gg_",
23
+ "_disabled": "__disabled_1yvcn_gg_",
24
+ "__SText": "___SText_1yvcn_gg_",
25
+ "_size_m": "_size_m_1yvcn_gg_",
26
+ "_size_l": "_size_l_1yvcn_gg_",
27
+ "__SValue": "___SValue_1yvcn_gg_",
28
+ "_state_normal": "_state_normal_1yvcn_gg_",
29
+ "_state_invalid": "_state_invalid_1yvcn_gg_",
30
+ "__SControl": "___SControl_1yvcn_gg_",
31
+ "_keyboardFocused": "__keyboardFocused_1yvcn_gg_",
32
+ "_theme": "__theme_1yvcn_gg_",
33
+ "--theme": "--theme_1yvcn"
33
34
  });
34
35
  var RadioGroupRoot = /*#__PURE__*/function (_Component) {
35
36
  _inherits(RadioGroupRoot, _Component);
@@ -65,7 +66,13 @@ var RadioGroupRoot = /*#__PURE__*/function (_Component) {
65
66
  }, {
66
67
  key: "render",
67
68
  value: function render() {
68
- var Children = this.asProps.Children;
69
+ var _ref = this.asProps;
70
+ var _this$asProps2 = this.asProps,
71
+ Children = _this$asProps2.Children,
72
+ Tag = _this$asProps2.tag;
73
+ if (Tag) return /*#__PURE__*/React.createElement(Tag, _assignProps({
74
+ "role": 'radiogroup'
75
+ }, _ref), /*#__PURE__*/React.createElement(Children, null));
69
76
  return /*#__PURE__*/React.createElement(Children, null);
70
77
  }
71
78
  }]);
@@ -99,13 +106,13 @@ var Radio = /*#__PURE__*/function (_Component2) {
99
106
  key: "getValueProps",
100
107
  value: function getValueProps(props) {
101
108
  // The default values are here, since you cannot rewrite out of context
102
- var _assignProps3 = assignProps(this.props, this.context),
103
- _assignProps3$state = _assignProps3.state,
104
- state = _assignProps3$state === void 0 ? 'normal' : _assignProps3$state,
105
- _assignProps3$size = _assignProps3.size,
106
- size = _assignProps3$size === void 0 ? 'm' : _assignProps3$size,
107
- theme = _assignProps3.theme,
108
- name = _assignProps3.name;
109
+ var _assignProps4 = assignProps(this.props, this.context),
110
+ _assignProps4$state = _assignProps4.state,
111
+ state = _assignProps4$state === void 0 ? 'normal' : _assignProps4$state,
112
+ _assignProps4$size = _assignProps4.size,
113
+ size = _assignProps4$size === void 0 ? 'm' : _assignProps4$size,
114
+ theme = _assignProps4.theme,
115
+ name = _assignProps4.name;
109
116
  var value = this.context.value;
110
117
  var other = {};
111
118
  // if used with the context
@@ -124,9 +131,9 @@ var Radio = /*#__PURE__*/function (_Component2) {
124
131
  key: "getTextProps",
125
132
  value: function getTextProps() {
126
133
  // The default values are here, since you cannot rewrite out of context
127
- var _assignProps4 = assignProps(this.props, this.context),
128
- _assignProps4$size = _assignProps4.size,
129
- size = _assignProps4$size === void 0 ? 'm' : _assignProps4$size;
134
+ var _assignProps5 = assignProps(this.props, this.context),
135
+ _assignProps5$size = _assignProps5.size,
136
+ size = _assignProps5$size === void 0 ? 'm' : _assignProps5$size;
130
137
  return {
131
138
  size: size
132
139
  };
@@ -134,15 +141,15 @@ var Radio = /*#__PURE__*/function (_Component2) {
134
141
  }, {
135
142
  key: "render",
136
143
  value: function render() {
137
- var _ref = this.asProps,
138
- _ref3;
144
+ var _ref2 = this.asProps,
145
+ _ref4;
139
146
  var SRadio = Box;
140
- var _this$asProps2 = this.asProps,
141
- styles = _this$asProps2.styles,
142
- Children = _this$asProps2.Children;
143
- return _ref3 = sstyled(styles), /*#__PURE__*/React.createElement(SRadio, _ref3.cn("SRadio", _objectSpread({}, _assignProps({
144
- "tag": "label"
145
- }, _ref))), /*#__PURE__*/React.createElement(Children, _ref3.cn("Children", {})));
147
+ var _this$asProps3 = this.asProps,
148
+ styles = _this$asProps3.styles,
149
+ Children = _this$asProps3.Children;
150
+ return _ref4 = sstyled(styles), /*#__PURE__*/React.createElement(SRadio, _ref4.cn("SRadio", _objectSpread({}, _assignProps2({
151
+ "tag": 'label'
152
+ }, _ref2))), /*#__PURE__*/React.createElement(Children, _ref4.cn("Children", {})));
146
153
  }
147
154
  }]);
148
155
  return Radio;
@@ -169,22 +176,22 @@ var Value = /*#__PURE__*/function (_Component3) {
169
176
  }, {
170
177
  key: "render",
171
178
  value: function render() {
172
- var _ref4;
179
+ var _ref5;
173
180
  var SValue = Box;
174
181
  var SControl = Box;
175
- var _this$asProps3 = this.asProps,
176
- forwardRef = _this$asProps3.forwardRef,
177
- styles = _this$asProps3.styles,
178
- includeInputProps = _this$asProps3.includeInputProps,
179
- theme = _this$asProps3.theme;
182
+ var _this$asProps4 = this.asProps,
183
+ forwardRef = _this$asProps4.forwardRef,
184
+ styles = _this$asProps4.styles,
185
+ includeInputProps = _this$asProps4.includeInputProps,
186
+ theme = _this$asProps4.theme;
180
187
  var _getInputProps = getInputProps(this.asProps, includeInputProps),
181
188
  _getInputProps2 = _slicedToArray(_getInputProps, 2),
182
189
  controlProps = _getInputProps2[0],
183
190
  boxProps = _getInputProps2[1];
184
- return _ref4 = sstyled(styles), /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(SControl, _ref4.cn("SControl", _objectSpread({
185
- "tag": "input",
186
- "type": "radio"
187
- }, controlProps))), /*#__PURE__*/React.createElement(SValue, _ref4.cn("SValue", _objectSpread({
191
+ return _ref5 = sstyled(styles), /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(SControl, _ref5.cn("SControl", _objectSpread({
192
+ "tag": 'input',
193
+ "type": 'radio'
194
+ }, controlProps))), /*#__PURE__*/React.createElement(SValue, _ref5.cn("SValue", _objectSpread({
188
195
  "ref": forwardRef,
189
196
  "use:theme": resolveColor(theme)
190
197
  }, boxProps))));
@@ -199,11 +206,11 @@ _defineProperty(Value, "defaultProps", {
199
206
  _defineProperty(Value, "enhance", [keyboardFocusEnhance()]);
200
207
  _defineProperty(Value, "hoistProps", ['disabled']);
201
208
  function Text(props) {
202
- var _ref2 = arguments[0],
203
- _ref5;
209
+ var _ref3 = arguments[0],
210
+ _ref6;
204
211
  var SText = Box;
205
212
  var styles = props.styles;
206
- return _ref5 = sstyled(styles), /*#__PURE__*/React.createElement(SText, _ref5.cn("SText", _objectSpread({}, _assignProps2({}, _ref2))));
213
+ return _ref6 = sstyled(styles), /*#__PURE__*/React.createElement(SText, _ref6.cn("SText", _objectSpread({}, _assignProps3({}, _ref3))));
207
214
  }
208
215
  export { inputProps, RadioGroup };
209
216
  export default createComponent(Radio, {
@@ -1 +1 @@
1
- {"version":3,"file":"Radio.js","names":["React","createComponent","Component","CONTEXT_COMPONENT","sstyled","Root","Box","assignProps","keyboardFocusEnhance","resolveColor","getInputProps","inputProps","style","_sstyled","insert","RadioGroupRoot","_Component","_inherits","_super","_createSuper","_classCallCheck","apply","arguments","_createClass","key","value","uncontrolledProps","setContext","_this$asProps","asProps","theme","size","name","onChange","render","Children","createElement","_defineProperty","state","defaultValue","RadioGroup","Radio","_Component2","_super2","_this","_len","length","args","Array","_key","call","concat","_assertThisInitialized","checked","e","context","getValueProps","props","_assignProps3","_assignProps3$state","_assignProps3$size","other","undefined","bindHandlerChange","_objectSpread","getTextProps","_assignProps4","_assignProps4$size","_ref","_ref3","SRadio","_this$asProps2","styles","cn","_assignProps","Value","_Component3","_super3","target","_ref4","SValue","SControl","_this$asProps3","forwardRef","includeInputProps","_getInputProps","_getInputProps2","_slicedToArray","controlProps","boxProps","Fragment","defaultChecked","Text","_ref2","arguments[0]","_ref5","SText","_assignProps2"],"sources":["../../src/Radio.jsx"],"sourcesContent":["import React from 'react';\nimport createComponent, { Component, CONTEXT_COMPONENT, sstyled, Root } from '@semcore/core';\nimport { Box } from '@semcore/flex-box';\nimport assignProps from '@semcore/utils/lib/assignProps';\nimport keyboardFocusEnhance from '@semcore/utils/lib/enhances/keyboardFocusEnhance';\nimport resolveColor from '@semcore/utils/lib/color';\nimport getInputProps, { inputProps } from '@semcore/utils/lib/inputProps';\n\nimport style from './style/radio.shadow.css';\n\nclass RadioGroupRoot extends Component {\n static displayName = 'RadioGroup';\n\n static defaultProps = {\n state: 'normal',\n size: 'm',\n defaultValue: null,\n };\n\n uncontrolledProps() {\n return {\n value: null,\n };\n }\n\n setContext() {\n const { theme, size, name, value, onChange } = this.asProps;\n return {\n onChange,\n value,\n theme,\n size,\n name,\n };\n }\n\n render() {\n const { Children } = this.asProps;\n return <Children />;\n }\n}\n\nconst RadioGroup = createComponent(RadioGroupRoot);\n\nclass Radio extends Component {\n static displayName = 'Radio';\n static style = style;\n static contextType = RadioGroup[CONTEXT_COMPONENT];\n\n bindHandlerChange = (value) => (checked, e) => {\n this.context.onChange(value, e);\n };\n\n getValueProps(props) {\n // The default values are here, since you cannot rewrite out of context\n const { state = 'normal', size = 'm', theme, name } = assignProps(this.props, this.context);\n const { value } = this.context;\n const other = {};\n // if used with the context\n if (value !== undefined) {\n other['checked'] = value === props.value;\n other['onChange'] = this.bindHandlerChange(props.value);\n }\n return {\n ...other,\n state,\n size,\n theme,\n name,\n };\n }\n\n getTextProps() {\n // The default values are here, since you cannot rewrite out of context\n const { size = 'm' } = assignProps(this.props, this.context);\n return {\n size: size,\n };\n }\n\n render() {\n const SRadio = Root;\n const { styles, Children } = this.asProps;\n\n return sstyled(styles)(\n <SRadio render={Box} tag=\"label\">\n <Children />\n </SRadio>,\n );\n }\n}\n\nclass Value extends Component {\n static defaultProps = {\n includeInputProps: inputProps,\n defaultChecked: false,\n };\n static enhance = [keyboardFocusEnhance()];\n static hoistProps = ['disabled'];\n\n uncontrolledProps() {\n return {\n checked: (e) => e.target.checked,\n };\n }\n\n render() {\n const SValue = Box;\n const SControl = Box;\n const { forwardRef, styles, includeInputProps, theme } = this.asProps;\n\n const [controlProps, boxProps] = getInputProps(this.asProps, includeInputProps);\n\n return sstyled(styles)(\n <>\n <SControl tag=\"input\" type=\"radio\" {...controlProps} />\n <SValue ref={forwardRef} use:theme={resolveColor(theme)} {...boxProps} />\n </>,\n );\n }\n}\n\nfunction Text(props) {\n const SText = Root;\n const { styles } = props;\n return sstyled(styles)(<SText render={Box} />);\n}\n\nexport { inputProps, RadioGroup };\nexport default createComponent(Radio, {\n Value,\n Text,\n});\n"],"mappings":"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"}
1
+ {"version":3,"file":"Radio.js","names":["React","createComponent","Component","CONTEXT_COMPONENT","sstyled","Root","Box","assignProps","keyboardFocusEnhance","resolveColor","getInputProps","inputProps","style","_sstyled","insert","RadioGroupRoot","_Component","_inherits","_super","_createSuper","_classCallCheck","apply","arguments","_createClass","key","value","uncontrolledProps","setContext","_this$asProps","asProps","theme","size","name","onChange","render","_ref","_this$asProps2","Children","Tag","tag","createElement","_assignProps","_defineProperty","state","defaultValue","RadioGroup","Radio","_Component2","_super2","_this","_len","length","args","Array","_key","call","concat","_assertThisInitialized","checked","e","context","getValueProps","props","_assignProps4","_assignProps4$state","_assignProps4$size","other","undefined","bindHandlerChange","_objectSpread","getTextProps","_assignProps5","_assignProps5$size","_ref2","_ref4","SRadio","_this$asProps3","styles","cn","_assignProps2","Value","_Component3","_super3","target","_ref5","SValue","SControl","_this$asProps4","forwardRef","includeInputProps","_getInputProps","_getInputProps2","_slicedToArray","controlProps","boxProps","Fragment","defaultChecked","Text","_ref3","arguments[0]","_ref6","SText","_assignProps3"],"sources":["../../src/Radio.jsx"],"sourcesContent":["import React from 'react';\nimport createComponent, { Component, CONTEXT_COMPONENT, sstyled, Root } from '@semcore/core';\nimport { Box } from '@semcore/flex-box';\nimport assignProps from '@semcore/utils/lib/assignProps';\nimport keyboardFocusEnhance from '@semcore/utils/lib/enhances/keyboardFocusEnhance';\nimport resolveColor from '@semcore/utils/lib/color';\nimport getInputProps, { inputProps } from '@semcore/utils/lib/inputProps';\n\nimport style from './style/radio.shadow.css';\n\nclass RadioGroupRoot extends Component {\n static displayName = 'RadioGroup';\n\n static defaultProps = {\n state: 'normal',\n size: 'm',\n defaultValue: null,\n };\n\n uncontrolledProps() {\n return {\n value: null,\n };\n }\n\n setContext() {\n const { theme, size, name, value, onChange } = this.asProps;\n return {\n onChange,\n value,\n theme,\n size,\n name,\n };\n }\n\n render() {\n const { Children, tag: Tag } = this.asProps;\n\n if (Tag)\n return (\n <Root render={Tag} role='radiogroup'>\n <Children />\n </Root>\n );\n\n return <Children />;\n }\n}\n\nconst RadioGroup = createComponent(RadioGroupRoot);\n\nclass Radio extends Component {\n static displayName = 'Radio';\n static style = style;\n static contextType = RadioGroup[CONTEXT_COMPONENT];\n\n bindHandlerChange = (value) => (checked, e) => {\n this.context.onChange(value, e);\n };\n\n getValueProps(props) {\n // The default values are here, since you cannot rewrite out of context\n const { state = 'normal', size = 'm', theme, name } = assignProps(this.props, this.context);\n const { value } = this.context;\n const other = {};\n // if used with the context\n if (value !== undefined) {\n other['checked'] = value === props.value;\n other['onChange'] = this.bindHandlerChange(props.value);\n }\n return {\n ...other,\n state,\n size,\n theme,\n name,\n };\n }\n\n getTextProps() {\n // The default values are here, since you cannot rewrite out of context\n const { size = 'm' } = assignProps(this.props, this.context);\n return {\n size: size,\n };\n }\n\n render() {\n const SRadio = Root;\n const { styles, Children } = this.asProps;\n\n return sstyled(styles)(\n <SRadio render={Box} tag='label'>\n <Children />\n </SRadio>,\n );\n }\n}\n\nclass Value extends Component {\n static defaultProps = {\n includeInputProps: inputProps,\n defaultChecked: false,\n };\n static enhance = [keyboardFocusEnhance()];\n static hoistProps = ['disabled'];\n\n uncontrolledProps() {\n return {\n checked: (e) => e.target.checked,\n };\n }\n\n render() {\n const SValue = Box;\n const SControl = Box;\n const { forwardRef, styles, includeInputProps, theme } = this.asProps;\n\n const [controlProps, boxProps] = getInputProps(this.asProps, includeInputProps);\n\n return sstyled(styles)(\n <>\n <SControl tag='input' type='radio' {...controlProps} />\n <SValue ref={forwardRef} use:theme={resolveColor(theme)} {...boxProps} />\n </>,\n );\n }\n}\n\nfunction Text(props) {\n const SText = Root;\n const { styles } = props;\n return sstyled(styles)(<SText render={Box} />);\n}\n\nexport { inputProps, RadioGroup };\nexport default createComponent(Radio, {\n Value,\n Text,\n});\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.js","names":[],"sources":["../../src/index.d.ts"],"sourcesContent":["import { CProps, PropGetterFn, ReturnEl } from '@semcore/core';\nimport { IBoxProps } from '@semcore/flex-box';\nimport { IKeyboardFocusProps } from '@semcore/utils/lib/enhances/keyboardFocusEnhance';\nimport { Text } from '@semcore/typography';\n\nexport type RadioSize = 'm' | 'l';\nexport type RadioState = 'normal' | 'invalid';\nexport type RadioValue = string | number | boolean;\n\nexport interface IRadioProps extends IBoxProps {\n /**\n * The value displaying the state of the component\n * @default normal\n */\n state?: RadioState;\n /**\n * Radio button size\n * @default m\n **/\n size?: RadioSize;\n /** The theme of the radio button that you can send your color to */\n theme?: string;\n}\n\nexport interface IRadioGroupProps {\n /** Radio group name */\n name?: string;\n /** Active default value */\n defaultValue?: RadioValue;\n /** Active value */\n value?: RadioValue;\n /** Called when the selected element is changed */\n onChange?: (value: RadioValue, e?: React.SyntheticEvent<HTMLInputElement>) => void;\n /** Radio button size */\n size?: RadioSize;\n /** The theme of the radio button that you can send your color to */\n theme?: string;\n /** Blocks access and changes to the form field */\n disabled?: boolean;\n}\n\nexport interface IRadioValueProps extends IBoxProps, IKeyboardFocusProps {\n /** List of elements that can be put on a hidden input */\n includeInputProps?: string[];\n /**\n * The value displaying the state of the component\n * @default normal\n */\n state?: RadioState;\n /** The theme of the radio button that you can send your color to */\n theme?: string;\n /** Radio button size */\n size?: RadioSize;\n /** The element value is required for RadioGroup */\n value?: RadioValue;\n /** Default value if `value` property is not provided */\n defaultValue?: RadioValue;\n /** Called when the value changes */\n onChange?: (value: boolean, e?: React.SyntheticEvent<HTMLInputElement>) => void;\n /** Blocks access and changes to the form field */\n disabled?: boolean;\n}\n\nexport interface IRadioCtx {\n getValueProps: PropGetterFn;\n getTextProps: PropGetterFn;\n}\n\ndeclare const RadioGroup: <T>(props: CProps<IRadioGroupProps & T>) => ReturnEl;\n\nexport { RadioGroup };\n\ndeclare const Radio: (<T>(props: CProps<IRadioProps & T, IRadioCtx>) => ReturnEl) & {\n Value: <T>(props: IRadioValueProps & T) => ReturnEl;\n Text: typeof Text;\n};\n\nexport default Radio;\n"],"mappings":""}
1
+ {"version":3,"file":"index.d.js","names":[],"sources":["../../src/index.d.ts"],"sourcesContent":["import React from 'react';\nimport { CProps, PropGetterFn, ReturnEl } from '@semcore/core';\nimport { IBoxProps } from '@semcore/flex-box';\nimport { IKeyboardFocusProps } from '@semcore/utils/lib/enhances/keyboardFocusEnhance';\nimport { Text } from '@semcore/typography';\n\nexport type RadioSize = 'm' | 'l';\nexport type RadioState = 'normal' | 'invalid';\nexport type RadioValue = string | number | boolean;\n\nexport interface IRadioProps extends IBoxProps {\n /**\n * The value displaying the state of the component\n * @default normal\n */\n state?: RadioState;\n /**\n * Radio button size\n * @default m\n **/\n size?: RadioSize;\n /** The theme of the radio button that you can send your color to */\n theme?: string;\n}\n\nexport interface IRadioGroupProps {\n /**\n * HTML tag name for the displayed item\n */\n tag?: React.ElementType | string;\n /** Radio group name */\n name?: string;\n /** Active default value */\n defaultValue?: RadioValue;\n /** Active value */\n value?: RadioValue;\n /** Called when the selected element is changed */\n onChange?: (value: RadioValue, e?: React.SyntheticEvent<HTMLInputElement>) => void;\n /** Radio button size */\n size?: RadioSize;\n /** The theme of the radio button that you can send your color to */\n theme?: string;\n /** Blocks access and changes to the form field */\n disabled?: boolean;\n}\n\nexport interface IRadioValueProps extends IBoxProps, IKeyboardFocusProps {\n /** List of elements that can be put on a hidden input */\n includeInputProps?: string[];\n /**\n * The value displaying the state of the component\n * @default normal\n */\n state?: RadioState;\n /** The theme of the radio button that you can send your color to */\n theme?: string;\n /** Radio button size */\n size?: RadioSize;\n /** The element value is required for RadioGroup */\n value?: RadioValue;\n /** Default value if `value` property is not provided */\n defaultValue?: RadioValue;\n /** Called when the value changes */\n onChange?: (value: boolean, e?: React.SyntheticEvent<HTMLInputElement>) => void;\n /** Blocks access and changes to the form field */\n disabled?: boolean;\n}\n\nexport interface IRadioCtx {\n getValueProps: PropGetterFn;\n getTextProps: PropGetterFn;\n}\n\ndeclare const RadioGroup: <T>(props: CProps<IRadioGroupProps & T>) => ReturnEl;\n\nexport { RadioGroup };\n\ndeclare const Radio: (<T>(props: CProps<IRadioProps & T, IRadioCtx>) => ReturnEl) & {\n Value: <T>(props: IRadioValueProps & T) => ReturnEl;\n Text: typeof Text;\n};\n\nexport default Radio;\n"],"mappings":""}
@@ -1,3 +1,4 @@
1
+ import React from 'react';
1
2
  import { CProps, PropGetterFn, ReturnEl } from '@semcore/core';
2
3
  import { IBoxProps } from '@semcore/flex-box';
3
4
  import { IKeyboardFocusProps } from '@semcore/utils/lib/enhances/keyboardFocusEnhance';
@@ -23,6 +24,10 @@ export interface IRadioProps extends IBoxProps {
23
24
  }
24
25
 
25
26
  export interface IRadioGroupProps {
27
+ /**
28
+ * HTML tag name for the displayed item
29
+ */
30
+ tag?: React.ElementType | string;
26
31
  /** Radio group name */
27
32
  name?: string;
28
33
  /** Active default value */
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@semcore/radio",
3
3
  "description": "Semrush Radio Component",
4
- "version": "5.4.14",
4
+ "version": "5.5.1",
5
5
  "main": "lib/cjs/index.js",
6
6
  "module": "lib/es6/index.js",
7
7
  "typings": "lib/types/index.d.ts",