@widergy/energy-ui 3.171.0 → 3.171.2

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.
Files changed (56) hide show
  1. package/CHANGELOG.md +19 -3
  2. package/dist/components/UTBanner/stories/UTBanner.stories.js +16 -1
  3. package/dist/components/UTBaseInputField/theme.js +6 -5
  4. package/dist/components/UTButton/styles.module.scss +11 -11
  5. package/dist/components/UTButton/theme.js +1 -1
  6. package/dist/components/UTButtonGroup/styles.module.scss +1 -1
  7. package/dist/components/UTCheckbox/versions/V1/theme.js +4 -1
  8. package/dist/components/UTDataCategory/styles.module.scss +1 -1
  9. package/dist/components/UTDataCategory/theme.js +1 -1
  10. package/dist/components/UTDataElement/index.js +1 -1
  11. package/dist/components/UTDataElement/styles.module.scss +9 -9
  12. package/dist/components/UTDatePicker/versions/V1/stories/UTDatePickerV1.stories.js +59 -1
  13. package/dist/components/UTLabel/UTLabel.stories.js +81 -1
  14. package/dist/components/UTLabel/constants.js +10 -10
  15. package/dist/components/UTLabel/theme.js +4 -4
  16. package/dist/components/UTRadioGroup/versions/V1/index.js +12 -3
  17. package/dist/components/UTSelect/UTSelect.stories.js +897 -0
  18. package/dist/components/UTSelect/versions/V1/components/InputComponent/index.js +13 -3
  19. package/dist/components/UTSelect/versions/V1/components/ListboxComponent/index.js +7 -6
  20. package/dist/components/UTSelect/versions/V1/constants.js +10 -0
  21. package/dist/components/UTSelect/versions/V1/index.js +41 -68
  22. package/dist/components/UTSelect/versions/V1/types.js +54 -0
  23. package/dist/components/UTSelect/versions/V1/utils.js +10 -9
  24. package/dist/components/UTShortcutPanel/styles.module.scss +10 -10
  25. package/dist/components/UTStatus/theme.js +26 -26
  26. package/dist/esm/components/UTBanner/stories/UTBanner.stories.js +16 -1
  27. package/dist/esm/components/UTBaseInputField/theme.js +6 -5
  28. package/dist/esm/components/UTButton/styles.module.scss +11 -11
  29. package/dist/esm/components/UTButton/theme.js +1 -1
  30. package/dist/esm/components/UTButtonGroup/styles.module.scss +1 -1
  31. package/dist/esm/components/UTCheckbox/versions/V1/theme.js +4 -1
  32. package/dist/esm/components/UTDataCategory/styles.module.scss +1 -1
  33. package/dist/esm/components/UTDataCategory/theme.js +1 -1
  34. package/dist/esm/components/UTDataElement/index.js +1 -1
  35. package/dist/esm/components/UTDataElement/styles.module.scss +9 -9
  36. package/dist/esm/components/UTDatePicker/versions/V1/stories/UTDatePickerV1.stories.js +58 -0
  37. package/dist/esm/components/UTLabel/UTLabel.stories.js +80 -0
  38. package/dist/esm/components/UTLabel/constants.js +10 -10
  39. package/dist/esm/components/UTLabel/theme.js +4 -4
  40. package/dist/esm/components/UTRadioGroup/versions/V1/index.js +12 -3
  41. package/dist/esm/components/UTSelect/UTSelect.stories.js +889 -0
  42. package/dist/esm/components/UTSelect/versions/V1/components/InputComponent/index.js +14 -4
  43. package/dist/esm/components/UTSelect/versions/V1/components/ListboxComponent/index.js +4 -3
  44. package/dist/esm/components/UTSelect/versions/V1/constants.js +4 -0
  45. package/dist/esm/components/UTSelect/versions/V1/index.js +41 -68
  46. package/dist/esm/components/UTSelect/versions/V1/types.js +48 -0
  47. package/dist/esm/components/UTSelect/versions/V1/utils.js +7 -6
  48. package/dist/esm/components/UTShortcutPanel/styles.module.scss +10 -10
  49. package/dist/esm/components/UTStatus/theme.js +26 -26
  50. package/dist/esm/utils/hooks/useCSSVariables/constants.js +11 -9
  51. package/dist/utils/hooks/useCSSVariables/constants.js +11 -9
  52. package/package.json +10 -9
  53. package/dist/components/UTSelect/versions/V1/UTSelectV1.mdx +0 -13
  54. package/dist/components/UTSelect/versions/V1/UTSelectV1.stories.js +0 -741
  55. package/dist/esm/components/UTSelect/versions/V1/UTSelectV1.mdx +0 -13
  56. package/dist/esm/components/UTSelect/versions/V1/UTSelectV1.stories.js +0 -733
