@dxc-technology/halstack-react 0.0.0-ff43881 → 0.0.0-ff5083e

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 (209) 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 +7 -28
  5. package/accordion/Accordion.stories.tsx +11 -11
  6. package/accordion/Accordion.test.js +72 -0
  7. package/accordion/types.d.ts +4 -0
  8. package/accordion-group/AccordionGroup.d.ts +1 -1
  9. package/accordion-group/AccordionGroup.js +13 -15
  10. package/accordion-group/AccordionGroup.stories.tsx +1 -1
  11. package/accordion-group/AccordionGroup.test.js +151 -0
  12. package/accordion-group/types.d.ts +4 -0
  13. package/alert/Alert.js +4 -1
  14. package/alert/Alert.test.js +92 -0
  15. package/badge/Badge.d.ts +1 -1
  16. package/badge/Badge.js +5 -3
  17. package/badge/types.d.ts +1 -0
  18. package/bleed/Bleed.js +1 -34
  19. package/bleed/Bleed.stories.tsx +31 -32
  20. package/bleed/types.d.ts +25 -1
  21. package/box/Box.js +22 -32
  22. package/box/Box.test.js +18 -0
  23. package/bulleted-list/BulletedList.d.ts +7 -0
  24. package/bulleted-list/BulletedList.js +120 -0
  25. package/bulleted-list/BulletedList.stories.tsx +203 -0
  26. package/bulleted-list/types.d.ts +11 -0
  27. package/{list → bulleted-list}/types.js +0 -0
  28. package/button/Button.js +14 -11
  29. package/button/Button.test.js +35 -0
  30. package/card/Card.js +24 -27
  31. package/card/Card.test.js +50 -0
  32. package/checkbox/Checkbox.d.ts +1 -1
  33. package/checkbox/Checkbox.js +43 -39
  34. package/checkbox/Checkbox.stories.tsx +124 -128
  35. package/checkbox/Checkbox.test.js +78 -0
  36. package/checkbox/types.d.ts +7 -3
  37. package/chip/Chip.test.js +56 -0
  38. package/common/variables.js +197 -322
  39. package/date-input/DateInput.js +53 -39
  40. package/date-input/DateInput.stories.tsx +7 -7
  41. package/date-input/DateInput.test.js +479 -0
  42. package/date-input/types.d.ts +16 -9
  43. package/dialog/Dialog.js +4 -32
  44. package/dialog/Dialog.test.js +40 -0
  45. package/dropdown/Dropdown.js +13 -17
  46. package/dropdown/Dropdown.test.js +189 -0
  47. package/file-input/FileInput.js +9 -6
  48. package/file-input/FileInput.test.js +457 -0
  49. package/file-input/FileItem.js +7 -5
  50. package/footer/Footer.js +15 -88
  51. package/footer/Footer.test.js +109 -0
  52. package/header/Header.js +27 -48
  53. package/header/Header.stories.tsx +46 -36
  54. package/header/Header.test.js +79 -0
  55. package/heading/Heading.test.js +186 -0
  56. package/inset/Inset.js +1 -34
  57. package/inset/Inset.stories.tsx +32 -32
  58. package/inset/types.d.ts +25 -1
  59. package/layout/ApplicationLayout.d.ts +4 -3
  60. package/layout/ApplicationLayout.js +82 -114
  61. package/layout/ApplicationLayout.stories.tsx +14 -59
  62. package/layout/Icons.d.ts +5 -0
  63. package/layout/Icons.js +13 -2
  64. package/layout/SidenavContext.d.ts +5 -0
  65. package/layout/SidenavContext.js +19 -0
  66. package/layout/types.d.ts +5 -10
  67. package/link/Link.d.ts +3 -2
  68. package/link/Link.js +57 -74
  69. package/link/Link.stories.tsx +87 -52
  70. package/link/Link.test.js +83 -0
  71. package/link/types.d.ts +7 -23
  72. package/main.d.ts +7 -10
  73. package/main.js +33 -51
  74. package/number-input/NumberInput.js +11 -18
  75. package/number-input/NumberInput.stories.tsx +5 -5
  76. package/number-input/NumberInput.test.js +506 -0
  77. package/number-input/types.d.ts +17 -10
  78. package/package.json +6 -5
  79. package/paginator/Paginator.js +17 -38
  80. package/paginator/Paginator.test.js +266 -0
  81. package/paragraph/Paragraph.d.ts +6 -0
  82. package/paragraph/Paragraph.js +38 -0
  83. package/paragraph/Paragraph.stories.tsx +44 -0
  84. package/password-input/PasswordInput.js +7 -4
  85. package/password-input/PasswordInput.test.js +180 -0
  86. package/password-input/types.d.ts +14 -11
  87. package/progress-bar/ProgressBar.js +1 -1
  88. package/progress-bar/ProgressBar.stories.jsx +11 -11
  89. package/progress-bar/ProgressBar.test.js +65 -0
  90. package/quick-nav/QuickNav.d.ts +4 -0
  91. package/quick-nav/QuickNav.js +112 -0
  92. package/quick-nav/QuickNav.stories.tsx +237 -0
  93. package/quick-nav/types.d.ts +21 -0
  94. package/{radio → quick-nav}/types.js +0 -0
  95. package/radio-group/Radio.d.ts +1 -1
  96. package/radio-group/Radio.js +25 -24
  97. package/radio-group/RadioGroup.js +46 -37
  98. package/radio-group/RadioGroup.stories.tsx +60 -39
  99. package/radio-group/RadioGroup.test.js +530 -83
  100. package/radio-group/types.d.ts +80 -2
  101. package/resultsetTable/ResultsetTable.test.js +306 -0
  102. package/row/types.d.ts +18 -0
  103. package/select/Icons.d.ts +10 -0
  104. package/select/Icons.js +93 -0
  105. package/select/Listbox.d.ts +4 -0
  106. package/select/Listbox.js +152 -0
  107. package/select/Option.d.ts +4 -0
  108. package/select/Option.js +110 -0
  109. package/select/Select.js +109 -327
  110. package/select/Select.stories.tsx +103 -81
  111. package/select/Select.test.js +2120 -0
  112. package/select/types.d.ts +54 -11
  113. package/sidenav/Sidenav.d.ts +1 -1
  114. package/sidenav/Sidenav.js +20 -9
  115. package/sidenav/Sidenav.test.js +56 -0
  116. package/slider/Slider.d.ts +1 -1
  117. package/slider/Slider.js +2 -1
  118. package/slider/Slider.stories.tsx +8 -8
  119. package/slider/Slider.test.js +150 -0
  120. package/slider/types.d.ts +4 -0
  121. package/spinner/Spinner.js +1 -1
  122. package/spinner/Spinner.test.js +64 -0
  123. package/stack/types.d.ts +15 -0
  124. package/switch/Switch.d.ts +1 -1
  125. package/switch/Switch.js +35 -19
  126. package/switch/Switch.stories.tsx +14 -14
  127. package/switch/Switch.test.js +98 -0
  128. package/switch/types.d.ts +6 -2
  129. package/table/Table.test.js +26 -0
  130. package/tabs/Tabs.d.ts +1 -1
  131. package/tabs/Tabs.js +9 -11
  132. package/tabs/Tabs.stories.tsx +0 -8
  133. package/tabs/Tabs.test.js +140 -0
  134. package/tabs/types.d.ts +4 -0
  135. package/tabs-nav/NavTabs.d.ts +8 -0
  136. package/tabs-nav/NavTabs.js +125 -0
  137. package/tabs-nav/NavTabs.stories.tsx +170 -0
  138. package/tabs-nav/NavTabs.test.js +82 -0
  139. package/tabs-nav/Tab.d.ts +4 -0
  140. package/tabs-nav/Tab.js +132 -0
  141. package/tabs-nav/types.d.ts +53 -0
  142. package/tabs-nav/types.js +5 -0
  143. package/tag/Tag.js +14 -19
  144. package/tag/Tag.stories.tsx +12 -8
  145. package/tag/Tag.test.js +60 -0
  146. package/text-input/Suggestion.d.ts +4 -0
  147. package/text-input/Suggestion.js +55 -0
  148. package/text-input/TextInput.js +56 -80
  149. package/text-input/TextInput.stories.tsx +30 -12
  150. package/text-input/TextInput.test.js +1712 -0
  151. package/text-input/types.d.ts +31 -12
  152. package/textarea/Textarea.js +20 -27
  153. package/textarea/Textarea.stories.jsx +33 -12
  154. package/textarea/Textarea.test.js +437 -0
  155. package/textarea/types.d.ts +18 -11
  156. package/toggle-group/ToggleGroup.d.ts +1 -1
  157. package/toggle-group/ToggleGroup.js +5 -4
  158. package/toggle-group/ToggleGroup.stories.tsx +4 -4
  159. package/toggle-group/ToggleGroup.test.js +156 -0
  160. package/toggle-group/types.d.ts +8 -0
  161. package/typography/Typography.d.ts +4 -0
  162. package/typography/Typography.js +131 -0
  163. package/typography/Typography.stories.tsx +175 -0
  164. package/typography/types.d.ts +18 -0
  165. package/typography/types.js +5 -0
  166. package/typography/typographyContextTypes.d.ts +16 -0
  167. package/typography/typographyContextTypes.js +5 -0
  168. package/useTheme.js +2 -2
  169. package/useTranslatedLabels.d.ts +2 -0
  170. package/useTranslatedLabels.js +20 -0
  171. package/wizard/Wizard.d.ts +1 -1
  172. package/wizard/Wizard.js +55 -44
  173. package/wizard/Wizard.stories.tsx +13 -23
  174. package/wizard/Wizard.test.js +141 -0
  175. package/wizard/types.d.ts +6 -2
  176. package/ThemeContext.d.ts +0 -15
  177. package/ThemeContext.js +0 -243
  178. package/V3Select/V3Select.js +0 -455
  179. package/V3Select/index.d.ts +0 -27
  180. package/V3Textarea/V3Textarea.js +0 -260
  181. package/V3Textarea/index.d.ts +0 -27
  182. package/date/Date.js +0 -373
  183. package/date/index.d.ts +0 -27
  184. package/input-text/Icons.js +0 -22
  185. package/input-text/InputText.js +0 -611
  186. package/input-text/index.d.ts +0 -36
  187. package/list/List.d.ts +0 -4
  188. package/list/List.js +0 -47
  189. package/list/List.stories.tsx +0 -95
  190. package/list/types.d.ts +0 -7
  191. package/radio/Radio.d.ts +0 -4
  192. package/radio/Radio.js +0 -174
  193. package/radio/Radio.stories.tsx +0 -192
  194. package/radio/types.d.ts +0 -54
  195. package/text/Text.d.ts +0 -7
  196. package/text/Text.js +0 -30
  197. package/text/Text.stories.tsx +0 -19
  198. package/upload/Upload.js +0 -201
  199. package/upload/buttons-upload/ButtonsUpload.js +0 -111
  200. package/upload/buttons-upload/Icons.js +0 -40
  201. package/upload/dragAndDropArea/DragAndDropArea.js +0 -225
  202. package/upload/dragAndDropArea/Icons.js +0 -39
  203. package/upload/file-upload/FileToUpload.js +0 -115
  204. package/upload/file-upload/Icons.js +0 -66
  205. package/upload/files-upload/FilesToUpload.js +0 -109
  206. package/upload/index.d.ts +0 -15
  207. package/upload/transaction/Icons.js +0 -160
  208. package/upload/transaction/Transaction.js +0 -104
  209. package/upload/transactions/Transactions.js +0 -94
