@dxc-technology/halstack-react 0.0.0-65fe4ab → 0.0.0-660d852

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 (254) hide show
  1. package/HalstackContext.d.ts +12 -0
  2. package/HalstackContext.js +295 -0
  3. package/accordion/Accordion.d.ts +1 -1
  4. package/accordion/Accordion.js +122 -135
  5. package/accordion/Accordion.stories.tsx +13 -14
  6. package/accordion/Accordion.test.js +71 -0
  7. package/accordion/types.d.ts +10 -10
  8. package/accordion-group/AccordionGroup.d.ts +1 -1
  9. package/accordion-group/AccordionGroup.js +15 -36
  10. package/accordion-group/AccordionGroup.stories.tsx +28 -2
  11. package/accordion-group/AccordionGroup.test.js +126 -0
  12. package/accordion-group/types.d.ts +15 -9
  13. package/alert/Alert.js +5 -2
  14. package/alert/Alert.test.js +92 -0
  15. package/badge/Badge.d.ts +4 -0
  16. package/badge/Badge.js +5 -3
  17. package/badge/types.d.ts +5 -0
  18. package/{list → badge}/types.js +0 -0
  19. package/bleed/Bleed.js +1 -34
  20. package/bleed/Bleed.stories.tsx +94 -95
  21. package/bleed/types.d.ts +25 -1
  22. package/box/Box.js +23 -33
  23. package/box/Box.test.js +18 -0
  24. package/bulleted-list/BulletedList.d.ts +7 -0
  25. package/bulleted-list/BulletedList.js +123 -0
  26. package/bulleted-list/BulletedList.stories.tsx +200 -0
  27. package/bulleted-list/types.d.ts +11 -0
  28. package/{radio → bulleted-list}/types.js +0 -0
  29. package/button/Button.js +53 -68
  30. package/button/Button.stories.tsx +9 -0
  31. package/button/Button.test.js +35 -0
  32. package/button/types.d.ts +7 -7
  33. package/card/Card.js +24 -27
  34. package/card/Card.test.js +50 -0
  35. package/checkbox/Checkbox.d.ts +1 -1
  36. package/checkbox/Checkbox.js +103 -106
  37. package/checkbox/Checkbox.stories.tsx +124 -128
  38. package/checkbox/Checkbox.test.js +155 -0
  39. package/checkbox/types.d.ts +9 -5
  40. package/chip/Chip.d.ts +1 -1
  41. package/chip/Chip.js +14 -52
  42. package/chip/Chip.stories.tsx +6 -8
  43. package/chip/Chip.test.js +56 -0
  44. package/chip/types.d.ts +5 -13
  45. package/common/variables.js +237 -340
  46. package/date-input/DateInput.js +56 -42
  47. package/date-input/DateInput.stories.tsx +7 -7
  48. package/date-input/DateInput.test.js +479 -0
  49. package/date-input/types.d.ts +16 -9
  50. package/dialog/Dialog.js +46 -50
  51. package/dialog/Dialog.stories.tsx +1 -2
  52. package/dialog/Dialog.test.js +70 -0
  53. package/dialog/types.d.ts +2 -2
  54. package/dropdown/Dropdown.d.ts +1 -1
  55. package/dropdown/Dropdown.js +243 -273
  56. package/dropdown/Dropdown.stories.tsx +144 -79
  57. package/dropdown/Dropdown.test.js +591 -0
  58. package/dropdown/DropdownMenu.d.ts +4 -0
  59. package/dropdown/DropdownMenu.js +80 -0
  60. package/dropdown/DropdownMenuItem.d.ts +4 -0
  61. package/dropdown/DropdownMenuItem.js +92 -0
  62. package/dropdown/types.d.ts +29 -18
  63. package/file-input/FileInput.js +9 -6
  64. package/file-input/FileInput.test.js +457 -0
  65. package/file-input/FileItem.js +7 -5
  66. package/flex/Flex.d.ts +4 -0
  67. package/flex/Flex.js +57 -0
  68. package/flex/Flex.stories.tsx +103 -0
  69. package/flex/types.d.ts +21 -0
  70. package/{row → flex}/types.js +0 -0
  71. package/footer/Footer.js +15 -88
  72. package/footer/Footer.stories.tsx +8 -1
  73. package/footer/Footer.test.js +109 -0
  74. package/footer/Icons.js +1 -1
  75. package/footer/types.d.ts +1 -1
  76. package/header/Header.js +95 -114
  77. package/header/Header.stories.tsx +46 -36
  78. package/header/Header.test.js +79 -0
  79. package/header/Icons.js +2 -2
  80. package/header/types.d.ts +2 -2
  81. package/heading/Heading.test.js +186 -0
  82. package/inset/Inset.js +1 -34
  83. package/inset/Inset.stories.tsx +36 -36
  84. package/inset/types.d.ts +25 -1
  85. package/layout/ApplicationLayout.d.ts +16 -6
  86. package/layout/ApplicationLayout.js +71 -125
  87. package/layout/ApplicationLayout.stories.tsx +84 -93
  88. package/layout/Icons.d.ts +5 -0
  89. package/layout/Icons.js +13 -2
  90. package/layout/SidenavContext.d.ts +5 -0
  91. package/layout/SidenavContext.js +19 -0
  92. package/layout/types.d.ts +18 -33
  93. package/link/Link.d.ts +3 -2
  94. package/link/Link.js +60 -85
  95. package/link/Link.stories.tsx +99 -52
  96. package/link/Link.test.js +83 -0
  97. package/link/types.d.ts +9 -29
  98. package/main.d.ts +11 -15
  99. package/main.js +53 -79
  100. package/number-input/NumberInput.js +11 -18
  101. package/number-input/NumberInput.stories.tsx +5 -5
  102. package/number-input/NumberInput.test.js +506 -0
  103. package/number-input/types.d.ts +17 -10
  104. package/package.json +14 -12
  105. package/paginator/Paginator.js +17 -38
  106. package/paginator/Paginator.test.js +308 -0
  107. package/paragraph/Paragraph.d.ts +6 -0
  108. package/paragraph/Paragraph.js +38 -0
  109. package/paragraph/Paragraph.stories.tsx +44 -0
  110. package/password-input/PasswordInput.js +7 -4
  111. package/password-input/PasswordInput.test.js +180 -0
  112. package/password-input/types.d.ts +14 -11
  113. package/progress-bar/ProgressBar.d.ts +2 -2
  114. package/progress-bar/ProgressBar.js +57 -51
  115. package/progress-bar/ProgressBar.stories.jsx +13 -11
  116. package/progress-bar/ProgressBar.test.js +110 -0
  117. package/progress-bar/types.d.ts +3 -4
  118. package/quick-nav/QuickNav.d.ts +4 -0
  119. package/quick-nav/QuickNav.js +118 -0
  120. package/quick-nav/QuickNav.stories.tsx +264 -0
  121. package/quick-nav/types.d.ts +21 -0
  122. package/{stack → quick-nav}/types.js +0 -0
  123. package/radio-group/Radio.d.ts +1 -1
  124. package/radio-group/Radio.js +25 -24
  125. package/radio-group/RadioGroup.js +58 -50
  126. package/radio-group/RadioGroup.stories.tsx +60 -39
  127. package/radio-group/RadioGroup.test.js +530 -83
  128. package/radio-group/types.d.ts +80 -2
  129. package/resultsetTable/ResultsetTable.js +5 -2
  130. package/resultsetTable/ResultsetTable.test.js +348 -0
  131. package/select/Icons.d.ts +10 -0
  132. package/select/Icons.js +93 -0
  133. package/select/Listbox.d.ts +4 -0
  134. package/select/Listbox.js +198 -0
  135. package/select/Option.d.ts +4 -0
  136. package/select/Option.js +110 -0
  137. package/select/Select.js +145 -365
  138. package/select/Select.stories.tsx +231 -176
  139. package/select/Select.test.js +2175 -0
  140. package/select/types.d.ts +52 -12
  141. package/sidenav/Sidenav.d.ts +6 -5
  142. package/sidenav/Sidenav.js +184 -52
  143. package/sidenav/Sidenav.stories.tsx +154 -156
  144. package/sidenav/Sidenav.test.js +44 -0
  145. package/sidenav/types.d.ts +50 -27
  146. package/slider/Slider.d.ts +1 -1
  147. package/slider/Slider.js +116 -94
  148. package/slider/Slider.stories.tsx +15 -9
  149. package/slider/Slider.test.js +250 -0
  150. package/slider/types.d.ts +6 -2
  151. package/spinner/Spinner.js +1 -1
  152. package/spinner/Spinner.test.js +64 -0
  153. package/switch/Switch.d.ts +2 -2
  154. package/switch/Switch.js +128 -56
  155. package/switch/Switch.stories.tsx +20 -42
  156. package/switch/Switch.test.js +212 -0
  157. package/switch/types.d.ts +9 -6
  158. package/table/Table.test.js +26 -0
  159. package/tabs/Tab.d.ts +4 -0
  160. package/tabs/Tab.js +135 -0
  161. package/tabs/Tabs.d.ts +1 -1
  162. package/tabs/Tabs.js +362 -108
  163. package/tabs/Tabs.stories.tsx +74 -8
  164. package/tabs/Tabs.test.js +351 -0
  165. package/tabs/types.d.ts +19 -5
  166. package/tabs-nav/NavTabs.d.ts +8 -0
  167. package/tabs-nav/NavTabs.js +125 -0
  168. package/tabs-nav/NavTabs.stories.tsx +170 -0
  169. package/tabs-nav/NavTabs.test.js +82 -0
  170. package/tabs-nav/Tab.d.ts +4 -0
  171. package/tabs-nav/Tab.js +130 -0
  172. package/tabs-nav/types.d.ts +53 -0
  173. package/tabs-nav/types.js +5 -0
  174. package/tag/Tag.d.ts +1 -1
  175. package/tag/Tag.js +18 -28
  176. package/tag/Tag.stories.tsx +25 -28
  177. package/tag/Tag.test.js +60 -0
  178. package/tag/types.d.ts +23 -14
  179. package/text-input/Icons.d.ts +8 -0
  180. package/text-input/Icons.js +60 -0
  181. package/text-input/Suggestion.d.ts +4 -0
  182. package/text-input/Suggestion.js +57 -0
  183. package/text-input/Suggestions.d.ts +4 -0
  184. package/text-input/Suggestions.js +134 -0
  185. package/text-input/TextInput.js +148 -279
  186. package/text-input/TextInput.stories.tsx +219 -194
  187. package/text-input/TextInput.test.js +1713 -0
  188. package/text-input/types.d.ts +45 -12
  189. package/textarea/Textarea.js +20 -27
  190. package/textarea/Textarea.stories.jsx +33 -12
  191. package/textarea/Textarea.test.js +437 -0
  192. package/textarea/types.d.ts +18 -11
  193. package/toggle-group/ToggleGroup.d.ts +1 -1
  194. package/toggle-group/ToggleGroup.js +5 -4
  195. package/toggle-group/ToggleGroup.stories.tsx +4 -4
  196. package/toggle-group/ToggleGroup.test.js +156 -0
  197. package/toggle-group/types.d.ts +9 -1
  198. package/typography/Typography.d.ts +4 -0
  199. package/typography/Typography.js +131 -0
  200. package/typography/Typography.stories.tsx +198 -0
  201. package/typography/types.d.ts +18 -0
  202. package/typography/types.js +5 -0
  203. package/useTheme.js +2 -2
  204. package/useTranslatedLabels.d.ts +2 -0
  205. package/useTranslatedLabels.js +20 -0
  206. package/wizard/Wizard.d.ts +1 -1
  207. package/wizard/Wizard.js +58 -54
  208. package/wizard/Wizard.stories.tsx +33 -24
  209. package/wizard/Wizard.test.js +141 -0
  210. package/wizard/types.d.ts +10 -5
  211. package/ThemeContext.d.ts +0 -15
  212. package/ThemeContext.js +0 -243
  213. package/V3Select/V3Select.js +0 -455
  214. package/V3Select/index.d.ts +0 -27
  215. package/V3Textarea/V3Textarea.js +0 -260
  216. package/V3Textarea/index.d.ts +0 -27
  217. package/date/Date.js +0 -373
  218. package/date/index.d.ts +0 -27
  219. package/input-text/Icons.js +0 -22
  220. package/input-text/InputText.js +0 -611
  221. package/input-text/index.d.ts +0 -36
  222. package/list/List.d.ts +0 -4
  223. package/list/List.js +0 -47
  224. package/list/List.stories.tsx +0 -95
  225. package/list/types.d.ts +0 -7
  226. package/radio/Radio.d.ts +0 -4
  227. package/radio/Radio.js +0 -174
  228. package/radio/Radio.stories.tsx +0 -192
  229. package/radio/types.d.ts +0 -54
  230. package/row/Row.d.ts +0 -3
  231. package/row/Row.js +0 -127
  232. package/row/Row.stories.tsx +0 -237
  233. package/row/types.d.ts +0 -10
  234. package/stack/Stack.d.ts +0 -3
  235. package/stack/Stack.js +0 -97
  236. package/stack/Stack.stories.tsx +0 -164
  237. package/stack/types.d.ts +0 -9
  238. package/text/Text.d.ts +0 -7
  239. package/text/Text.js +0 -30
  240. package/text/Text.stories.tsx +0 -19
  241. package/toggle/Toggle.js +0 -186
  242. package/toggle/index.d.ts +0 -21
  243. package/upload/Upload.js +0 -201
  244. package/upload/buttons-upload/ButtonsUpload.js +0 -111
  245. package/upload/buttons-upload/Icons.js +0 -40
  246. package/upload/dragAndDropArea/DragAndDropArea.js +0 -225
  247. package/upload/dragAndDropArea/Icons.js +0 -39
  248. package/upload/file-upload/FileToUpload.js +0 -115
  249. package/upload/file-upload/Icons.js +0 -66
  250. package/upload/files-upload/FilesToUpload.js +0 -109
  251. package/upload/index.d.ts +0 -15
  252. package/upload/transaction/Icons.js +0 -160
  253. package/upload/transaction/Transaction.js +0 -104
  254. package/upload/transactions/Transactions.js +0 -94