@@ -40,13 +40,13 @@ $small-icon: var(--UT-button-icon-size-sm, 1.25rem);
40
40
 
41
41
  .smallChildrenContainer {
42
42
  @extend %childrenContainer;
43
- grid-gap: var(--UT-button-gap-sm, 8px);
43
+ grid-gap: var(--UT-button-gap-sm, 0.5rem);
44
44
  }
45
45
 
46
46
  .largeChildrenContainer,
47
47
  .mediumChildrenContainer {
48
48
  @extend %childrenContainer;
49
- grid-gap: var(--UT-button-gap-md, 8px);
49
+ grid-gap: var(--UT-button-gap-md, 0.5rem);
50
50
  }
51
51
 
52
52
  .loading {
@@ -54,15 +54,15 @@ $small-icon: var(--UT-button-icon-size-sm, 1.25rem);
54
54
  }
55
55
 
56
56
  .paddingLarge {
57
- padding: var(--UT-button-padding-md, 12px) var(--UT-button-padding-lg, 16px);
57
+ padding: var(--UT-button-padding-md, 0.75rem) var(--UT-button-padding-lg, 1rem);
58
58
  }
59
59
 
60
60
  .paddingMedium {
61
- padding: var(--UT-button-padding-sm, 8px) var(--UT-button-padding-md, 12px);
61
+ padding: var(--UT-button-padding-sm, 0.5rem) var(--UT-button-padding-md, 0.75rem);
62
62
  }
63
63
 
64
64
  .paddingSmall {
65
- padding: var(--UT-button-padding-xs, 4px) var(--UT-button-padding-sm, 8px);
65
+ padding: var(--UT-button-padding-xs, 0.25rem) var(--UT-button-padding-sm, 0.5rem);
66
66
  }
67
67
 
68
68
  .hideTextOnResponsive {
@@ -74,33 +74,33 @@ $small-icon: var(--UT-button-icon-size-sm, 1.25rem);
74
74
 
75
75
  &.paddingLarge {
76
76
  @media #{$mobile} {
77
- padding: var(--UT-button-padding-md, 12px);
77
+ padding: var(--UT-button-padding-md, 0.75rem);
78
78
  }
79
79
  }
80
80
 
81
81
  &.paddingMedium {
82
82
  @media #{$mobile} {
83
- padding: var(--UT-button-padding-sm, 8px);
83
+ padding: var(--UT-button-padding-sm, 0.5rem);
84
84
  }
85
85
  }
86
86
 
87
87
  &.paddingSmall {
88
88
  @media #{$mobile} {
89
- padding: var(--UT-button-padding-xs, 4px);
89
+ padding: var(--UT-button-padding-xs, 0.25rem);
90
90
  }
91
91
  }
92
92
  }
93
93
 
94
94
  .noChildren {
95
95
  &.paddingLarge {
96
- padding: var(--UT-button-padding-md, 12px);
96
+ padding: var(--UT-button-padding-md, 0.75rem);
97
97
  }
98
98
 
99
99
  &.paddingMedium {
100
- padding: var(--UT-button-padding-sm, 8px);
100
+ padding: var(--UT-button-padding-sm, 0.5rem);
101
101
  }
102
102
 
103
103
  &.paddingSmall {
104
- padding: var(--UT-button-padding-xs, 4px);
104
+ padding: var(--UT-button-padding-xs, 0.25rem);
105
105
  }
106
106
  }