@@ -39,7 +39,10 @@ export const Chromatic = () => (
39
39
  </ExampleContainer>
40
40
  <ExampleContainer>
41
41
  <Title title="With label and icon" theme="light" level={4} />
42
- <DxcTag label="Tag" icon="https://iconape.com/wp-content/files/yd/367773/svg/logo-linkedin-logo-icon-png-svg.png" />
42
+ <DxcTag
43
+ label="Tag"
44
+ icon="https://iconape.com/wp-content/files/yd/367773/svg/logo-linkedin-logo-icon-png-svg.png"
45
+ />
43
46
  </ExampleContainer>
44
47
  <ExampleContainer>
45
48
  <Title title="With right icon" theme="light" level={4} />
@@ -95,32 +98,33 @@ export const Chromatic = () => (
95
98
  <Title title="Sizes" theme="light" level={2} />
96
99
  <ExampleContainer>
97
100
  <Title title="Small size" theme="light" level={4} />
98
- <DxcTag label="Small" size="small" />
101
+ <DxcTag label="Small" size="small" icon={icon} />
99
102
  </ExampleContainer>
100
103
  <ExampleContainer>
101
104
  <Title title="Medium size" theme="light" level={4} />
102
- <DxcTag label="Medium size medium s" size="medium" />
105
+ <DxcTag label="Medium size medium s" size="medium" icon={icon} />
103
106
  </ExampleContainer>
104
107
  <ExampleContainer>
105
108
  <Title title="Medium size with ellipsis" theme="light" level={4} />
106
- <DxcTag label="Medium size medium si medium" size="medium" />
109
+ <DxcTag label="Medium size medium si medium" size="medium" icon={icon} />
107
110
  </ExampleContainer>
108
111
  <ExampleContainer>
109
112
  <Title title="Large size" theme="light" level={4} />
110
- <DxcTag label="Large size large size large size large size large size" size="large" />
113
+ <DxcTag label="Large size large size large size large size large size" size="large" icon={icon} />
111
114
  </ExampleContainer>
112
115
  <ExampleContainer>
113
116
  <Title title="Large size with ellipsis" theme="light" level={4} />
114
- <DxcTag label="Large size large size large size large size large size large size" size="large" />
117
+ <DxcTag label="Large size large size large size large size large size large size" size="large" icon={icon} />
115
118
  </ExampleContainer>
116
119
  <ExampleContainer>
117
120
  <Title title="FillParent size" theme="light" level={4} />
118
- <DxcTag label="FillParent" size="fillParent" />
121
+ <DxcTag label="FillParent" size="fillParent" icon={icon} />
119
122
  </ExampleContainer>
120
123
  <ExampleContainer>
121
124
  <Title title="FitContent size" theme="light" level={4} />
122
- <DxcTag label="FitContent" size="fitContent" />
125
+ <DxcTag label="FitContent" size="fitContent" icon={icon} />
123
126
  </ExampleContainer>
127
+ <hr />
124
128
  </>
125
129
  );
126
130
 
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _react = _interopRequireDefault(require("react"));
6
+
7
+ var _react2 = require("@testing-library/react");
8
+
9
+ var _Tag = _interopRequireDefault(require("./Tag"));
10
+
11
+ describe("Tag component tests", function () {
12
+ test("Tag renders with correct label", function () {
13
+ var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Tag["default"], {
14
+ label: "tag-test"
15
+ })),
16
+ getByText = _render.getByText;
17
+
18
+ expect(getByText("tag-test")).toBeTruthy();
19
+ });
20
+ test("Tag renders with correct label before", function () {
21
+ var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Tag["default"], {
22
+ label: "tag-test",
23
+ labelPosition: "before"
24
+ })),
25
+ getByText = _render2.getByText;
26
+
27
+ expect(getByText("tag-test")).toBeTruthy();
28
+ });
29
+ test("Tag renders with correct icon", function () {
30
+ var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Tag["default"], {
31
+ label: "tag-test",
32
+ icon: "/test-icon.jpg"
33
+ })),
34
+ getByRole = _render3.getByRole;
35
+
36
+ expect(getByRole("img").getAttribute("src")).toBe("/test-icon.jpg");
37
+ });
38
+ test("Tag renders with link href", function () {
39
+ var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Tag["default"], {
40
+ label: "tag-test",
41
+ linkHref: "/test/page"
42
+ })),
43
+ getByRole = _render4.getByRole;
44
+
45
+ expect(getByRole("link").getAttribute("href")).toBe("/test/page");
46
+ });
47
+ test("Call correct function on click", function () {
48
+ var onClick = jest.fn();
49
+
50
+ var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Tag["default"], {
51
+ label: "tag-test",
52
+ onClick: onClick
53
+ })),
54
+ getByText = _render5.getByText;
55
+
56
+ _react2.fireEvent.click(getByText("tag-test"));
57
+
58
+ expect(onClick).toHaveBeenCalled();
59
+ });
60
+ });
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ import { SuggestionProps } from "./types";
3
+ declare const _default: React.MemoExoticComponent<({ id, value, onClick, suggestion, isLast, visuallyFocused, highlighted, }: SuggestionProps) => JSX.Element>;
4
+ export default _default;
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = void 0;
9
+
10
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
11
+
12
+ var _react = _interopRequireDefault(require("react"));
13
+
14
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
15
+
16
+ var _templateObject, _templateObject2;
17
+
18
+ var Suggestion = function Suggestion(_ref) {
19
+ var id = _ref.id,
20
+ value = _ref.value,
21
+ onClick = _ref.onClick,
22
+ suggestion = _ref.suggestion,
23
+ isLast = _ref.isLast,
24
+ visuallyFocused = _ref.visuallyFocused,
25
+ highlighted = _ref.highlighted;
26
+ var regEx = new RegExp(value, "i");
27
+ var matchedWords = suggestion.match(regEx);
28
+ var noMatchedWords = suggestion.replace(regEx, "");
29
+ return /*#__PURE__*/_react["default"].createElement(SuggestionContainer, {
30
+ id: id,
31
+ onClick: onClick,
32
+ visuallyFocused: visuallyFocused,
33
+ role: "option",
34
+ "aria-selected": visuallyFocused ? "true" : undefined
35
+ }, /*#__PURE__*/_react["default"].createElement(StyledSuggestion, {
36
+ last: isLast,
37
+ visuallyFocused: visuallyFocused
38
+ }, highlighted ? suggestion : /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("strong", null, matchedWords), noMatchedWords)));
39
+ };
40
+
41
+ var SuggestionContainer = _styledComponents["default"].li(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n padding: 0 0.5rem;\n line-height: 1.715em;\n cursor: pointer;\n\n box-shadow: inset 0 0 0 2px\n ", ";\n &:hover {\n background-color: ", ";\n }\n &:active {\n background-color: ", ";\n }\n"])), function (props) {
42
+ return props.visuallyFocused ? props.theme.focusListOptionBorderColor : "transparent";
43
+ }, function (props) {
44
+ return props.theme.hoverListOptionBackgroundColor;
45
+ }, function (props) {
46
+ return props.theme.activeListOptionBackgroundColor;
47
+ });
48
+
49
+ var StyledSuggestion = _styledComponents["default"].span(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n padding: 0.25rem 0.5rem 0.188rem 0.5rem;\n ", ";\n"])), function (props) {
50
+ return props.last || props.visuallyFocused ? "border-bottom: 1px solid transparent" : "border-bottom: 1px solid ".concat(props.theme.listOptionDividerColor);
51
+ });
52
+
53
+ var _default = /*#__PURE__*/_react["default"].memo(Suggestion);
54
+
55
+ exports["default"] = _default;
@@ -21,6 +21,8 @@ var _styledComponents = _interopRequireWildcard(require("styled-components"));
21
21
 
