@dxc-technology/halstack-react 0.0.0-ebf4fe2 → 0.0.0-ec06b53

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 (179) hide show
  1. package/HalstackContext.js +7 -8
  2. package/accordion/Accordion.js +122 -103
  3. package/accordion/Accordion.stories.tsx +2 -3
  4. package/accordion/Accordion.test.js +9 -10
  5. package/accordion/types.d.ts +5 -4
  6. package/accordion-group/AccordionGroup.js +1 -21
  7. package/accordion-group/AccordionGroup.stories.tsx +27 -1
  8. package/accordion-group/AccordionGroup.test.js +20 -45
  9. package/accordion-group/types.d.ts +10 -3
  10. package/alert/Alert.js +1 -1
  11. package/bleed/Bleed.stories.tsx +63 -63
  12. package/box/Box.js +1 -1
  13. package/box/types.d.ts +1 -0
  14. package/bulleted-list/BulletedList.d.ts +7 -0
  15. package/bulleted-list/BulletedList.js +123 -0
  16. package/bulleted-list/BulletedList.stories.tsx +200 -0
  17. package/bulleted-list/types.d.ts +11 -0
  18. package/{inline → bulleted-list}/types.js +0 -0
  19. package/button/Button.js +43 -61
  20. package/button/Button.stories.tsx +9 -0
  21. package/button/types.d.ts +7 -7
  22. package/card/types.d.ts +1 -0
  23. package/checkbox/Checkbox.d.ts +2 -2
  24. package/checkbox/Checkbox.js +92 -99
  25. package/checkbox/Checkbox.stories.tsx +79 -59
  26. package/checkbox/Checkbox.test.js +93 -16
  27. package/checkbox/types.d.ts +6 -2
  28. package/chip/types.d.ts +1 -1
  29. package/common/variables.js +75 -33
  30. package/date-input/Calendar.d.ts +4 -0
  31. package/date-input/Calendar.js +258 -0
  32. package/date-input/DateInput.js +77 -222
  33. package/date-input/DateInput.stories.tsx +30 -17
  34. package/date-input/DateInput.test.js +411 -138
  35. package/date-input/DatePicker.d.ts +4 -0
  36. package/date-input/DatePicker.js +160 -0
  37. package/date-input/YearPicker.d.ts +4 -0
  38. package/date-input/YearPicker.js +115 -0
  39. package/date-input/types.d.ts +53 -0
  40. package/dialog/Dialog.js +52 -28
  41. package/dialog/Dialog.stories.tsx +57 -2
  42. package/dialog/Dialog.test.js +34 -4
  43. package/dialog/types.d.ts +3 -2
  44. package/dropdown/Dropdown.d.ts +1 -1
  45. package/dropdown/Dropdown.js +247 -247
  46. package/dropdown/Dropdown.stories.tsx +126 -63
  47. package/dropdown/Dropdown.test.js +504 -108
  48. package/dropdown/DropdownMenu.d.ts +4 -0
  49. package/dropdown/DropdownMenu.js +80 -0
  50. package/dropdown/DropdownMenuItem.d.ts +4 -0
  51. package/dropdown/DropdownMenuItem.js +92 -0
  52. package/dropdown/types.d.ts +25 -5
  53. package/file-input/FileInput.d.ts +2 -2
  54. package/file-input/FileInput.js +177 -219
  55. package/file-input/FileInput.stories.tsx +38 -10
  56. package/file-input/FileInput.test.js +53 -12
  57. package/file-input/FileItem.d.ts +4 -14
  58. package/file-input/FileItem.js +38 -63
  59. package/file-input/types.d.ts +17 -0
  60. package/flex/Flex.d.ts +4 -0
  61. package/flex/Flex.js +69 -0
  62. package/flex/Flex.stories.tsx +103 -0
  63. package/flex/types.d.ts +32 -0
  64. package/{list → flex}/types.js +0 -0
  65. package/footer/Footer.stories.tsx +8 -1
  66. package/footer/types.d.ts +2 -1
  67. package/header/Header.js +74 -72
  68. package/header/Header.stories.tsx +4 -4
  69. package/header/Icons.js +2 -2
  70. package/header/types.d.ts +3 -2
  71. package/inset/Inset.stories.tsx +4 -4
  72. package/layout/ApplicationLayout.d.ts +15 -6
  73. package/layout/ApplicationLayout.js +36 -64
  74. package/layout/ApplicationLayout.stories.tsx +80 -44
  75. package/layout/types.d.ts +17 -27
  76. package/link/Link.js +2 -2
  77. package/link/Link.stories.tsx +13 -6
  78. package/link/types.d.ts +1 -1
  79. package/main.d.ts +5 -9
  80. package/main.js +27 -59
  81. package/number-input/NumberInput.test.js +43 -7
  82. package/package.json +16 -20
  83. package/paginator/Paginator.js +2 -2
  84. package/paginator/Paginator.test.js +1 -1
  85. package/paragraph/Paragraph.d.ts +6 -0
  86. package/paragraph/Paragraph.js +38 -0
  87. package/paragraph/Paragraph.stories.tsx +44 -0
  88. package/password-input/PasswordInput.test.js +13 -12
  89. package/progress-bar/ProgressBar.d.ts +2 -2
  90. package/progress-bar/ProgressBar.js +56 -50
  91. package/progress-bar/ProgressBar.stories.jsx +3 -1
  92. package/progress-bar/ProgressBar.test.js +67 -22
  93. package/progress-bar/types.d.ts +3 -4
  94. package/quick-nav/QuickNav.js +18 -17
  95. package/quick-nav/QuickNav.stories.tsx +131 -26
  96. package/radio-group/Radio.d.ts +1 -1
  97. package/radio-group/Radio.js +43 -28
  98. package/radio-group/RadioGroup.js +23 -22
  99. package/radio-group/RadioGroup.stories.tsx +1 -0
  100. package/radio-group/RadioGroup.test.js +123 -96
  101. package/radio-group/types.d.ts +2 -2
  102. package/resultsetTable/Icons.d.ts +7 -0
  103. package/resultsetTable/Icons.js +51 -0
  104. package/resultsetTable/ResultsetTable.js +48 -107
  105. package/resultsetTable/ResultsetTable.stories.tsx +50 -25
  106. package/resultsetTable/ResultsetTable.test.js +23 -41
  107. package/resultsetTable/types.d.ts +2 -2
  108. package/select/Listbox.d.ts +1 -1
  109. package/select/Listbox.js +25 -2
  110. package/select/Select.js +17 -32
  111. package/select/Select.stories.tsx +6 -5
  112. package/select/Select.test.js +321 -250
  113. package/select/types.d.ts +2 -4
  114. package/sidenav/Sidenav.d.ts +6 -5
  115. package/sidenav/Sidenav.js +176 -55
  116. package/sidenav/Sidenav.stories.tsx +154 -156
  117. package/sidenav/Sidenav.test.js +25 -37
  118. package/sidenav/types.d.ts +50 -27
  119. package/slider/Slider.d.ts +2 -2
  120. package/slider/Slider.js +120 -95
  121. package/slider/Slider.stories.tsx +7 -1
  122. package/slider/Slider.test.js +121 -21
  123. package/slider/types.d.ts +6 -2
  124. package/switch/Switch.d.ts +2 -2
  125. package/switch/Switch.js +135 -68
  126. package/switch/Switch.stories.tsx +8 -30
  127. package/switch/Switch.test.js +144 -17
  128. package/switch/types.d.ts +6 -2
  129. package/table/Table.js +1 -1
  130. package/table/Table.test.js +1 -1
  131. package/tabs/Tab.d.ts +4 -0
  132. package/tabs/Tab.js +135 -0
  133. package/tabs/Tabs.js +360 -104
  134. package/tabs/Tabs.stories.tsx +74 -0
  135. package/tabs/Tabs.test.js +217 -6
  136. package/tabs/types.d.ts +15 -5
  137. package/tabs-nav/NavTabs.js +5 -5
  138. package/tabs-nav/Tab.js +3 -5
  139. package/tabs-nav/types.d.ts +1 -1
  140. package/tag/Tag.js +1 -1
  141. package/tag/types.d.ts +1 -1
  142. package/text-input/Icons.d.ts +8 -0
  143. package/text-input/Icons.js +60 -0
  144. package/text-input/Suggestion.js +7 -5
  145. package/text-input/Suggestions.d.ts +4 -0
  146. package/text-input/Suggestions.js +134 -0
  147. package/text-input/TextInput.js +189 -282
  148. package/text-input/TextInput.stories.tsx +189 -182
  149. package/text-input/TextInput.test.js +639 -727
  150. package/text-input/types.d.ts +22 -3
  151. package/toggle-group/types.d.ts +1 -1
  152. package/typography/Typography.d.ts +4 -0
  153. package/typography/Typography.js +131 -0
  154. package/typography/Typography.stories.tsx +198 -0
  155. package/typography/types.d.ts +18 -0
  156. package/{row → typography}/types.js +0 -0
  157. package/wizard/Wizard.js +9 -16
  158. package/wizard/Wizard.stories.tsx +20 -1
  159. package/wizard/types.d.ts +5 -4
  160. package/inline/Inline.d.ts +0 -4
  161. package/inline/Inline.js +0 -60
  162. package/inline/Inline.stories.tsx +0 -305
  163. package/inline/types.d.ts +0 -36
  164. package/list/List.d.ts +0 -4
  165. package/list/List.js +0 -47
  166. package/list/List.stories.tsx +0 -89
  167. package/list/types.d.ts +0 -7
  168. package/row/Row.d.ts +0 -3
  169. package/row/Row.js +0 -127
  170. package/row/Row.stories.tsx +0 -237
  171. package/row/types.d.ts +0 -28
  172. package/stack/Stack.d.ts +0 -4
  173. package/stack/Stack.js +0 -52
  174. package/stack/Stack.stories.tsx +0 -225
  175. package/stack/types.d.ts +0 -28
  176. package/stack/types.js +0 -5
  177. package/text/Text.d.ts +0 -7
  178. package/text/Text.js +0 -30
  179. package/text/Text.stories.tsx +0 -19
