@semcore/radio 17.1.0 → 17.2.0-prerelease.3

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,6 +2,12 @@
2
2
 
3
3
  CHANGELOG.md standards are inspired by [keepachangelog.com](https://keepachangelog.com/en/1.0.0/).
4
4
 
5
+ ## [17.2.0] - 2026-06-05
6
+
7
+ ### Added
8
+
9
+ - Links to the API and examples in the docs.
10
+
5
11
  ## [17.1.0] - 2026-05-13
6
12
 
7
13
  ### Added
package/lib/cjs/Radio.js CHANGED
@@ -24,29 +24,29 @@ var _useColorResolver = require("@semcore/core/lib/utils/use/useColorResolver");
24
24
  var _typography = require("@semcore/typography");
25
25
  var _react = _interopRequireDefault(require("react"));
26
26
  /*!__reshadow-styles__:"./style/radio.shadow.css"*/
27
- const style = (/*__reshadow_css_start__*/_core.sstyled.insert(/*__inner_css_start__*/".___SRadio_1iej8_gg_{display:inline-flex;align-items:flex-start;cursor:pointer}.___SRadio_1iej8_gg_ .___SText_1iej8_gg_{margin-left:var(--intergalactic-spacing-2x, 8px);color:var(--intergalactic-text-primary, rgba(1, 5, 0, 0.899))}.___SRadio_1iej8_gg_ .___SText_1iej8_gg_.__color_1iej8_gg_{color:var(--color_1iej8)}.___SRadio_1iej8_gg_.__disabled_1iej8_gg_{pointer-events:none}.___SValue_1iej8_gg_{position:relative;flex-shrink:0;padding:0;outline:0;z-index:0;margin-top:var(--intergalactic-spacing-05x, 2px)}.___SValue_1iej8_gg_::after,.___SValue_1iej8_gg_::before{content:\"\";position:absolute;right:0;bottom:0;border-radius:50%;background:var(--intergalactic-bg-primary-neutral, rgb(255, 255, 255))}.___SValue_1iej8_gg_::before{top:0;left:0;border:1px solid;transition:calc(var(--intergalactic-duration-control, 200)*1ms) all ease-in-out}.___SValue_1iej8_gg_::after{top:50%;left:50%;transform:translate(-50%,-50%);width:0;height:0}.___SValue_1iej8_gg_.__disabled_1iej8_gg_{opacity:var(--intergalactic-disabled-opacity, 0.4);cursor:default;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.___SValue_1iej8_gg_._size_m_1iej8_gg_{width:16px;height:16px}.___SValue_1iej8_gg_._size_m_1iej8_gg_ .___SInvalidPattern_1iej8_gg_:before{width:14px;height:14px}.___SValue_1iej8_gg_._size_l_1iej8_gg_{width:20px;height:20px}.___SValue_1iej8_gg_._size_l_1iej8_gg_ .___SInvalidPattern_1iej8_gg_:before{width:18px;height:18px}.___SValue_1iej8_gg_._state_normal_1iej8_gg_::before{border-color:var(--intergalactic-border-primary, rgba(0, 12, 8, 0.161))}@supports (color:color(display-p3 0 0 0%)){.___SValue_1iej8_gg_._state_normal_1iej8_gg_::before{border-color:var(--intergalactic-border-primary, rgba(0, 12, 8, 0.161))}@media (color-gamut:p3){.___SValue_1iej8_gg_._state_normal_1iej8_gg_::before{border-color:var(--intergalactic-border-primary, color(display-p3 0.00798 0.04498 0.03219 / 0.161))}}}.___SValue_1iej8_gg_._state_invalid_1iej8_gg_::before{border-color:var(--intergalactic-border-critical-active, rgb(255, 99, 100))}@supports (color:color(display-p3 0 0 0%)){.___SValue_1iej8_gg_._state_invalid_1iej8_gg_::before{border-color:var(--intergalactic-border-critical-active, rgb(255, 99, 100))}@media (color-gamut:p3){.___SValue_1iej8_gg_._state_invalid_1iej8_gg_::before{border-color:var(--intergalactic-border-critical-active, color(display-p3 0.95478 0.398 0.38923))}}}.___SControl_1iej8_gg_{position:absolute;clip:rect(1px,1px,1px,1px)}.___SControl_1iej8_gg_:checked~.___SValue_1iej8_gg_._size_m_1iej8_gg_::after{width:6px;height:6px}.___SControl_1iej8_gg_:checked~.___SValue_1iej8_gg_._size_l_1iej8_gg_::after{width:8px;height:8px}.___SControl_1iej8_gg_:focus-visible+.___SValue_1iej8_gg_._state_normal_1iej8_gg_::before{border-color:var(--intergalactic-border-info-active, rgb(135, 150, 239));outline-color:var(--intergalactic-keyboard-focus-outline, rgba(0, 32, 221, 0.469));outline-style:solid;outline-width:2px;outline-offset:2px;transition-duration:calc(var(--intergalactic-duration-extra-fast, 100)*1ms);transition-timing-function:ease-in-out;transition-property:outline-color,outline-width,outline-offset}@supports (color:color(display-p3 0 0 0%)){.___SControl_1iej8_gg_:focus-visible+.___SValue_1iej8_gg_._state_normal_1iej8_gg_::before{outline-color:var(--intergalactic-keyboard-focus-outline, rgba(0, 32, 221, 0.469))}@media (color-gamut:p3){.___SControl_1iej8_gg_:focus-visible+.___SValue_1iej8_gg_._state_normal_1iej8_gg_::before{outline-color:var(--intergalactic-keyboard-focus-outline, color(display-p3 0.03256 0.12227 0.83249 / 0.469))}}}.___SControl_1iej8_gg_:checked:focus-visible~.___SValue_1iej8_gg_::before,.___SControl_1iej8_gg_:checked~.___SValue_1iej8_gg_::before{border-color:var(--intergalactic-control-primary-info, rgb(26, 30, 26));background-color:var(--intergalactic-control-primary-info, rgb(26, 30, 26))}.___SControl_1iej8_gg_:focus-visible+.___SValue_1iej8_gg_._state_invalid_1iej8_gg_::before{border-color:var(--intergalactic-border-critical-active, rgb(255, 99, 100));outline-color:var(--intergalactic-keyboard-focus-outline, rgba(0, 32, 221, 0.469));outline-style:solid;outline-width:2px;outline-offset:2px;transition-duration:calc(var(--intergalactic-duration-extra-fast, 100)*1ms);transition-timing-function:ease-in-out;transition-property:outline-color,outline-width,outline-offset}@supports (color:color(display-p3 0 0 0%)){.___SControl_1iej8_gg_:focus-visible+.___SValue_1iej8_gg_._state_invalid_1iej8_gg_::before{border-color:var(--intergalactic-border-critical-active, rgb(255, 99, 100));outline-color:var(--intergalactic-keyboard-focus-outline, rgba(0, 32, 221, 0.469))}@media (color-gamut:p3){.___SControl_1iej8_gg_:focus-visible+.___SValue_1iej8_gg_._state_invalid_1iej8_gg_::before{border-color:var(--intergalactic-border-critical-active, color(display-p3 0.95478 0.398 0.38923));outline-color:var(--intergalactic-keyboard-focus-outline, color(display-p3 0.03256 0.12227 0.83249 / 0.469))}}}@supports (color:oklab(0%0 0%)){.___SControl_1iej8_gg_:focus-visible+.___SValue_1iej8_gg_._state_invalid_1iej8_gg_::before{outline-color:var(--intergalactic-keyboard-focus-invalid-outline, oklch(0.628 0.257 28.9 / 0.652))}}.___SControl_1iej8_gg_:checked~.___SValue_1iej8_gg_.__theme_1iej8_gg_::before{border-color:var(--theme_1iej8);background-color:var(--theme_1iej8)}.___SValue_1iej8_gg_._state_normal_1iej8_gg_.__theme_1iej8_gg_::before{border-color:var(--theme_1iej8)}.___SInvalidPattern_1iej8_gg_{background:0 0;overflow:hidden}.___SInvalidPattern_1iej8_gg_:before{content:\"\";position:absolute;top:1px;left:1px;border-radius:50%;background-image:var(--intergalactic-border-critical-pattern, repeating-linear-gradient(315deg, rgb(255, 99, 100) 0, rgb(255, 99, 100) 1px, transparent 0, transparent 50%));background-size:6px 6px;background-color:var(--intergalactic-bg-primary-neutral, rgb(255, 255, 255))}@supports (color:color(display-p3 0 0 0%)){.___SInvalidPattern_1iej8_gg_:before{background-image:var(--intergalactic-border-critical-pattern, repeating-linear-gradient(315deg, rgb(255, 99, 100) 0, rgb(255, 99, 100) 1px, transparent 0, transparent 50%))}@media (color-gamut:p3){.___SInvalidPattern_1iej8_gg_:before{background-image:var(--intergalactic-border-critical-pattern, repeating-linear-gradient(315deg, color(display-p3 0.95478 0.398 0.38923) 0, color(display-p3 0.95478 0.398 0.38923) 1px, transparent 0, transparent 50%))}}}", /*__inner_css_end__*/"1iej8_gg_"),
27
+ const style = (/*__reshadow_css_start__*/_core.sstyled.insert(/*__inner_css_start__*/".___SRadio_1pqxj_gg_{display:inline-flex;align-items:flex-start;cursor:pointer}.___SRadio_1pqxj_gg_ .___SText_1pqxj_gg_{margin-left:var(--intergalactic-spacing-2x,8px);color:var(--intergalactic-text-primary,#010500e5)}.___SRadio_1pqxj_gg_ .___SText_1pqxj_gg_.__color_1pqxj_gg_{color:var(--color_1pqxj)}.___SRadio_1pqxj_gg_.__disabled_1pqxj_gg_{pointer-events:none}.___SValue_1pqxj_gg_{position:relative;flex-shrink:0;padding:0;outline:none;z-index:0;margin-top:var(--intergalactic-spacing-05x,2px)}.___SValue_1pqxj_gg_:before{top:0;left:0;border:1px solid;transition:calc(var(--intergalactic-duration-control, 200)*1ms) all ease-in-out}.___SValue_1pqxj_gg_:after,.___SValue_1pqxj_gg_:before{content:\"\";position:absolute;right:0;bottom:0;background:var(--intergalactic-bg-primary-neutral,#fff);border-radius:50%}.___SValue_1pqxj_gg_:after{top:50%;left:50%;transform:translate(-50%,-50%);width:0;height:0}.___SValue_1pqxj_gg_.__disabled_1pqxj_gg_{opacity:var(--intergalactic-disabled-opacity,.4);cursor:default;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.___SValue_1pqxj_gg_._size_m_1pqxj_gg_{width:16px;height:16px}.___SValue_1pqxj_gg_._size_m_1pqxj_gg_ .___SInvalidPattern_1pqxj_gg_:before{width:14px;height:14px}.___SValue_1pqxj_gg_._size_l_1pqxj_gg_{width:20px;height:20px}.___SValue_1pqxj_gg_._size_l_1pqxj_gg_ .___SInvalidPattern_1pqxj_gg_:before{width:18px;height:18px}.___SValue_1pqxj_gg_._state_normal_1pqxj_gg_:before{border-color:var(--intergalactic-border-primary,#000c0829)}@supports (color:color(display-p3 0 0 0%)){.___SValue_1pqxj_gg_._state_normal_1pqxj_gg_:before{border-color:var(--intergalactic-border-primary,#000c0829)}@media (color-gamut:p3){.___SValue_1pqxj_gg_._state_normal_1pqxj_gg_:before{border-color:var(--intergalactic-border-primary,color(display-p3 .00798 .04498 .03219/.161))}}}.___SValue_1pqxj_gg_._state_invalid_1pqxj_gg_:before{border-color:var(--intergalactic-border-critical-active,#ff6364)}@supports (color:color(display-p3 0 0 0%)){.___SValue_1pqxj_gg_._state_invalid_1pqxj_gg_:before{border-color:var(--intergalactic-border-critical-active,#ff6364)}@media (color-gamut:p3){.___SValue_1pqxj_gg_._state_invalid_1pqxj_gg_:before{border-color:var(--intergalactic-border-critical-active,color(display-p3 .95478 .398 .38923))}}}.___SControl_1pqxj_gg_{position:absolute;clip:rect(1px,1px,1px,1px)}.___SControl_1pqxj_gg_:checked~.___SValue_1pqxj_gg_._size_m_1pqxj_gg_:after{width:6px;height:6px}.___SControl_1pqxj_gg_:checked~.___SValue_1pqxj_gg_._size_l_1pqxj_gg_:after{width:8px;height:8px}.___SControl_1pqxj_gg_:focus-visible+.___SValue_1pqxj_gg_._state_normal_1pqxj_gg_:before{border-color:var(--intergalactic-border-info-active,#8796ef);outline-color:var(--intergalactic-keyboard-focus-outline,#0020dd78);outline-style:solid;outline-width:2px;outline-offset:2px;transition-duration:calc(var(--intergalactic-duration-extra-fast, 100)*1ms);transition-timing-function:ease-in-out;transition-property:outline-color,outline-width,outline-offset}@supports (color:color(display-p3 0 0 0%)){.___SControl_1pqxj_gg_:focus-visible+.___SValue_1pqxj_gg_._state_normal_1pqxj_gg_:before{outline-color:var(--intergalactic-keyboard-focus-outline,#0020dd78)}@media (color-gamut:p3){.___SControl_1pqxj_gg_:focus-visible+.___SValue_1pqxj_gg_._state_normal_1pqxj_gg_:before{outline-color:var(--intergalactic-keyboard-focus-outline,color(display-p3 .03256 .12227 .83249/.469))}}}.___SControl_1pqxj_gg_:checked:focus-visible~.___SValue_1pqxj_gg_:before,.___SControl_1pqxj_gg_:checked~.___SValue_1pqxj_gg_:before{border-color:var(--intergalactic-control-primary-info,#1a1e1a);background-color:var(--intergalactic-control-primary-info,#1a1e1a)}.___SControl_1pqxj_gg_:focus-visible+.___SValue_1pqxj_gg_._state_invalid_1pqxj_gg_:before{border-color:var(--intergalactic-border-critical-active,#ff6364);outline-color:var(--intergalactic-keyboard-focus-outline,#0020dd78);outline-style:solid;outline-width:2px;outline-offset:2px;transition-duration:calc(var(--intergalactic-duration-extra-fast, 100)*1ms);transition-timing-function:ease-in-out;transition-property:outline-color,outline-width,outline-offset}@supports (color:color(display-p3 0 0 0%)){.___SControl_1pqxj_gg_:focus-visible+.___SValue_1pqxj_gg_._state_invalid_1pqxj_gg_:before{border-color:var(--intergalactic-border-critical-active,#ff6364);outline-color:var(--intergalactic-keyboard-focus-outline,#0020dd78)}@media (color-gamut:p3){.___SControl_1pqxj_gg_:focus-visible+.___SValue_1pqxj_gg_._state_invalid_1pqxj_gg_:before{border-color:var(--intergalactic-border-critical-active,color(display-p3 .95478 .398 .38923));outline-color:var(--intergalactic-keyboard-focus-outline,color(display-p3 .03256 .12227 .83249/.469))}}}@supports (color:oklab(0% 0 0%)){.___SControl_1pqxj_gg_:focus-visible+.___SValue_1pqxj_gg_._state_invalid_1pqxj_gg_:before{outline-color:var(--intergalactic-keyboard-focus-invalid-outline,oklch(.628 .257 28.9/.652))}}.___SControl_1pqxj_gg_:checked~.___SValue_1pqxj_gg_.__theme_1pqxj_gg_:before{border-color:var(--theme_1pqxj);background-color:var(--theme_1pqxj)}.___SValue_1pqxj_gg_._state_normal_1pqxj_gg_.__theme_1pqxj_gg_:before{border-color:var(--theme_1pqxj)}.___SInvalidPattern_1pqxj_gg_{background:#0000;overflow:hidden}.___SInvalidPattern_1pqxj_gg_:before{content:\"\";position:absolute;top:1px;left:1px;border-radius:50%;background-image:var(--intergalactic-border-critical-pattern,repeating-linear-gradient(315deg,#ff6364 0,#ff6364 1px,#0000 0,#0000 50%));background-size:6px 6px;background-color:var(--intergalactic-bg-primary-neutral,#fff)}@supports (color:color(display-p3 0 0 0%)){.___SInvalidPattern_1pqxj_gg_:before{background-image:var(--intergalactic-border-critical-pattern,repeating-linear-gradient(315deg,#ff6364 0,#ff6364 1px,#0000 0,#0000 50%))}@media (color-gamut:p3){.___SInvalidPattern_1pqxj_gg_:before{background-image:var(--intergalactic-border-critical-pattern,repeating-linear-gradient(315deg,color(display-p3 .95478 .398 .38923) 0,color(display-p3 .95478 .398 .38923) 1px,#0000 0,#0000 50%))}}}", /*__inner_css_end__*/"1pqxj_gg_"),
28
28
  /*__reshadow_css_end__*/
29
29
  {
30
- "__SRadio": "___SRadio_1iej8_gg_",
31
- "_disabled": "__disabled_1iej8_gg_",
32
- "__SValue": "___SValue_1iej8_gg_",
33
- "_state_normal": "_state_normal_1iej8_gg_",
34
- "_state_invalid": "_state_invalid_1iej8_gg_",
35
- "__SControl": "___SControl_1iej8_gg_",
36
- "_size_m": "_size_m_1iej8_gg_",
37
- "_size_l": "_size_l_1iej8_gg_",
38
- "_theme": "__theme_1iej8_gg_",
39
- "--theme": "--theme_1iej8",
40
- "__SText": "___SText_1iej8_gg_",
41
- "_color": "__color_1iej8_gg_",
42
- "--color": "--color_1iej8",
43
- "__SInvalidPattern": "___SInvalidPattern_1iej8_gg_"
30
+ "__SRadio": "___SRadio_1pqxj_gg_",
31
+ "_disabled": "__disabled_1pqxj_gg_",
32
+ "__SValue": "___SValue_1pqxj_gg_",
33
+ "_state_normal": "_state_normal_1pqxj_gg_",
34
+ "_state_invalid": "_state_invalid_1pqxj_gg_",
35
+ "__SControl": "___SControl_1pqxj_gg_",
36
+ "_size_m": "_size_m_1pqxj_gg_",
37
+ "_size_l": "_size_l_1pqxj_gg_",
38
+ "_theme": "__theme_1pqxj_gg_",
39
+ "--theme": "--theme_1pqxj",
40
+ "__SText": "___SText_1pqxj_gg_",
41
+ "_color": "__color_1pqxj_gg_",
42
+ "--color": "--color_1pqxj",
43
+ "__SInvalidPattern": "___SInvalidPattern_1pqxj_gg_"
44
44
  });
45
45
  const RadioContext = /*#__PURE__*/_react.default.createContext({});
46
46
  class RadioGroupRoot extends _core.Component {
47
47
  uncontrolledProps() {
48
48
  return {
49
- value: null
49
+ value: ''
50
50
  };
51
51
  }
52
52
  setContext() {
@@ -70,18 +70,26 @@ class RadioGroupRoot extends _core.Component {
70
70
  render() {
71
71
  var _ref = this.asProps;
72
72
  const {
73
- Children
73
+ Children,
74
+ value
74
75
  } = this.asProps;
75
76
  return /*#__PURE__*/_react.default.createElement(_baseComponents.Flex, (0, _core.assignProps)({
76
77
  "direction": 'column',
77
78
  "role": 'group',
79
+ "use:value": value || undefined,
78
80
  "__excludeProps": ['onChange']
79
81
  }, _ref), /*#__PURE__*/_react.default.createElement(Children, null));
80
82
  }
81
83
  }
84
+
85
+ /**
86
+ * RadioGroup
87
+ *
88
+ * {@link https://developer.semrush.com/intergalactic/components/radio/radio-api/|API} | {@link https://developer.semrush.com/intergalactic/components/radio/radio-code/|Examples}
89
+ */
82
90
  (0, _defineProperty2.default)(RadioGroupRoot, "displayName", 'RadioGroup');
83
91
  (0, _defineProperty2.default)(RadioGroupRoot, "defaultProps", {
84
- defaultValue: null
92
+ defaultValue: ''
85
93
  });
86
94
  const RadioGroup = exports.RadioGroup = (0, _core.createComponent)(RadioGroupRoot, {}, {
87
95
  context: RadioContext
@@ -335,10 +343,22 @@ function Text(props) {
335
343
  }));
336
344
  }
337
345
  Text.displayName = 'Text';
346
+
347
+ /**
348
+ * Value
349
+ *
350
+ * {@link https://developer.semrush.com/intergalactic/components/radio/radio-api/|API} | {@link https://developer.semrush.com/intergalactic/components/radio/radio-code/|Examples}
351
+ */
338
352
  const Value = (0, _core.createComponent)(ValueRoot, {
339
353
  Control,
340
354
  RadioMark
341
355
  });
356
+
357
+ /**
358
+ * Radio
359
+ *
360
+ * {@link https://developer.semrush.com/intergalactic/components/radio/radio-api/|API} | {@link https://developer.semrush.com/intergalactic/components/radio/radio-code/|Examples}
361
+ */
342
362
  const Radio = (0, _core.createComponent)(RadioRoot, {
343
363
  Text,
344
364
  Value
@@ -1 +1 @@
1
- {"version":3,"file":"Radio.js","names":["_core","require","_baseComponents","_assignProps6","_resolveColorEnhance","_interopRequireDefault","_inputProps","_interopRequireWildcard","_logger","_useColorResolver","_typography","_react","style","sstyled","insert","RadioContext","React","createContext","RadioGroupRoot","Component","uncontrolledProps","value","setContext","theme","size","name","onChange","disabled","asProps","render","_ref","Children","default","createElement","Flex","assignProps","_defineProperty2","defaultValue","RadioGroup","exports","createComponent","context","RadioRoot","constructor","args","hoistedDisabled","undefined","logger","warn","setState","getTextProps","label","state","textProps","children","hoistDisabled","rootDisabled","props","getValueProps","checked","_ref2","_ref6","SRadio","Box","styles","hasChildren","cn","Fragment","Radio","Value","Text","ValueRoot","e","target","getControlProps","currentValue","forwardRef","includeInputProps","commonControlProps","getInputProps","inputValue","ref","callAllEventHandlers","bindHandlerChange","getRadioMarkProps","keyboardFocused","tag","resolveColor","other","onClick","radioMarkProps","componentDidUpdate","componentDidMount","_ref8","_ref7","Control","RadioMark","inputProps","defaultChecked","resolveColorEnhance","_ref3","arguments[0]","_ref9","SControl","displayName","_ref4","_ref0","SValue","SInvalidPattern","InvalidStateBox","_ref5","_ref1","SText","TypographyText","color","useEffect","useColorResolver","wrapRadioGroup","wrapper","_default"],"sources":["../../src/Radio.tsx"],"sourcesContent":["import { Flex, Box, InvalidStateBox } from '@semcore/base-components';\nimport type { Intergalactic } from '@semcore/core';\nimport { createComponent, Component, sstyled, Root } from '@semcore/core';\nimport { callAllEventHandlers } from '@semcore/core/lib/utils/assignProps';\nimport resolveColorEnhance from '@semcore/core/lib/utils/enhances/resolveColorEnhance';\nimport getInputProps, { inputProps } from '@semcore/core/lib/utils/inputProps';\nimport logger from '@semcore/core/lib/utils/logger';\nimport { useColorResolver } from '@semcore/core/lib/utils/use/useColorResolver';\nimport { Text as TypographyText } from '@semcore/typography';\nimport React from 'react';\n\nimport type { NSRadio } from './Radio.type';\nimport style from './style/radio.shadow.css';\n\nconst RadioContext = React.createContext<{\n onChange?: NSRadio.Group.Props['onChange'];\n value?: NSRadio.Group.Props['value'];\n theme?: NSRadio.Group.Props['theme'];\n size?: NSRadio.Group.Props['size'];\n name?: NSRadio.Group.Props['name'];\n disabled?: NSRadio.Group.Props['disabled'];\n}>({});\n\nclass RadioGroupRoot extends Component<\n Intergalactic.InternalTypings.InferComponentProps<NSRadio.Group.Component>,\n [],\n { value: null }\n> {\n static displayName = 'RadioGroup';\n\n static defaultProps = {\n defaultValue: null,\n };\n\n uncontrolledProps() {\n return {\n value: null,\n };\n }\n\n setContext() {\n const { theme, size, name, value, onChange, disabled } = this.asProps;\n\n return {\n onChange,\n value,\n theme,\n size,\n name,\n disabled,\n };\n }\n\n render() {\n const { Children } = this.asProps;\n\n return (\n <Root render={Flex} direction='column' role='group' __excludeProps={['onChange']}>\n <Children />\n </Root>\n );\n }\n}\n\nconst RadioGroup = createComponent(RadioGroupRoot, {}, { context: RadioContext }) as unknown as NSRadio.Group.Component;\n\nclass RadioRoot extends Component<Intergalactic.InternalTypings.InferComponentProps<NSRadio.Component>> {\n static displayName = 'Radio';\n static style = style;\n static contextType = RadioContext;\n\n context: React.ContextType<typeof RadioContext> = {};\n\n state = {\n hoistedDisabled: undefined,\n };\n\n hoistDisabled = (disabled: NSRadio.Props['disabled']) => {\n logger.warn(\n true,\n `Don't set disabled on Radio.Value or Radio.Text, set it on Radio or on RadioGroup (for all items) instead. Otherwise it will produce wrong SSR output.`,\n this.asProps['data-ui-name'],\n );\n this.setState({ hoistedDisabled: disabled });\n };\n\n getTextProps() {\n const { size = this.context.size ?? 'm', disabled = this.context.disabled, label } = this.asProps;\n\n const { hoistedDisabled } = this.state;\n\n const textProps = {\n size: size === 'm' ? 200 : 300,\n children: label,\n disabled: disabled ?? hoistedDisabled,\n hoistDisabled: this.hoistDisabled,\n rootDisabled: this.props.disabled,\n };\n\n return textProps;\n }\n\n getValueProps() {\n const {\n state = 'normal',\n size = this.context.size ?? 'm',\n theme = this.context.theme,\n disabled = this.context.disabled,\n name = this.context.name,\n } = this.asProps;\n\n const { value, checked } = this.asProps;\n const { hoistedDisabled } = this.state;\n\n return {\n size: this.props.size ?? size,\n disabled: disabled ?? hoistedDisabled,\n state: state,\n theme,\n value,\n checked,\n name,\n hoistDisabled: this.hoistDisabled,\n rootDisabled: this.props.disabled,\n };\n }\n\n render() {\n const SRadio = Root;\n const { styles, Children, children: hasChildren } = this.asProps;\n\n return sstyled(styles)(\n <SRadio render={Box} tag='label' __excludeProps={['onChange', 'label', 'disabled']}>\n {hasChildren\n ? (\n <Children />\n )\n : (\n <>\n <Radio.Value />\n <Radio.Text />\n </>\n )}\n </SRadio>,\n );\n }\n}\n\nclass ValueRoot extends Component<\n Intergalactic.InternalTypings.InferChildComponentProps<NSRadio.Value.Component, typeof RadioRoot, 'Value'>,\n typeof ValueRoot.enhance,\n { checked: (e: React.ChangeEvent<HTMLInputElement>) => boolean }\n> {\n context: React.ContextType<typeof RadioContext> = {};\n\n static defaultProps = {\n includeInputProps: inputProps,\n defaultChecked: false,\n };\n\n static enhance = [resolveColorEnhance()] as const;\n static displayName = 'Value';\n static contextType = RadioContext;\n static style = style;\n\n bindHandlerChange = (value: NSRadio.Props['value']) => (e: React.ChangeEvent<HTMLInputElement>) => {\n if (typeof this.context.onChange === 'function' && value !== undefined) {\n this.context.onChange(value, e);\n }\n };\n\n uncontrolledProps() {\n return {\n checked: (e: React.ChangeEvent<HTMLInputElement>) => e.target.checked,\n };\n }\n\n getControlProps() {\n const { value: currentValue } = this.context;\n const { forwardRef, includeInputProps, state, value } = this.asProps;\n const { onChange } = this.props;\n\n const [commonControlProps] = getInputProps(this.asProps, includeInputProps);\n const inputValue = value ?? '';\n\n return {\n ref: forwardRef,\n state,\n ...commonControlProps,\n value: inputValue,\n ...(currentValue !== undefined\n ? {\n checked: currentValue === inputValue,\n onChange: callAllEventHandlers(onChange, this.bindHandlerChange(inputValue)),\n }\n : {}),\n };\n }\n\n getRadioMarkProps() {\n const { value: currentValue } = this.context;\n const {\n size,\n state,\n theme,\n keyboardFocused,\n value,\n tag,\n disabled,\n includeInputProps,\n resolveColor,\n children,\n Children,\n ...other\n } = this.asProps;\n const { onClick } = this.props;\n const [commonControlProps, radioMarkProps] = getInputProps(other, includeInputProps);\n const inputValue = value ?? '';\n\n return {\n theme,\n size,\n state,\n keyboardFocused,\n disabled,\n resolveColor,\n checked: commonControlProps.checked,\n ...radioMarkProps,\n ...(currentValue !== undefined && tag !== 'label'\n ? {\n onClick: callAllEventHandlers(onClick, this.bindHandlerChange(inputValue)),\n }\n : {}),\n };\n }\n\n componentDidUpdate() {\n if (this.asProps.rootDisabled !== this.asProps.disabled) {\n this.asProps.hoistDisabled(this.asProps.disabled);\n }\n }\n\n componentDidMount() {\n if (this.asProps.rootDisabled !== this.asProps.disabled) {\n this.asProps.hoistDisabled(this.asProps.disabled);\n }\n }\n\n render() {\n const { styles, children: hasChildren, Children } = this.asProps;\n\n if (!hasChildren) {\n return sstyled(styles)(\n <>\n <Radio.Value.Control />\n <Radio.Value.RadioMark />\n </>,\n );\n }\n\n return sstyled(styles)(<Children />);\n }\n}\n\nfunction Control(\n props: Intergalactic.InternalTypings.InferChildComponentProps<\n NSRadio.Value.Control.Component,\n typeof ValueRoot,\n 'Control'\n >,\n) {\n const SControl = Root;\n const { styles, state } = props;\n\n return sstyled(styles)(<SControl render={Box} tag='input' type='radio' aria-invalid={state === 'invalid'} />);\n}\nControl.displayName = 'Control';\n\nfunction RadioMark(\n props: Intergalactic.InternalTypings.InferChildComponentProps<\n NSRadio.Value.Mark.Component,\n typeof ValueRoot,\n 'RadioMark'\n >,\n) {\n const SValue = Root;\n const SInvalidPattern = InvalidStateBox;\n const { theme, styles, resolveColor, state, checked } = props;\n\n return sstyled(styles)(\n <SValue render={Box} tag='div' use:theme={resolveColor(theme)} aria-hidden={true}>\n {state === 'invalid' && !checked && <SInvalidPattern />}\n </SValue>,\n );\n}\nRadioMark.displayName = 'RadioMark';\n\nfunction Text(\n props: Intergalactic.InternalTypings.InferChildComponentProps<NSRadio.Text.Component, typeof RadioRoot, 'Text'>,\n) {\n const SText = Root;\n const { styles, color } = props;\n\n React.useEffect(() => {\n if (props.rootDisabled !== props.disabled) {\n props.hoistDisabled(props.disabled);\n }\n }, [props.rootDisabled, props.disabled, props.hoistDisabled]);\n const resolveColor = useColorResolver();\n\n return sstyled(styles)(<SText render={TypographyText} tag='span' use:color={resolveColor(color)} />);\n}\nText.displayName = 'Text';\n\nconst Value = createComponent(ValueRoot, {\n Control,\n RadioMark,\n}) as NSRadio.Value.Component;\n\nconst Radio = createComponent(RadioRoot, {\n Text,\n Value,\n}) as NSRadio.Component;\n\nexport const wrapRadioGroup = <PropsExtending extends {}>(\n wrapper: (\n props: Intergalactic.InternalTypings.UntypeRefAndTag<\n Intergalactic.InternalTypings.ComponentPropsNesting<NSRadio.Group.Component>\n > &\n PropsExtending,\n ) => React.ReactNode,\n) => wrapper as NSRadio.Group.Component<PropsExtending>;\n\nexport { inputProps, RadioGroup };\n\nexport default Radio;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Radio.js","names":["_core","require","_baseComponents","_assignProps6","_resolveColorEnhance","_interopRequireDefault","_inputProps","_interopRequireWildcard","_logger","_useColorResolver","_typography","_react","style","sstyled","insert","RadioContext","React","createContext","RadioGroupRoot","Component","uncontrolledProps","value","setContext","theme","size","name","onChange","disabled","asProps","render","_ref","Children","default","createElement","Flex","assignProps","undefined","_defineProperty2","defaultValue","RadioGroup","exports","createComponent","context","RadioRoot","constructor","args","hoistedDisabled","logger","warn","setState","getTextProps","label","state","textProps","children","hoistDisabled","rootDisabled","props","getValueProps","checked","_ref2","_ref6","SRadio","Box","styles","hasChildren","cn","Fragment","Radio","Value","Text","ValueRoot","e","target","getControlProps","currentValue","forwardRef","includeInputProps","commonControlProps","getInputProps","inputValue","ref","callAllEventHandlers","bindHandlerChange","getRadioMarkProps","keyboardFocused","tag","resolveColor","other","onClick","radioMarkProps","componentDidUpdate","componentDidMount","_ref8","_ref7","Control","RadioMark","inputProps","defaultChecked","resolveColorEnhance","_ref3","arguments[0]","_ref9","SControl","displayName","_ref4","_ref0","SValue","SInvalidPattern","InvalidStateBox","_ref5","_ref1","SText","TypographyText","color","useEffect","useColorResolver","wrapRadioGroup","wrapper","_default"],"sources":["../../src/Radio.tsx"],"sourcesContent":["import { Flex, Box, InvalidStateBox } from '@semcore/base-components';\nimport type { Intergalactic } from '@semcore/core';\nimport { createComponent, Component, sstyled, Root } from '@semcore/core';\nimport { callAllEventHandlers } from '@semcore/core/lib/utils/assignProps';\nimport resolveColorEnhance from '@semcore/core/lib/utils/enhances/resolveColorEnhance';\nimport getInputProps, { inputProps } from '@semcore/core/lib/utils/inputProps';\nimport logger from '@semcore/core/lib/utils/logger';\nimport { useColorResolver } from '@semcore/core/lib/utils/use/useColorResolver';\nimport { Text as TypographyText } from '@semcore/typography';\nimport React from 'react';\n\nimport type { NSRadio } from './Radio.type';\nimport style from './style/radio.shadow.css';\n\nconst RadioContext = React.createContext<{\n onChange?: NSRadio.Group.Props['onChange'];\n value?: NSRadio.Group.Props['value'];\n theme?: NSRadio.Group.Props['theme'];\n size?: NSRadio.Group.Props['size'];\n name?: NSRadio.Group.Props['name'];\n disabled?: NSRadio.Group.Props['disabled'];\n}>({});\n\nclass RadioGroupRoot extends Component<\n Intergalactic.InternalTypings.InferComponentProps<NSRadio.Group.Component>,\n [],\n { value: string },\n {},\n {},\n NSRadio.Group.DefaultProps\n> {\n static displayName = 'RadioGroup';\n\n static defaultProps = {\n defaultValue: '',\n } as const;\n\n uncontrolledProps() {\n return {\n value: '',\n };\n }\n\n setContext() {\n const { theme, size, name, value, onChange, disabled } = this.asProps;\n\n return {\n onChange,\n value,\n theme,\n size,\n name,\n disabled,\n };\n }\n\n render() {\n const { Children, value } = this.asProps;\n\n return (\n <Root render={Flex} direction='column' role='group' use:value={value || undefined} __excludeProps={['onChange']}>\n <Children />\n </Root>\n );\n }\n}\n\n/**\n * RadioGroup\n *\n * {@link https://developer.semrush.com/intergalactic/components/radio/radio-api/|API} | {@link https://developer.semrush.com/intergalactic/components/radio/radio-code/|Examples}\n */\nconst RadioGroup = createComponent<\n NSRadio.Group.Component,\n typeof RadioGroupRoot\n>(RadioGroupRoot, {}, { context: RadioContext });\n\nclass RadioRoot extends Component<Intergalactic.InternalTypings.InferComponentProps<NSRadio.Component>> {\n static displayName = 'Radio';\n static style = style;\n static contextType = RadioContext;\n\n context: React.ContextType<typeof RadioContext> = {};\n\n state = {\n hoistedDisabled: undefined,\n };\n\n hoistDisabled = (disabled: NSRadio.Props['disabled']) => {\n logger.warn(\n true,\n `Don't set disabled on Radio.Value or Radio.Text, set it on Radio or on RadioGroup (for all items) instead. Otherwise it will produce wrong SSR output.`,\n this.asProps['data-ui-name'],\n );\n this.setState({ hoistedDisabled: disabled });\n };\n\n getTextProps() {\n const { size = this.context.size ?? 'm', disabled = this.context.disabled, label } = this.asProps;\n\n const { hoistedDisabled } = this.state;\n\n const textProps = {\n size: size === 'm' ? 200 : 300,\n children: label,\n disabled: disabled ?? hoistedDisabled,\n hoistDisabled: this.hoistDisabled,\n rootDisabled: this.props.disabled,\n };\n\n return textProps;\n }\n\n getValueProps() {\n const {\n state = 'normal',\n size = this.context.size ?? 'm',\n theme = this.context.theme,\n disabled = this.context.disabled,\n name = this.context.name,\n } = this.asProps;\n\n const { value, checked } = this.asProps;\n const { hoistedDisabled } = this.state;\n\n return {\n size: this.props.size ?? size,\n disabled: disabled ?? hoistedDisabled,\n state: state,\n theme,\n value,\n checked,\n name,\n hoistDisabled: this.hoistDisabled,\n rootDisabled: this.props.disabled,\n };\n }\n\n render() {\n const SRadio = Root;\n const { styles, Children, children: hasChildren } = this.asProps;\n\n return sstyled(styles)(\n <SRadio render={Box} tag='label' __excludeProps={['onChange', 'label', 'disabled']}>\n {hasChildren\n ? (\n <Children />\n )\n : (\n <>\n <Radio.Value />\n <Radio.Text />\n </>\n )}\n </SRadio>,\n );\n }\n}\n\nclass ValueRoot extends Component<\n Intergalactic.InternalTypings.InferChildComponentProps<NSRadio.Value.Component, typeof RadioRoot, 'Value'>,\n typeof ValueRoot.enhance,\n NSRadio.Value.Handlers,\n {},\n {},\n NSRadio.Value.DefaultProps\n> {\n context: React.ContextType<typeof RadioContext> = {};\n\n static defaultProps = {\n includeInputProps: inputProps,\n defaultChecked: false,\n } as const;\n\n static enhance = [resolveColorEnhance()] as const;\n static displayName = 'Value';\n static contextType = RadioContext;\n static style = style;\n\n bindHandlerChange = (value: NSRadio.Props['value']) => (e: React.ChangeEvent<HTMLInputElement>) => {\n if (typeof this.context.onChange === 'function' && value !== undefined) {\n this.context.onChange(value, e);\n }\n };\n\n uncontrolledProps() {\n return {\n checked: (e: React.ChangeEvent<HTMLInputElement>) => e.target.checked,\n };\n }\n\n getControlProps() {\n const { value: currentValue } = this.context;\n const { forwardRef, includeInputProps, state, value } = this.asProps;\n const { onChange } = this.props;\n\n const [commonControlProps] = getInputProps(this.asProps, includeInputProps);\n const inputValue = value ?? '';\n\n return {\n ref: forwardRef,\n state,\n ...commonControlProps,\n value: inputValue,\n ...(currentValue !== undefined\n ? {\n checked: currentValue === inputValue,\n onChange: callAllEventHandlers(onChange, this.bindHandlerChange(inputValue)),\n }\n : {}),\n };\n }\n\n getRadioMarkProps() {\n const { value: currentValue } = this.context;\n const {\n size,\n state,\n theme,\n keyboardFocused,\n value,\n tag,\n disabled,\n includeInputProps,\n resolveColor,\n children,\n Children,\n ...other\n } = this.asProps;\n const { onClick } = this.props;\n const [commonControlProps, radioMarkProps] = getInputProps(other, includeInputProps);\n const inputValue = value ?? '';\n\n return {\n theme,\n size,\n state,\n keyboardFocused,\n disabled,\n resolveColor,\n checked: commonControlProps.checked,\n ...radioMarkProps,\n ...(currentValue !== undefined && tag !== 'label'\n ? {\n onClick: callAllEventHandlers(onClick, this.bindHandlerChange(inputValue)),\n }\n : {}),\n };\n }\n\n componentDidUpdate() {\n if (this.asProps.rootDisabled !== this.asProps.disabled) {\n this.asProps.hoistDisabled(this.asProps.disabled);\n }\n }\n\n componentDidMount() {\n if (this.asProps.rootDisabled !== this.asProps.disabled) {\n this.asProps.hoistDisabled(this.asProps.disabled);\n }\n }\n\n render() {\n const { styles, children: hasChildren, Children } = this.asProps;\n\n if (!hasChildren) {\n return sstyled(styles)(\n <>\n <Radio.Value.Control />\n <Radio.Value.RadioMark />\n </>,\n );\n }\n\n return sstyled(styles)(<Children />);\n }\n}\n\nfunction Control(\n props: Intergalactic.InternalTypings.InferChildComponentProps<\n NSRadio.Value.Control.Component,\n typeof ValueRoot,\n 'Control'\n >,\n) {\n const SControl = Root;\n const { styles, state } = props;\n\n return sstyled(styles)(<SControl render={Box} tag='input' type='radio' aria-invalid={state === 'invalid'} />);\n}\nControl.displayName = 'Control';\n\nfunction RadioMark(\n props: Intergalactic.InternalTypings.InferChildComponentProps<\n NSRadio.Value.Mark.Component,\n typeof ValueRoot,\n 'RadioMark'\n >,\n) {\n const SValue = Root;\n const SInvalidPattern = InvalidStateBox;\n const { theme, styles, resolveColor, state, checked } = props;\n\n return sstyled(styles)(\n <SValue render={Box} tag='div' use:theme={resolveColor(theme)} aria-hidden={true}>\n {state === 'invalid' && !checked && <SInvalidPattern />}\n </SValue>,\n );\n}\nRadioMark.displayName = 'RadioMark';\n\nfunction Text(\n props: Intergalactic.InternalTypings.InferChildComponentProps<NSRadio.Text.Component, typeof RadioRoot, 'Text'>,\n) {\n const SText = Root;\n const { styles, color } = props;\n\n React.useEffect(() => {\n if (props.rootDisabled !== props.disabled) {\n props.hoistDisabled(props.disabled);\n }\n }, [props.rootDisabled, props.disabled, props.hoistDisabled]);\n const resolveColor = useColorResolver();\n\n return sstyled(styles)(<SText render={TypographyText} tag='span' use:color={resolveColor(color)} />);\n}\nText.displayName = 'Text';\n\n/**\n * Value\n *\n * {@link https://developer.semrush.com/intergalactic/components/radio/radio-api/|API} | {@link https://developer.semrush.com/intergalactic/components/radio/radio-code/|Examples}\n */\nconst Value = createComponent<\n NSRadio.Value.Component,\n typeof ValueRoot\n>(ValueRoot, {\n Control,\n RadioMark,\n});\n\n/**\n * Radio\n *\n * {@link https://developer.semrush.com/intergalactic/components/radio/radio-api/|API} | {@link https://developer.semrush.com/intergalactic/components/radio/radio-code/|Examples}\n */\nconst Radio = createComponent<\n NSRadio.Component,\n typeof RadioRoot\n>(RadioRoot, {\n Text,\n Value,\n});\n\nexport const wrapRadioGroup = <PropsExtending extends {}>(\n wrapper: (\n props: Intergalactic.InternalTypings.UntypeRefAndTag<\n Intergalactic.InternalTypings.ComponentPropsNesting<NSRadio.Group.Component>\n > &\n PropsExtending,\n ) => React.ReactNode,\n) => wrapper as NSRadio.Group.Component<PropsExtending>;\n\nexport { inputProps, RadioGroup };\n\nexport default Radio;\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"Radio.type.js","names":[],"sources":["../../src/Radio.type.ts"],"sourcesContent":["import type { Flex, BoxProps } from '@semcore/base-components';\nimport type { Intergalactic, PropGetterFn } from '@semcore/core';\nimport type { NSText } from '@semcore/typography';\n\ndeclare namespace NSRadio {\n type Size = 'm' | 'l';\n type State = 'normal' | 'invalid';\n type Value = string | number | boolean;\n type Props = BoxProps & {\n /** Radio item value **/\n value?: NSRadio.Value;\n /** Radio item checked flag **/\n checked?: boolean;\n /**\n * The value displaying the state of the component\n * @default normal\n */\n state?: NSRadio.State;\n /**\n * Radio button size\n * @default m\n **/\n size?: NSRadio.Size;\n /** The theme of the radio button that you can send your color to */\n theme?: string;\n /** Radio item text **/\n label?: string;\n /** Blocks access and changes to the radio item **/\n disabled?: boolean;\n };\n type Ctx = {\n getValueProps: PropGetterFn;\n getTextProps: PropGetterFn;\n };\n namespace Value {\n type Props = BoxProps & {\n /** List of elements that can be put on a hidden input */\n includeInputProps?: string[];\n };\n namespace Control {\n type Props = {};\n type Component = Intergalactic.Component<'input', Props>;\n }\n\n namespace Mark {\n type Props = {};\n type Component = Intergalactic.Component<'input', Props>;\n }\n\n type Component = Intergalactic.Component<'input', Props> & {\n Control: Control.Component;\n RadioMark: Mark.Component;\n };\n }\n\n namespace Text {\n type Props = NSText.Props;\n type Component = Intergalactic.Component<'span', Props>;\n }\n\n namespace Group {\n type Props<T extends NSRadio.Value = NSRadio.Value> = {\n /** Radio group name */\n name?: string;\n /** Active default value */\n defaultValue?: T;\n /** Active value */\n value?: T;\n /** Called when the selected element is changed */\n onChange?:\n | ((value: T, e?: React.SyntheticEvent<HTMLInputElement>) => void)\n | React.Dispatch<React.SetStateAction<T>>;\n /** Radio button size */\n size?: NSRadio.Size;\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 type Component<PropsExtending = {}> = (<V extends Value, Tag extends Intergalactic.Tag = 'div'>(\n props: Intergalactic.InternalTypings.ComponentProps<Tag, typeof Flex, Props<V>> & PropsExtending,\n ) => Intergalactic.InternalTypings.ComponentRenderingResults) &\n Intergalactic.InternalTypings.ComponentAdditive<'div', typeof Flex, Props>;\n }\n type Component = Intergalactic.Component<'label', Props, Ctx> & {\n Value: Value.Component;\n Text: Text.Component;\n };\n}\n\n/** @deprecated It will be removed in v18. */\nexport type RadioSize = NSRadio.Size;\n/** @deprecated It will be removed in v18. */\nexport type RadioState = NSRadio.State;\n/** @deprecated It will be removed in v18. */\nexport type RadioValue = NSRadio.Value;\n/** @deprecated It will be removed in v18. */\nexport type RadioProps = NSRadio.Props;\n/** @deprecated It will be removed in v18. */\nexport type RadioGroupProps<T extends RadioValue = RadioValue> = NSRadio.Group.Props<T>;\n/** @deprecated It will be removed in v18. */\nexport type RadioValueProps = NSRadio.Value.Props;\n/** @deprecated It will be removed in v18. */\nexport type RadioCtx = NSRadio.Ctx;\n/** @deprecated It will be removed in v18. */\nexport type RadioValueControlProps = NSRadio.Value.Control.Props;\n/** @deprecated It will be removed in v18. */\nexport type RadioValueMarkProps = NSRadio.Value.Mark.Props;\n\nexport type { NSRadio };\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"file":"Radio.type.js","names":[],"sources":["../../src/Radio.type.ts"],"sourcesContent":["import type { Flex, BoxProps } from '@semcore/base-components';\nimport type { Intergalactic, PropGetterFn } from '@semcore/core';\nimport type { NSText } from '@semcore/typography';\n\ndeclare namespace NSRadio {\n type Size = 'm' | 'l';\n type State = 'normal' | 'invalid';\n type Value = string | number | boolean;\n type Props = BoxProps & {\n /** Radio item value **/\n value?: NSRadio.Value;\n /** Radio item checked flag **/\n checked?: boolean;\n /**\n * The value displaying the state of the component\n * @default normal\n */\n state?: NSRadio.State;\n /**\n * Radio button size\n * @default m\n **/\n size?: NSRadio.Size;\n /** The theme of the radio button that you can send your color to */\n theme?: string;\n /** Radio item text **/\n label?: string;\n /** Blocks access and changes to the radio item **/\n disabled?: boolean;\n };\n type Ctx = {\n getValueProps: PropGetterFn;\n getTextProps: PropGetterFn;\n };\n namespace Value {\n type Handlers = {\n checked: (e: React.ChangeEvent<HTMLInputElement>) => boolean;\n };\n type Props = BoxProps & {\n /** List of elements that can be put on a hidden input */\n includeInputProps?: string[];\n };\n type DefaultProps = {\n includeInputProps: Props['includeInputProps'];\n defaultChecked: false;\n };\n namespace Control {\n type Props = {};\n type Component = Intergalactic.Component<'input', Props>;\n }\n\n namespace Mark {\n type Props = {};\n type Component = Intergalactic.Component<'input', Props>;\n }\n\n type Component = Intergalactic.Component<'input', Props> & {\n Control: Control.Component;\n RadioMark: Mark.Component;\n };\n }\n\n namespace Text {\n type Props = NSText.Props;\n type Component = Intergalactic.Component<'span', Props>;\n }\n\n namespace Group {\n type Props<T extends NSRadio.Value = NSRadio.Value> = {\n /** Radio group name */\n name?: string;\n /** Active default value */\n defaultValue?: T;\n /** Active value */\n value?: T;\n /** Called when the selected element is changed */\n onChange?:\n | ((value: T, e?: React.SyntheticEvent<HTMLInputElement>) => void)\n | React.Dispatch<React.SetStateAction<T>>;\n /** Radio button size */\n size?: NSRadio.Size;\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 type DefaultProps = {\n defaultValue: '';\n };\n type Component<PropsExtending = {}> = (<V extends Value, Tag extends Intergalactic.Tag = 'div'>(\n props: Intergalactic.InternalTypings.ComponentProps<Tag, typeof Flex, Props<V>> & PropsExtending,\n ) => Intergalactic.InternalTypings.ComponentRenderingResults) &\n Intergalactic.InternalTypings.ComponentAdditive<'div', typeof Flex, Props>;\n }\n type Component = Intergalactic.Component<'label', Props, Ctx> & {\n Value: Value.Component;\n Text: Text.Component;\n };\n}\n\n/** @deprecated It will be removed in v18. */\nexport type RadioSize = NSRadio.Size;\n/** @deprecated It will be removed in v18. */\nexport type RadioState = NSRadio.State;\n/** @deprecated It will be removed in v18. */\nexport type RadioValue = NSRadio.Value;\n/** @deprecated It will be removed in v18. */\nexport type RadioProps = NSRadio.Props;\n/** @deprecated It will be removed in v18. */\nexport type RadioGroupProps<T extends RadioValue = RadioValue> = NSRadio.Group.Props<T>;\n/** @deprecated It will be removed in v18. */\nexport type RadioValueProps = NSRadio.Value.Props;\n/** @deprecated It will be removed in v18. */\nexport type RadioCtx = NSRadio.Ctx;\n/** @deprecated It will be removed in v18. */\nexport type RadioValueControlProps = NSRadio.Value.Control.Props;\n/** @deprecated It will be removed in v18. */\nexport type RadioValueMarkProps = NSRadio.Value.Mark.Props;\n\nexport type { NSRadio };\n"],"mappings":"","ignoreList":[]}
package/lib/es6/Radio.js CHANGED
@@ -15,29 +15,29 @@ import { useColorResolver } from '@semcore/core/lib/utils/use/useColorResolver';
15
15
  import { Text as TypographyText } from '@semcore/typography';
16
16
  import React from 'react';
17
17
  /*!__reshadow-styles__:"./style/radio.shadow.css"*/
18
- const style = (/*__reshadow_css_start__*/_sstyled.insert(/*__inner_css_start__*/".___SRadio_1iej8_gg_{display:inline-flex;align-items:flex-start;cursor:pointer}.___SRadio_1iej8_gg_ .___SText_1iej8_gg_{margin-left:var(--intergalactic-spacing-2x, 8px);color:var(--intergalactic-text-primary, rgba(1, 5, 0, 0.899))}.___SRadio_1iej8_gg_ .___SText_1iej8_gg_.__color_1iej8_gg_{color:var(--color_1iej8)}.___SRadio_1iej8_gg_.__disabled_1iej8_gg_{pointer-events:none}.___SValue_1iej8_gg_{position:relative;flex-shrink:0;padding:0;outline:0;z-index:0;margin-top:var(--intergalactic-spacing-05x, 2px)}.___SValue_1iej8_gg_::after,.___SValue_1iej8_gg_::before{content:\"\";position:absolute;right:0;bottom:0;border-radius:50%;background:var(--intergalactic-bg-primary-neutral, rgb(255, 255, 255))}.___SValue_1iej8_gg_::before{top:0;left:0;border:1px solid;transition:calc(var(--intergalactic-duration-control, 200)*1ms) all ease-in-out}.___SValue_1iej8_gg_::after{top:50%;left:50%;transform:translate(-50%,-50%);width:0;height:0}.___SValue_1iej8_gg_.__disabled_1iej8_gg_{opacity:var(--intergalactic-disabled-opacity, 0.4);cursor:default;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.___SValue_1iej8_gg_._size_m_1iej8_gg_{width:16px;height:16px}.___SValue_1iej8_gg_._size_m_1iej8_gg_ .___SInvalidPattern_1iej8_gg_:before{width:14px;height:14px}.___SValue_1iej8_gg_._size_l_1iej8_gg_{width:20px;height:20px}.___SValue_1iej8_gg_._size_l_1iej8_gg_ .___SInvalidPattern_1iej8_gg_:before{width:18px;height:18px}.___SValue_1iej8_gg_._state_normal_1iej8_gg_::before{border-color:var(--intergalactic-border-primary, rgba(0, 12, 8, 0.161))}@supports (color:color(display-p3 0 0 0%)){.___SValue_1iej8_gg_._state_normal_1iej8_gg_::before{border-color:var(--intergalactic-border-primary, rgba(0, 12, 8, 0.161))}@media (color-gamut:p3){.___SValue_1iej8_gg_._state_normal_1iej8_gg_::before{border-color:var(--intergalactic-border-primary, color(display-p3 0.00798 0.04498 0.03219 / 0.161))}}}.___SValue_1iej8_gg_._state_invalid_1iej8_gg_::before{border-color:var(--intergalactic-border-critical-active, rgb(255, 99, 100))}@supports (color:color(display-p3 0 0 0%)){.___SValue_1iej8_gg_._state_invalid_1iej8_gg_::before{border-color:var(--intergalactic-border-critical-active, rgb(255, 99, 100))}@media (color-gamut:p3){.___SValue_1iej8_gg_._state_invalid_1iej8_gg_::before{border-color:var(--intergalactic-border-critical-active, color(display-p3 0.95478 0.398 0.38923))}}}.___SControl_1iej8_gg_{position:absolute;clip:rect(1px,1px,1px,1px)}.___SControl_1iej8_gg_:checked~.___SValue_1iej8_gg_._size_m_1iej8_gg_::after{width:6px;height:6px}.___SControl_1iej8_gg_:checked~.___SValue_1iej8_gg_._size_l_1iej8_gg_::after{width:8px;height:8px}.___SControl_1iej8_gg_:focus-visible+.___SValue_1iej8_gg_._state_normal_1iej8_gg_::before{border-color:var(--intergalactic-border-info-active, rgb(135, 150, 239));outline-color:var(--intergalactic-keyboard-focus-outline, rgba(0, 32, 221, 0.469));outline-style:solid;outline-width:2px;outline-offset:2px;transition-duration:calc(var(--intergalactic-duration-extra-fast, 100)*1ms);transition-timing-function:ease-in-out;transition-property:outline-color,outline-width,outline-offset}@supports (color:color(display-p3 0 0 0%)){.___SControl_1iej8_gg_:focus-visible+.___SValue_1iej8_gg_._state_normal_1iej8_gg_::before{outline-color:var(--intergalactic-keyboard-focus-outline, rgba(0, 32, 221, 0.469))}@media (color-gamut:p3){.___SControl_1iej8_gg_:focus-visible+.___SValue_1iej8_gg_._state_normal_1iej8_gg_::before{outline-color:var(--intergalactic-keyboard-focus-outline, color(display-p3 0.03256 0.12227 0.83249 / 0.469))}}}.___SControl_1iej8_gg_:checked:focus-visible~.___SValue_1iej8_gg_::before,.___SControl_1iej8_gg_:checked~.___SValue_1iej8_gg_::before{border-color:var(--intergalactic-control-primary-info, rgb(26, 30, 26));background-color:var(--intergalactic-control-primary-info, rgb(26, 30, 26))}.___SControl_1iej8_gg_:focus-visible+.___SValue_1iej8_gg_._state_invalid_1iej8_gg_::before{border-color:var(--intergalactic-border-critical-active, rgb(255, 99, 100));outline-color:var(--intergalactic-keyboard-focus-outline, rgba(0, 32, 221, 0.469));outline-style:solid;outline-width:2px;outline-offset:2px;transition-duration:calc(var(--intergalactic-duration-extra-fast, 100)*1ms);transition-timing-function:ease-in-out;transition-property:outline-color,outline-width,outline-offset}@supports (color:color(display-p3 0 0 0%)){.___SControl_1iej8_gg_:focus-visible+.___SValue_1iej8_gg_._state_invalid_1iej8_gg_::before{border-color:var(--intergalactic-border-critical-active, rgb(255, 99, 100));outline-color:var(--intergalactic-keyboard-focus-outline, rgba(0, 32, 221, 0.469))}@media (color-gamut:p3){.___SControl_1iej8_gg_:focus-visible+.___SValue_1iej8_gg_._state_invalid_1iej8_gg_::before{border-color:var(--intergalactic-border-critical-active, color(display-p3 0.95478 0.398 0.38923));outline-color:var(--intergalactic-keyboard-focus-outline, color(display-p3 0.03256 0.12227 0.83249 / 0.469))}}}@supports (color:oklab(0%0 0%)){.___SControl_1iej8_gg_:focus-visible+.___SValue_1iej8_gg_._state_invalid_1iej8_gg_::before{outline-color:var(--intergalactic-keyboard-focus-invalid-outline, oklch(0.628 0.257 28.9 / 0.652))}}.___SControl_1iej8_gg_:checked~.___SValue_1iej8_gg_.__theme_1iej8_gg_::before{border-color:var(--theme_1iej8);background-color:var(--theme_1iej8)}.___SValue_1iej8_gg_._state_normal_1iej8_gg_.__theme_1iej8_gg_::before{border-color:var(--theme_1iej8)}.___SInvalidPattern_1iej8_gg_{background:0 0;overflow:hidden}.___SInvalidPattern_1iej8_gg_:before{content:\"\";position:absolute;top:1px;left:1px;border-radius:50%;background-image:var(--intergalactic-border-critical-pattern, repeating-linear-gradient(315deg, rgb(255, 99, 100) 0, rgb(255, 99, 100) 1px, transparent 0, transparent 50%));background-size:6px 6px;background-color:var(--intergalactic-bg-primary-neutral, rgb(255, 255, 255))}@supports (color:color(display-p3 0 0 0%)){.___SInvalidPattern_1iej8_gg_:before{background-image:var(--intergalactic-border-critical-pattern, repeating-linear-gradient(315deg, rgb(255, 99, 100) 0, rgb(255, 99, 100) 1px, transparent 0, transparent 50%))}@media (color-gamut:p3){.___SInvalidPattern_1iej8_gg_:before{background-image:var(--intergalactic-border-critical-pattern, repeating-linear-gradient(315deg, color(display-p3 0.95478 0.398 0.38923) 0, color(display-p3 0.95478 0.398 0.38923) 1px, transparent 0, transparent 50%))}}}", /*__inner_css_end__*/"1iej8_gg_"),
18
+ const style = (/*__reshadow_css_start__*/_sstyled.insert(/*__inner_css_start__*/".___SRadio_1pqxj_gg_{display:inline-flex;align-items:flex-start;cursor:pointer}.___SRadio_1pqxj_gg_ .___SText_1pqxj_gg_{margin-left:var(--intergalactic-spacing-2x,8px);color:var(--intergalactic-text-primary,#010500e5)}.___SRadio_1pqxj_gg_ .___SText_1pqxj_gg_.__color_1pqxj_gg_{color:var(--color_1pqxj)}.___SRadio_1pqxj_gg_.__disabled_1pqxj_gg_{pointer-events:none}.___SValue_1pqxj_gg_{position:relative;flex-shrink:0;padding:0;outline:none;z-index:0;margin-top:var(--intergalactic-spacing-05x,2px)}.___SValue_1pqxj_gg_:before{top:0;left:0;border:1px solid;transition:calc(var(--intergalactic-duration-control, 200)*1ms) all ease-in-out}.___SValue_1pqxj_gg_:after,.___SValue_1pqxj_gg_:before{content:\"\";position:absolute;right:0;bottom:0;background:var(--intergalactic-bg-primary-neutral,#fff);border-radius:50%}.___SValue_1pqxj_gg_:after{top:50%;left:50%;transform:translate(-50%,-50%);width:0;height:0}.___SValue_1pqxj_gg_.__disabled_1pqxj_gg_{opacity:var(--intergalactic-disabled-opacity,.4);cursor:default;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.___SValue_1pqxj_gg_._size_m_1pqxj_gg_{width:16px;height:16px}.___SValue_1pqxj_gg_._size_m_1pqxj_gg_ .___SInvalidPattern_1pqxj_gg_:before{width:14px;height:14px}.___SValue_1pqxj_gg_._size_l_1pqxj_gg_{width:20px;height:20px}.___SValue_1pqxj_gg_._size_l_1pqxj_gg_ .___SInvalidPattern_1pqxj_gg_:before{width:18px;height:18px}.___SValue_1pqxj_gg_._state_normal_1pqxj_gg_:before{border-color:var(--intergalactic-border-primary,#000c0829)}@supports (color:color(display-p3 0 0 0%)){.___SValue_1pqxj_gg_._state_normal_1pqxj_gg_:before{border-color:var(--intergalactic-border-primary,#000c0829)}@media (color-gamut:p3){.___SValue_1pqxj_gg_._state_normal_1pqxj_gg_:before{border-color:var(--intergalactic-border-primary,color(display-p3 .00798 .04498 .03219/.161))}}}.___SValue_1pqxj_gg_._state_invalid_1pqxj_gg_:before{border-color:var(--intergalactic-border-critical-active,#ff6364)}@supports (color:color(display-p3 0 0 0%)){.___SValue_1pqxj_gg_._state_invalid_1pqxj_gg_:before{border-color:var(--intergalactic-border-critical-active,#ff6364)}@media (color-gamut:p3){.___SValue_1pqxj_gg_._state_invalid_1pqxj_gg_:before{border-color:var(--intergalactic-border-critical-active,color(display-p3 .95478 .398 .38923))}}}.___SControl_1pqxj_gg_{position:absolute;clip:rect(1px,1px,1px,1px)}.___SControl_1pqxj_gg_:checked~.___SValue_1pqxj_gg_._size_m_1pqxj_gg_:after{width:6px;height:6px}.___SControl_1pqxj_gg_:checked~.___SValue_1pqxj_gg_._size_l_1pqxj_gg_:after{width:8px;height:8px}.___SControl_1pqxj_gg_:focus-visible+.___SValue_1pqxj_gg_._state_normal_1pqxj_gg_:before{border-color:var(--intergalactic-border-info-active,#8796ef);outline-color:var(--intergalactic-keyboard-focus-outline,#0020dd78);outline-style:solid;outline-width:2px;outline-offset:2px;transition-duration:calc(var(--intergalactic-duration-extra-fast, 100)*1ms);transition-timing-function:ease-in-out;transition-property:outline-color,outline-width,outline-offset}@supports (color:color(display-p3 0 0 0%)){.___SControl_1pqxj_gg_:focus-visible+.___SValue_1pqxj_gg_._state_normal_1pqxj_gg_:before{outline-color:var(--intergalactic-keyboard-focus-outline,#0020dd78)}@media (color-gamut:p3){.___SControl_1pqxj_gg_:focus-visible+.___SValue_1pqxj_gg_._state_normal_1pqxj_gg_:before{outline-color:var(--intergalactic-keyboard-focus-outline,color(display-p3 .03256 .12227 .83249/.469))}}}.___SControl_1pqxj_gg_:checked:focus-visible~.___SValue_1pqxj_gg_:before,.___SControl_1pqxj_gg_:checked~.___SValue_1pqxj_gg_:before{border-color:var(--intergalactic-control-primary-info,#1a1e1a);background-color:var(--intergalactic-control-primary-info,#1a1e1a)}.___SControl_1pqxj_gg_:focus-visible+.___SValue_1pqxj_gg_._state_invalid_1pqxj_gg_:before{border-color:var(--intergalactic-border-critical-active,#ff6364);outline-color:var(--intergalactic-keyboard-focus-outline,#0020dd78);outline-style:solid;outline-width:2px;outline-offset:2px;transition-duration:calc(var(--intergalactic-duration-extra-fast, 100)*1ms);transition-timing-function:ease-in-out;transition-property:outline-color,outline-width,outline-offset}@supports (color:color(display-p3 0 0 0%)){.___SControl_1pqxj_gg_:focus-visible+.___SValue_1pqxj_gg_._state_invalid_1pqxj_gg_:before{border-color:var(--intergalactic-border-critical-active,#ff6364);outline-color:var(--intergalactic-keyboard-focus-outline,#0020dd78)}@media (color-gamut:p3){.___SControl_1pqxj_gg_:focus-visible+.___SValue_1pqxj_gg_._state_invalid_1pqxj_gg_:before{border-color:var(--intergalactic-border-critical-active,color(display-p3 .95478 .398 .38923));outline-color:var(--intergalactic-keyboard-focus-outline,color(display-p3 .03256 .12227 .83249/.469))}}}@supports (color:oklab(0% 0 0%)){.___SControl_1pqxj_gg_:focus-visible+.___SValue_1pqxj_gg_._state_invalid_1pqxj_gg_:before{outline-color:var(--intergalactic-keyboard-focus-invalid-outline,oklch(.628 .257 28.9/.652))}}.___SControl_1pqxj_gg_:checked~.___SValue_1pqxj_gg_.__theme_1pqxj_gg_:before{border-color:var(--theme_1pqxj);background-color:var(--theme_1pqxj)}.___SValue_1pqxj_gg_._state_normal_1pqxj_gg_.__theme_1pqxj_gg_:before{border-color:var(--theme_1pqxj)}.___SInvalidPattern_1pqxj_gg_{background:#0000;overflow:hidden}.___SInvalidPattern_1pqxj_gg_:before{content:\"\";position:absolute;top:1px;left:1px;border-radius:50%;background-image:var(--intergalactic-border-critical-pattern,repeating-linear-gradient(315deg,#ff6364 0,#ff6364 1px,#0000 0,#0000 50%));background-size:6px 6px;background-color:var(--intergalactic-bg-primary-neutral,#fff)}@supports (color:color(display-p3 0 0 0%)){.___SInvalidPattern_1pqxj_gg_:before{background-image:var(--intergalactic-border-critical-pattern,repeating-linear-gradient(315deg,#ff6364 0,#ff6364 1px,#0000 0,#0000 50%))}@media (color-gamut:p3){.___SInvalidPattern_1pqxj_gg_:before{background-image:var(--intergalactic-border-critical-pattern,repeating-linear-gradient(315deg,color(display-p3 .95478 .398 .38923) 0,color(display-p3 .95478 .398 .38923) 1px,#0000 0,#0000 50%))}}}", /*__inner_css_end__*/"1pqxj_gg_"),
19
19
  /*__reshadow_css_end__*/
20
20
  {
21
- "__SRadio": "___SRadio_1iej8_gg_",
22
- "_disabled": "__disabled_1iej8_gg_",
23
- "__SValue": "___SValue_1iej8_gg_",
24
- "_state_normal": "_state_normal_1iej8_gg_",
25
- "_state_invalid": "_state_invalid_1iej8_gg_",
26
- "__SControl": "___SControl_1iej8_gg_",
27
- "_size_m": "_size_m_1iej8_gg_",
28
- "_size_l": "_size_l_1iej8_gg_",
29
- "_theme": "__theme_1iej8_gg_",
30
- "--theme": "--theme_1iej8",
31
- "__SText": "___SText_1iej8_gg_",
32
- "_color": "__color_1iej8_gg_",
33
- "--color": "--color_1iej8",
34
- "__SInvalidPattern": "___SInvalidPattern_1iej8_gg_"
21
+ "__SRadio": "___SRadio_1pqxj_gg_",
22
+ "_disabled": "__disabled_1pqxj_gg_",
23
+ "__SValue": "___SValue_1pqxj_gg_",
24
+ "_state_normal": "_state_normal_1pqxj_gg_",
25
+ "_state_invalid": "_state_invalid_1pqxj_gg_",
26
+ "__SControl": "___SControl_1pqxj_gg_",
27
+ "_size_m": "_size_m_1pqxj_gg_",
28
+ "_size_l": "_size_l_1pqxj_gg_",
29
+ "_theme": "__theme_1pqxj_gg_",
30
+ "--theme": "--theme_1pqxj",
31
+ "__SText": "___SText_1pqxj_gg_",
32
+ "_color": "__color_1pqxj_gg_",
33
+ "--color": "--color_1pqxj",
34
+ "__SInvalidPattern": "___SInvalidPattern_1pqxj_gg_"
35
35
  });
36
36
  const RadioContext = /*#__PURE__*/React.createContext({});
37
37
  class RadioGroupRoot extends Component {
38
38
  uncontrolledProps() {
39
39
  return {
40
- value: null
40
+ value: ''
41
41
  };
42
42
  }
43
43
  setContext() {
@@ -61,18 +61,26 @@ class RadioGroupRoot extends Component {
61
61
  render() {
62
62
  var _ref = this.asProps;
63
63
  const {
64
- Children
64
+ Children,
65
+ value
65
66
  } = this.asProps;
66
67
  return /*#__PURE__*/React.createElement(Flex, _assignProps({
67
68
  "direction": 'column',
68
69
  "role": 'group',
70
+ "use:value": value || undefined,
69
71
  "__excludeProps": ['onChange']
70
72
  }, _ref), /*#__PURE__*/React.createElement(Children, null));
71
73
  }
72
74
  }
75
+
76
+ /**
77
+ * RadioGroup
78
+ *
79
+ * {@link https://developer.semrush.com/intergalactic/components/radio/radio-api/|API} | {@link https://developer.semrush.com/intergalactic/components/radio/radio-code/|Examples}
80
+ */
73
81
  _defineProperty(RadioGroupRoot, "displayName", 'RadioGroup');
74
82
  _defineProperty(RadioGroupRoot, "defaultProps", {
75
- defaultValue: null
83
+ defaultValue: ''
76
84
  });
77
85
  const RadioGroup = createComponent(RadioGroupRoot, {}, {
78
86
  context: RadioContext
@@ -326,10 +334,22 @@ function Text(props) {
326
334
  }));
327
335
  }
328
336
  Text.displayName = 'Text';
337
+
338
+ /**
339
+ * Value
340
+ *
341
+ * {@link https://developer.semrush.com/intergalactic/components/radio/radio-api/|API} | {@link https://developer.semrush.com/intergalactic/components/radio/radio-code/|Examples}
342
+ */
329
343
  const Value = createComponent(ValueRoot, {
330
344
  Control,
331
345
  RadioMark
332
346
  });
347
+
348
+ /**
349
+ * Radio
350
+ *
351
+ * {@link https://developer.semrush.com/intergalactic/components/radio/radio-api/|API} | {@link https://developer.semrush.com/intergalactic/components/radio/radio-code/|Examples}
352
+ */
333
353
  const Radio = createComponent(RadioRoot, {
334
354
  Text,
335
355
  Value
@@ -1 +1 @@
1
- {"version":3,"file":"Radio.js","names":["Flex","Box","InvalidStateBox","createComponent","Component","sstyled","Root","callAllEventHandlers","resolveColorEnhance","getInputProps","inputProps","logger","useColorResolver","Text","TypographyText","React","style","_sstyled","insert","RadioContext","createContext","RadioGroupRoot","uncontrolledProps","value","setContext","theme","size","name","onChange","disabled","asProps","render","_ref","Children","createElement","_assignProps","_defineProperty","defaultValue","RadioGroup","context","RadioRoot","constructor","args","hoistedDisabled","undefined","warn","setState","getTextProps","label","state","textProps","children","hoistDisabled","rootDisabled","props","getValueProps","checked","_ref2","_ref6","SRadio","styles","hasChildren","cn","_assignProps2","Fragment","Radio","Value","ValueRoot","e","target","getControlProps","currentValue","forwardRef","includeInputProps","commonControlProps","inputValue","ref","bindHandlerChange","getRadioMarkProps","keyboardFocused","tag","resolveColor","other","onClick","radioMarkProps","componentDidUpdate","componentDidMount","_ref8","_ref7","Control","RadioMark","defaultChecked","_ref3","arguments[0]","_ref9","SControl","_assignProps3","displayName","_ref4","_ref0","SValue","SInvalidPattern","_assignProps4","_ref5","_ref1","SText","color","useEffect","_assignProps5","wrapRadioGroup","wrapper"],"sources":["../../src/Radio.tsx"],"sourcesContent":["import { Flex, Box, InvalidStateBox } from '@semcore/base-components';\nimport type { Intergalactic } from '@semcore/core';\nimport { createComponent, Component, sstyled, Root } from '@semcore/core';\nimport { callAllEventHandlers } from '@semcore/core/lib/utils/assignProps';\nimport resolveColorEnhance from '@semcore/core/lib/utils/enhances/resolveColorEnhance';\nimport getInputProps, { inputProps } from '@semcore/core/lib/utils/inputProps';\nimport logger from '@semcore/core/lib/utils/logger';\nimport { useColorResolver } from '@semcore/core/lib/utils/use/useColorResolver';\nimport { Text as TypographyText } from '@semcore/typography';\nimport React from 'react';\n\nimport type { NSRadio } from './Radio.type';\nimport style from './style/radio.shadow.css';\n\nconst RadioContext = React.createContext<{\n onChange?: NSRadio.Group.Props['onChange'];\n value?: NSRadio.Group.Props['value'];\n theme?: NSRadio.Group.Props['theme'];\n size?: NSRadio.Group.Props['size'];\n name?: NSRadio.Group.Props['name'];\n disabled?: NSRadio.Group.Props['disabled'];\n}>({});\n\nclass RadioGroupRoot extends Component<\n Intergalactic.InternalTypings.InferComponentProps<NSRadio.Group.Component>,\n [],\n { value: null }\n> {\n static displayName = 'RadioGroup';\n\n static defaultProps = {\n defaultValue: null,\n };\n\n uncontrolledProps() {\n return {\n value: null,\n };\n }\n\n setContext() {\n const { theme, size, name, value, onChange, disabled } = this.asProps;\n\n return {\n onChange,\n value,\n theme,\n size,\n name,\n disabled,\n };\n }\n\n render() {\n const { Children } = this.asProps;\n\n return (\n <Root render={Flex} direction='column' role='group' __excludeProps={['onChange']}>\n <Children />\n </Root>\n );\n }\n}\n\nconst RadioGroup = createComponent(RadioGroupRoot, {}, { context: RadioContext }) as unknown as NSRadio.Group.Component;\n\nclass RadioRoot extends Component<Intergalactic.InternalTypings.InferComponentProps<NSRadio.Component>> {\n static displayName = 'Radio';\n static style = style;\n static contextType = RadioContext;\n\n context: React.ContextType<typeof RadioContext> = {};\n\n state = {\n hoistedDisabled: undefined,\n };\n\n hoistDisabled = (disabled: NSRadio.Props['disabled']) => {\n logger.warn(\n true,\n `Don't set disabled on Radio.Value or Radio.Text, set it on Radio or on RadioGroup (for all items) instead. Otherwise it will produce wrong SSR output.`,\n this.asProps['data-ui-name'],\n );\n this.setState({ hoistedDisabled: disabled });\n };\n\n getTextProps() {\n const { size = this.context.size ?? 'm', disabled = this.context.disabled, label } = this.asProps;\n\n const { hoistedDisabled } = this.state;\n\n const textProps = {\n size: size === 'm' ? 200 : 300,\n children: label,\n disabled: disabled ?? hoistedDisabled,\n hoistDisabled: this.hoistDisabled,\n rootDisabled: this.props.disabled,\n };\n\n return textProps;\n }\n\n getValueProps() {\n const {\n state = 'normal',\n size = this.context.size ?? 'm',\n theme = this.context.theme,\n disabled = this.context.disabled,\n name = this.context.name,\n } = this.asProps;\n\n const { value, checked } = this.asProps;\n const { hoistedDisabled } = this.state;\n\n return {\n size: this.props.size ?? size,\n disabled: disabled ?? hoistedDisabled,\n state: state,\n theme,\n value,\n checked,\n name,\n hoistDisabled: this.hoistDisabled,\n rootDisabled: this.props.disabled,\n };\n }\n\n render() {\n const SRadio = Root;\n const { styles, Children, children: hasChildren } = this.asProps;\n\n return sstyled(styles)(\n <SRadio render={Box} tag='label' __excludeProps={['onChange', 'label', 'disabled']}>\n {hasChildren\n ? (\n <Children />\n )\n : (\n <>\n <Radio.Value />\n <Radio.Text />\n </>\n )}\n </SRadio>,\n );\n }\n}\n\nclass ValueRoot extends Component<\n Intergalactic.InternalTypings.InferChildComponentProps<NSRadio.Value.Component, typeof RadioRoot, 'Value'>,\n typeof ValueRoot.enhance,\n { checked: (e: React.ChangeEvent<HTMLInputElement>) => boolean }\n> {\n context: React.ContextType<typeof RadioContext> = {};\n\n static defaultProps = {\n includeInputProps: inputProps,\n defaultChecked: false,\n };\n\n static enhance = [resolveColorEnhance()] as const;\n static displayName = 'Value';\n static contextType = RadioContext;\n static style = style;\n\n bindHandlerChange = (value: NSRadio.Props['value']) => (e: React.ChangeEvent<HTMLInputElement>) => {\n if (typeof this.context.onChange === 'function' && value !== undefined) {\n this.context.onChange(value, e);\n }\n };\n\n uncontrolledProps() {\n return {\n checked: (e: React.ChangeEvent<HTMLInputElement>) => e.target.checked,\n };\n }\n\n getControlProps() {\n const { value: currentValue } = this.context;\n const { forwardRef, includeInputProps, state, value } = this.asProps;\n const { onChange } = this.props;\n\n const [commonControlProps] = getInputProps(this.asProps, includeInputProps);\n const inputValue = value ?? '';\n\n return {\n ref: forwardRef,\n state,\n ...commonControlProps,\n value: inputValue,\n ...(currentValue !== undefined\n ? {\n checked: currentValue === inputValue,\n onChange: callAllEventHandlers(onChange, this.bindHandlerChange(inputValue)),\n }\n : {}),\n };\n }\n\n getRadioMarkProps() {\n const { value: currentValue } = this.context;\n const {\n size,\n state,\n theme,\n keyboardFocused,\n value,\n tag,\n disabled,\n includeInputProps,\n resolveColor,\n children,\n Children,\n ...other\n } = this.asProps;\n const { onClick } = this.props;\n const [commonControlProps, radioMarkProps] = getInputProps(other, includeInputProps);\n const inputValue = value ?? '';\n\n return {\n theme,\n size,\n state,\n keyboardFocused,\n disabled,\n resolveColor,\n checked: commonControlProps.checked,\n ...radioMarkProps,\n ...(currentValue !== undefined && tag !== 'label'\n ? {\n onClick: callAllEventHandlers(onClick, this.bindHandlerChange(inputValue)),\n }\n : {}),\n };\n }\n\n componentDidUpdate() {\n if (this.asProps.rootDisabled !== this.asProps.disabled) {\n this.asProps.hoistDisabled(this.asProps.disabled);\n }\n }\n\n componentDidMount() {\n if (this.asProps.rootDisabled !== this.asProps.disabled) {\n this.asProps.hoistDisabled(this.asProps.disabled);\n }\n }\n\n render() {\n const { styles, children: hasChildren, Children } = this.asProps;\n\n if (!hasChildren) {\n return sstyled(styles)(\n <>\n <Radio.Value.Control />\n <Radio.Value.RadioMark />\n </>,\n );\n }\n\n return sstyled(styles)(<Children />);\n }\n}\n\nfunction Control(\n props: Intergalactic.InternalTypings.InferChildComponentProps<\n NSRadio.Value.Control.Component,\n typeof ValueRoot,\n 'Control'\n >,\n) {\n const SControl = Root;\n const { styles, state } = props;\n\n return sstyled(styles)(<SControl render={Box} tag='input' type='radio' aria-invalid={state === 'invalid'} />);\n}\nControl.displayName = 'Control';\n\nfunction RadioMark(\n props: Intergalactic.InternalTypings.InferChildComponentProps<\n NSRadio.Value.Mark.Component,\n typeof ValueRoot,\n 'RadioMark'\n >,\n) {\n const SValue = Root;\n const SInvalidPattern = InvalidStateBox;\n const { theme, styles, resolveColor, state, checked } = props;\n\n return sstyled(styles)(\n <SValue render={Box} tag='div' use:theme={resolveColor(theme)} aria-hidden={true}>\n {state === 'invalid' && !checked && <SInvalidPattern />}\n </SValue>,\n );\n}\nRadioMark.displayName = 'RadioMark';\n\nfunction Text(\n props: Intergalactic.InternalTypings.InferChildComponentProps<NSRadio.Text.Component, typeof RadioRoot, 'Text'>,\n) {\n const SText = Root;\n const { styles, color } = props;\n\n React.useEffect(() => {\n if (props.rootDisabled !== props.disabled) {\n props.hoistDisabled(props.disabled);\n }\n }, [props.rootDisabled, props.disabled, props.hoistDisabled]);\n const resolveColor = useColorResolver();\n\n return sstyled(styles)(<SText render={TypographyText} tag='span' use:color={resolveColor(color)} />);\n}\nText.displayName = 'Text';\n\nconst Value = createComponent(ValueRoot, {\n Control,\n RadioMark,\n}) as NSRadio.Value.Component;\n\nconst Radio = createComponent(RadioRoot, {\n Text,\n Value,\n}) as NSRadio.Component;\n\nexport const wrapRadioGroup = <PropsExtending extends {}>(\n wrapper: (\n props: Intergalactic.InternalTypings.UntypeRefAndTag<\n Intergalactic.InternalTypings.ComponentPropsNesting<NSRadio.Group.Component>\n > &\n PropsExtending,\n ) => React.ReactNode,\n) => wrapper as NSRadio.Group.Component<PropsExtending>;\n\nexport { inputProps, RadioGroup };\n\nexport default Radio;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Radio.js","names":["Flex","Box","InvalidStateBox","createComponent","Component","sstyled","Root","callAllEventHandlers","resolveColorEnhance","getInputProps","inputProps","logger","useColorResolver","Text","TypographyText","React","style","_sstyled","insert","RadioContext","createContext","RadioGroupRoot","uncontrolledProps","value","setContext","theme","size","name","onChange","disabled","asProps","render","_ref","Children","createElement","_assignProps","undefined","_defineProperty","defaultValue","RadioGroup","context","RadioRoot","constructor","args","hoistedDisabled","warn","setState","getTextProps","label","state","textProps","children","hoistDisabled","rootDisabled","props","getValueProps","checked","_ref2","_ref6","SRadio","styles","hasChildren","cn","_assignProps2","Fragment","Radio","Value","ValueRoot","e","target","getControlProps","currentValue","forwardRef","includeInputProps","commonControlProps","inputValue","ref","bindHandlerChange","getRadioMarkProps","keyboardFocused","tag","resolveColor","other","onClick","radioMarkProps","componentDidUpdate","componentDidMount","_ref8","_ref7","Control","RadioMark","defaultChecked","_ref3","arguments[0]","_ref9","SControl","_assignProps3","displayName","_ref4","_ref0","SValue","SInvalidPattern","_assignProps4","_ref5","_ref1","SText","color","useEffect","_assignProps5","wrapRadioGroup","wrapper"],"sources":["../../src/Radio.tsx"],"sourcesContent":["import { Flex, Box, InvalidStateBox } from '@semcore/base-components';\nimport type { Intergalactic } from '@semcore/core';\nimport { createComponent, Component, sstyled, Root } from '@semcore/core';\nimport { callAllEventHandlers } from '@semcore/core/lib/utils/assignProps';\nimport resolveColorEnhance from '@semcore/core/lib/utils/enhances/resolveColorEnhance';\nimport getInputProps, { inputProps } from '@semcore/core/lib/utils/inputProps';\nimport logger from '@semcore/core/lib/utils/logger';\nimport { useColorResolver } from '@semcore/core/lib/utils/use/useColorResolver';\nimport { Text as TypographyText } from '@semcore/typography';\nimport React from 'react';\n\nimport type { NSRadio } from './Radio.type';\nimport style from './style/radio.shadow.css';\n\nconst RadioContext = React.createContext<{\n onChange?: NSRadio.Group.Props['onChange'];\n value?: NSRadio.Group.Props['value'];\n theme?: NSRadio.Group.Props['theme'];\n size?: NSRadio.Group.Props['size'];\n name?: NSRadio.Group.Props['name'];\n disabled?: NSRadio.Group.Props['disabled'];\n}>({});\n\nclass RadioGroupRoot extends Component<\n Intergalactic.InternalTypings.InferComponentProps<NSRadio.Group.Component>,\n [],\n { value: string },\n {},\n {},\n NSRadio.Group.DefaultProps\n> {\n static displayName = 'RadioGroup';\n\n static defaultProps = {\n defaultValue: '',\n } as const;\n\n uncontrolledProps() {\n return {\n value: '',\n };\n }\n\n setContext() {\n const { theme, size, name, value, onChange, disabled } = this.asProps;\n\n return {\n onChange,\n value,\n theme,\n size,\n name,\n disabled,\n };\n }\n\n render() {\n const { Children, value } = this.asProps;\n\n return (\n <Root render={Flex} direction='column' role='group' use:value={value || undefined} __excludeProps={['onChange']}>\n <Children />\n </Root>\n );\n }\n}\n\n/**\n * RadioGroup\n *\n * {@link https://developer.semrush.com/intergalactic/components/radio/radio-api/|API} | {@link https://developer.semrush.com/intergalactic/components/radio/radio-code/|Examples}\n */\nconst RadioGroup = createComponent<\n NSRadio.Group.Component,\n typeof RadioGroupRoot\n>(RadioGroupRoot, {}, { context: RadioContext });\n\nclass RadioRoot extends Component<Intergalactic.InternalTypings.InferComponentProps<NSRadio.Component>> {\n static displayName = 'Radio';\n static style = style;\n static contextType = RadioContext;\n\n context: React.ContextType<typeof RadioContext> = {};\n\n state = {\n hoistedDisabled: undefined,\n };\n\n hoistDisabled = (disabled: NSRadio.Props['disabled']) => {\n logger.warn(\n true,\n `Don't set disabled on Radio.Value or Radio.Text, set it on Radio or on RadioGroup (for all items) instead. Otherwise it will produce wrong SSR output.`,\n this.asProps['data-ui-name'],\n );\n this.setState({ hoistedDisabled: disabled });\n };\n\n getTextProps() {\n const { size = this.context.size ?? 'm', disabled = this.context.disabled, label } = this.asProps;\n\n const { hoistedDisabled } = this.state;\n\n const textProps = {\n size: size === 'm' ? 200 : 300,\n children: label,\n disabled: disabled ?? hoistedDisabled,\n hoistDisabled: this.hoistDisabled,\n rootDisabled: this.props.disabled,\n };\n\n return textProps;\n }\n\n getValueProps() {\n const {\n state = 'normal',\n size = this.context.size ?? 'm',\n theme = this.context.theme,\n disabled = this.context.disabled,\n name = this.context.name,\n } = this.asProps;\n\n const { value, checked } = this.asProps;\n const { hoistedDisabled } = this.state;\n\n return {\n size: this.props.size ?? size,\n disabled: disabled ?? hoistedDisabled,\n state: state,\n theme,\n value,\n checked,\n name,\n hoistDisabled: this.hoistDisabled,\n rootDisabled: this.props.disabled,\n };\n }\n\n render() {\n const SRadio = Root;\n const { styles, Children, children: hasChildren } = this.asProps;\n\n return sstyled(styles)(\n <SRadio render={Box} tag='label' __excludeProps={['onChange', 'label', 'disabled']}>\n {hasChildren\n ? (\n <Children />\n )\n : (\n <>\n <Radio.Value />\n <Radio.Text />\n </>\n )}\n </SRadio>,\n );\n }\n}\n\nclass ValueRoot extends Component<\n Intergalactic.InternalTypings.InferChildComponentProps<NSRadio.Value.Component, typeof RadioRoot, 'Value'>,\n typeof ValueRoot.enhance,\n NSRadio.Value.Handlers,\n {},\n {},\n NSRadio.Value.DefaultProps\n> {\n context: React.ContextType<typeof RadioContext> = {};\n\n static defaultProps = {\n includeInputProps: inputProps,\n defaultChecked: false,\n } as const;\n\n static enhance = [resolveColorEnhance()] as const;\n static displayName = 'Value';\n static contextType = RadioContext;\n static style = style;\n\n bindHandlerChange = (value: NSRadio.Props['value']) => (e: React.ChangeEvent<HTMLInputElement>) => {\n if (typeof this.context.onChange === 'function' && value !== undefined) {\n this.context.onChange(value, e);\n }\n };\n\n uncontrolledProps() {\n return {\n checked: (e: React.ChangeEvent<HTMLInputElement>) => e.target.checked,\n };\n }\n\n getControlProps() {\n const { value: currentValue } = this.context;\n const { forwardRef, includeInputProps, state, value } = this.asProps;\n const { onChange } = this.props;\n\n const [commonControlProps] = getInputProps(this.asProps, includeInputProps);\n const inputValue = value ?? '';\n\n return {\n ref: forwardRef,\n state,\n ...commonControlProps,\n value: inputValue,\n ...(currentValue !== undefined\n ? {\n checked: currentValue === inputValue,\n onChange: callAllEventHandlers(onChange, this.bindHandlerChange(inputValue)),\n }\n : {}),\n };\n }\n\n getRadioMarkProps() {\n const { value: currentValue } = this.context;\n const {\n size,\n state,\n theme,\n keyboardFocused,\n value,\n tag,\n disabled,\n includeInputProps,\n resolveColor,\n children,\n Children,\n ...other\n } = this.asProps;\n const { onClick } = this.props;\n const [commonControlProps, radioMarkProps] = getInputProps(other, includeInputProps);\n const inputValue = value ?? '';\n\n return {\n theme,\n size,\n state,\n keyboardFocused,\n disabled,\n resolveColor,\n checked: commonControlProps.checked,\n ...radioMarkProps,\n ...(currentValue !== undefined && tag !== 'label'\n ? {\n onClick: callAllEventHandlers(onClick, this.bindHandlerChange(inputValue)),\n }\n : {}),\n };\n }\n\n componentDidUpdate() {\n if (this.asProps.rootDisabled !== this.asProps.disabled) {\n this.asProps.hoistDisabled(this.asProps.disabled);\n }\n }\n\n componentDidMount() {\n if (this.asProps.rootDisabled !== this.asProps.disabled) {\n this.asProps.hoistDisabled(this.asProps.disabled);\n }\n }\n\n render() {\n const { styles, children: hasChildren, Children } = this.asProps;\n\n if (!hasChildren) {\n return sstyled(styles)(\n <>\n <Radio.Value.Control />\n <Radio.Value.RadioMark />\n </>,\n );\n }\n\n return sstyled(styles)(<Children />);\n }\n}\n\nfunction Control(\n props: Intergalactic.InternalTypings.InferChildComponentProps<\n NSRadio.Value.Control.Component,\n typeof ValueRoot,\n 'Control'\n >,\n) {\n const SControl = Root;\n const { styles, state } = props;\n\n return sstyled(styles)(<SControl render={Box} tag='input' type='radio' aria-invalid={state === 'invalid'} />);\n}\nControl.displayName = 'Control';\n\nfunction RadioMark(\n props: Intergalactic.InternalTypings.InferChildComponentProps<\n NSRadio.Value.Mark.Component,\n typeof ValueRoot,\n 'RadioMark'\n >,\n) {\n const SValue = Root;\n const SInvalidPattern = InvalidStateBox;\n const { theme, styles, resolveColor, state, checked } = props;\n\n return sstyled(styles)(\n <SValue render={Box} tag='div' use:theme={resolveColor(theme)} aria-hidden={true}>\n {state === 'invalid' && !checked && <SInvalidPattern />}\n </SValue>,\n );\n}\nRadioMark.displayName = 'RadioMark';\n\nfunction Text(\n props: Intergalactic.InternalTypings.InferChildComponentProps<NSRadio.Text.Component, typeof RadioRoot, 'Text'>,\n) {\n const SText = Root;\n const { styles, color } = props;\n\n React.useEffect(() => {\n if (props.rootDisabled !== props.disabled) {\n props.hoistDisabled(props.disabled);\n }\n }, [props.rootDisabled, props.disabled, props.hoistDisabled]);\n const resolveColor = useColorResolver();\n\n return sstyled(styles)(<SText render={TypographyText} tag='span' use:color={resolveColor(color)} />);\n}\nText.displayName = 'Text';\n\n/**\n * Value\n *\n * {@link https://developer.semrush.com/intergalactic/components/radio/radio-api/|API} | {@link https://developer.semrush.com/intergalactic/components/radio/radio-code/|Examples}\n */\nconst Value = createComponent<\n NSRadio.Value.Component,\n typeof ValueRoot\n>(ValueRoot, {\n Control,\n RadioMark,\n});\n\n/**\n * Radio\n *\n * {@link https://developer.semrush.com/intergalactic/components/radio/radio-api/|API} | {@link https://developer.semrush.com/intergalactic/components/radio/radio-code/|Examples}\n */\nconst Radio = createComponent<\n NSRadio.Component,\n typeof RadioRoot\n>(RadioRoot, {\n Text,\n Value,\n});\n\nexport const wrapRadioGroup = <PropsExtending extends {}>(\n wrapper: (\n props: Intergalactic.InternalTypings.UntypeRefAndTag<\n Intergalactic.InternalTypings.ComponentPropsNesting<NSRadio.Group.Component>\n > &\n PropsExtending,\n ) => React.ReactNode,\n) => wrapper as NSRadio.Group.Component<PropsExtending>;\n\nexport { inputProps, RadioGroup };\n\nexport default Radio;\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"Radio.type.js","names":[],"sources":["../../src/Radio.type.ts"],"sourcesContent":["import type { Flex, BoxProps } from '@semcore/base-components';\nimport type { Intergalactic, PropGetterFn } from '@semcore/core';\nimport type { NSText } from '@semcore/typography';\n\ndeclare namespace NSRadio {\n type Size = 'm' | 'l';\n type State = 'normal' | 'invalid';\n type Value = string | number | boolean;\n type Props = BoxProps & {\n /** Radio item value **/\n value?: NSRadio.Value;\n /** Radio item checked flag **/\n checked?: boolean;\n /**\n * The value displaying the state of the component\n * @default normal\n */\n state?: NSRadio.State;\n /**\n * Radio button size\n * @default m\n **/\n size?: NSRadio.Size;\n /** The theme of the radio button that you can send your color to */\n theme?: string;\n /** Radio item text **/\n label?: string;\n /** Blocks access and changes to the radio item **/\n disabled?: boolean;\n };\n type Ctx = {\n getValueProps: PropGetterFn;\n getTextProps: PropGetterFn;\n };\n namespace Value {\n type Props = BoxProps & {\n /** List of elements that can be put on a hidden input */\n includeInputProps?: string[];\n };\n namespace Control {\n type Props = {};\n type Component = Intergalactic.Component<'input', Props>;\n }\n\n namespace Mark {\n type Props = {};\n type Component = Intergalactic.Component<'input', Props>;\n }\n\n type Component = Intergalactic.Component<'input', Props> & {\n Control: Control.Component;\n RadioMark: Mark.Component;\n };\n }\n\n namespace Text {\n type Props = NSText.Props;\n type Component = Intergalactic.Component<'span', Props>;\n }\n\n namespace Group {\n type Props<T extends NSRadio.Value = NSRadio.Value> = {\n /** Radio group name */\n name?: string;\n /** Active default value */\n defaultValue?: T;\n /** Active value */\n value?: T;\n /** Called when the selected element is changed */\n onChange?:\n | ((value: T, e?: React.SyntheticEvent<HTMLInputElement>) => void)\n | React.Dispatch<React.SetStateAction<T>>;\n /** Radio button size */\n size?: NSRadio.Size;\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 type Component<PropsExtending = {}> = (<V extends Value, Tag extends Intergalactic.Tag = 'div'>(\n props: Intergalactic.InternalTypings.ComponentProps<Tag, typeof Flex, Props<V>> & PropsExtending,\n ) => Intergalactic.InternalTypings.ComponentRenderingResults) &\n Intergalactic.InternalTypings.ComponentAdditive<'div', typeof Flex, Props>;\n }\n type Component = Intergalactic.Component<'label', Props, Ctx> & {\n Value: Value.Component;\n Text: Text.Component;\n };\n}\n\n/** @deprecated It will be removed in v18. */\nexport type RadioSize = NSRadio.Size;\n/** @deprecated It will be removed in v18. */\nexport type RadioState = NSRadio.State;\n/** @deprecated It will be removed in v18. */\nexport type RadioValue = NSRadio.Value;\n/** @deprecated It will be removed in v18. */\nexport type RadioProps = NSRadio.Props;\n/** @deprecated It will be removed in v18. */\nexport type RadioGroupProps<T extends RadioValue = RadioValue> = NSRadio.Group.Props<T>;\n/** @deprecated It will be removed in v18. */\nexport type RadioValueProps = NSRadio.Value.Props;\n/** @deprecated It will be removed in v18. */\nexport type RadioCtx = NSRadio.Ctx;\n/** @deprecated It will be removed in v18. */\nexport type RadioValueControlProps = NSRadio.Value.Control.Props;\n/** @deprecated It will be removed in v18. */\nexport type RadioValueMarkProps = NSRadio.Value.Mark.Props;\n\nexport type { NSRadio };\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"file":"Radio.type.js","names":[],"sources":["../../src/Radio.type.ts"],"sourcesContent":["import type { Flex, BoxProps } from '@semcore/base-components';\nimport type { Intergalactic, PropGetterFn } from '@semcore/core';\nimport type { NSText } from '@semcore/typography';\n\ndeclare namespace NSRadio {\n type Size = 'm' | 'l';\n type State = 'normal' | 'invalid';\n type Value = string | number | boolean;\n type Props = BoxProps & {\n /** Radio item value **/\n value?: NSRadio.Value;\n /** Radio item checked flag **/\n checked?: boolean;\n /**\n * The value displaying the state of the component\n * @default normal\n */\n state?: NSRadio.State;\n /**\n * Radio button size\n * @default m\n **/\n size?: NSRadio.Size;\n /** The theme of the radio button that you can send your color to */\n theme?: string;\n /** Radio item text **/\n label?: string;\n /** Blocks access and changes to the radio item **/\n disabled?: boolean;\n };\n type Ctx = {\n getValueProps: PropGetterFn;\n getTextProps: PropGetterFn;\n };\n namespace Value {\n type Handlers = {\n checked: (e: React.ChangeEvent<HTMLInputElement>) => boolean;\n };\n type Props = BoxProps & {\n /** List of elements that can be put on a hidden input */\n includeInputProps?: string[];\n };\n type DefaultProps = {\n includeInputProps: Props['includeInputProps'];\n defaultChecked: false;\n };\n namespace Control {\n type Props = {};\n type Component = Intergalactic.Component<'input', Props>;\n }\n\n namespace Mark {\n type Props = {};\n type Component = Intergalactic.Component<'input', Props>;\n }\n\n type Component = Intergalactic.Component<'input', Props> & {\n Control: Control.Component;\n RadioMark: Mark.Component;\n };\n }\n\n namespace Text {\n type Props = NSText.Props;\n type Component = Intergalactic.Component<'span', Props>;\n }\n\n namespace Group {\n type Props<T extends NSRadio.Value = NSRadio.Value> = {\n /** Radio group name */\n name?: string;\n /** Active default value */\n defaultValue?: T;\n /** Active value */\n value?: T;\n /** Called when the selected element is changed */\n onChange?:\n | ((value: T, e?: React.SyntheticEvent<HTMLInputElement>) => void)\n | React.Dispatch<React.SetStateAction<T>>;\n /** Radio button size */\n size?: NSRadio.Size;\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 type DefaultProps = {\n defaultValue: '';\n };\n type Component<PropsExtending = {}> = (<V extends Value, Tag extends Intergalactic.Tag = 'div'>(\n props: Intergalactic.InternalTypings.ComponentProps<Tag, typeof Flex, Props<V>> & PropsExtending,\n ) => Intergalactic.InternalTypings.ComponentRenderingResults) &\n Intergalactic.InternalTypings.ComponentAdditive<'div', typeof Flex, Props>;\n }\n type Component = Intergalactic.Component<'label', Props, Ctx> & {\n Value: Value.Component;\n Text: Text.Component;\n };\n}\n\n/** @deprecated It will be removed in v18. */\nexport type RadioSize = NSRadio.Size;\n/** @deprecated It will be removed in v18. */\nexport type RadioState = NSRadio.State;\n/** @deprecated It will be removed in v18. */\nexport type RadioValue = NSRadio.Value;\n/** @deprecated It will be removed in v18. */\nexport type RadioProps = NSRadio.Props;\n/** @deprecated It will be removed in v18. */\nexport type RadioGroupProps<T extends RadioValue = RadioValue> = NSRadio.Group.Props<T>;\n/** @deprecated It will be removed in v18. */\nexport type RadioValueProps = NSRadio.Value.Props;\n/** @deprecated It will be removed in v18. */\nexport type RadioCtx = NSRadio.Ctx;\n/** @deprecated It will be removed in v18. */\nexport type RadioValueControlProps = NSRadio.Value.Control.Props;\n/** @deprecated It will be removed in v18. */\nexport type RadioValueMarkProps = NSRadio.Value.Mark.Props;\n\nexport type { NSRadio };\n"],"mappings":"","ignoreList":[]}
package/lib/esm/Radio.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
2
  import { sstyled, Component, assignProps, createComponent } from "@semcore/core";
3
3
  import { Flex, Box, InvalidStateBox } from "@semcore/base-components";
4
4
  import { callAllEventHandlers } from "@semcore/core/lib/utils/assignProps";
@@ -14,32 +14,32 @@ const style = (
14
14
  /*__reshadow_css_start__*/
15
15
  (sstyled.insert(
16
16
  /*__inner_css_start__*/
17
- '.___SRadio_1iej8_gg_{display:inline-flex;align-items:flex-start;cursor:pointer}.___SRadio_1iej8_gg_ .___SText_1iej8_gg_{margin-left:var(--intergalactic-spacing-2x, 8px);color:var(--intergalactic-text-primary, rgba(1, 5, 0, 0.899))}.___SRadio_1iej8_gg_ .___SText_1iej8_gg_.__color_1iej8_gg_{color:var(--color_1iej8)}.___SRadio_1iej8_gg_.__disabled_1iej8_gg_{pointer-events:none}.___SValue_1iej8_gg_{position:relative;flex-shrink:0;padding:0;outline:0;z-index:0;margin-top:var(--intergalactic-spacing-05x, 2px)}.___SValue_1iej8_gg_::after,.___SValue_1iej8_gg_::before{content:"";position:absolute;right:0;bottom:0;border-radius:50%;background:var(--intergalactic-bg-primary-neutral, rgb(255, 255, 255))}.___SValue_1iej8_gg_::before{top:0;left:0;border:1px solid;transition:calc(var(--intergalactic-duration-control, 200)*1ms) all ease-in-out}.___SValue_1iej8_gg_::after{top:50%;left:50%;transform:translate(-50%,-50%);width:0;height:0}.___SValue_1iej8_gg_.__disabled_1iej8_gg_{opacity:var(--intergalactic-disabled-opacity, 0.4);cursor:default;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.___SValue_1iej8_gg_._size_m_1iej8_gg_{width:16px;height:16px}.___SValue_1iej8_gg_._size_m_1iej8_gg_ .___SInvalidPattern_1iej8_gg_:before{width:14px;height:14px}.___SValue_1iej8_gg_._size_l_1iej8_gg_{width:20px;height:20px}.___SValue_1iej8_gg_._size_l_1iej8_gg_ .___SInvalidPattern_1iej8_gg_:before{width:18px;height:18px}.___SValue_1iej8_gg_._state_normal_1iej8_gg_::before{border-color:var(--intergalactic-border-primary, rgba(0, 12, 8, 0.161))}@supports (color:color(display-p3 0 0 0%)){.___SValue_1iej8_gg_._state_normal_1iej8_gg_::before{border-color:var(--intergalactic-border-primary, rgba(0, 12, 8, 0.161))}@media (color-gamut:p3){.___SValue_1iej8_gg_._state_normal_1iej8_gg_::before{border-color:var(--intergalactic-border-primary, color(display-p3 0.00798 0.04498 0.03219 / 0.161))}}}.___SValue_1iej8_gg_._state_invalid_1iej8_gg_::before{border-color:var(--intergalactic-border-critical-active, rgb(255, 99, 100))}@supports (color:color(display-p3 0 0 0%)){.___SValue_1iej8_gg_._state_invalid_1iej8_gg_::before{border-color:var(--intergalactic-border-critical-active, rgb(255, 99, 100))}@media (color-gamut:p3){.___SValue_1iej8_gg_._state_invalid_1iej8_gg_::before{border-color:var(--intergalactic-border-critical-active, color(display-p3 0.95478 0.398 0.38923))}}}.___SControl_1iej8_gg_{position:absolute;clip:rect(1px,1px,1px,1px)}.___SControl_1iej8_gg_:checked~.___SValue_1iej8_gg_._size_m_1iej8_gg_::after{width:6px;height:6px}.___SControl_1iej8_gg_:checked~.___SValue_1iej8_gg_._size_l_1iej8_gg_::after{width:8px;height:8px}.___SControl_1iej8_gg_:focus-visible+.___SValue_1iej8_gg_._state_normal_1iej8_gg_::before{border-color:var(--intergalactic-border-info-active, rgb(135, 150, 239));outline-color:var(--intergalactic-keyboard-focus-outline, rgba(0, 32, 221, 0.469));outline-style:solid;outline-width:2px;outline-offset:2px;transition-duration:calc(var(--intergalactic-duration-extra-fast, 100)*1ms);transition-timing-function:ease-in-out;transition-property:outline-color,outline-width,outline-offset}@supports (color:color(display-p3 0 0 0%)){.___SControl_1iej8_gg_:focus-visible+.___SValue_1iej8_gg_._state_normal_1iej8_gg_::before{outline-color:var(--intergalactic-keyboard-focus-outline, rgba(0, 32, 221, 0.469))}@media (color-gamut:p3){.___SControl_1iej8_gg_:focus-visible+.___SValue_1iej8_gg_._state_normal_1iej8_gg_::before{outline-color:var(--intergalactic-keyboard-focus-outline, color(display-p3 0.03256 0.12227 0.83249 / 0.469))}}}.___SControl_1iej8_gg_:checked:focus-visible~.___SValue_1iej8_gg_::before,.___SControl_1iej8_gg_:checked~.___SValue_1iej8_gg_::before{border-color:var(--intergalactic-control-primary-info, rgb(26, 30, 26));background-color:var(--intergalactic-control-primary-info, rgb(26, 30, 26))}.___SControl_1iej8_gg_:focus-visible+.___SValue_1iej8_gg_._state_invalid_1iej8_gg_::before{border-color:var(--intergalactic-border-critical-active, rgb(255, 99, 100));outline-color:var(--intergalactic-keyboard-focus-outline, rgba(0, 32, 221, 0.469));outline-style:solid;outline-width:2px;outline-offset:2px;transition-duration:calc(var(--intergalactic-duration-extra-fast, 100)*1ms);transition-timing-function:ease-in-out;transition-property:outline-color,outline-width,outline-offset}@supports (color:color(display-p3 0 0 0%)){.___SControl_1iej8_gg_:focus-visible+.___SValue_1iej8_gg_._state_invalid_1iej8_gg_::before{border-color:var(--intergalactic-border-critical-active, rgb(255, 99, 100));outline-color:var(--intergalactic-keyboard-focus-outline, rgba(0, 32, 221, 0.469))}@media (color-gamut:p3){.___SControl_1iej8_gg_:focus-visible+.___SValue_1iej8_gg_._state_invalid_1iej8_gg_::before{border-color:var(--intergalactic-border-critical-active, color(display-p3 0.95478 0.398 0.38923));outline-color:var(--intergalactic-keyboard-focus-outline, color(display-p3 0.03256 0.12227 0.83249 / 0.469))}}}@supports (color:oklab(0%0 0%)){.___SControl_1iej8_gg_:focus-visible+.___SValue_1iej8_gg_._state_invalid_1iej8_gg_::before{outline-color:var(--intergalactic-keyboard-focus-invalid-outline, oklch(0.628 0.257 28.9 / 0.652))}}.___SControl_1iej8_gg_:checked~.___SValue_1iej8_gg_.__theme_1iej8_gg_::before{border-color:var(--theme_1iej8);background-color:var(--theme_1iej8)}.___SValue_1iej8_gg_._state_normal_1iej8_gg_.__theme_1iej8_gg_::before{border-color:var(--theme_1iej8)}.___SInvalidPattern_1iej8_gg_{background:0 0;overflow:hidden}.___SInvalidPattern_1iej8_gg_:before{content:"";position:absolute;top:1px;left:1px;border-radius:50%;background-image:var(--intergalactic-border-critical-pattern, repeating-linear-gradient(315deg, rgb(255, 99, 100) 0, rgb(255, 99, 100) 1px, transparent 0, transparent 50%));background-size:6px 6px;background-color:var(--intergalactic-bg-primary-neutral, rgb(255, 255, 255))}@supports (color:color(display-p3 0 0 0%)){.___SInvalidPattern_1iej8_gg_:before{background-image:var(--intergalactic-border-critical-pattern, repeating-linear-gradient(315deg, rgb(255, 99, 100) 0, rgb(255, 99, 100) 1px, transparent 0, transparent 50%))}@media (color-gamut:p3){.___SInvalidPattern_1iej8_gg_:before{background-image:var(--intergalactic-border-critical-pattern, repeating-linear-gradient(315deg, color(display-p3 0.95478 0.398 0.38923) 0, color(display-p3 0.95478 0.398 0.38923) 1px, transparent 0, transparent 50%))}}}',
17
+ '.___SRadio_1pqxj_gg_{display:inline-flex;align-items:flex-start;cursor:pointer}.___SRadio_1pqxj_gg_ .___SText_1pqxj_gg_{margin-left:var(--intergalactic-spacing-2x,8px);color:var(--intergalactic-text-primary,#010500e5)}.___SRadio_1pqxj_gg_ .___SText_1pqxj_gg_.__color_1pqxj_gg_{color:var(--color_1pqxj)}.___SRadio_1pqxj_gg_.__disabled_1pqxj_gg_{pointer-events:none}.___SValue_1pqxj_gg_{position:relative;flex-shrink:0;padding:0;outline:none;z-index:0;margin-top:var(--intergalactic-spacing-05x,2px)}.___SValue_1pqxj_gg_:before{top:0;left:0;border:1px solid;transition:calc(var(--intergalactic-duration-control, 200)*1ms) all ease-in-out}.___SValue_1pqxj_gg_:after,.___SValue_1pqxj_gg_:before{content:"";position:absolute;right:0;bottom:0;background:var(--intergalactic-bg-primary-neutral,#fff);border-radius:50%}.___SValue_1pqxj_gg_:after{top:50%;left:50%;transform:translate(-50%,-50%);width:0;height:0}.___SValue_1pqxj_gg_.__disabled_1pqxj_gg_{opacity:var(--intergalactic-disabled-opacity,.4);cursor:default;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.___SValue_1pqxj_gg_._size_m_1pqxj_gg_{width:16px;height:16px}.___SValue_1pqxj_gg_._size_m_1pqxj_gg_ .___SInvalidPattern_1pqxj_gg_:before{width:14px;height:14px}.___SValue_1pqxj_gg_._size_l_1pqxj_gg_{width:20px;height:20px}.___SValue_1pqxj_gg_._size_l_1pqxj_gg_ .___SInvalidPattern_1pqxj_gg_:before{width:18px;height:18px}.___SValue_1pqxj_gg_._state_normal_1pqxj_gg_:before{border-color:var(--intergalactic-border-primary,#000c0829)}@supports (color:color(display-p3 0 0 0%)){.___SValue_1pqxj_gg_._state_normal_1pqxj_gg_:before{border-color:var(--intergalactic-border-primary,#000c0829)}@media (color-gamut:p3){.___SValue_1pqxj_gg_._state_normal_1pqxj_gg_:before{border-color:var(--intergalactic-border-primary,color(display-p3 .00798 .04498 .03219/.161))}}}.___SValue_1pqxj_gg_._state_invalid_1pqxj_gg_:before{border-color:var(--intergalactic-border-critical-active,#ff6364)}@supports (color:color(display-p3 0 0 0%)){.___SValue_1pqxj_gg_._state_invalid_1pqxj_gg_:before{border-color:var(--intergalactic-border-critical-active,#ff6364)}@media (color-gamut:p3){.___SValue_1pqxj_gg_._state_invalid_1pqxj_gg_:before{border-color:var(--intergalactic-border-critical-active,color(display-p3 .95478 .398 .38923))}}}.___SControl_1pqxj_gg_{position:absolute;clip:rect(1px,1px,1px,1px)}.___SControl_1pqxj_gg_:checked~.___SValue_1pqxj_gg_._size_m_1pqxj_gg_:after{width:6px;height:6px}.___SControl_1pqxj_gg_:checked~.___SValue_1pqxj_gg_._size_l_1pqxj_gg_:after{width:8px;height:8px}.___SControl_1pqxj_gg_:focus-visible+.___SValue_1pqxj_gg_._state_normal_1pqxj_gg_:before{border-color:var(--intergalactic-border-info-active,#8796ef);outline-color:var(--intergalactic-keyboard-focus-outline,#0020dd78);outline-style:solid;outline-width:2px;outline-offset:2px;transition-duration:calc(var(--intergalactic-duration-extra-fast, 100)*1ms);transition-timing-function:ease-in-out;transition-property:outline-color,outline-width,outline-offset}@supports (color:color(display-p3 0 0 0%)){.___SControl_1pqxj_gg_:focus-visible+.___SValue_1pqxj_gg_._state_normal_1pqxj_gg_:before{outline-color:var(--intergalactic-keyboard-focus-outline,#0020dd78)}@media (color-gamut:p3){.___SControl_1pqxj_gg_:focus-visible+.___SValue_1pqxj_gg_._state_normal_1pqxj_gg_:before{outline-color:var(--intergalactic-keyboard-focus-outline,color(display-p3 .03256 .12227 .83249/.469))}}}.___SControl_1pqxj_gg_:checked:focus-visible~.___SValue_1pqxj_gg_:before,.___SControl_1pqxj_gg_:checked~.___SValue_1pqxj_gg_:before{border-color:var(--intergalactic-control-primary-info,#1a1e1a);background-color:var(--intergalactic-control-primary-info,#1a1e1a)}.___SControl_1pqxj_gg_:focus-visible+.___SValue_1pqxj_gg_._state_invalid_1pqxj_gg_:before{border-color:var(--intergalactic-border-critical-active,#ff6364);outline-color:var(--intergalactic-keyboard-focus-outline,#0020dd78);outline-style:solid;outline-width:2px;outline-offset:2px;transition-duration:calc(var(--intergalactic-duration-extra-fast, 100)*1ms);transition-timing-function:ease-in-out;transition-property:outline-color,outline-width,outline-offset}@supports (color:color(display-p3 0 0 0%)){.___SControl_1pqxj_gg_:focus-visible+.___SValue_1pqxj_gg_._state_invalid_1pqxj_gg_:before{border-color:var(--intergalactic-border-critical-active,#ff6364);outline-color:var(--intergalactic-keyboard-focus-outline,#0020dd78)}@media (color-gamut:p3){.___SControl_1pqxj_gg_:focus-visible+.___SValue_1pqxj_gg_._state_invalid_1pqxj_gg_:before{border-color:var(--intergalactic-border-critical-active,color(display-p3 .95478 .398 .38923));outline-color:var(--intergalactic-keyboard-focus-outline,color(display-p3 .03256 .12227 .83249/.469))}}}@supports (color:oklab(0% 0 0%)){.___SControl_1pqxj_gg_:focus-visible+.___SValue_1pqxj_gg_._state_invalid_1pqxj_gg_:before{outline-color:var(--intergalactic-keyboard-focus-invalid-outline,oklch(.628 .257 28.9/.652))}}.___SControl_1pqxj_gg_:checked~.___SValue_1pqxj_gg_.__theme_1pqxj_gg_:before{border-color:var(--theme_1pqxj);background-color:var(--theme_1pqxj)}.___SValue_1pqxj_gg_._state_normal_1pqxj_gg_.__theme_1pqxj_gg_:before{border-color:var(--theme_1pqxj)}.___SInvalidPattern_1pqxj_gg_{background:#0000;overflow:hidden}.___SInvalidPattern_1pqxj_gg_:before{content:"";position:absolute;top:1px;left:1px;border-radius:50%;background-image:var(--intergalactic-border-critical-pattern,repeating-linear-gradient(315deg,#ff6364 0,#ff6364 1px,#0000 0,#0000 50%));background-size:6px 6px;background-color:var(--intergalactic-bg-primary-neutral,#fff)}@supports (color:color(display-p3 0 0 0%)){.___SInvalidPattern_1pqxj_gg_:before{background-image:var(--intergalactic-border-critical-pattern,repeating-linear-gradient(315deg,#ff6364 0,#ff6364 1px,#0000 0,#0000 50%))}@media (color-gamut:p3){.___SInvalidPattern_1pqxj_gg_:before{background-image:var(--intergalactic-border-critical-pattern,repeating-linear-gradient(315deg,color(display-p3 .95478 .398 .38923) 0,color(display-p3 .95478 .398 .38923) 1px,#0000 0,#0000 50%))}}}',
18
18
  /*__inner_css_end__*/
19
- "1iej8_gg_"
19
+ "1pqxj_gg_"
20
20
  ), /*__reshadow_css_end__*/
21
21
  {
22
- "__SRadio": "___SRadio_1iej8_gg_",
23
- "_disabled": "__disabled_1iej8_gg_",
24
- "__SValue": "___SValue_1iej8_gg_",
25
- "_state_normal": "_state_normal_1iej8_gg_",
26
- "_state_invalid": "_state_invalid_1iej8_gg_",
27
- "__SControl": "___SControl_1iej8_gg_",
28
- "_size_m": "_size_m_1iej8_gg_",
29
- "_size_l": "_size_l_1iej8_gg_",
30
- "_theme": "__theme_1iej8_gg_",
31
- "--theme": "--theme_1iej8",
32
- "__SText": "___SText_1iej8_gg_",
33
- "_color": "__color_1iej8_gg_",
34
- "--color": "--color_1iej8",
35
- "__SInvalidPattern": "___SInvalidPattern_1iej8_gg_"
22
+ "__SRadio": "___SRadio_1pqxj_gg_",
23
+ "_disabled": "__disabled_1pqxj_gg_",
24
+ "__SValue": "___SValue_1pqxj_gg_",
25
+ "_state_normal": "_state_normal_1pqxj_gg_",
26
+ "_state_invalid": "_state_invalid_1pqxj_gg_",
27
+ "__SControl": "___SControl_1pqxj_gg_",
28
+ "_size_m": "_size_m_1pqxj_gg_",
29
+ "_size_l": "_size_l_1pqxj_gg_",
30
+ "_theme": "__theme_1pqxj_gg_",
31
+ "--theme": "--theme_1pqxj",
32
+ "__SText": "___SText_1pqxj_gg_",
33
+ "_color": "__color_1pqxj_gg_",
34
+ "--color": "--color_1pqxj",
35
+ "__SInvalidPattern": "___SInvalidPattern_1pqxj_gg_"
36
36
  })
37
37
  );
38
38
  const RadioContext = /* @__PURE__ */ React.createContext({});
39
39
  class RadioGroupRoot extends Component {
40
40
  uncontrolledProps() {
41
41
  return {
42
- value: null
42
+ value: ""
43
43
  };
44
44
  }
45
45
  setContext() {
@@ -63,18 +63,20 @@ class RadioGroupRoot extends Component {
63
63
  render() {
64
64
  var _ref = this.asProps;
65
65
  const {
66
- Children
66
+ Children,
67
+ value
67
68
  } = this.asProps;
68
69
  return /* @__PURE__ */ React.createElement(Flex, assignProps({
69
70
  "direction": "column",
70
71
  "role": "group",
72
+ "use:value": value || void 0,
71
73
  "__excludeProps": ["onChange"]
72
74
  }, _ref), /* @__PURE__ */ React.createElement(Children, null));
73
75
  }
74
76
  }
75
77
  _defineProperty(RadioGroupRoot, "displayName", "RadioGroup");
76
78
  _defineProperty(RadioGroupRoot, "defaultProps", {
77
- defaultValue: null
79
+ defaultValue: ""
78
80
  });
79
81
  const RadioGroup = createComponent(RadioGroupRoot, {}, {
80
82
  context: RadioContext
@@ -2,7 +2,17 @@ import type { Intergalactic } from '@semcore/core';
2
2
  import { inputProps } from '@semcore/core/lib/utils/inputProps';
3
3
  import React from 'react';
4
4
  import type { NSRadio } from './Radio.type';
5
- declare const RadioGroup: NSRadio.Group.Component;
5
+ /**
6
+ * RadioGroup
7
+ *
8
+ * {@link https://developer.semrush.com/intergalactic/components/radio/radio-api/|API} | {@link https://developer.semrush.com/intergalactic/components/radio/radio-code/|Examples}
9
+ */
10
+ declare const RadioGroup: NSRadio.Group.Component<{}>;
11
+ /**
12
+ * Radio
13
+ *
14
+ * {@link https://developer.semrush.com/intergalactic/components/radio/radio-api/|API} | {@link https://developer.semrush.com/intergalactic/components/radio/radio-code/|Examples}
15
+ */
6
16
  declare const Radio: NSRadio.Component;
7
17
  export declare const wrapRadioGroup: <PropsExtending extends {}>(wrapper: (props: Intergalactic.InternalTypings.UntypeRefAndTag<Intergalactic.InternalTypings.ComponentPropsNesting<NSRadio.Group.Component>> & PropsExtending) => React.ReactNode) => NSRadio.Group.Component<PropsExtending>;
8
18
  export { inputProps, RadioGroup };
@@ -32,10 +32,17 @@ declare namespace NSRadio {
32
32
  getTextProps: PropGetterFn;
33
33
  };
34
34
  namespace Value {
35
+ type Handlers = {
36
+ checked: (e: React.ChangeEvent<HTMLInputElement>) => boolean;
37
+ };
35
38
  type Props = BoxProps & {
36
39
  /** List of elements that can be put on a hidden input */
37
40
  includeInputProps?: string[];
38
41
  };
42
+ type DefaultProps = {
43
+ includeInputProps: Props['includeInputProps'];
44
+ defaultChecked: false;
45
+ };
39
46
  namespace Control {
40
47
  type Props = {};
41
48
  type Component = Intergalactic.Component<'input', Props>;
@@ -70,6 +77,9 @@ declare namespace NSRadio {
70
77
  /** Blocks access and changes to the form field */
71
78
  disabled?: boolean;
72
79
  };
80
+ type DefaultProps = {
81
+ defaultValue: '';
82
+ };
73
83
  type Component<PropsExtending = {}> = (<V extends Value, Tag extends Intergalactic.Tag = 'div'>(props: Intergalactic.InternalTypings.ComponentProps<Tag, typeof Flex, Props<V>> & PropsExtending) => Intergalactic.InternalTypings.ComponentRenderingResults) & Intergalactic.InternalTypings.ComponentAdditive<'div', typeof Flex, Props>;
74
84
  }
75
85
  type Component = Intergalactic.Component<'label', Props, Ctx> & {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@semcore/radio",
3
3
  "description": "Semrush Radio Component",
4
- "version": "17.1.0",
4
+ "version": "17.2.0-prerelease.3",
5
5
  "main": "lib/cjs/index.js",
6
6
  "module": "lib/es6/index.js",
7
7
  "typings": "lib/types/index.d.ts",
@@ -14,10 +14,10 @@
14
14
  "require": "./lib/cjs/index.js"
15
15
  },
16
16
  "dependencies": {
17
- "@semcore/typography": "^17.1.0"
17
+ "@semcore/typography": "^17.2.0-prerelease.3"
18
18
  },
19
19
  "peerDependencies": {
20
- "@semcore/base-components": "^17.0.2"
20
+ "@semcore/base-components": "^17.2.0"
21
21
  },
22
22
  "repository": {
23
23
  "type": "git",
@@ -25,9 +25,9 @@
25
25
  "directory": "semcore/radio"
26
26
  },
27
27
  "devDependencies": {
28
- "@semcore/core": "17.1.0",
29
- "@semcore/testing-utils": "1.0.0",
30
- "@semcore/base-components": "17.0.2"
28
+ "@semcore/core": "17.2.0-prerelease.3",
29
+ "@semcore/base-components": "17.2.0-prerelease.3",
30
+ "@semcore/testing-utils": "1.0.0"
31
31
  },
32
32
  "scripts": {
33
33
  "build": "pnpm semcore-builder && pnpm vite build"