22
22
  var _useTheme = _interopRequireDefault(require("../useTheme"));
23
23
 
24
+ var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
25
+
24
26
  var _variables = require("../common/variables.js");
25
27
 
26
28
  var _utils = require("../common/utils.js");
@@ -31,7 +33,9 @@ var _BackgroundColorContext = _interopRequireDefault(require("../BackgroundColor
31
33
 
32
34
  var _NumberInputContext = _interopRequireDefault(require("../number-input/NumberInputContext"));
33
35
 
34
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17, _templateObject18;
36
+ var _Suggestion = _interopRequireDefault(require("./Suggestion"));
37
+
38
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16;
35
39
 
36
40
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
37
41
 
@@ -135,6 +139,8 @@ var DxcTextInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
135
139
  var label = _ref.label,
136
140
  _ref$name = _ref.name,
137
141
  name = _ref$name === void 0 ? "" : _ref$name,
142
+ _ref$defaultValue = _ref.defaultValue,
143
+ defaultValue = _ref$defaultValue === void 0 ? "" : _ref$defaultValue,
138
144
  value = _ref.value,
139
145
  helperText = _ref.helperText,
140
146
  _ref$placeholder = _ref.placeholder,
@@ -169,7 +175,7 @@ var DxcTextInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
169
175
  _useState2 = (0, _slicedToArray2["default"])(_useState, 1),
170
176
  inputId = _useState2[0];
171
177
 
172
- var _useState3 = (0, _react.useState)(""),
178
+ var _useState3 = (0, _react.useState)(defaultValue),
173
179
  _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
174
180
  innerValue = _useState4[0],
175
181
  setInnerValue = _useState4[1];
@@ -203,9 +209,10 @@ var DxcTextInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
203
209
  var inputRef = (0, _react.useRef)(null);
204
210
  var actionRef = (0, _react.useRef)(null);
205
211
  var colorsTheme = (0, _useTheme["default"])();
212
+ var translatedLabels = (0, _useTranslatedLabels["default"])();
206
213
  var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"]);
207
214
  var autosuggestId = "".concat(inputId, "-listBox");
208
- var errorId = "error-message-".concat(inputId);
215
+ var errorId = "error-".concat(inputId);
209
216
  var numberInputContext = (0, _react.useContext)(_NumberInputContext["default"]);
210
217
  var lastOptionIndex = (0, _react.useMemo)(function () {
211
218
  return getLastOptionIndex(filteredSuggestions);
@@ -219,10 +226,6 @@ var DxcTextInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
219
226
  return value && minLength && maxLength && (value.length < minLength || value.length > maxLength);
220
227
  };
221
228
 
222
- var getLengthErrorMessage = function getLengthErrorMessage() {
223
- return "Min length ".concat(minLength, ", max length ").concat(maxLength, ".");
224
- };
225
-
226
229
  var isNumberIncorrect = function isNumberIncorrect(value) {
227
230
  return (numberInputContext === null || numberInputContext === void 0 ? void 0 : numberInputContext.minNumber) && parseInt(value) < (numberInputContext === null || numberInputContext === void 0 ? void 0 : numberInputContext.minNumber) || (numberInputContext === null || numberInputContext === void 0 ? void 0 : numberInputContext.maxNumber) && parseInt(value) > (numberInputContext === null || numberInputContext === void 0 ? void 0 : numberInputContext.maxNumber);
228
231
  };
@@ -234,7 +237,7 @@ var DxcTextInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
234
237
  };
235
238
 
236
239
  var getNumberErrorMessage = function getNumberErrorMessage(value) {
237
- if (numberInputContext !== null && numberInputContext !== void 0 && numberInputContext.minNumber && parseInt(value) < (numberInputContext === null || numberInputContext === void 0 ? void 0 : numberInputContext.minNumber)) return "Value must be greater than or equal to ".concat(numberInputContext === null || numberInputContext === void 0 ? void 0 : numberInputContext.minNumber, ".");else if (numberInputContext !== null && numberInputContext !== void 0 && numberInputContext.maxNumber && parseInt(value) > (numberInputContext === null || numberInputContext === void 0 ? void 0 : numberInputContext.maxNumber)) return "Value must be less than or equal to ".concat(numberInputContext === null || numberInputContext === void 0 ? void 0 : numberInputContext.maxNumber, ".");
240
+ if (numberInputContext !== null && numberInputContext !== void 0 && numberInputContext.minNumber && parseInt(value) < (numberInputContext === null || numberInputContext === void 0 ? void 0 : numberInputContext.minNumber)) return translatedLabels.numberInput.valueGreaterThanOrEqualToErrorMessage(numberInputContext.minNumber);else if (numberInputContext !== null && numberInputContext !== void 0 && numberInputContext.maxNumber && parseInt(value) > (numberInputContext === null || numberInputContext === void 0 ? void 0 : numberInputContext.maxNumber)) return translatedLabels.numberInput.valueLessThanOrEqualToErrorMessage(numberInputContext.maxNumber);
238
241
  };
239
242
 
240
243
  var hasSuggestions = function hasSuggestions() {
@@ -255,19 +258,18 @@ var DxcTextInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
255
258
  var changedValue = typeof newValue === "number" ? newValue.toString() : newValue;
256
259
  if (isNotOptional(newValue)) onChange === null || onChange === void 0 ? void 0 : onChange({
257
260
  value: changedValue,
258
- error: getNotOptionalErrorMessage()
261
+ error: translatedLabels.formFields.requiredValueErrorMessage
259
262
  });else if (isLengthIncorrect(newValue)) onChange === null || onChange === void 0 ? void 0 : onChange({
260
263
  value: changedValue,
261
- error: getLengthErrorMessage()
264
+ error: translatedLabels.formFields.lengthErrorMessage(minLength, maxLength)
262
265
  });else if (newValue && pattern && !patternMatch(pattern, newValue)) onChange === null || onChange === void 0 ? void 0 : onChange({
263
266
  value: changedValue,
264
- error: getPatternErrorMessage()
267
+ error: translatedLabels.formFields.formatRequestedErrorMessage
265
268
  });else if (newValue && isNumberIncorrect(newValue)) onChange === null || onChange === void 0 ? void 0 : onChange({
266
269
  value: changedValue,
267
270
  error: getNumberErrorMessage(newValue)
268
271
  });else onChange === null || onChange === void 0 ? void 0 : onChange({
269
- value: changedValue,
270
- error: null
272
+ value: changedValue
271
273
  });
272
274
  };
273
275
 
@@ -289,19 +291,18 @@ var DxcTextInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
289
291
  suggestions && closeSuggestions();
290
292
  if (isNotOptional(event.target.value)) onBlur === null || onBlur === void 0 ? void 0 : onBlur({
291
293
  value: event.target.value,
292
- error: getNotOptionalErrorMessage()
294
+ error: translatedLabels.formFields.requiredValueErrorMessage
293
295
  });else if (isLengthIncorrect(event.target.value)) onBlur === null || onBlur === void 0 ? void 0 : onBlur({
294
296
  value: event.target.value,
295
- error: getLengthErrorMessage()
297
+ error: translatedLabels.formFields.lengthErrorMessage(minLength, maxLength)
296
298
  });else if (event.target.value && pattern && !patternMatch(pattern, event.target.value)) onBlur === null || onBlur === void 0 ? void 0 : onBlur({
297
299
  value: event.target.value,
298
- error: getPatternErrorMessage()
300
+ error: translatedLabels.formFields.formatRequestedErrorMessage
299
301
  });else if (event.target.value && isNumberIncorrect(event.target.value)) onBlur === null || onBlur === void 0 ? void 0 : onBlur({
300
302
  value: event.target.value,
301
303
  error: getNumberErrorMessage(event.target.value)
302
304
  });else onBlur === null || onBlur === void 0 ? void 0 : onBlur({
303
- value: event.target.value,
304
- error: null
305
+ value: event.target.value
305
306
  });
306
307
  };
307
308
 
@@ -468,45 +469,22 @@ var DxcTextInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
468
469
 
469
470
  (numberInputContext === null || numberInputContext === void 0 ? void 0 : numberInputContext.typeNumber) === "number" && setNumberProps(numberInputContext.typeNumber, numberInputContext.minNumber, numberInputContext.maxNumber, numberInputContext.stepNumber);
470
471
  }, [value, innerValue, suggestions, numberInputContext]);