@@ -27,66 +27,40 @@ var _variables = require("../common/variables.js");
27
27
 
28
28
  var _utils = require("../common/utils.js");
29
29
 
30
- var _uuid = require("uuid");
31
-
32
30
  var _BackgroundColorContext = _interopRequireDefault(require("../BackgroundColorContext"));
33
31
 
34
32
  var _NumberInputContext = _interopRequireDefault(require("../number-input/NumberInputContext"));
35
33
 
36
- var _Suggestion = _interopRequireDefault(require("./Suggestion"));
34
+ var _Suggestions = _interopRequireDefault(require("./Suggestions"));
35
+
36
+ var Popover = _interopRequireWildcard(require("@radix-ui/react-popover"));
37
+
38
+ var _Icons = _interopRequireDefault(require("./Icons"));
39
+
40
+ var _uuid = require("uuid");
37
41
 
38
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16;
42
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12;
39
43
 
40
44
  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); }
41
45
 
42
46
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof3(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
43
47
 
44
- var textInputIcons = {
45
- error: /*#__PURE__*/_react["default"].createElement("svg", {
46
- xmlns: "http://www.w3.org/2000/svg",
47
- height: "24px",
48
- viewBox: "0 0 24 24",
49
- width: "24px",
50
- fill: "currentColor"
51
- }, /*#__PURE__*/_react["default"].createElement("path", {
52
- d: "M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z"
53
- })),
54
- clear: /*#__PURE__*/_react["default"].createElement("svg", {
55
- xmlns: "http://www.w3.org/2000/svg",
56
- width: "24",
57
- height: "24",
58
- viewBox: "0 0 24 24",
59
- fill: "currentColor"
60
- }, /*#__PURE__*/_react["default"].createElement("path", {
61
- d: "M0 0h24v24H0V0z",
62
- fill: "none"
63
- }), /*#__PURE__*/_react["default"].createElement("path", {
64
- d: "M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41z"
65
- })),
66
- increment: /*#__PURE__*/_react["default"].createElement("svg", {
67
- xmlns: "http://www.w3.org/2000/svg",
68
- height: "24px",
69
- viewBox: "0 0 24 24",
70
- width: "24px",
71
- fill: "currentColor"
72
- }, /*#__PURE__*/_react["default"].createElement("path", {
73
- d: "M0 0h24v24H0z",
74
- fill: "none"
75
- }), /*#__PURE__*/_react["default"].createElement("path", {
76
- d: "M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"
77
- })),
78
- decrement: /*#__PURE__*/_react["default"].createElement("svg", {
79
- xmlns: "http://www.w3.org/2000/svg",
80
- height: "24px",
81
- viewBox: "0 0 24 24",
82
- width: "24px",
83
- fill: "currentColor"
84
- }, /*#__PURE__*/_react["default"].createElement("path", {
85
- d: "M0 0h24v24H0z",
86
- fill: "none"
87
- }), /*#__PURE__*/_react["default"].createElement("path", {
88
- d: "M19 13H5v-2h14v2z"
89
- }))
48
+ var sizes = {
49
+ small: "240px",
50
+ medium: "360px",
51
+ large: "480px",
52
+ fillParent: "100%"
53
+ };
54
+
55
+ var AutosuggestWrapper = function AutosuggestWrapper(_ref) {
56
+ var condition = _ref.condition,
57
+ wrapper = _ref.wrapper,
58
+ children = _ref.children;
59
+ return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, condition ? wrapper(children) : children);
60
+ };
61
+
62
+ var calculateWidth = function calculateWidth(margin, size) {
63
+ return size === "fillParent" ? "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")") : sizes[size];
90
64
  };