@@ -106,7 +106,7 @@ const baseButtonTheme = theme => {
106
106
  var _theme$UTButton;
107
107
  return {
108
108
  root: {
109
- borderRadius: 'var(--UT-button-radius, 4px)',
109
+ borderRadius: 'var(--UT-button-radius, 0.25rem)',
110
110
  boxShadow: 'none',
111
111
  minWidth: 'auto',
112
112
  textTransform: 'none',
@@ -8,7 +8,7 @@ $rounded-border-radius: 100px;
8
8
 
9
9
  .squareContainer {
10
10
  @extend %container;
11
- border-radius: var(--UT-buttonGroup-radius, 8px);
11
+ border-radius: var(--UT-buttonGroup-radius, 0.5rem);
12
12
 
13
13
  & > button {
14
14
  border: none !important;
@@ -72,7 +72,10 @@ const conditionalStyles = _ref => {
72
72
  content: {
73
73
  ...(reversed && {
74
74
  flexDirection: 'row-reverse',
75
- justifyContent: 'space-between'
75
+ justifyContent: 'space-between',
76
+ ...(variant === BUTTON_VARIANT && {
77
+ width: '100%'
78
+ })
76
79
  })
77
80
  },
78
81
  iconContainer: {
@@ -7,7 +7,7 @@
7
7
  align-items: center;
8
8
  display: flex;
9
9
  flex-direction: row;
10
- grid-gap: var(--UT-dataCategory-title-gap, 8px);
10
+ grid-gap: var(--UT-dataCategory-title-gap, 0.5rem);
11
11
  width: 100%;
12
12
  }
13
13
 
@@ -20,7 +20,7 @@ export const retrieveStyle = _ref => {
20
20
  return {
21
21
  area: {
22
22
  ...areaBackgroundColor,
23
- padding: 'var(--UT-dataCategory-padding, 16px)',
23
+ padding: 'var(--UT-dataCategory-padding, 1rem)',
24
24
  borderRadius: 8
25
25
  }
26
26
  };
@@ -92,7 +92,7 @@ const UTDataElement = _ref => {
92
92
  }, IconComponent && /*#__PURE__*/React.createElement(IconComponent, _extends({
93
93
  name: Icon,
94
94
  colorTheme: "gray",
95
- size: "var(--UT-dataElement-icon-size, 24px)"
95
+ size: "var(--UT-dataElement-icon-size, 1.5rem)"
96
96
  }, iconProps)), /*#__PURE__*/React.createElement("div", {
97
97
  className: infoClasses
98
98
  }, (prefix || title || showBadge) && /*#__PURE__*/React.createElement("div", {
@@ -4,13 +4,13 @@
4
4
  }
5
5
 
6
6
  .paddingSmall {
7
- padding-bottom: var(--UT-dataElement-padding-sm, 8px);
8
- padding-top: var(--UT-dataElement-padding-sm, 8px);
7
+ padding-bottom: var(--UT-dataElement-padding-sm, 0.5rem);
8
+ padding-top: var(--UT-dataElement-padding-sm, 0.5rem);
9
9
  }
10
10
 
11
11
  .paddingMedium {
12
- padding-bottom: var(--UT-dataElement-padding-md, 16px);
13
- padding-top: var(--UT-dataElement-padding-md, 16px);
12
+ padding-bottom: var(--UT-dataElement-padding-md, 1rem);
13
+ padding-top: var(--UT-dataElement-padding-md, 1rem);
14
14
  }
15
15
 
16
16
  .content {
@@ -25,31 +25,31 @@
25
25
  }
26
26
 
27
27
  .spacingSmall {
28
- grid-gap: var(--UT-dataElement-gap-sm, 8px);
28
+ grid-gap: var(--UT-dataElement-gap-sm, 0.5rem);
29
29
  }
30
30
 
31
31
  .spacingMedium {
32
- grid-gap: var(--UT-dataElement-gap-md, 16px);
32
+ grid-gap: var(--UT-dataElement-gap-md, 1rem);
33
33
  }
34
34
 
35
35
  .info {
36
36
  display: flex;
37
37
  flex: 1;
38
38
  flex-direction: row;
39
- grid-gap: var(--UT-dataElement-content-gap-x, 8px);
39
+ grid-gap: var(--UT-dataElement-content-gap-x, 0.5rem);
40
40
  justify-content: space-between;
41
41
  }
42
42
 
43
43
  .vertical {
44
44
  flex-direction: column;
45
- grid-gap: var(--UT-dataElement-content-gap-y, 8px);
45
+ grid-gap: var(--UT-dataElement-content-gap-y, 0.5rem);
46
46
  }
47
47
 
48
48
  .topInfo {
49
49
  align-items: center;
50
50
  display: flex;
51
51
  flex-direction: row;
52
- grid-gap: var(--UT-dataElement-content-gap-x, 8px);
52
+ grid-gap: var(--UT-dataElement-content-gap-x, 0.5rem);
53
53
  }
54
54
 
55
55
  .iconCollapseButton {
@@ -238,4 +238,62 @@ export const WithTitleAndError = {
238
238
  };
239
239
  export const TestSite = {
240
240
  render: () => /*#__PURE__*/React.createElement(TestSiteStory, null)
241
+ };
242
+ export const PickerVariant = {
243
+ name: 'Variant — Picker',
244
+ parameters: {
245
+ docs: {
246
+ description: {
247
+ story: 'Variante picker: fondo transparente en default, `light03` al hacer foco, sin borde. Ideal para usar sobre cards o fondos con color. Comparado con la variante select (fondo blanco con borde).'
248
+ }
249
+ }
250
+ },
251
+ render: () => /*#__PURE__*/React.createElement("div", {
252
+ style: {
253
+ display: 'flex',
254
+ flexDirection: 'column',
255
+ gap: '2rem',
256
+ padding: '1rem'
257
+ }
258
+ }, /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("p", {
259
+ style: {
260
+ fontSize: '0.7rem',
261
+ color: '#94a3b8',
262
+ fontFamily: 'monospace',
263
+ marginBottom: 4
264
+ }
265
+ }, "variant=select (default)"), /*#__PURE__*/React.createElement(ControlledWrapper, {
266
+ variant: "select"
267
+ })), /*#__PURE__*/React.createElement("div", {
268
+ style: {
269
+ background: '#f1f5f9',
270
+ borderRadius: '0.5rem',
271
+ padding: '1rem'
272
+ }
273
+ }, /*#__PURE__*/React.createElement("p", {
274
+ style: {
275
+ fontSize: '0.7rem',
276
+ color: '#94a3b8',
277
+ fontFamily: 'monospace',
278
+ marginBottom: 4
279
+ }
280
+ }, "variant=picker"), /*#__PURE__*/React.createElement(ControlledWrapper, {
281
+ variant: "picker"
282
+ })), /*#__PURE__*/React.createElement("div", {
283
+ style: {
284
+ background: '#f1f5f9',
285
+ borderRadius: '0.5rem',
286
+ padding: '1rem'
287
+ }
288
+ }, /*#__PURE__*/React.createElement("p", {
289
+ style: {
290
+ fontSize: '0.7rem',
291
+ color: '#94a3b8',
292
+ fontFamily: 'monospace',
293
+ marginBottom: 4
294
+ }
295
+ }, "variant=picker con valor seleccionado"), /*#__PURE__*/React.createElement(ControlledWrapper, {
296
+ initialValue: "15/06/2024",
297
+ variant: "picker"
298
+ })))
241
299
  };
@@ -1,3 +1,4 @@
1
+ import React from 'react';
1
2
  import { joinArgTypes } from 'stories/utils';
2
3
  import { COLOR_SHADES, COLOR_THEMES } from '../../constants/Palette';
3
4
  import { DEFAULT_PROPS, VARIANTS, WEIGHTS } from './constants';
@@ -144,4 +145,83 @@ export const Default = {
144
145
  shade: '05'
145
146
  },
146
147
  name: 'Playground'
148
+ };
149
+ const BODY_TEXT = 'El sistema de diseño provee tokens de tipografía que garantizan consistencia visual en todos los productos. Cada nivel de heading tiene un line-height proporcional a su tamaño para una lectura cómoda.';
150
+ const SMALL_TEXT = 'Los valores de consumo se actualizan cada 15 minutos y se almacenan durante 24 meses para análisis histórico.';
151
+ const XSMALL_TEXT = 'Última actualización: 26/05/2026 · Fuente: medidor digital · ID lectura: 00487-A';
152
+ const HEADINGS = [{
153
+ variant: 'title1',
154
+ label: 'Title 1 — H1',
155
+ heading: 'Gestión de energía para utilities modernas que operan en múltiples regiones del país'
156
+ }, {
157
+ variant: 'title2',
158
+ label: 'Title 2 — H2',
159
+ heading: 'Seguimiento de consumo en tiempo real con integración a sistemas de medición inteligente'
160
+ }, {
161
+ variant: 'title3',
162
+ label: 'Title 3 — H3',
163
+ heading: 'Configuración de alertas, notificaciones y umbrales de consumo por categoría de usuario'
164
+ }, {
165
+ variant: 'subtitle1',
166
+ label: 'Subtitle 1 — H4',
167
+ heading: 'Parámetros de medición avanzada para clientes residenciales de alta demanda energética'
168
+ }, {
169
+ variant: 'subtitle2',
170
+ label: 'Subtitle 2 — H5',
171
+ heading: 'Detalles del período de facturación correspondiente al bimestre actual del servicio eléctrico'
172
+ }];
173
+ export const HeadingBlocks = {
174
+ name: 'Bloques heading + texto',
175
+ parameters: {
176
+ docs: {
177
+ description: {
178
+ story: 'Cada categoría de heading junto a párrafos de body, small y xsmall para verificar jerarquía y line-height.'
179
+ }
180
+ }
181
+ },
182
+ render: () => {
183
+ const pageStyle = {
184
+ display: 'flex',
185
+ flexDirection: 'column',
186
+ gap: '3rem',
187
+ maxWidth: '560px',
188
+ padding: '2rem'
189
+ };
190
+ const blockStyle = {
191
+ display: 'flex',
192
+ flexDirection: 'column',
193
+ gap: '0.75rem',
194
+ borderLeft: '3px solid #e2e8f0',
195
+ paddingLeft: '1rem'
196
+ };
197
+ const chipStyle = {
198
+ fontSize: '0.7rem',
199
+ color: '#94a3b8',
200
+ fontFamily: 'monospace',
201
+ marginBottom: '0.25rem'
202
+ };
203
+ return /*#__PURE__*/React.createElement("div", {
204
+ style: pageStyle
205
+ }, HEADINGS.map(_ref => {
206
+ let {
207
+ variant,
208
+ label,
209
+ heading
210
+ } = _ref;
211
+ return /*#__PURE__*/React.createElement("div", {
212
+ key: variant,
213
+ style: blockStyle
214
+ }, /*#__PURE__*/React.createElement("span", {
215
+ style: chipStyle
216
+ }, label), /*#__PURE__*/React.createElement(UTLabel, {
217
+ variant: variant
218
+ }, heading), /*#__PURE__*/React.createElement(UTLabel, {
219
+ variant: "small"
220
+ }, BODY_TEXT), /*#__PURE__*/React.createElement(UTLabel, {
221
+ variant: "small"
222
+ }, SMALL_TEXT), /*#__PURE__*/React.createElement(UTLabel, {
223
+ variant: "xsmall"
224
+ }, XSMALL_TEXT));
225
+ }));
226
+ }
147
227
  };
@@ -36,16 +36,16 @@ export const VARIANTS_SIZES = {
36
36
  [VARIANTS_NAMES.TD]: 'var(--UT-label-size-body, 1rem)'
37
37
  };
38
38
  export const VARIANTS_LINE_HEIGHT = {
39
- [VARIANTS_NAMES.TITLE1]: 'var(--UT-label-lh-heading, 100%)',
40
- [VARIANTS_NAMES.TITLE2]: 'var(--UT-label-lh-heading, 100%)',
41
- [VARIANTS_NAMES.TITLE3]: 'var(--UT-label-lh-heading, 100%)',
42
- [VARIANTS_NAMES.SUBTITLE1]: 'var(--UT-label-lh-heading, 100%)',
43
- [VARIANTS_NAMES.SUBTITLE2]: 'var(--UT-label-lh-body, 1.375rem)',
44
- [VARIANTS_NAMES.BODY]: 'var(--UT-label-lh-body, 1.375rem)',
45
- [VARIANTS_NAMES.SMALL]: 'var(--UT-label-lh-small, 1.25rem)',
46
- [VARIANTS_NAMES.XSMALL]: 'var(--UT-label-lh-xsmall, 1.125rem)',
47
- [VARIANTS_NAMES.TH]: 'var(--UT-label-lh-body, 1.375rem)',
48
- [VARIANTS_NAMES.TD]: 'var(--UT-label-lh-body, 1.375rem)'
39
+ [VARIANTS_NAMES.TITLE1]: 'var(--UT-label-lh-heading, 1.2)',
40
+ [VARIANTS_NAMES.TITLE2]: 'var(--UT-label-lh-heading, 1.2)',
41
+ [VARIANTS_NAMES.TITLE3]: 'var(--UT-label-lh-heading, 1.2)',
42
+ [VARIANTS_NAMES.SUBTITLE1]: 'var(--UT-label-lh-subheading, 1.4)',
43
+ [VARIANTS_NAMES.SUBTITLE2]: 'var(--UT-label-lh-subheading, 1.4)',
44
+ [VARIANTS_NAMES.BODY]: 'var(--UT-label-lh-body, 1.4)',
45
+ [VARIANTS_NAMES.SMALL]: 'var(--UT-label-lh-small, 1.4)',
46
+ [VARIANTS_NAMES.XSMALL]: 'var(--UT-label-lh-xsmall, 1.5)',
47
+ [VARIANTS_NAMES.TH]: 'var(--UT-label-lh-body, 1.4)',
48
+ [VARIANTS_NAMES.TD]: 'var(--UT-label-lh-body, 1.4)'
49
49
  };
50
50
  export const WEIGHTS = {
51
51
  thin: 'var(--UT-label-weight-thin, 100)',
@@ -63,7 +63,7 @@ export const retrieveStyle = _ref2 => {
63
63
  '& h1, & h2, & h3, & h4, & h5, & h6': {
64
64
  color: darkTextColor,
65
65
  fontWeight: WEIGHTS.medium,
66
- lineHeight: 'var(--UT-label-lh-heading, 1)',
66
+ lineHeight: 'var(--UT-label-lh-heading, 1.2)',
67
67
  margin: '0 0 var(--UT-label-markdown-margin-md, 8px) 0'
68
68
  },
69
69
  '& h1': {
@@ -119,9 +119,9 @@ export const retrieveStyle = _ref2 => {
119
119
  },
120
120
  '& pre': {
121
121
  backgroundColor: theme.Palette[COLOR_THEMES.light][COLOR_SHADES.shade03],
122
- borderRadius: 'var(--UT-radius-md, 8px)',
122
+ borderRadius: 'var(--UT-radius-md, 0.5rem)',
123
123
  fontSize: 'var(--UT-label-size-small, 0.875em)',
124
- lineHeight: 'var(--UT-label-lh-small, 1.25em)',
124
+ lineHeight: 'var(--UT-label-lh-small, 1.4)',
125
125
  margin: '0 0 var(--UT-label-markdown-margin-xl, 24px) 0',
126
126
  padding: 'var(--UT-label-markdown-padding-sm, 12px) var(--UT-label-markdown-padding-md, 16px)',
127
127
  whiteSpace: 'pre-wrap'
@@ -168,7 +168,7 @@ export const retrieveStyle = _ref2 => {
168
168
  fontSize: 'var(--UT-label-size-xsmall, 0.75em)'
169
169
  },
170
170
  '& img, & video, & audio': {
171
- borderRadius: 'var(--UT-radius-md, 8px)',
171
+ borderRadius: 'var(--UT-radius-md, 0.5rem)',
172
172
  margin: '0 0 var(--UT-label-markdown-margin-xl, 24px) 0'
173
173
  },
174
174
  '& .contains-task-list': {
@@ -5,6 +5,8 @@ import RadioGroup from '@material-ui/core/RadioGroup';
5
5
  import { buttonTypes } from '../../../../types/buttonTypes';
6
6
  import UTFieldLabel from '../../../UTFieldLabel';
7
7
  import UTLabel from '../../../UTLabel';
8
+ import { formatErrorToValidation } from '../../../UTValidation/utils';
9
+ import UTValidation from '../../../UTValidation';
8
10
  import Radio from './components/Radio';
9
11
  import styles from './styles.module.scss';
10
12
  import { NO_CATEGORY } from './constants';
@@ -13,9 +15,13 @@ const UTRadioGroup = _ref => {
13
15
  actions,
14
16
  classNames = {},
15
17
  dataTestId,
18
+ descriptionProps,
16
19
  disabled,
20
+ error,
21
+ errorDataTestId,
17
22
  horizontalSpacing = 'medium',
18
23
  itemDataTestId,
24
+ nameProps,
19
25
  onChange = () => {},
20
26
  options,
21
27
  required,
@@ -23,8 +29,6 @@ const UTRadioGroup = _ref => {
23
29
  title,
24
30
  value = null,
25
31
  variant,
26
- nameProps,
27
- descriptionProps,
28
32
  verticalSpacing = 'medium'
29
33
  } = _ref;
30
34
  const categorizedOptions = useMemo(() => {
@@ -47,6 +51,7 @@ const UTRadioGroup = _ref => {
47
51
  return categoryA === NO_CATEGORY ? -1 : categoryB === NO_CATEGORY ? 1 : 0;
48
52
  });
49
53
  }, [options]);
54
+ const validationData = useMemo(() => error && formatErrorToValidation(error), [error]);
50
55
  return /*#__PURE__*/React.createElement("div", {
51
56
  className: "".concat(styles.container, " ").concat(classNames.root),
52
57
  "data-testid": dataTestId
@@ -80,7 +85,10 @@ const UTRadioGroup = _ref => {
80
85
  spacing: horizontalSpacing,
81
86
  variant: variant
82
87
  }, (item === null || item === void 0 ? void 0 : item.configuration) || {}, item))));
83
- })));
88
+ })), validationData && /*#__PURE__*/React.createElement(UTValidation, {
89
+ dataTestId: errorDataTestId,
90
+ validationData: validationData
91
+ }));
84
92
  };
85
93
  UTRadioGroup.propTypes = {
86
94
  actions: arrayOf(buttonTypes),
@@ -89,6 +97,7 @@ UTRadioGroup.propTypes = {
89
97
  descriptionProps: object,
90
98
  disabled: bool,
91
99
  error: string,
100
+ errorDataTestId: string,
92
101
  horizontalSpacing: string,
93
102
  itemDataTestId: string,
94
103
  nameProps: object,