471
-
472
- var HighlightedSuggestion = function HighlightedSuggestion(_ref2) {
473
- var suggestion = _ref2.suggestion,
474
- index = _ref2.index;
475
- var regEx = new RegExp(value !== null && value !== void 0 ? value : innerValue, "i");
476
- var matchedWords = suggestion.match(regEx);
477
- var noMatchedWords = suggestion.replace(regEx, "");
478
- var isLastOption = index === lastOptionIndex;
479
- return /*#__PURE__*/_react["default"].createElement(Suggestion, {
480
- id: "suggestion-".concat(index),
481
- onClick: function onClick() {
482
- changeValue(suggestion);
483
- closeSuggestions();
484
- },
485
- visualFocused: visualFocusedSuggIndex === index,
486
- role: "option",
487
- "aria-selected": visualFocusedSuggIndex === index && "true"
488
- }, /*#__PURE__*/_react["default"].createElement(StyledSuggestion, {
489
- last: isLastOption,
490
- visualFocused: visualFocusedSuggIndex === index
491
- }, typeof suggestions === "function" ? suggestion : /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("strong", null, matchedWords), noMatchedWords)));
492
- };
493
-
494
472
  return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
495
473
  theme: colorsTheme.textInput
496
- }, /*#__PURE__*/_react["default"].createElement(DxcInput, {
474
+ }, /*#__PURE__*/_react["default"].createElement(TextInputContainer, {
497
475
  margin: margin,
498
- ref: ref,
499
- size: size
476
+ size: size,
477
+ ref: ref
500
478
  }, label && /*#__PURE__*/_react["default"].createElement(Label, {
501
479
  htmlFor: inputId,
502
480
  disabled: disabled,
503
481
  backgroundType: backgroundType,
504
- helperText: helperText
505
- }, label, " ", optional && /*#__PURE__*/_react["default"].createElement(OptionalLabel, null, "(Optional)")), helperText && /*#__PURE__*/_react["default"].createElement(HelperText, {
482
+ hasHelperText: helperText ? true : false
483
+ }, label, " ", optional && /*#__PURE__*/_react["default"].createElement(OptionalLabel, null, translatedLabels.formFields.optionalLabel)), helperText && /*#__PURE__*/_react["default"].createElement(HelperText, {
506
484
  disabled: disabled,
507
485
  backgroundType: backgroundType
508
486
  }, helperText), /*#__PURE__*/_react["default"].createElement(InputContainer, {
509
- error: error,
487
+ error: error ? true : false,
510
488
  disabled: disabled,
511
489
  backgroundType: backgroundType,
512
490
  onClick: handleInputContainerOnClick,
@@ -539,10 +517,11 @@ var DxcTextInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
539
517
  role: isTextInputType() && hasSuggestions() ? "combobox" : "textbox",
540
518
  "aria-autocomplete": isTextInputType() && hasSuggestions() ? "list" : undefined,
541
519
  "aria-controls": isTextInputType() && hasSuggestions() ? autosuggestId : undefined,
520
+ "aria-disabled": disabled,
542
521
  "aria-expanded": isTextInputType() && hasSuggestions() ? isOpen ? "true" : "false" : undefined,
543
522
  "aria-activedescendant": isTextInputType() && hasSuggestions() && isOpen && visualFocusedSuggIndex !== -1 ? "suggestion-".concat(visualFocusedSuggIndex) : undefined,
544
523
  "aria-invalid": error ? "true" : "false",
545
- "aria-describedby": error ? errorId : undefined,
524
+ "aria-errormessage": error ? errorId : undefined,
546
525
  "aria-required": optional ? "false" : "true"
547
526
  }), !disabled && error && /*#__PURE__*/_react["default"].createElement(ErrorIcon, {
548
527
  backgroundType: backgroundType,
@@ -556,8 +535,8 @@ var DxcTextInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
556
535
  },
557
536
  backgroundType: backgroundType,
558
537
  tabIndex: tabIndex,
559
- title: "Clear field",
560
- "aria-label": "Clear field"
538
+ title: translatedLabels.textInput.clearFieldActionTitle,
539
+ "aria-label": translatedLabels.textInput.clearFieldActionTitle
561
540
  }, textInputIcons.clear), (numberInputContext === null || numberInputContext === void 0 ? void 0 : numberInputContext.typeNumber) === "number" ? /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(Action, {
562
541
  ref: actionRef,
563
542
  disabled: disabled,
@@ -569,8 +548,8 @@ var DxcTextInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
569
548
  },
570
549
  backgroundType: backgroundType,
571
550
  tabIndex: tabIndex,
572
- title: "Decrement value",
573
- "aria-label": "Decrement value"
551
+ title: translatedLabels.numberInput.decrementValueTitle,
552
+ "aria-label": translatedLabels.numberInput.decrementValueTitle
574
553
  }, textInputIcons.decrement), /*#__PURE__*/_react["default"].createElement(Action, {
575
554
  ref: actionRef,
576
555
  disabled: disabled,
@@ -582,8 +561,8 @@ var DxcTextInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
582
561
  },
583
562
  backgroundType: backgroundType,
584
563
  tabIndex: tabIndex,
585
- title: "Increment value",
586
- "aria-label": "Increment value"
564
+ title: translatedLabels.numberInput.incrementValueTitle,
565
+ "aria-label": translatedLabels.numberInput.incrementValueTitle
587
566
  }, textInputIcons.increment)) : action && /*#__PURE__*/_react["default"].createElement(Action, {
588
567
  ref: actionRef,
589
568
  disabled: disabled,
@@ -604,7 +583,7 @@ var DxcTextInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
604
583
  backgroundType: backgroundType
605
584
  }, suffix), isOpen && (filteredSuggestions.length > 0 || isSearching || isAutosuggestError) && /*#__PURE__*/_react["default"].createElement(Suggestions, {
606
585
  id: autosuggestId,
607
- isError: isAutosuggestError,
586
+ error: isAutosuggestError ? true : false,
608
587
  onMouseDown: function onMouseDown(event) {
609
588
  event.preventDefault();
610
589
  },
@@ -612,16 +591,25 @@ var DxcTextInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
612
591
  role: "listbox",
613
592
  "aria-label": label
614
593
  }, !isSearching && !isAutosuggestError && filteredSuggestions.length > 0 && filteredSuggestions.map(function (suggestion, index) {
615
- return /*#__PURE__*/_react["default"].createElement(HighlightedSuggestion, {
616
- key: "suggestion-".concat((0, _uuid.v4)()),
594
+ return /*#__PURE__*/_react["default"].createElement(_Suggestion["default"], {
595
+ key: "suggestion-".concat(index),
596
+ id: "suggestion-".concat(index),
597
+ value: value !== null && value !== void 0 ? value : innerValue,
598
+ onClick: function onClick() {
599
+ changeValue(suggestion);
600
+ closeSuggestions();
601
+ },
617
602
  suggestion: suggestion,
618
- index: index
603
+ isLast: index === lastOptionIndex,
604
+ visuallyFocused: visualFocusedSuggIndex === index,
605
+ highlighted: typeof suggestions === "function"
619
606
  });
620
- }), isSearching && /*#__PURE__*/_react["default"].createElement(SuggestionsSystemMessage, null, "Searching..."), isAutosuggestError && /*#__PURE__*/_react["default"].createElement(SuggestionsError, null, /*#__PURE__*/_react["default"].createElement(SuggestionsErrorIcon, {
607
+ }), isSearching && /*#__PURE__*/_react["default"].createElement(SuggestionsSystemMessage, null, translatedLabels.textInput.searchingMessage), isAutosuggestError && /*#__PURE__*/_react["default"].createElement(SuggestionsError, null, /*#__PURE__*/_react["default"].createElement(SuggestionsErrorIcon, {
621
608
  backgroundType: backgroundType
622
- }, textInputIcons.error), "Error fetching data"))), !disabled && typeof error === "string" && /*#__PURE__*/_react["default"].createElement(Error, {
609
+ }, textInputIcons.error), translatedLabels.textInput.fetchingDataErrorMessage))), !disabled && typeof error === "string" && /*#__PURE__*/_react["default"].createElement(Error, {
623
610
  id: errorId,
624
- backgroundType: backgroundType
611
+ backgroundType: backgroundType,
612
+ "aria-live": error ? "assertive" : "off"
625
613
  }, error)));