91
65
 
92
66
  var makeCancelable = function makeCancelable(promise) {
@@ -110,71 +84,69 @@ var makeCancelable = function makeCancelable(promise) {
110
84
  };
111
85
  };
112
86
 
113
- var getNotOptionalErrorMessage = function getNotOptionalErrorMessage() {
114
- return "This field is required. Please, enter a value.";
87
+ var hasSuggestions = function hasSuggestions(suggestions) {
88
+ return typeof suggestions === "function" || (suggestions === null || suggestions === void 0 ? void 0 : suggestions.length) > 0;
115
89
  };
116
90
 
117
- var getPatternErrorMessage = function getPatternErrorMessage() {
118
- return "Please match the format requested.";
91
+ var isNotOptional = function isNotOptional(value, optional) {
92
+ return value === "" && !optional;
119
93
  };
120
94
 
121
- var patternMatch = function patternMatch(pattern, value) {
122
- return new RegExp(pattern).test(value);
95
+ var isLengthIncorrect = function isLengthIncorrect(value, minLength, maxLength) {
96
+ return value && minLength && maxLength && (value.length < minLength || value.length > maxLength);
123
97
  };
124
98
 
125
- var getLastOptionIndex = function getLastOptionIndex(filteredSuggestions) {
126
- var last = 0;
127
-
128
- var reducer = function reducer(acc, current) {
129
- var _current$options;
130
-
131
- return acc + ((_current$options = current.options) === null || _current$options === void 0 ? void 0 : _current$options.length);
132
- };
99
+ var isNumberIncorrect = function isNumberIncorrect(value, minNumber, maxNumber) {
100
+ return minNumber && parseInt(value) < minNumber || maxNumber && parseInt(value) > maxNumber;
101
+ };
133
102
 
134
- if (filteredSuggestions.length > 0) filteredSuggestions[0].options ? last = filteredSuggestions.reduce(reducer, 0) - 1 : last = filteredSuggestions.length - 1;
135
- return last;
103
+ var patternMissmatch = function patternMissmatch(pattern, value) {
104
+ return pattern && !new RegExp(pattern).test(value);
136
105
  };
137
106
 
138
- var DxcTextInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
139
- var label = _ref.label,
140
- _ref$name = _ref.name,
141
- name = _ref$name === void 0 ? "" : _ref$name,
142
- _ref$defaultValue = _ref.defaultValue,
143
- defaultValue = _ref$defaultValue === void 0 ? "" : _ref$defaultValue,
144
- value = _ref.value,
145
- helperText = _ref.helperText,
146
- _ref$placeholder = _ref.placeholder,
147
- placeholder = _ref$placeholder === void 0 ? "" : _ref$placeholder,
148
- action = _ref.action,
149
- _ref$clearable = _ref.clearable,
150
- clearable = _ref$clearable === void 0 ? false : _ref$clearable,
151
- _ref$disabled = _ref.disabled,
152
- disabled = _ref$disabled === void 0 ? false : _ref$disabled,
153
- _ref$optional = _ref.optional,
154
- optional = _ref$optional === void 0 ? false : _ref$optional,
155
- _ref$prefix = _ref.prefix,
156
- prefix = _ref$prefix === void 0 ? "" : _ref$prefix,
157
- _ref$suffix = _ref.suffix,
158
- suffix = _ref$suffix === void 0 ? "" : _ref$suffix,
159
- onChange = _ref.onChange,
160
- onBlur = _ref.onBlur,
161
- error = _ref.error,
162
- suggestions = _ref.suggestions,
163
- pattern = _ref.pattern,
164
- minLength = _ref.minLength,
165
- maxLength = _ref.maxLength,
166
- _ref$autocomplete = _ref.autocomplete,
167
- autocomplete = _ref$autocomplete === void 0 ? "off" : _ref$autocomplete,
168
- margin = _ref.margin,
169
- _ref$size = _ref.size,
170
- size = _ref$size === void 0 ? "medium" : _ref$size,
171
- _ref$tabIndex = _ref.tabIndex,
172
- tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
107
+ var DxcTextInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref2, ref) {
108
+ var label = _ref2.label,
109
+ _ref2$name = _ref2.name,
110
+ name = _ref2$name === void 0 ? "" : _ref2$name,
111
+ _ref2$defaultValue = _ref2.defaultValue,
112
+ defaultValue = _ref2$defaultValue === void 0 ? "" : _ref2$defaultValue,
113
+ value = _ref2.value,
114
+ helperText = _ref2.helperText,
115
+ _ref2$placeholder = _ref2.placeholder,
116
+ placeholder = _ref2$placeholder === void 0 ? "" : _ref2$placeholder,
117
+ action = _ref2.action,
118
+ _ref2$clearable = _ref2.clearable,
119
+ clearable = _ref2$clearable === void 0 ? false : _ref2$clearable,
120
+ _ref2$disabled = _ref2.disabled,
121
+ disabled = _ref2$disabled === void 0 ? false : _ref2$disabled,
122
+ _ref2$optional = _ref2.optional,
123
+ optional = _ref2$optional === void 0 ? false : _ref2$optional,
124
+ _ref2$prefix = _ref2.prefix,
125
+ prefix = _ref2$prefix === void 0 ? "" : _ref2$prefix,
126
+ _ref2$suffix = _ref2.suffix,
127
+ suffix = _ref2$suffix === void 0 ? "" : _ref2$suffix,
128
+ onChange = _ref2.onChange,
129
+ onBlur = _ref2.onBlur,
130
+ error = _ref2.error,
131
+ suggestions = _ref2.suggestions,
132
+ pattern = _ref2.pattern,
133
+ minLength = _ref2.minLength,
134
+ maxLength = _ref2.maxLength,
135
+ _ref2$autocomplete = _ref2.autocomplete,
136
+ autocomplete = _ref2$autocomplete === void 0 ? "off" : _ref2$autocomplete,
137
+ margin = _ref2.margin,
138
+ _ref2$size = _ref2.size,
139
+ size = _ref2$size === void 0 ? "medium" : _ref2$size,
140
+ _ref2$tabIndex = _ref2.tabIndex,
141
+ tabIndex = _ref2$tabIndex === void 0 ? 0 : _ref2$tabIndex;
173
142
 
174
143
  var _useState = (0, _react.useState)("input-".concat((0, _uuid.v4)())),
175
144
  _useState2 = (0, _slicedToArray2["default"])(_useState, 1),
176
145
  inputId = _useState2[0];
177
146
 
147
+ var autosuggestId = "suggestions-".concat(inputId);
148
+ var errorId = "error-".concat(inputId);
149
+
178
150
  var _useState3 = (0, _react.useState)(defaultValue),
179
151
  _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
180
152
  innerValue = _useState4[0],
@@ -202,70 +174,51 @@ var DxcTextInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
202
174
 
203
175
  var _useState13 = (0, _react.useState)(-1),
204
176
  _useState14 = (0, _slicedToArray2["default"])(_useState13, 2),
205
- visualFocusedSuggIndex = _useState14[0],
206
- changeVisualFocusedSuggIndex = _useState14[1];
177
+ visualFocusIndex = _useState14[0],
178
+ changeVisualFocusIndex = _useState14[1];
207
179
 
208
- var suggestionsRef = (0, _react.useRef)(null);
209
180
  var inputRef = (0, _react.useRef)(null);
210
181
  var actionRef = (0, _react.useRef)(null);
211
182
  var colorsTheme = (0, _useTheme["default"])();
212
183
  var translatedLabels = (0, _useTranslatedLabels["default"])();
213
184
  var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"]);
214
- var autosuggestId = "".concat(inputId, "-listBox");
215
- var errorId = "error-".concat(inputId);
216
185
  var numberInputContext = (0, _react.useContext)(_NumberInputContext["default"]);
217
- var lastOptionIndex = (0, _react.useMemo)(function () {
218
- return getLastOptionIndex(filteredSuggestions);
219
- }, [filteredSuggestions]);
220
-
221
- var isNotOptional = function isNotOptional(value) {
222
- return value === "" && !optional;
223
- };
224
-
225
- var isLengthIncorrect = function isLengthIncorrect(value) {
226
- return value && minLength && maxLength && (value.length < minLength || value.length > maxLength);
227
- };
228
-
229
- var isNumberIncorrect = function isNumberIncorrect(value) {
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);
231
- };
232
-
233
- var isTextInputType = function isTextInputType() {
234
- var _inputRef$current, _inputRef$current2;
235
-
236
- return !(inputRef !== null && inputRef !== void 0 && (_inputRef$current = inputRef.current) !== null && _inputRef$current !== void 0 && _inputRef$current.getAttribute("type")) || (inputRef === null || inputRef === void 0 ? void 0 : (_inputRef$current2 = inputRef.current) === null || _inputRef$current2 === void 0 ? void 0 : _inputRef$current2.getAttribute("type")) === "text";
237
- };
238
186
 
239
187
  var getNumberErrorMessage = function getNumberErrorMessage(value) {
240
188
  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);
241
189
  };
242
190
 
243
- var hasSuggestions = function hasSuggestions() {
244
- return typeof suggestions === "function" || (suggestions === null || suggestions === void 0 ? void 0 : suggestions.length) > 0;
245
- };
191
+ var getTextInputWidth = (0, _react.useCallback)(function () {
192
+ var _inputRef$current, _inputRef$current$par;
193
+
194
+ var rect = inputRef === null || inputRef === void 0 ? void 0 : (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : (_inputRef$current$par = _inputRef$current.parentElement) === null || _inputRef$current$par === void 0 ? void 0 : _inputRef$current$par.getBoundingClientRect();
195
+ return rect === null || rect === void 0 ? void 0 : rect.width;
196
+ }, []);
246
197
 
247
198
  var openSuggestions = function openSuggestions() {
248
- hasSuggestions() && changeIsOpen(true);
199
+ hasSuggestions(suggestions) && changeIsOpen(true);
249
200
  };
250
201
 
251
202
  var closeSuggestions = function closeSuggestions() {
252
- changeIsOpen(false);
253
- changeVisualFocusedSuggIndex(-1);
203
+ if (hasSuggestions(suggestions)) {
204
+ changeIsOpen(false);
205
+ changeVisualFocusIndex(-1);
206
+ }
254
207
  };
255
208
 
256
209
  var changeValue = function changeValue(newValue) {
257
210
  value !== null && value !== void 0 ? value : setInnerValue(newValue);
258
211
  var changedValue = typeof newValue === "number" ? newValue.toString() : newValue;
259
- if (isNotOptional(newValue)) onChange === null || onChange === void 0 ? void 0 : onChange({
212
+ if (isNotOptional(newValue, optional)) onChange === null || onChange === void 0 ? void 0 : onChange({
260
213
  value: changedValue,
261
214
  error: translatedLabels.formFields.requiredValueErrorMessage
262
- });else if (isLengthIncorrect(newValue)) onChange === null || onChange === void 0 ? void 0 : onChange({
215
+ });else if (isLengthIncorrect(newValue, minLength, maxLength)) onChange === null || onChange === void 0 ? void 0 : onChange({
263
216
  value: changedValue,
264
217
  error: translatedLabels.formFields.lengthErrorMessage(minLength, maxLength)
265
- });else if (newValue && pattern && !patternMatch(pattern, newValue)) onChange === null || onChange === void 0 ? void 0 : onChange({
218
+ });else if (patternMissmatch(pattern, newValue)) onChange === null || onChange === void 0 ? void 0 : onChange({
266
219
  value: changedValue,
267
220
  error: translatedLabels.formFields.formatRequestedErrorMessage
268
- });else if (newValue && isNumberIncorrect(newValue)) onChange === null || onChange === void 0 ? void 0 : onChange({
221
+ });else if (isNumberIncorrect(newValue, numberInputContext === null || numberInputContext === void 0 ? void 0 : numberInputContext.minNumber, numberInputContext === null || numberInputContext === void 0 ? void 0 : numberInputContext.maxNumber)) onChange === null || onChange === void 0 ? void 0 : onChange({
269
222
  value: changedValue,
270
223
  error: getNumberErrorMessage(newValue)
271
224
  });else onChange === null || onChange === void 0 ? void 0 : onChange({
@@ -282,23 +235,23 @@ var DxcTextInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
282
235
  document.activeElement === inputRef.current && event.preventDefault();
283
236
  };
284
237
 
285
- var handleIOnChange = function handleIOnChange(event) {
238
+ var handleInputOnChange = function handleInputOnChange(event) {
286
239
  openSuggestions();
287
240
  changeValue(event.target.value);
288
241
  };
289
242
 
290
- var handleIOnBlur = function handleIOnBlur(event) {
291
- suggestions && closeSuggestions();
292
- if (isNotOptional(event.target.value)) onBlur === null || onBlur === void 0 ? void 0 : onBlur({
243
+ var handleInputOnBlur = function handleInputOnBlur(event) {
244
+ closeSuggestions();
245
+ if (isNotOptional(event.target.value, optional)) onBlur === null || onBlur === void 0 ? void 0 : onBlur({
293
246
  value: event.target.value,
294
247
  error: translatedLabels.formFields.requiredValueErrorMessage
295
- });else if (isLengthIncorrect(event.target.value)) onBlur === null || onBlur === void 0 ? void 0 : onBlur({
248
+ });else if (isLengthIncorrect(event.target.value, minLength, maxLength)) onBlur === null || onBlur === void 0 ? void 0 : onBlur({
296
249
  value: event.target.value,
297
250
  error: translatedLabels.formFields.lengthErrorMessage(minLength, maxLength)
298
- });else if (event.target.value && pattern && !patternMatch(pattern, event.target.value)) onBlur === null || onBlur === void 0 ? void 0 : onBlur({
251
+ });else if (patternMissmatch(pattern, event.target.value)) onBlur === null || onBlur === void 0 ? void 0 : onBlur({
299
252
  value: event.target.value,
300
253
  error: translatedLabels.formFields.formatRequestedErrorMessage
301
- });else if (event.target.value && isNumberIncorrect(event.target.value)) onBlur === null || onBlur === void 0 ? void 0 : onBlur({
254
+ });else if (isNumberIncorrect(event.target.value, numberInputContext === null || numberInputContext === void 0 ? void 0 : numberInputContext.minNumber, numberInputContext === null || numberInputContext === void 0 ? void 0 : numberInputContext.maxNumber)) onBlur === null || onBlur === void 0 ? void 0 : onBlur({
302
255
  value: event.target.value,
303
256
  error: getNumberErrorMessage(event.target.value)
304
257
  });else onBlur === null || onBlur === void 0 ? void 0 : onBlur({
@@ -306,19 +259,19 @@ var DxcTextInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
306
259
  });
307
260
  };
308
261
 
309
- var handleIOnKeyDown = function handleIOnKeyDown(event) {
310
- switch (event.keyCode) {
311
- case 40:
312
- // Arrow Down
262
+ var handleInputOnKeyDown = function handleInputOnKeyDown(event) {
263
+ switch (event.key) {
264
+ case "Down":
265
+ case "ArrowDown":
266
+ event.preventDefault();
267
+
313
268
  if ((numberInputContext === null || numberInputContext === void 0 ? void 0 : numberInputContext.typeNumber) === "number") {
314
269
  decrementNumber();
315
- event.preventDefault();
316
270
  } else {
317
- event.preventDefault();
318
271
  openSuggestions();
319
272
 
320
273
  if (!isAutosuggestError && !isSearching && filteredSuggestions.length > 0) {
321
- changeVisualFocusedSuggIndex(function (visualFocusedSuggIndex) {
274
+ changeVisualFocusIndex(function (visualFocusedSuggIndex) {
322
275
  if (visualFocusedSuggIndex < filteredSuggestions.length - 1) return visualFocusedSuggIndex + 1;else if (visualFocusedSuggIndex === filteredSuggestions.length - 1) return 0;
323
276
  });
324
277
  }
@@ -326,17 +279,17 @@ var DxcTextInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
326
279
 
327
280
  break;
328
281
 
329
- case 38:
330
- // Arrow Up
282
+ case "Up":
283
+ case "ArrowUp":
284
+ event.preventDefault();
285
+
331
286
  if ((numberInputContext === null || numberInputContext === void 0 ? void 0 : numberInputContext.typeNumber) === "number") {
332
287
  incrementNumber();
333
- event.preventDefault();
334
288
  } else {
335
- event.preventDefault();
336
289
  openSuggestions();
337
290
 
338
291
  if (!isAutosuggestError && !isSearching && filteredSuggestions.length > 0) {
339
- changeVisualFocusedSuggIndex(function (visualFocusedSuggIndex) {
292
+ changeVisualFocusIndex(function (visualFocusedSuggIndex) {
340
293
  if (visualFocusedSuggIndex === 0 || visualFocusedSuggIndex === -1) return filteredSuggestions.length > 0 ? filteredSuggestions.length - 1 : suggestions.length - 1;else return visualFocusedSuggIndex - 1;
341
294
  });
342
295
  }
@@ -344,22 +297,21 @@ var DxcTextInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
344
297
 
345
298
  break;
346
299
 
347
- case 27:
348
- // Esc
300
+ case "Esc":
301
+ case "Escape":
349
302
  event.preventDefault();
350
303
 
351
- if (hasSuggestions()) {
304
+ if (hasSuggestions(suggestions)) {
352
305
  changeValue("");
353
306
  isOpen && closeSuggestions();
354
307
  }
355
308
 
356
309
  break;
357
310
 
358
- case 13:
359
- // Enter
360
- if (hasSuggestions() && !isSearching) {
361
- var validFocusedSuggestion = filteredSuggestions.length > 0 && visualFocusedSuggIndex >= 0 && visualFocusedSuggIndex < filteredSuggestions.length;
362
- validFocusedSuggestion && changeValue(filteredSuggestions[visualFocusedSuggIndex]);
311
+ case "Enter":
312
+ if (hasSuggestions(suggestions) && !isSearching) {
313
+ var validFocusedSuggestion = filteredSuggestions.length > 0 && visualFocusIndex >= 0 && visualFocusIndex < filteredSuggestions.length;
314
+ validFocusedSuggestion && changeValue(filteredSuggestions[visualFocusIndex]);
363
315
  isOpen && closeSuggestions();
364
316
  }
365
317
 
@@ -384,12 +336,12 @@ var DxcTextInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
384
336
  };
385
337
 
386
338
  var setNumberProps = function setNumberProps(type, min, max, step) {
387
- var _inputRef$current3, _inputRef$current4, _inputRef$current5, _inputRef$current6;
339
+ var _inputRef$current2, _inputRef$current3, _inputRef$current4, _inputRef$current5;
388
340
 
389
- type && (inputRef === null || inputRef === void 0 ? void 0 : (_inputRef$current3 = inputRef.current) === null || _inputRef$current3 === void 0 ? void 0 : _inputRef$current3.setAttribute("type", type));
390
- min && (inputRef === null || inputRef === void 0 ? void 0 : (_inputRef$current4 = inputRef.current) === null || _inputRef$current4 === void 0 ? void 0 : _inputRef$current4.setAttribute("min", min));
391
- max && (inputRef === null || inputRef === void 0 ? void 0 : (_inputRef$current5 = inputRef.current) === null || _inputRef$current5 === void 0 ? void 0 : _inputRef$current5.setAttribute("max", max));
392
- step && (inputRef === null || inputRef === void 0 ? void 0 : (_inputRef$current6 = inputRef.current) === null || _inputRef$current6 === void 0 ? void 0 : _inputRef$current6.setAttribute("step", step));
341
+ type && (inputRef === null || inputRef === void 0 ? void 0 : (_inputRef$current2 = inputRef.current) === null || _inputRef$current2 === void 0 ? void 0 : _inputRef$current2.setAttribute("type", type));
342
+ min && (inputRef === null || inputRef === void 0 ? void 0 : (_inputRef$current3 = inputRef.current) === null || _inputRef$current3 === void 0 ? void 0 : _inputRef$current3.setAttribute("min", min));
343
+ max && (inputRef === null || inputRef === void 0 ? void 0 : (_inputRef$current4 = inputRef.current) === null || _inputRef$current4 === void 0 ? void 0 : _inputRef$current4.setAttribute("max", max));
344
+ step && (inputRef === null || inputRef === void 0 ? void 0 : (_inputRef$current5 = inputRef.current) === null || _inputRef$current5 === void 0 ? void 0 : _inputRef$current5.setAttribute("step", step));
393
345
  };
394
346
 
395
347
  var decrementNumber = function decrementNumber() {
@@ -432,15 +384,6 @@ var DxcTextInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
432
384
  }
433
385
  };
434
386
 
435
- (0, _react.useLayoutEffect)(function () {
436
- var _suggestionsRef$curre, _visualFocusedOptionE;
437
-
438
- var visualFocusedOptionEl = suggestionsRef === null || suggestionsRef === void 0 ? void 0 : (_suggestionsRef$curre = suggestionsRef.current) === null || _suggestionsRef$curre === void 0 ? void 0 : _suggestionsRef$curre.querySelectorAll("[role='option']")[visualFocusedSuggIndex];
439
- visualFocusedOptionEl === null || visualFocusedOptionEl === void 0 ? void 0 : (_visualFocusedOptionE = visualFocusedOptionEl.scrollIntoView) === null || _visualFocusedOptionE === void 0 ? void 0 : _visualFocusedOptionE.call(visualFocusedOptionEl, {
440
- block: "nearest",
441
- inline: "start"
442
- });
443
- }, [visualFocusedSuggIndex]);
444
387
  (0, _react.useEffect)(function () {
445
388
  if (typeof suggestions === "function") {
446
389
  changeIsSearching(true);
@@ -464,7 +407,7 @@ var DxcTextInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
464
407
  changeFilteredSuggestions(suggestions.filter(function (suggestion) {
465
408
  return suggestion.toUpperCase().startsWith((value !== null && value !== void 0 ? value : innerValue).toUpperCase());
466
409
  }));
467
- changeVisualFocusedSuggIndex(-1);
410
+ changeVisualFocusIndex(-1);
468
411
  }
469
412
 
470
413
  (numberInputContext === null || numberInputContext === void 0 ? void 0 : numberInputContext.typeNumber) === "number" && setNumberProps(numberInputContext.typeNumber, numberInputContext.minNumber, numberInputContext.maxNumber, numberInputContext.stepNumber);
@@ -492,17 +435,48 @@ var DxcTextInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
492
435
  }, prefix && /*#__PURE__*/_react["default"].createElement(Prefix, {
493
436
  disabled: disabled,
494
437
  backgroundType: backgroundType
495
- }, prefix), /*#__PURE__*/_react["default"].createElement(Input, {
438
+ }, prefix), /*#__PURE__*/_react["default"].createElement(AutosuggestWrapper, {
439
+ condition: hasSuggestions(suggestions),
440
+ wrapper: function wrapper(children) {
441
+ return /*#__PURE__*/_react["default"].createElement(Popover.Root, {
442
+ open: isOpen && (filteredSuggestions.length > 0 || isSearching || isAutosuggestError)
443
+ }, /*#__PURE__*/_react["default"].createElement(Popover.Trigger, {
444
+ asChild: true,
445
+ "aria-controls": undefined
446
+ }, children), /*#__PURE__*/_react["default"].createElement(Popover.Content, {
447
+ sideOffset: 5,
448
+ onOpenAutoFocus: function onOpenAutoFocus(event) {
449
+ // Avoid select to lose focus when the list is opened
450
+ event.preventDefault();
451
+ },
452
+ onCloseAutoFocus: function onCloseAutoFocus(event) {
453
+ // Avoid select to lose focus when the list is closed
454
+ event.preventDefault();
455
+ }
456
+ }, /*#__PURE__*/_react["default"].createElement(_Suggestions["default"], {
457
+ id: autosuggestId,
458
+ value: value !== null && value !== void 0 ? value : innerValue,
459
+ suggestions: filteredSuggestions,
460
+ visualFocusIndex: visualFocusIndex,
461
+ highlightedSuggestions: typeof suggestions !== "function",
462
+ searchHasErrors: isAutosuggestError,
463
+ isSearching: isSearching,
464
+ suggestionOnClick: function suggestionOnClick(suggestion) {
465
+ changeValue(suggestion);
466
+ closeSuggestions();
467
+ },
468
+ getTextInputWidth: getTextInputWidth
469
+ })));
470
+ }
471
+ }, /*#__PURE__*/_react["default"].createElement(Input, {
496
472
  id: inputId,
497
473
  name: name,
498
474
  value: value !== null && value !== void 0 ? value : innerValue,
499
475
  placeholder: placeholder,
500
- onBlur: handleIOnBlur,
501
- onChange: handleIOnChange,
502
- onFocus: function onFocus() {
503
- openSuggestions();
504
- },
505
- onKeyDown: handleIOnKeyDown,
476
+ onBlur: handleInputOnBlur,
477
+ onChange: handleInputOnChange,
478
+ onFocus: openSuggestions,
479
+ onKeyDown: handleInputOnKeyDown,
506
480
  onMouseDown: function onMouseDown(event) {
507
481
  event.stopPropagation();
508
482
  },
@@ -512,118 +486,79 @@ var DxcTextInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
512
486
  pattern: pattern,
513
487
  minLength: minLength,
514
488
  maxLength: maxLength,
515
- autoComplete: autocomplete,
489
+ autoComplete: autocomplete === "off" ? "nope" : autocomplete,
516
490
  tabIndex: tabIndex,
517
- role: isTextInputType() && hasSuggestions() ? "combobox" : "textbox",
518
- "aria-autocomplete": isTextInputType() && hasSuggestions() ? "list" : undefined,
519
- "aria-controls": isTextInputType() && hasSuggestions() ? autosuggestId : undefined,
520
- "aria-disabled": disabled,
521
- "aria-expanded": isTextInputType() && hasSuggestions() ? isOpen ? "true" : "false" : undefined,
522
- "aria-activedescendant": isTextInputType() && hasSuggestions() && isOpen && visualFocusedSuggIndex !== -1 ? "suggestion-".concat(visualFocusedSuggIndex) : undefined,
523
- "aria-invalid": error ? "true" : "false",
491
+ type: "text",
492
+ role: hasSuggestions(suggestions) ? "combobox" : undefined,
493
+ "aria-autocomplete": hasSuggestions(suggestions) ? "list" : undefined,
494
+ "aria-controls": hasSuggestions(suggestions) ? autosuggestId : undefined,
495
+ "aria-expanded": hasSuggestions(suggestions) ? isOpen : undefined,
496
+ "aria-haspopup": hasSuggestions(suggestions) ? "listbox" : undefined,
497
+ "aria-activedescendant": hasSuggestions(suggestions) && isOpen && visualFocusIndex !== -1 ? "suggestion-".concat(visualFocusIndex) : undefined,
498
+ "aria-invalid": error ? true : false,
524
499
  "aria-errormessage": error ? errorId : undefined,
525
- "aria-required": optional ? "false" : "true"
526
- }), !disabled && error && /*#__PURE__*/_react["default"].createElement(ErrorIcon, {
500
+ "aria-required": optional ? false : true
501
+ })), !disabled && error && /*#__PURE__*/_react["default"].createElement(ErrorIcon, {
527
502
  backgroundType: backgroundType,
528
503
  "aria-label": "Error"
529
- }, textInputIcons.error), !disabled && clearable && (value !== null && value !== void 0 ? value : innerValue).length > 0 && /*#__PURE__*/_react["default"].createElement(Action, {
530
- onClick: function onClick() {
531
- return handleClearActionOnClick();
532
- },
504
+ }, _Icons["default"].error), !disabled && clearable && (value !== null && value !== void 0 ? value : innerValue).length > 0 && /*#__PURE__*/_react["default"].createElement(Action, {
505
+ onClick: handleClearActionOnClick,
533
506
  onMouseDown: function onMouseDown(event) {
534
507
  event.stopPropagation();
535
508
  },
536
509
  backgroundType: backgroundType,
537
510
  tabIndex: tabIndex,
538
511
  title: translatedLabels.textInput.clearFieldActionTitle,
539
- "aria-label": translatedLabels.textInput.clearFieldActionTitle
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, {
512
+ "aria-label": translatedLabels.textInput.clearFieldActionTitle,
513
+ type: "button"
514
+ }, _Icons["default"].clear), (numberInputContext === null || numberInputContext === void 0 ? void 0 : numberInputContext.typeNumber) === "number" && /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(Action, {
541
515
  ref: actionRef,
542
516
  disabled: disabled,
543
- onClick: function onClick() {
544
- return handleDecrementActionOnClick();
545
- },
517
+ onClick: handleDecrementActionOnClick,
546
518
  onMouseDown: function onMouseDown(event) {
547
519
  event.stopPropagation();
548
520
  },
549
521
  backgroundType: backgroundType,
550
522
  tabIndex: tabIndex,
551
523
  title: translatedLabels.numberInput.decrementValueTitle,
552
- "aria-label": translatedLabels.numberInput.decrementValueTitle
553
- }, textInputIcons.decrement), /*#__PURE__*/_react["default"].createElement(Action, {
524
+ "aria-label": translatedLabels.numberInput.decrementValueTitle,
525
+ type: "button"
526
+ }, _Icons["default"].decrement), /*#__PURE__*/_react["default"].createElement(Action, {
554
527
  ref: actionRef,
555
528
  disabled: disabled,
556
- onClick: function onClick() {
557
- return handleIncrementActionOnClick();
558
- },
529
+ onClick: handleIncrementActionOnClick,
559
530
  onMouseDown: function onMouseDown(event) {
560
531
  event.stopPropagation();
561
532
  },
562
533
  backgroundType: backgroundType,
563
534
  tabIndex: tabIndex,
564
535
  title: translatedLabels.numberInput.incrementValueTitle,
565
- "aria-label": translatedLabels.numberInput.incrementValueTitle
566
- }, textInputIcons.increment)) : action && /*#__PURE__*/_react["default"].createElement(Action, {
536
+ "aria-label": translatedLabels.numberInput.incrementValueTitle,
537
+ type: "button"
538
+ }, _Icons["default"].increment)), action && /*#__PURE__*/_react["default"].createElement(Action, {
567
539
  ref: actionRef,
568
540
  disabled: disabled,
569
- onClick: function onClick() {
570
- return action.onClick();
571
- },
541
+ onClick: action.onClick,
572
542
  onMouseDown: function onMouseDown(event) {
573
543
  event.stopPropagation();
574
544
  },
575
545
  title: action.title,
576
546
  "aria-label": action.title,
577
547
  backgroundType: backgroundType,
578
- tabIndex: tabIndex
548
+ tabIndex: tabIndex,
549
+ type: "button"
579
550
  }, typeof action.icon === "string" ? /*#__PURE__*/_react["default"].createElement(ActionIcon, {
580
551
  src: action.icon
581
552
  }) : action.icon), suffix && /*#__PURE__*/_react["default"].createElement(Suffix, {
582
553
  disabled: disabled,
583
554
  backgroundType: backgroundType
584
- }, suffix), isOpen && (filteredSuggestions.length > 0 || isSearching || isAutosuggestError) && /*#__PURE__*/_react["default"].createElement(Suggestions, {
585
- id: autosuggestId,
586
- error: isAutosuggestError ? true : false,
587
- onMouseDown: function onMouseDown(event) {
588
- event.preventDefault();
589
- },
590
- ref: suggestionsRef,
591
- role: "listbox",
592
- "aria-label": label
593
- }, !isSearching && !isAutosuggestError && filteredSuggestions.length > 0 && filteredSuggestions.map(function (suggestion, index) {
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
- },
602
- suggestion: suggestion,
603
- isLast: index === lastOptionIndex,
604
- visuallyFocused: visualFocusedSuggIndex === index,
605
- highlighted: typeof suggestions === "function"
606
- });
607
- }), isSearching && /*#__PURE__*/_react["default"].createElement(SuggestionsSystemMessage, null, translatedLabels.textInput.searchingMessage), isAutosuggestError && /*#__PURE__*/_react["default"].createElement(SuggestionsError, null, /*#__PURE__*/_react["default"].createElement(SuggestionsErrorIcon, {
608
- backgroundType: backgroundType
609
- }, textInputIcons.error), translatedLabels.textInput.fetchingDataErrorMessage))), !disabled && typeof error === "string" && /*#__PURE__*/_react["default"].createElement(Error, {
555
+ }, suffix)), !disabled && typeof error === "string" && /*#__PURE__*/_react["default"].createElement(Error, {
610
556
  id: errorId,
611
557
  backgroundType: backgroundType,
612
558
  "aria-live": error ? "assertive" : "off"
613
559
  }, error)));
614
560
  });
615
561
 
616
- var sizes = {
617
- small: "240px",
618
- medium: "360px",
619
- large: "480px",
620
- fillParent: "100%"
621
- };
622
-
623
- var calculateWidth = function calculateWidth(margin, size) {
624
- return size === "fillParent" ? "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")") : sizes[size];
625
- };
626
-
627
562
  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) {
628
563
  return calculateWidth(props.margin, props.size);
629
564
  }, function (props) {
@@ -681,7 +616,7 @@ var InputContainer = _styledComponents["default"].div(_templateObject5 || (_temp
681
616
  }, function (props) {
682
617
  return props.disabled && "cursor: not-allowed;";
683
618
  }, function (props) {
684
- return !props.disabled && "\n &:hover {\n border-color: ".concat(props.error ? "transparent" : props.backgroundType === "dark" ? props.theme.hoverBorderColorOnDark : props.theme.hoverBorderColor, ";\n ").concat(props.error && "box-shadow: 0 0 0 2px ".concat(props.backgroundType === "dark" ? props.theme.hoverErrorBorderColorOnDark : props.theme.hoverErrorBorderColor, ";"), "\n }\n &:focus-within {\n border-color: transparent;\n box-shadow: 0 0 0 2px ").concat(props.backgroundType === "dark" ? props.theme.focusBorderColorOnDark : props.theme.focusBorderColor, ";\n }\n ");
619
+ return !props.disabled && "\n &:hover {\n border-color: ".concat(props.error ? "transparent" : props.backgroundType === "dark" ? props.theme.hoverBorderColorOnDark : props.theme.hoverBorderColor, ";\n ").concat(props.error ? "box-shadow: 0 0 0 2px ".concat(props.backgroundType === "dark" ? props.theme.hoverErrorBorderColorOnDark : props.theme.hoverErrorBorderColor, ";") : "", "\n }\n &:focus-within {\n border-color: transparent;\n box-shadow: 0 0 0 2px ").concat(props.backgroundType === "dark" ? props.theme.focusBorderColorOnDark : props.theme.focusBorderColor, ";\n }\n ");
685
620
  });
686
621
 
687
622
  var Input = _styledComponents["default"].input(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n height: calc(2.5rem - 2px);\n width: 100%;\n background: none;\n border: none;\n outline: none;\n padding: 0 0.5rem;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n\n color: ", ";\n\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: 1.5em;\n ", "\n\n ::placeholder {\n color: ", ";\n }\n"])), function (props) {
@@ -738,33 +673,5 @@ var Error = _styledComponents["default"].span(_templateObject12 || (_templateObj
738
673
  return props.theme.fontFamily;
739
674
  });
740
675
 
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) {
742
- return props.error ? props.theme.errorListDialogBackgroundColor : props.theme.listDialogBackgroundColor;
743
- }, function (props) {
744
- return props.error ? props.theme.errorListDialogBorderColor : props.theme.listDialogBorderColor;
745
- }, function (props) {
746
- return props.theme.listOptionFontColor;
747
- }, function (props) {
748
- return props.theme.fontFamily;
749
- }, function (props) {
750
- return props.theme.listOptionFontSize;
751
- }, function (props) {
752
- return props.theme.listOptionFontStyle;
753
- }, function (props) {
754
- return props.theme.listOptionFontWeight;
755
- });
756
-
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) {
758
- return props.theme.systemMessageFontColor;
759
- });
760
-
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) {
762
- return props.backgroundType === "dark" ? props.theme.errorIconColorOnDark : props.theme.errorIconColor;
763
- });
764
-
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) {
766
- return props.theme.errorListDialogFontColor;
767
- });
768
-
769
676
  var _default = DxcTextInput;
770
677
  exports["default"] = _default;