@@ -23,6 +23,8 @@ var _uuid = require("uuid");
23
23
 
24
24
  var _useTheme = _interopRequireDefault(require("../useTheme"));
25
25
 
26
+ var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
27
+
26
28
  var _Radio = _interopRequireDefault(require("./Radio"));
27
29
 
28
30
  var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7;
@@ -47,8 +49,7 @@ var DxcRadioGroup = /*#__PURE__*/_react["default"].forwardRef(function (_ref, re
47
49
  disabled = _ref$disabled === void 0 ? false : _ref$disabled,
48
50
  _ref$optional = _ref.optional,
49
51
  optional = _ref$optional === void 0 ? false : _ref$optional,
50
- _ref$optionalItemLabe = _ref.optionalItemLabel,
51
- optionalItemLabel = _ref$optionalItemLabe === void 0 ? "N/A" : _ref$optionalItemLabe,
52
+ optionalItemLabel = _ref.optionalItemLabel,
52
53
  _ref$readonly = _ref.readonly,
53
54
  readonly = _ref$readonly === void 0 ? false : _ref$readonly,
54
55
  _ref$stacking = _ref.stacking,
@@ -57,7 +58,9 @@ var DxcRadioGroup = /*#__PURE__*/_react["default"].forwardRef(function (_ref, re
57
58
  value = _ref.value,
58
59
  onChange = _ref.onChange,
59
60
  onBlur = _ref.onBlur,
60
- error = _ref.error;
61
+ error = _ref.error,
62
+ _ref$tabIndex = _ref.tabIndex,
63
+ tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
61
64
 
62
65
  var _useState = (0, _react.useState)("radio-group-".concat((0, _uuid.v4)())),
63
66
  _useState2 = (0, _slicedToArray2["default"])(_useState, 1),
@@ -76,8 +79,10 @@ var DxcRadioGroup = /*#__PURE__*/_react["default"].forwardRef(function (_ref, re
76
79
  firstTimeFocus = _useState6[0],
77
80
  setFirstTimeFocus = _useState6[1];
78
81
 
82
+ var colorsTheme = (0, _useTheme["default"])();
83
+ var translatedLabels = (0, _useTranslatedLabels["default"])();
79
84
  var optionalItem = {
80
- label: optionalItemLabel,
85
+ label: optionalItemLabel || translatedLabels.radioGroup.optionalItemLabelDefault,
81
86
  value: "",
82
87
  disabled: disabled
83
88
  };
@@ -90,7 +95,6 @@ var DxcRadioGroup = /*#__PURE__*/_react["default"].forwardRef(function (_ref, re
90
95
  currentFocusIndex = _useState8[0],
91
96
  setCurrentFocusIndex = _useState8[1];
92
97
 
93
- var colorsTheme = (0, _useTheme["default"])();
94
98
  var handleOnChange = (0, _react.useCallback)(function (newValue) {
95
99
  var currentValue = value !== null && value !== void 0 ? value : innerValue;
96
100
 
@@ -102,66 +106,68 @@ var DxcRadioGroup = /*#__PURE__*/_react["default"].forwardRef(function (_ref, re
102
106
 
103
107
  var handleOnBlur = function handleOnBlur(e) {
104
108
  // If the radio group loses the focus to an element not contained inside it...
105
- !e.currentTarget.contains(e.relatedTarget) && setFirstTimeFocus(true);
106
- var currentValue = value !== null && value !== void 0 ? value : innerValue;
107
- !optional && !Boolean(currentValue) ? onBlur === null || onBlur === void 0 ? void 0 : onBlur({
108
- value: currentValue,
109
- error: "This field is required. Please, choose an option."
110
- }) : onBlur === null || onBlur === void 0 ? void 0 : onBlur({
111
- value: currentValue
112
- });
109
+ if (!e.currentTarget.contains(e.relatedTarget)) {
110
+ setFirstTimeFocus(true);
111
+ var currentValue = value !== null && value !== void 0 ? value : innerValue;
112
+ !optional && !Boolean(currentValue) ? onBlur === null || onBlur === void 0 ? void 0 : onBlur({
113
+ value: currentValue,
114
+ error: translatedLabels.formFields.requiredSelectionErrorMessage
115
+ }) : onBlur === null || onBlur === void 0 ? void 0 : onBlur({
116
+ value: currentValue
117
+ });
118
+ }
119
+ };
120
+
121
+ var handleOnFocus = function handleOnFocus() {
122
+ firstTimeFocus && setFirstTimeFocus(false);
113
123
  };
114
124
 
115
125
  var setPreviousRadioChecked = function setPreviousRadioChecked() {
116
- if (!disabled) {
117
- setCurrentFocusIndex(function (currentFocusIndex) {
118
- var index = currentFocusIndex === 0 ? innerOptions.length - 1 : currentFocusIndex - 1;
126
+ setCurrentFocusIndex(function (currentFocusIndex) {
127
+ var index = currentFocusIndex === 0 ? innerOptions.length - 1 : currentFocusIndex - 1;
119
128
 
120
- while (innerOptions[index].disabled) {
121
- index = index === 0 ? innerOptions.length - 1 : index - 1;
122
- }
129
+ while (innerOptions[index].disabled) {
130
+ index = index === 0 ? innerOptions.length - 1 : index - 1;
131
+ }
123
132
 
124
- return index;
125
- });
126
- }
133
+ handleOnChange(innerOptions[index].value);
134
+ return index;
135
+ });
127
136
  };
128
137
 
129
138
  var setNextRadioChecked = function setNextRadioChecked() {
130
- if (!disabled) {
131
- setCurrentFocusIndex(function (currentFocusIndex) {
132
- var index = currentFocusIndex === innerOptions.length - 1 ? 0 : currentFocusIndex + 1;
139
+ setCurrentFocusIndex(function (currentFocusIndex) {
140
+ var index = currentFocusIndex === innerOptions.length - 1 ? 0 : currentFocusIndex + 1;
133
141
 
134
- while (innerOptions[index].disabled) {
135
- index = index === innerOptions.length - 1 ? 0 : index + 1;
136
- }
142
+ while (innerOptions[index].disabled) {
143
+ index = index === innerOptions.length - 1 ? 0 : index + 1;
144
+ }
137
145
 
138
- return index;
139
- });
140
- }
146
+ handleOnChange(innerOptions[index].value);
147
+ return index;
148
+ });
141
149
  };
142
150
 
143
151
  var handleOnKeyDown = function handleOnKeyDown(event) {
144
- switch (event.keyCode) {
145
- case 37: // arrow left
146
-
147
- case 38:
148
- // arrow up
152
+ switch (event.key) {
153
+ case "Left":
154
+ case "ArrowLeft":
155
+ case "Up":
156
+ case "ArrowUp":
149
157
  event.preventDefault();
150
158
  setPreviousRadioChecked();
151
159
  break;
152
160
 
153
- case 39: // arrow right
154
-
155
- case 40:
156
- // arrow down
161
+ case "Right":
162
+ case "ArrowRight":
163
+ case "Down":
164
+ case "ArrowDown":
157
165
  event.preventDefault();
158
166
  setNextRadioChecked();
159
167
  break;
160
168
 
161
- case 13: // enter
162
-
163
- case 32:
164
- // space
169
+ case "Enter":
170
+ case "Space":
165
171
  event.preventDefault();
166
172
  handleOnChange(innerOptions[currentFocusIndex].value);
167
173
  break;
@@ -176,10 +182,11 @@ var DxcRadioGroup = /*#__PURE__*/_react["default"].forwardRef(function (_ref, re
176
182
  id: radioGroupLabelId,
177
183
  helperText: helperText,
178
184
  disabled: disabled
179
- }, label, " ", optional && /*#__PURE__*/_react["default"].createElement(OptionalLabel, null, "(Optional)")), helperText && /*#__PURE__*/_react["default"].createElement(HelperText, {
185
+ }, label, " ", optional && /*#__PURE__*/_react["default"].createElement(OptionalLabel, null, translatedLabels.formFields.optionalLabel)), helperText && /*#__PURE__*/_react["default"].createElement(HelperText, {
180
186
  disabled: disabled
181
187
  }, helperText), /*#__PURE__*/_react["default"].createElement(RadioGroup, {
182
188
  onBlur: handleOnBlur,
189
+ onFocus: handleOnFocus,
183
190
  onKeyDown: handleOnKeyDown,
184
191
  stacking: stacking,
185
192
  role: "radiogroup",
@@ -187,7 +194,9 @@ var DxcRadioGroup = /*#__PURE__*/_react["default"].forwardRef(function (_ref, re
187
194
  "aria-labelledby": radioGroupLabelId,
188
195
  "aria-invalid": error ? "true" : "false",
189
196
  "aria-errormessage": error ? errorId : undefined,
190
- "aria-required": !optional
197
+ "aria-required": !disabled && !readonly && !optional,
198
+ "aria-readonly": readonly,
199
+ "aria-orientation": stacking === "column" ? "vertical" : "horizontal"
191
200
  }, /*#__PURE__*/_react["default"].createElement(ValueInput, {
192
201
  name: name,
193
202
  value: value !== null && value !== void 0 ? value : innerValue,
@@ -201,13 +210,12 @@ var DxcRadioGroup = /*#__PURE__*/_react["default"].forwardRef(function (_ref, re
201
210
  handleOnChange(option.value);
202
211
  setCurrentFocusIndex(index);
203
212
  },
204
- onFocus: function onFocus() {
205
- !firstTimeFocus ? handleOnChange(option.value) : setFirstTimeFocus(false);
206
- },
207
213
  error: error,
208
214
  disabled: option.disabled || disabled,
209
215
  focused: currentFocusIndex === index,
210
- readonly: readonly
216
+ readonly: readonly,
217
+ tabIndex: tabIndex,
218
+ key: "radio-".concat(index)
211
219
  });
212
220
  })), !disabled && typeof error === "string" && /*#__PURE__*/_react["default"].createElement(Error, {
213
221
  id: errorId,
@@ -7,6 +7,8 @@ export default {
7
7
  component: DxcRadioGroup,
8
8
  };
9
9
 
10
+ const single_option = [{ label: "Option A", value: "A" }];
11
+
10
12
  const options = [
11
13
  { label: "Option 1", value: "1" },
12
14
  { label: "Option 2", value: "2" },
@@ -14,66 +16,85 @@ const options = [
14
16
  { label: "Option 4", value: "4" },
15
17
  ];
16
18
 
17
- const single_disabled_options = [
18
- { label: "Option 1", value: "1" },
19
- { label: "Option 2", value: "2", disabled: true },
20
- { label: "Option 3", value: "3" },
21
- ];
19
+ const single_disabled_options = [{ label: "Option A", value: "A", disabled: true }];
22
20
 
23
21
  export const Chromatic = () => (
24
22
  <>
23
+ <Title title="Radio input states" theme="light" level={2} />
24
+ <ExampleContainer>
25
+ <Title title="Enabled" theme="light" level={4} />
26
+ <DxcRadioGroup label="Example" defaultValue="A" options={single_option} />
27
+ </ExampleContainer>
28
+ <ExampleContainer pseudoState="pseudo-hover">
29
+ <Title title="Hovered" theme="light" level={4} />
30
+ <DxcRadioGroup label="Example" defaultValue="A" options={single_option} />
31
+ </ExampleContainer>
32
+ <ExampleContainer pseudoState="pseudo-active">
33
+ <Title title="Active" theme="light" level={4} />
34
+ <DxcRadioGroup label="Example" defaultValue="A" options={single_option} />
35
+ </ExampleContainer>
36
+ <ExampleContainer pseudoState="pseudo-focus">
37
+ <Title title="Focused" theme="light" level={4} />
38
+ <DxcRadioGroup label="Example" defaultValue="A" options={single_option} />
39
+ </ExampleContainer>
40
+ <ExampleContainer>
41
+ <Title title="Disabled" theme="light" level={4} />
42
+ <DxcRadioGroup label="Example" options={single_disabled_options} defaultValue="A" />
43
+ </ExampleContainer>
44
+ <Title title="Readonly radio input sub-states" theme="light" level={3} />
45
+ <ExampleContainer>
46
+ <Title title="Enabled" theme="light" level={4} />
47
+ <DxcRadioGroup label="Example" options={single_option} defaultValue="A" readonly />
48
+ </ExampleContainer>
49
+ <ExampleContainer pseudoState="pseudo-hover">
50
+ <Title title="Hovered" theme="light" level={4} />
51
+ <DxcRadioGroup label="Example" options={single_option} defaultValue="A" readonly />
52
+ </ExampleContainer>
53
+ <ExampleContainer pseudoState="pseudo-active">
54
+ <Title title="Active" theme="light" level={4} />
55
+ <DxcRadioGroup label="Example" options={single_option} defaultValue="A" readonly />
56
+ </ExampleContainer>
57
+ <Title title="Error radio input sub-states" theme="light" level={3} />
25
58
  <ExampleContainer>
26
- <Title title="Label only" theme="light" level={4} />
27
- <DxcRadioGroup label="Example of a label only" options={options} />
59
+ <Title title="Enabled" theme="light" level={4} />
60
+ <DxcRadioGroup label="Example" options={single_option} defaultValue="A" error="Error message" />
61
+ </ExampleContainer>
62
+ <ExampleContainer pseudoState="pseudo-hover">
63
+ <Title title="Hovered" theme="light" level={4} />
64
+ <DxcRadioGroup label="Example" options={single_option} defaultValue="A" readonly error="Error message" />
28
65
  </ExampleContainer>
66
+ <ExampleContainer pseudoState="pseudo-active">
67
+ <Title title="Active" theme="light" level={4} />
68
+ <DxcRadioGroup label="Example" options={single_option} defaultValue="A" readonly error="Error message" />
69
+ </ExampleContainer>
70
+ <Title title="Variants" theme="light" level={2} />
29
71
  <ExampleContainer>
30
72
  <Title title="Column" theme="light" level={4} />
31
- <DxcRadioGroup label="Example" helperText="Helper text" options={options} defaultValue="3" />
73
+ <DxcRadioGroup label="Example" helperText="Helper text" options={options} />
32
74
  </ExampleContainer>
33
75
  <ExampleContainer>
34
76
  <Title title="Row" theme="light" level={4} />
35
77
  <DxcRadioGroup label="Example" helperText="Helper text" options={options} stacking="row" />
36
78
  </ExampleContainer>
37
79
  <ExampleContainer>
38
- <Title title="Disabled" theme="light" level={4} />
39
- <DxcRadioGroup
40
- label="Disabled"
41
- error="Error message"
42
- helperText="Helper text"
43
- options={options}
44
- disabled
45
- optional
46
- defaultValue="2"
47
- />
80
+ <Title title="Optional" theme="light" level={4} />
81
+ <DxcRadioGroup label="Example" optional helperText="Helper text" options={options} stacking="row" />
48
82
  </ExampleContainer>
49
83
  <ExampleContainer>
50
- <Title title="Single disabled" theme="light" level={4} />
51
- <DxcRadioGroup label="Disabled" helperText="Helper text" options={single_disabled_options} defaultValue="3" />
84
+ <Title title="Disabled" theme="light" level={4} />
85
+ <DxcRadioGroup label="Example" helperText="Helper text" options={options} disabled />
52
86
  </ExampleContainer>
53
87
  <ExampleContainer>
54
- <Title title="Optional" theme="light" level={4} />
55
- <DxcRadioGroup
56
- label="Example"
57
- optionalItemLabel="No selection"
58
- optional
59
- helperText="Helper text"
60
- options={options}
61
- stacking="row"
62
- />
88
+ <Title title="Readonly" theme="light" level={4} />
89
+ <DxcRadioGroup label="Example" readonly helperText="Helper text" options={options} />
63
90
  </ExampleContainer>
64
91
  <ExampleContainer>
65
- <Title title="Error" theme="light" level={4} />
66
- <DxcRadioGroup
67
- label="Example"
68
- error="Error message"
69
- helperText="Helper text"
70
- options={options}
71
- defaultValue="2"
72
- />
92
+ <Title title="Error space reserved" theme="light" level={4} />
93
+ <DxcRadioGroup label="Example" error="" helperText="Helper text" options={options} />
73
94
  </ExampleContainer>
74
95
  <ExampleContainer>
75
- <Title title="Readonly" theme="light" level={4} />
76
- <DxcRadioGroup label="Example" readonly helperText="Helper text" options={options} defaultValue="2" />
96
+ <Title title="Error" theme="light" level={4} />
97
+ <DxcRadioGroup label="Example" error="Error message" helperText="Helper text" options={options} />
77
98
  </ExampleContainer>
78
99
  </>
79
100
  );