626
614
  });
627
615
 
@@ -636,7 +624,7 @@ var calculateWidth = function calculateWidth(margin, size) {
636
624
  return size === "fillParent" ? "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")") : sizes[size];
637
625
  };
638
626
 
639
- var DxcInput = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n box-sizing: border-box;\n\n width: ", ";\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n"])), function (props) {
627
+ var TextInputContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n box-sizing: border-box;\n\n width: ", ";\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n"])), function (props) {
640
628
  return calculateWidth(props.margin, props.size);
641
629
  }, function (props) {
642
630
  return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
@@ -663,7 +651,7 @@ var Label = _styledComponents["default"].label(_templateObject2 || (_templateObj
663
651
  }, function (props) {
664
652
  return props.theme.labelLineHeight;
665
653
  }, function (props) {
666
- return !props.helperText && "margin-bottom: 0.25rem";
654
+ return !props.hasHelperText && "margin-bottom: 0.25rem";
667
655
  });
668
656
 
669
657
  var OptionalLabel = _styledComponents["default"].span(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n font-weight: ", ";\n"])), function (props) {
@@ -751,9 +739,9 @@ var Error = _styledComponents["default"].span(_templateObject12 || (_templateObj
751
739
  });
752
740
 
753
741
  var Suggestions = _styledComponents["default"].ul(_templateObject13 || (_templateObject13 = (0, _taggedTemplateLiteral2["default"])(["\n position: absolute;\n z-index: 1;\n max-height: 304px;\n overflow-y: auto;\n top: calc(100% + 4px);\n left: 0;\n margin: 0;\n padding: 0.25rem 0;\n width: 100%;\n background-color: ", ";\n border: 1px solid\n ", ";\n border-radius: 0.25rem;\n box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);\n cursor: default;\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n"])), function (props) {
754
- return props.isError ? props.theme.errorListDialogBackgroundColor : props.theme.listDialogBackgroundColor;
742
+ return props.error ? props.theme.errorListDialogBackgroundColor : props.theme.listDialogBackgroundColor;
755
743
  }, function (props) {
756
- return props.isError ? props.theme.errorListDialogBorderColor : props.theme.listDialogBorderColor;
744
+ return props.error ? props.theme.errorListDialogBorderColor : props.theme.listDialogBorderColor;
757
745
  }, function (props) {
758
746
  return props.theme.listOptionFontColor;
759
747
  }, function (props) {
@@ -766,27 +754,15 @@ var Suggestions = _styledComponents["default"].ul(_templateObject13 || (_templat
766
754
  return props.theme.listOptionFontWeight;
767
755
  });
768
756
 
769
- var Suggestion = _styledComponents["default"].li(_templateObject14 || (_templateObject14 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n padding: 0 0.5rem;\n line-height: 1.715em;\n cursor: pointer;\n\n box-shadow: inset 0 0 0 2px\n ", ";\n &:hover {\n background-color: ", ";\n }\n &:active {\n background-color: ", ";\n }\n"])), function (props) {
770
- return props.visualFocused ? props.theme.focusListOptionBorderColor : "transparent";
771
- }, function (props) {
772
- return props.theme.hoverListOptionBackgroundColor;
773
- }, function (props) {
774
- return props.theme.activeListOptionBackgroundColor;
775
- });
776
-
777
- var StyledSuggestion = _styledComponents["default"].span(_templateObject15 || (_templateObject15 = (0, _taggedTemplateLiteral2["default"])(["\n width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n padding: 0.25rem 0.5rem 0.188rem 0.5rem;\n ", ";\n"])), function (props) {
778
- return props.last || props.visualFocused ? "border-bottom: 1px solid transparent" : "border-bottom: 1px solid ".concat(props.theme.listOptionDividerColor);
779
- });
780
-
781
- var SuggestionsSystemMessage = _styledComponents["default"].span(_templateObject16 || (_templateObject16 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n padding: 0.25rem 1rem;\n color: ", ";\n line-height: 1.715em;\n"])), function (props) {
757
+ var SuggestionsSystemMessage = _styledComponents["default"].span(_templateObject14 || (_templateObject14 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n padding: 0.25rem 1rem;\n color: ", ";\n line-height: 1.715em;\n"])), function (props) {
782
758
  return props.theme.systemMessageFontColor;
783
759
  });
784
760
 
785
- var SuggestionsErrorIcon = _styledComponents["default"].span(_templateObject17 || (_templateObject17 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n margin-right: 0.5rem;\n height: 18px;\n width: 18px;\n color: ", ";\n"])), function (props) {
761
+ var SuggestionsErrorIcon = _styledComponents["default"].span(_templateObject15 || (_templateObject15 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n margin-right: 0.5rem;\n height: 18px;\n width: 18px;\n color: ", ";\n"])), function (props) {
786
762
  return props.backgroundType === "dark" ? props.theme.errorIconColorOnDark : props.theme.errorIconColor;
787
763
  });
788
764
 
789
- var SuggestionsError = _styledComponents["default"].span(_templateObject18 || (_templateObject18 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n padding: 0.25rem 1rem;\n align-items: center;\n line-height: 1.715em;\n color: ", ";\n"])), function (props) {
765
+ var SuggestionsError = _styledComponents["default"].span(_templateObject16 || (_templateObject16 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n padding: 0.25rem 1rem;\n align-items: center;\n line-height: 1.715em;\n color: ", ";\n"])), function (props) {
790
766
  return props.theme.errorListDialogFontColor;
791
767
  });
792
768
 
@@ -70,7 +70,7 @@ export const Chromatic = () => (
70
70
  </ExampleContainer>
71
71
  <ExampleContainer pseudoState="pseudo-hover">
72
72
  <Title title="Hovered action" theme="light" level={4} />
73
- <DxcTextInput label="Text input" value="Text" clearable />
73
+ <DxcTextInput label="Text input" defaultValue="Text" clearable />
74
74
  </ExampleContainer>
75
75
  <ExampleContainer>
76
76
  <Title title="Without label" theme="light" level={4} />
@@ -82,13 +82,13 @@ export const Chromatic = () => (
82
82
  </ExampleContainer>
83
83
  <ExampleContainer>
84
84
  <Title title="Helper text, optional, and clearable" theme="light" level={4} />
85
- <DxcTextInput label="Text input" clearable value="Text" helperText="Help message" optional />
85
+ <DxcTextInput label="Text input" clearable defaultValue="Text" helperText="Help message" optional />
86
86
  </ExampleContainer>
87
87
  <ExampleContainer>
88
88
  <Title title="Clearable and large icon action" theme="light" level={4} />
89
89
  <DxcTextInput
90
90
  label="Text input"
91
- value="Text text text text text text text text text text"
91
+ defaultValue="Text text text text text text text text text text"
92
92
  clearable
93
93
  action={actionLargeIcon}
94
94
  />
@@ -107,12 +107,21 @@ export const Chromatic = () => (
107
107
  label="Error text input"
108
108
  helperText="Help message"
109
109
  error="Error message."
110
- value="Text"
110
+ defaultValue="Text"
111
111
  clearable
112
112
  optional
113
113
  action={action}
114
114
  />
115
115
  </ExampleContainer>
116
+ <ExampleContainer pseudoState="pseudo-hover">
117
+ <Title title="Invalid and hovered" theme="light" level={4} />
118
+ <DxcTextInput
119
+ label="Error text input"
120
+ helperText="Help message"
121
+ placeholder="Placeholder"
122
+ error="Error message."
123
+ />
124
+ </ExampleContainer>
116
125
  <ExampleContainer>
117
126
  <Title title="Disabled and placeholder" theme="light" level={4} />
118
127
  <DxcTextInput label="Disabled text input" disabled placeholder="Placeholder" />
@@ -124,7 +133,7 @@ export const Chromatic = () => (
124
133
  helperText="Help message"
125
134
  disabled
126
135
  optional
127
- value="Text"
136
+ defaultValue="Text"
128
137
  action={action}
129
138
  />
130
139
  </ExampleContainer>
@@ -137,7 +146,7 @@ export const Chromatic = () => (
137
146
  optional
138
147
  prefix="+34"
139
148
  suffix="USD"
140
- value="Text"
149
+ defaultValue="Text"
141
150
  action={action}
142
151
  />
143
152
  </ExampleContainer>
@@ -154,7 +163,7 @@ export const Chromatic = () => (
154
163
  </ExampleContainer>
155
164
  <ExampleContainer pseudoState="pseudo-hover">
156
165
  <Title title="Hovered action" theme="dark" level={4} />
157
- <DxcTextInput label="Text input" value="Text" clearable />
166
+ <DxcTextInput label="Text input" defaultValue="Text" clearable />
158
167
  </ExampleContainer>
159
168
  <ExampleContainer>
160
169
  <Title title="Helper text, placeholder, optional and action" theme="dark" level={4} />
@@ -168,16 +177,25 @@ export const Chromatic = () => (
168
177
  />
169
178
  </ExampleContainer>
170
179
  <ExampleContainer>
171
- <Title title="Helper text, clearable value, error and action" theme="dark" level={4} />
180
+ <Title title="Invalid" theme="dark" level={4} />
172
181
  <DxcTextInput
173
- label="Text input"
182
+ label="Error text input"
174
183
  helperText="Help message"
175
184
  error="Error message."
176
- value="Text"
185
+ defaultValue="Text"
177
186
  clearable
178
187
  action={action}
179
188
  />
180
189
  </ExampleContainer>
190
+ <ExampleContainer pseudoState="pseudo-hover">
191
+ <Title title="Invalid and hovered" theme="dark" level={4} />
192
+ <DxcTextInput
193
+ label="Error text input"
194
+ helperText="Help message"
195
+ placeholder="Placeholder"
196
+ error="Error message."
197
+ />
198
+ </ExampleContainer>
181
199
  <ExampleContainer>
182
200
  <Title title="Prefix and suffix" theme="dark" level={4} />
183
201
  <DxcTextInput label="With prefix and suffix" prefix="+34" suffix="USD" />
@@ -193,7 +211,7 @@ export const Chromatic = () => (
193
211
  helperText="Help message"
194
212
  disabled
195
213
  optional
196
- value="Text"
214
+ defaultValue="Text"
197
215
  action={action}
198
216
  />
199
217
  </ExampleContainer>
@@ -206,7 +224,7 @@ export const Chromatic = () => (
206
224
  optional
207
225
  prefix="+34"
208
226
  suffix="USD"
209
- value="Text"
227
+ defaultValue="Text"
210
228
  action={action}
211
229
  />
212
230
  </ExampleContainer>