@dxc-technology/halstack-react 0.0.0-61a8ced → 0.0.0-62702b8

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 (244) hide show
  1. package/BackgroundColorContext.d.ts +2 -2
  2. package/BackgroundColorContext.js +1 -1
  3. package/HalstackContext.d.ts +1349 -5
  4. package/HalstackContext.js +117 -77
  5. package/README.md +47 -0
  6. package/accordion/Accordion.d.ts +1 -1
  7. package/accordion/Accordion.js +14 -37
  8. package/accordion/Accordion.stories.tsx +104 -113
  9. package/accordion/Accordion.test.js +1 -1
  10. package/accordion/types.d.ts +2 -13
  11. package/accordion-group/AccordionGroup.d.ts +4 -3
  12. package/accordion-group/AccordionGroup.js +23 -44
  13. package/accordion-group/AccordionGroup.stories.tsx +77 -76
  14. package/accordion-group/AccordionGroup.test.js +7 -17
  15. package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
  16. package/accordion-group/AccordionGroupAccordion.js +43 -0
  17. package/accordion-group/types.d.ts +2 -13
  18. package/alert/Alert.js +4 -8
  19. package/alert/Alert.stories.tsx +28 -0
  20. package/alert/Alert.test.js +1 -1
  21. package/bleed/Bleed.stories.tsx +1 -0
  22. package/box/Box.d.ts +1 -1
  23. package/box/Box.js +7 -26
  24. package/box/Box.stories.tsx +38 -51
  25. package/box/Box.test.js +1 -1
  26. package/box/types.d.ts +0 -11
  27. package/bulleted-list/BulletedList.js +4 -2
  28. package/bulleted-list/BulletedList.stories.tsx +7 -1
  29. package/bulleted-list/types.d.ts +31 -4
  30. package/button/Button.d.ts +1 -1
  31. package/button/Button.js +48 -60
  32. package/button/Button.stories.tsx +151 -9
  33. package/button/Button.test.js +12 -1
  34. package/button/types.d.ts +7 -3
  35. package/card/Card.d.ts +1 -1
  36. package/card/Card.js +27 -45
  37. package/card/Card.stories.tsx +12 -42
  38. package/card/Card.test.js +1 -1
  39. package/card/types.d.ts +1 -6
  40. package/checkbox/Checkbox.d.ts +2 -2
  41. package/checkbox/Checkbox.js +74 -53
  42. package/checkbox/Checkbox.stories.tsx +146 -58
  43. package/checkbox/Checkbox.test.js +84 -11
  44. package/checkbox/types.d.ts +10 -2
  45. package/chip/Chip.js +28 -49
  46. package/chip/Chip.stories.tsx +121 -26
  47. package/chip/Chip.test.js +3 -5
  48. package/common/OpenSans.css +68 -80
  49. package/common/coreTokens.d.ts +146 -0
  50. package/common/coreTokens.js +167 -0
  51. package/common/utils.d.ts +1 -0
  52. package/common/utils.js +4 -4
  53. package/common/variables.d.ts +1499 -0
  54. package/common/variables.js +1004 -1134
  55. package/date-input/Calendar.d.ts +4 -0
  56. package/date-input/Calendar.js +258 -0
  57. package/date-input/DateInput.js +138 -239
  58. package/date-input/DateInput.stories.tsx +209 -33
  59. package/date-input/DateInput.test.js +519 -149
  60. package/date-input/DatePicker.d.ts +4 -0
  61. package/date-input/DatePicker.js +146 -0
  62. package/date-input/Icons.d.ts +6 -0
  63. package/date-input/Icons.js +75 -0
  64. package/date-input/YearPicker.d.ts +4 -0
  65. package/date-input/YearPicker.js +126 -0
  66. package/date-input/types.d.ts +57 -0
  67. package/dialog/Dialog.d.ts +1 -1
  68. package/dialog/Dialog.js +54 -85
  69. package/dialog/Dialog.stories.tsx +154 -170
  70. package/dialog/Dialog.test.js +302 -3
  71. package/dialog/types.d.ts +0 -12
  72. package/dropdown/Dropdown.js +42 -41
  73. package/dropdown/Dropdown.stories.tsx +210 -84
  74. package/dropdown/Dropdown.test.js +22 -27
  75. package/dropdown/DropdownMenu.js +12 -18
  76. package/dropdown/DropdownMenuItem.js +5 -18
  77. package/dropdown/types.d.ts +3 -3
  78. package/file-input/FileInput.d.ts +2 -2
  79. package/file-input/FileInput.js +174 -220
  80. package/file-input/FileInput.stories.tsx +122 -11
  81. package/file-input/FileInput.test.js +14 -14
  82. package/file-input/FileItem.d.ts +4 -14
  83. package/file-input/FileItem.js +39 -63
  84. package/file-input/types.d.ts +18 -1
  85. package/flex/Flex.d.ts +1 -1
  86. package/flex/Flex.js +33 -19
  87. package/flex/Flex.stories.tsx +35 -26
  88. package/flex/types.d.ts +83 -7
  89. package/footer/Footer.d.ts +1 -1
  90. package/footer/Footer.js +44 -64
  91. package/footer/Footer.stories.tsx +36 -21
  92. package/footer/Footer.test.js +16 -26
  93. package/footer/types.d.ts +10 -11
  94. package/grid/Grid.d.ts +7 -0
  95. package/grid/Grid.js +91 -0
  96. package/grid/Grid.stories.tsx +219 -0
  97. package/grid/types.d.ts +115 -0
  98. package/header/Header.d.ts +4 -3
  99. package/header/Header.js +20 -49
  100. package/header/Header.stories.tsx +115 -36
  101. package/header/Header.test.js +2 -2
  102. package/header/types.d.ts +1 -14
  103. package/heading/Heading.js +1 -1
  104. package/heading/Heading.test.js +1 -1
  105. package/image/Image.d.ts +4 -0
  106. package/image/Image.js +85 -0
  107. package/image/Image.stories.tsx +127 -0
  108. package/image/types.d.ts +72 -0
  109. package/inset/Inset.stories.tsx +2 -1
  110. package/layout/ApplicationLayout.d.ts +5 -5
  111. package/layout/ApplicationLayout.js +15 -12
  112. package/layout/ApplicationLayout.stories.tsx +1 -1
  113. package/layout/Icons.d.ts +7 -4
  114. package/layout/Icons.js +52 -56
  115. package/layout/types.d.ts +2 -3
  116. package/link/Link.js +4 -4
  117. package/link/Link.stories.tsx +60 -0
  118. package/link/Link.test.js +2 -4
  119. package/link/types.d.ts +2 -2
  120. package/main.d.ts +5 -3
  121. package/main.js +18 -2
  122. package/{tabs-nav → nav-tabs}/NavTabs.d.ts +2 -2
  123. package/{tabs-nav → nav-tabs}/NavTabs.js +8 -11
  124. package/{tabs-nav → nav-tabs}/NavTabs.stories.tsx +110 -6
  125. package/{tabs-nav → nav-tabs}/NavTabs.test.js +1 -1
  126. package/{tabs-nav → nav-tabs}/Tab.js +49 -33
  127. package/{tabs-nav → nav-tabs}/types.d.ts +8 -9
  128. package/number-input/NumberInput.d.ts +7 -0
  129. package/number-input/NumberInput.js +8 -4
  130. package/number-input/NumberInput.stories.tsx +47 -2
  131. package/number-input/NumberInput.test.js +354 -92
  132. package/number-input/types.d.ts +6 -0
  133. package/package.json +14 -19
  134. package/paginator/Icons.d.ts +5 -0
  135. package/paginator/Icons.js +16 -28
  136. package/paginator/Paginator.js +8 -16
  137. package/paginator/Paginator.stories.tsx +24 -0
  138. package/paginator/Paginator.test.js +58 -48
  139. package/paragraph/Paragraph.d.ts +3 -4
  140. package/paragraph/Paragraph.js +5 -5
  141. package/password-input/Icons.d.ts +6 -0
  142. package/password-input/Icons.js +39 -0
  143. package/password-input/PasswordInput.js +35 -82
  144. package/password-input/PasswordInput.stories.tsx +1 -0
  145. package/password-input/PasswordInput.test.js +34 -40
  146. package/progress-bar/ProgressBar.d.ts +2 -2
  147. package/progress-bar/ProgressBar.js +5 -5
  148. package/progress-bar/ProgressBar.stories.jsx +35 -2
  149. package/progress-bar/ProgressBar.test.js +1 -1
  150. package/progress-bar/types.d.ts +4 -3
  151. package/quick-nav/QuickNav.js +11 -12
  152. package/quick-nav/QuickNav.stories.tsx +111 -19
  153. package/radio-group/Radio.d.ts +1 -1
  154. package/radio-group/Radio.js +50 -35
  155. package/radio-group/RadioGroup.js +29 -29
  156. package/radio-group/RadioGroup.stories.tsx +132 -18
  157. package/radio-group/RadioGroup.test.js +153 -99
  158. package/radio-group/types.d.ts +5 -5
  159. package/resultset-table/Icons.d.ts +7 -0
  160. package/resultset-table/Icons.js +51 -0
  161. package/{resultsetTable → resultset-table}/ResultsetTable.js +49 -108
  162. package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +50 -25
  163. package/{resultsetTable → resultset-table}/ResultsetTable.test.js +41 -64
  164. package/{resultsetTable → resultset-table}/types.d.ts +1 -1
  165. package/resultset-table/types.js +5 -0
  166. package/select/Listbox.d.ts +1 -1
  167. package/select/Listbox.js +5 -35
  168. package/select/Option.js +11 -24
  169. package/select/Select.js +59 -36
  170. package/select/Select.stories.tsx +497 -153
  171. package/select/Select.test.js +345 -292
  172. package/select/types.d.ts +2 -2
  173. package/sidenav/Icons.d.ts +7 -0
  174. package/sidenav/Icons.js +51 -0
  175. package/sidenav/Sidenav.d.ts +2 -2
  176. package/sidenav/Sidenav.js +66 -96
  177. package/sidenav/Sidenav.stories.tsx +165 -63
  178. package/sidenav/types.d.ts +21 -18
  179. package/slider/Slider.d.ts +2 -2
  180. package/slider/Slider.js +17 -14
  181. package/slider/Slider.stories.tsx +57 -0
  182. package/slider/Slider.test.js +1 -1
  183. package/slider/types.d.ts +6 -2
  184. package/spinner/Spinner.js +17 -23
  185. package/spinner/Spinner.stories.jsx +53 -27
  186. package/spinner/Spinner.test.js +1 -1
  187. package/switch/Switch.d.ts +3 -3
  188. package/switch/Switch.js +95 -84
  189. package/switch/Switch.stories.tsx +33 -0
  190. package/switch/Switch.test.js +27 -14
  191. package/switch/types.d.ts +8 -3
  192. package/table/Table.js +3 -3
  193. package/table/Table.stories.jsx +80 -1
  194. package/table/Table.test.js +2 -2
  195. package/tabs/Tab.js +12 -15
  196. package/tabs/Tabs.js +11 -17
  197. package/tabs/Tabs.stories.tsx +45 -5
  198. package/tabs/Tabs.test.js +4 -5
  199. package/tabs/types.d.ts +2 -2
  200. package/tag/Tag.js +7 -9
  201. package/tag/Tag.stories.tsx +14 -1
  202. package/tag/Tag.test.js +1 -1
  203. package/text-input/Icons.d.ts +8 -0
  204. package/text-input/Icons.js +60 -0
  205. package/text-input/Suggestion.js +40 -11
  206. package/text-input/Suggestions.d.ts +4 -0
  207. package/text-input/Suggestions.js +134 -0
  208. package/text-input/TextInput.js +232 -342
  209. package/text-input/TextInput.stories.tsx +319 -184
  210. package/text-input/TextInput.test.js +848 -726
  211. package/text-input/types.d.ts +27 -2
  212. package/textarea/Textarea.js +27 -26
  213. package/textarea/Textarea.stories.jsx +68 -1
  214. package/textarea/Textarea.test.js +61 -19
  215. package/textarea/types.d.ts +4 -0
  216. package/toggle-group/ToggleGroup.d.ts +2 -2
  217. package/toggle-group/ToggleGroup.js +85 -59
  218. package/toggle-group/ToggleGroup.stories.tsx +48 -3
  219. package/toggle-group/ToggleGroup.test.js +38 -24
  220. package/toggle-group/types.d.ts +22 -13
  221. package/typography/Typography.d.ts +2 -2
  222. package/typography/Typography.js +14 -113
  223. package/typography/Typography.stories.tsx +1 -1
  224. package/useTheme.d.ts +1251 -1
  225. package/useTheme.js +1 -1
  226. package/useTranslatedLabels.d.ts +84 -1
  227. package/utils/BaseTypography.d.ts +21 -0
  228. package/utils/BaseTypography.js +108 -0
  229. package/utils/FocusLock.d.ts +13 -0
  230. package/utils/FocusLock.js +138 -0
  231. package/wizard/Wizard.js +2 -2
  232. package/wizard/Wizard.stories.tsx +20 -0
  233. package/wizard/Wizard.test.js +1 -1
  234. package/wizard/types.d.ts +5 -6
  235. package/card/ice-cream.jpg +0 -0
  236. package/common/RequiredComponent.js +0 -32
  237. package/number-input/NumberInputContext.d.ts +0 -4
  238. package/number-input/NumberInputContext.js +0 -19
  239. package/number-input/numberInputContextTypes.d.ts +0 -19
  240. /package/{resultsetTable → grid}/types.js +0 -0
  241. /package/{tabs-nav → image}/types.js +0 -0
  242. /package/{tabs-nav → nav-tabs}/Tab.d.ts +0 -0
  243. /package/{number-input/numberInputContextTypes.js → nav-tabs/types.js} +0 -0
  244. /package/{resultsetTable → resultset-table}/ResultsetTable.d.ts +0 -0
@@ -23,70 +23,44 @@ var _useTheme = _interopRequireDefault(require("../useTheme"));
23
23
 
24
24
  var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
25
25
 
26
- var _variables = require("../common/variables.js");
26
+ var _variables = require("../common/variables");
27
27
 
28
- var _utils = require("../common/utils.js");
29
-
30
- var _uuid = require("uuid");
28
+ var _utils = require("../common/utils");
31
29
 
32
30
  var _BackgroundColorContext = _interopRequireDefault(require("../BackgroundColorContext"));
33
31
 
34
- var _NumberInputContext = _interopRequireDefault(require("../number-input/NumberInputContext"));
32
+ var _NumberInput = require("../number-input/NumberInput");
35
33
 
36
- var _Suggestion = _interopRequireDefault(require("./Suggestion"));
34
+ var _Suggestions = _interopRequireDefault(require("./Suggestions"));
37
35
 
38
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16;
36
+ var Popover = _interopRequireWildcard(require("@radix-ui/react-popover"));
37
+
38
+ var _Icons = _interopRequireDefault(require("./Icons"));
39
+
40
+ var _uuid = require("uuid");
41
+
42
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11;
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,63 +84,71 @@ var makeCancelable = function makeCancelable(promise) {
110
84
  };
111
85
  };
112
86
 
113
- var patternMatch = function patternMatch(pattern, value) {
114
- return new RegExp(pattern).test(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 getLastOptionIndex = function getLastOptionIndex(filteredSuggestions) {
118
- var last = 0;
91
+ var isRequired = function isRequired(value, optional) {
92
+ return value === "" && !optional;
93
+ };
119
94
 
120
- var reducer = function reducer(acc, current) {
121
- var _current$options;
95
+ var isLengthIncorrect = function isLengthIncorrect(value, minLength, maxLength) {
96
+ return value != null && (value.length < minLength || value.length > maxLength);
97
+ };
122
98
 
123
- return acc + ((_current$options = current.options) === null || _current$options === void 0 ? void 0 : _current$options.length);
124
- };
99
+ var isNumberIncorrect = function isNumberIncorrect(value, minNumber, maxNumber) {
100
+ return value < minNumber || value > maxNumber;
101
+ };
125
102
 
126
- if (filteredSuggestions.length > 0) filteredSuggestions[0].options ? last = filteredSuggestions.reduce(reducer, 0) - 1 : last = filteredSuggestions.length - 1;
127
- return last;
103
+ var patternMismatch = function patternMismatch(pattern, value) {
104
+ return pattern != null && !new RegExp(pattern).test(value);
128
105
  };
129
106
 
130
- var DxcTextInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
131
- var label = _ref.label,
132
- _ref$name = _ref.name,
133
- name = _ref$name === void 0 ? "" : _ref$name,
134
- _ref$defaultValue = _ref.defaultValue,
135
- defaultValue = _ref$defaultValue === void 0 ? "" : _ref$defaultValue,
136
- value = _ref.value,
137
- helperText = _ref.helperText,
138
- _ref$placeholder = _ref.placeholder,
139
- placeholder = _ref$placeholder === void 0 ? "" : _ref$placeholder,
140
- action = _ref.action,
141
- _ref$clearable = _ref.clearable,
142
- clearable = _ref$clearable === void 0 ? false : _ref$clearable,
143
- _ref$disabled = _ref.disabled,
144
- disabled = _ref$disabled === void 0 ? false : _ref$disabled,
145
- _ref$optional = _ref.optional,
146
- optional = _ref$optional === void 0 ? false : _ref$optional,
147
- _ref$prefix = _ref.prefix,
148
- prefix = _ref$prefix === void 0 ? "" : _ref$prefix,
149
- _ref$suffix = _ref.suffix,
150
- suffix = _ref$suffix === void 0 ? "" : _ref$suffix,
151
- onChange = _ref.onChange,
152
- onBlur = _ref.onBlur,
153
- error = _ref.error,
154
- suggestions = _ref.suggestions,
155
- pattern = _ref.pattern,
156
- minLength = _ref.minLength,
157
- maxLength = _ref.maxLength,
158
- _ref$autocomplete = _ref.autocomplete,
159
- autocomplete = _ref$autocomplete === void 0 ? "off" : _ref$autocomplete,
160
- margin = _ref.margin,
161
- _ref$size = _ref.size,
162
- size = _ref$size === void 0 ? "medium" : _ref$size,
163
- _ref$tabIndex = _ref.tabIndex,
164
- 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$readOnly = _ref2.readOnly,
123
+ readOnly = _ref2$readOnly === void 0 ? false : _ref2$readOnly,
124
+ _ref2$optional = _ref2.optional,
125
+ optional = _ref2$optional === void 0 ? false : _ref2$optional,
126
+ _ref2$prefix = _ref2.prefix,
127
+ prefix = _ref2$prefix === void 0 ? "" : _ref2$prefix,
128
+ _ref2$suffix = _ref2.suffix,
129
+ suffix = _ref2$suffix === void 0 ? "" : _ref2$suffix,
130
+ onChange = _ref2.onChange,
131
+ onBlur = _ref2.onBlur,
132
+ error = _ref2.error,
133
+ suggestions = _ref2.suggestions,
134
+ pattern = _ref2.pattern,
135
+ minLength = _ref2.minLength,
136
+ maxLength = _ref2.maxLength,
137
+ _ref2$autocomplete = _ref2.autocomplete,
138
+ autocomplete = _ref2$autocomplete === void 0 ? "off" : _ref2$autocomplete,
139
+ margin = _ref2.margin,
140
+ _ref2$size = _ref2.size,
141
+ size = _ref2$size === void 0 ? "medium" : _ref2$size,
142
+ _ref2$tabIndex = _ref2.tabIndex,
143
+ tabIndex = _ref2$tabIndex === void 0 ? 0 : _ref2$tabIndex;
165
144
 
166
145
  var _useState = (0, _react.useState)("input-".concat((0, _uuid.v4)())),
167
146
  _useState2 = (0, _slicedToArray2["default"])(_useState, 1),
168
147
  inputId = _useState2[0];
169
148
 
149
+ var autosuggestId = "suggestions-".concat(inputId);
150
+ var errorId = "error-".concat(inputId);
151
+
170
152
  var _useState3 = (0, _react.useState)(defaultValue),
171
153
  _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
172
154
  innerValue = _useState4[0],
@@ -194,74 +176,55 @@ var DxcTextInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
194
176
 
195
177
  var _useState13 = (0, _react.useState)(-1),
196
178
  _useState14 = (0, _slicedToArray2["default"])(_useState13, 2),
197
- visualFocusedSuggIndex = _useState14[0],
198
- changeVisualFocusedSuggIndex = _useState14[1];
179
+ visualFocusIndex = _useState14[0],
180
+ changeVisualFocusIndex = _useState14[1];
199
181
 
200
- var suggestionsRef = (0, _react.useRef)(null);
201
182
  var inputRef = (0, _react.useRef)(null);
202
183
  var actionRef = (0, _react.useRef)(null);
203
184
  var colorsTheme = (0, _useTheme["default"])();
204
185
  var translatedLabels = (0, _useTranslatedLabels["default"])();
205
186
  var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"]);
206
- var autosuggestId = "".concat(inputId, "-listBox");
207
- var errorId = "error-".concat(inputId);
208
- var numberInputContext = (0, _react.useContext)(_NumberInputContext["default"]);
209
- var lastOptionIndex = (0, _react.useMemo)(function () {
210
- return getLastOptionIndex(filteredSuggestions);
211
- }, [filteredSuggestions]);
212
-
213
- var isNotOptional = function isNotOptional(value) {
214
- return value === "" && !optional;
215
- };
216
-
217
- var isLengthIncorrect = function isLengthIncorrect(value) {
218
- return value && minLength && maxLength && (value.length < minLength || value.length > maxLength);
219
- };
220
-
221
- var isNumberIncorrect = function isNumberIncorrect(value) {
222
- 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);
223
- };
224
-
225
- var isTextInputType = function isTextInputType() {
226
- var _inputRef$current, _inputRef$current2;
227
-
228
- 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";
229
- };
187
+ var numberInputContext = (0, _react.useContext)(_NumberInput.NumberInputContext);
230
188
 
231
189
  var getNumberErrorMessage = function getNumberErrorMessage(value) {
232
- 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);
190
+ if (value < (numberInputContext === null || numberInputContext === void 0 ? void 0 : numberInputContext.minNumber)) return translatedLabels.numberInput.valueGreaterThanOrEqualToErrorMessage(numberInputContext.minNumber);else if (value > (numberInputContext === null || numberInputContext === void 0 ? void 0 : numberInputContext.maxNumber)) return translatedLabels.numberInput.valueLessThanOrEqualToErrorMessage(numberInputContext.maxNumber);
233
191
  };
234
192
 
235
- var hasSuggestions = function hasSuggestions() {
236
- return typeof suggestions === "function" || (suggestions === null || suggestions === void 0 ? void 0 : suggestions.length) > 0;
237
- };
193
+ var getTextInputWidth = (0, _react.useCallback)(function () {
194
+ var _inputRef$current, _inputRef$current$par;
195
+
196
+ 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();
197
+ return rect === null || rect === void 0 ? void 0 : rect.width;
198
+ }, []);
238
199
 
239
200
  var openSuggestions = function openSuggestions() {
240
- hasSuggestions() && changeIsOpen(true);
201
+ hasSuggestions(suggestions) && changeIsOpen(true);
241
202
  };
242
203
 
243
204
  var closeSuggestions = function closeSuggestions() {
244
- changeIsOpen(false);
245
- changeVisualFocusedSuggIndex(-1);
205
+ if (hasSuggestions(suggestions)) {
206
+ changeIsOpen(false);
207
+ changeVisualFocusIndex(-1);
208
+ }
246
209
  };
247
210
 
248
211
  var changeValue = function changeValue(newValue) {
249
- value !== null && value !== void 0 ? value : setInnerValue(newValue);
250
- var changedValue = typeof newValue === "number" ? newValue.toString() : newValue;
251
- if (isNotOptional(newValue)) onChange === null || onChange === void 0 ? void 0 : onChange({
252
- value: changedValue,
212
+ var formattedValue = typeof newValue === "number" ? newValue.toString() : newValue;
213
+ value !== null && value !== void 0 ? value : setInnerValue(formattedValue);
214
+ if (isRequired(formattedValue, optional)) onChange === null || onChange === void 0 ? void 0 : onChange({
215
+ value: formattedValue,
253
216
  error: translatedLabels.formFields.requiredValueErrorMessage
254
- });else if (isLengthIncorrect(newValue)) onChange === null || onChange === void 0 ? void 0 : onChange({
255
- value: changedValue,
217
+ });else if (isLengthIncorrect(formattedValue, minLength, maxLength)) onChange === null || onChange === void 0 ? void 0 : onChange({
218
+ value: formattedValue,
256
219
  error: translatedLabels.formFields.lengthErrorMessage(minLength, maxLength)
257
- });else if (newValue && pattern && !patternMatch(pattern, newValue)) onChange === null || onChange === void 0 ? void 0 : onChange({
258
- value: changedValue,
220
+ });else if (patternMismatch(pattern, formattedValue)) onChange === null || onChange === void 0 ? void 0 : onChange({
221
+ value: formattedValue,
259
222
  error: translatedLabels.formFields.formatRequestedErrorMessage
260
- });else if (newValue && isNumberIncorrect(newValue)) onChange === null || onChange === void 0 ? void 0 : onChange({
261
- value: changedValue,
262
- error: getNumberErrorMessage(newValue)
223
+ });else if ((numberInputContext === null || numberInputContext === void 0 ? void 0 : numberInputContext.typeNumber) === "number" && isNumberIncorrect(Number(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({
224
+ value: formattedValue,
225
+ error: getNumberErrorMessage(Number(newValue))
263
226
  });else onChange === null || onChange === void 0 ? void 0 : onChange({
264
- value: changedValue
227
+ value: formattedValue
265
228
  });
266
229
  };
267
230
 
@@ -274,73 +237,65 @@ var DxcTextInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
274
237
  document.activeElement === inputRef.current && event.preventDefault();
275
238
  };
276
239
 
277
- var handleIOnChange = function handleIOnChange(event) {
240
+ var handleInputOnChange = function handleInputOnChange(event) {
278
241
  openSuggestions();
279
242
  changeValue(event.target.value);
280
243
  };
281
244
 
282
- var handleIOnBlur = function handleIOnBlur(event) {
283
- suggestions && closeSuggestions();
284
- if (isNotOptional(event.target.value)) onBlur === null || onBlur === void 0 ? void 0 : onBlur({
245
+ var handleInputOnBlur = function handleInputOnBlur(event) {
246
+ closeSuggestions();
247
+ if (isRequired(event.target.value, optional)) onBlur === null || onBlur === void 0 ? void 0 : onBlur({
285
248
  value: event.target.value,
286
249
  error: translatedLabels.formFields.requiredValueErrorMessage
287
- });else if (isLengthIncorrect(event.target.value)) onBlur === null || onBlur === void 0 ? void 0 : onBlur({
250
+ });else if (isLengthIncorrect(event.target.value, minLength, maxLength)) onBlur === null || onBlur === void 0 ? void 0 : onBlur({
288
251
  value: event.target.value,
289
252
  error: translatedLabels.formFields.lengthErrorMessage(minLength, maxLength)
290
- });else if (event.target.value && pattern && !patternMatch(pattern, event.target.value)) onBlur === null || onBlur === void 0 ? void 0 : onBlur({
253
+ });else if (patternMismatch(pattern, event.target.value)) onBlur === null || onBlur === void 0 ? void 0 : onBlur({
291
254
  value: event.target.value,
292
255
  error: translatedLabels.formFields.formatRequestedErrorMessage
293
- });else if (event.target.value && isNumberIncorrect(event.target.value)) onBlur === null || onBlur === void 0 ? void 0 : onBlur({
256
+ });else if ((numberInputContext === null || numberInputContext === void 0 ? void 0 : numberInputContext.typeNumber) === "number" && isNumberIncorrect(Number(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({
294
257
  value: event.target.value,
295
- error: getNumberErrorMessage(event.target.value)
258
+ error: getNumberErrorMessage(Number(event.target.value))
296
259
  });else onBlur === null || onBlur === void 0 ? void 0 : onBlur({
297
260
  value: event.target.value
298
261
  });
299
262
  };
300
263
 
301
- var handleIOnKeyDown = function handleIOnKeyDown(event) {
264
+ var handleInputOnKeyDown = function handleInputOnKeyDown(event) {
302
265
  switch (event.key) {
303
266
  case "Down":
304
267
  case "ArrowDown":
305
268
  event.preventDefault();
306
-
307
- if ((numberInputContext === null || numberInputContext === void 0 ? void 0 : numberInputContext.typeNumber) === "number") {
308
- decrementNumber();
309
- } else {
269
+ if ((numberInputContext === null || numberInputContext === void 0 ? void 0 : numberInputContext.typeNumber) === "number") decrementNumber();else {
310
270
  openSuggestions();
311
271
 
312
272
  if (!isAutosuggestError && !isSearching && filteredSuggestions.length > 0) {
313
- changeVisualFocusedSuggIndex(function (visualFocusedSuggIndex) {
273
+ changeVisualFocusIndex(function (visualFocusedSuggIndex) {
314
274
  if (visualFocusedSuggIndex < filteredSuggestions.length - 1) return visualFocusedSuggIndex + 1;else if (visualFocusedSuggIndex === filteredSuggestions.length - 1) return 0;
315
275
  });
316
276
  }
317
277
  }
318
-
319
278
  break;
320
279
 
321
280
  case "Up":
322
281
  case "ArrowUp":
323
282
  event.preventDefault();
324
-
325
- if ((numberInputContext === null || numberInputContext === void 0 ? void 0 : numberInputContext.typeNumber) === "number") {
326
- incrementNumber();
327
- } else {
283
+ if ((numberInputContext === null || numberInputContext === void 0 ? void 0 : numberInputContext.typeNumber) === "number") incrementNumber();else {
328
284
  openSuggestions();
329
285
 
330
286
  if (!isAutosuggestError && !isSearching && filteredSuggestions.length > 0) {
331
- changeVisualFocusedSuggIndex(function (visualFocusedSuggIndex) {
287
+ changeVisualFocusIndex(function (visualFocusedSuggIndex) {
332
288
  if (visualFocusedSuggIndex === 0 || visualFocusedSuggIndex === -1) return filteredSuggestions.length > 0 ? filteredSuggestions.length - 1 : suggestions.length - 1;else return visualFocusedSuggIndex - 1;
333
289
  });
334
290
  }
335
291
  }
336
-
337
292
  break;
338
293
 
339
294
  case "Esc":
340
295
  case "Escape":
341
296
  event.preventDefault();
342
297
 
343
- if (hasSuggestions()) {
298
+ if (hasSuggestions(suggestions)) {
344
299
  changeValue("");
345
300
  isOpen && closeSuggestions();
346
301
  }
@@ -348,9 +303,9 @@ var DxcTextInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
348
303
  break;
349
304
 
350
305
  case "Enter":
351
- if (hasSuggestions() && !isSearching) {
352
- var validFocusedSuggestion = filteredSuggestions.length > 0 && visualFocusedSuggIndex >= 0 && visualFocusedSuggIndex < filteredSuggestions.length;
353
- validFocusedSuggestion && changeValue(filteredSuggestions[visualFocusedSuggIndex]);
306
+ if (hasSuggestions(suggestions) && !isSearching) {
307
+ var validFocusedSuggestion = filteredSuggestions.length > 0 && visualFocusIndex >= 0 && visualFocusIndex < filteredSuggestions.length;
308
+ validFocusedSuggestion && changeValue(filteredSuggestions[visualFocusIndex]);
354
309
  isOpen && closeSuggestions();
355
310
  }
356
311
 
@@ -375,63 +330,38 @@ var DxcTextInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
375
330
  };
376
331
 
377
332
  var setNumberProps = function setNumberProps(type, min, max, step) {
378
- var _inputRef$current3, _inputRef$current4, _inputRef$current5, _inputRef$current6;
333
+ var _inputRef$current2, _inputRef$current3, _inputRef$current4, _inputRef$current5;
379
334
 
380
- type && (inputRef === null || inputRef === void 0 ? void 0 : (_inputRef$current3 = inputRef.current) === null || _inputRef$current3 === void 0 ? void 0 : _inputRef$current3.setAttribute("type", type));
381
- min && (inputRef === null || inputRef === void 0 ? void 0 : (_inputRef$current4 = inputRef.current) === null || _inputRef$current4 === void 0 ? void 0 : _inputRef$current4.setAttribute("min", min));
382
- max && (inputRef === null || inputRef === void 0 ? void 0 : (_inputRef$current5 = inputRef.current) === null || _inputRef$current5 === void 0 ? void 0 : _inputRef$current5.setAttribute("max", max));
383
- step && (inputRef === null || inputRef === void 0 ? void 0 : (_inputRef$current6 = inputRef.current) === null || _inputRef$current6 === void 0 ? void 0 : _inputRef$current6.setAttribute("step", step));
335
+ min && (inputRef === null || inputRef === void 0 ? void 0 : (_inputRef$current2 = inputRef.current) === null || _inputRef$current2 === void 0 ? void 0 : _inputRef$current2.setAttribute("min", min));
336
+ max && (inputRef === null || inputRef === void 0 ? void 0 : (_inputRef$current3 = inputRef.current) === null || _inputRef$current3 === void 0 ? void 0 : _inputRef$current3.setAttribute("max", max));
337
+ inputRef === null || inputRef === void 0 ? void 0 : (_inputRef$current4 = inputRef.current) === null || _inputRef$current4 === void 0 ? void 0 : _inputRef$current4.setAttribute("step", step);
338
+ inputRef === null || inputRef === void 0 ? void 0 : (_inputRef$current5 = inputRef.current) === null || _inputRef$current5 === void 0 ? void 0 : _inputRef$current5.setAttribute("type", type);
384
339
  };
385
340
 
386
341
  var decrementNumber = function decrementNumber() {
387
- var numberValue = value !== null && value !== void 0 ? value : innerValue;
388
-
389
- if (numberInputContext !== null && numberInputContext !== void 0 && numberInputContext.minNumber && parseInt(numberValue) < (numberInputContext === null || numberInputContext === void 0 ? void 0 : numberInputContext.minNumber)) {
390
- changeValue(parseInt(numberValue));
391
- } else if (numberInputContext !== null && numberInputContext !== void 0 && numberInputContext.maxNumber && parseInt(numberValue) > (numberInputContext === null || numberInputContext === void 0 ? void 0 : numberInputContext.maxNumber)) {
392
- changeValue(numberInputContext === null || numberInputContext === void 0 ? void 0 : numberInputContext.maxNumber);
393
- } else if (numberInputContext !== null && numberInputContext !== void 0 && numberInputContext.minNumber && (parseInt(numberValue) === (numberInputContext === null || numberInputContext === void 0 ? void 0 : numberInputContext.minNumber) || numberValue === "" || numberInputContext !== null && numberInputContext !== void 0 && numberInputContext.stepNumber && parseInt(numberValue) - (numberInputContext === null || numberInputContext === void 0 ? void 0 : numberInputContext.stepNumber) < (numberInputContext === null || numberInputContext === void 0 ? void 0 : numberInputContext.minNumber))) {
394
- changeValue(numberInputContext === null || numberInputContext === void 0 ? void 0 : numberInputContext.minNumber);
395
- } else if (numberInputContext !== null && numberInputContext !== void 0 && numberInputContext.stepNumber && numberInputContext !== null && numberInputContext !== void 0 && numberInputContext.minNumber && parseInt(numberValue) - (numberInputContext === null || numberInputContext === void 0 ? void 0 : numberInputContext.stepNumber) >= (numberInputContext === null || numberInputContext === void 0 ? void 0 : numberInputContext.minNumber) || numberInputContext !== null && numberInputContext !== void 0 && numberInputContext.stepNumber && numberValue !== "") {
396
- changeValue(parseInt(numberValue) - (numberInputContext === null || numberInputContext === void 0 ? void 0 : numberInputContext.stepNumber));
397
- } else if (numberInputContext !== null && numberInputContext !== void 0 && numberInputContext.stepNumber && numberValue == "") {
398
- changeValue(-(numberInputContext === null || numberInputContext === void 0 ? void 0 : numberInputContext.stepNumber));
399
- } else if (numberValue === "") {
400
- changeValue(-1);
342
+ var currentValue = value !== null && value !== void 0 ? value : innerValue;
343
+ var numberValue = Number(currentValue);
344
+ var steppedValue = Math.round((numberValue - (numberInputContext === null || numberInputContext === void 0 ? void 0 : numberInputContext.stepNumber) + Number.EPSILON) * 100) / 100;
345
+
346
+ if (currentValue !== "") {
347
+ if (numberValue < (numberInputContext === null || numberInputContext === void 0 ? void 0 : numberInputContext.minNumber) || steppedValue < (numberInputContext === null || numberInputContext === void 0 ? void 0 : numberInputContext.minNumber)) changeValue(numberValue);else if (numberValue > (numberInputContext === null || numberInputContext === void 0 ? void 0 : numberInputContext.maxNumber)) changeValue(numberInputContext === null || numberInputContext === void 0 ? void 0 : numberInputContext.maxNumber);else if (numberValue === (numberInputContext === null || numberInputContext === void 0 ? void 0 : numberInputContext.minNumber)) changeValue(numberInputContext === null || numberInputContext === void 0 ? void 0 : numberInputContext.minNumber);else changeValue(steppedValue);
401
348
  } else {
402
- changeValue(parseInt(numberValue) - 1);
349
+ if ((numberInputContext === null || numberInputContext === void 0 ? void 0 : numberInputContext.minNumber) >= 0) changeValue(numberInputContext === null || numberInputContext === void 0 ? void 0 : numberInputContext.minNumber);else if ((numberInputContext === null || numberInputContext === void 0 ? void 0 : numberInputContext.maxNumber) < 0) changeValue(numberInputContext === null || numberInputContext === void 0 ? void 0 : numberInputContext.maxNumber);else changeValue(-numberInputContext.stepNumber);
403
350
  }
404
351
  };
405
352
 
406
353
  var incrementNumber = function incrementNumber() {
407
- var numberValue = value !== null && value !== void 0 ? value : innerValue;
408
-
409
- if (numberInputContext !== null && numberInputContext !== void 0 && numberInputContext.maxNumber && parseInt(numberValue) > (numberInputContext === null || numberInputContext === void 0 ? void 0 : numberInputContext.maxNumber)) {
410
- changeValue(parseInt(numberValue));
411
- } else if (numberInputContext !== null && numberInputContext !== void 0 && numberInputContext.minNumber && (parseInt(numberValue) < (numberInputContext === null || numberInputContext === void 0 ? void 0 : numberInputContext.minNumber) || numberValue === "")) {
412
- changeValue(numberInputContext === null || numberInputContext === void 0 ? void 0 : numberInputContext.minNumber);
413
- } else if (numberInputContext !== null && numberInputContext !== void 0 && numberInputContext.maxNumber && (parseInt(numberValue) === (numberInputContext === null || numberInputContext === void 0 ? void 0 : numberInputContext.maxNumber) || numberInputContext !== null && numberInputContext !== void 0 && numberInputContext.stepNumber && parseInt(numberValue) + (numberInputContext === null || numberInputContext === void 0 ? void 0 : numberInputContext.stepNumber) > (numberInputContext === null || numberInputContext === void 0 ? void 0 : numberInputContext.maxNumber))) {
414
- changeValue(numberInputContext === null || numberInputContext === void 0 ? void 0 : numberInputContext.maxNumber);
415
- } else if (numberInputContext !== null && numberInputContext !== void 0 && numberInputContext.stepNumber && numberInputContext !== null && numberInputContext !== void 0 && numberInputContext.maxNumber && parseInt(numberValue) + (numberInputContext === null || numberInputContext === void 0 ? void 0 : numberInputContext.stepNumber) <= (numberInputContext === null || numberInputContext === void 0 ? void 0 : numberInputContext.maxNumber) || numberInputContext !== null && numberInputContext !== void 0 && numberInputContext.stepNumber && numberValue !== "") {
416
- changeValue(parseInt(numberValue) + (numberInputContext === null || numberInputContext === void 0 ? void 0 : numberInputContext.stepNumber));
417
- } else if (numberInputContext !== null && numberInputContext !== void 0 && numberInputContext.stepNumber && numberValue == "") {
418
- changeValue(numberInputContext === null || numberInputContext === void 0 ? void 0 : numberInputContext.stepNumber);
419
- } else if (numberValue === "") {
420
- changeValue(1);
354
+ var currentValue = value !== null && value !== void 0 ? value : innerValue;
355
+ var numberValue = Number(currentValue);
356
+ var steppedValue = Math.round((numberValue + (numberInputContext === null || numberInputContext === void 0 ? void 0 : numberInputContext.stepNumber) + Number.EPSILON) * 100) / 100;
357
+
358
+ if (currentValue !== "") {
359
+ if (numberValue > (numberInputContext === null || numberInputContext === void 0 ? void 0 : numberInputContext.maxNumber) || steppedValue > (numberInputContext === null || numberInputContext === void 0 ? void 0 : numberInputContext.maxNumber)) changeValue(numberValue);else if (numberValue < (numberInputContext === null || numberInputContext === void 0 ? void 0 : numberInputContext.minNumber)) changeValue(numberInputContext === null || numberInputContext === void 0 ? void 0 : numberInputContext.minNumber);else if (numberValue === (numberInputContext === null || numberInputContext === void 0 ? void 0 : numberInputContext.maxNumber)) changeValue(numberInputContext === null || numberInputContext === void 0 ? void 0 : numberInputContext.maxNumber);else changeValue(steppedValue);
421
360
  } else {
422
- changeValue(parseInt(numberValue) + 1);
361
+ if ((numberInputContext === null || numberInputContext === void 0 ? void 0 : numberInputContext.minNumber) > 0) changeValue(numberInputContext === null || numberInputContext === void 0 ? void 0 : numberInputContext.minNumber);else if ((numberInputContext === null || numberInputContext === void 0 ? void 0 : numberInputContext.maxNumber) <= 0) changeValue(numberInputContext === null || numberInputContext === void 0 ? void 0 : numberInputContext.maxNumber);else changeValue(numberInputContext.stepNumber);
423
362
  }
424
363
  };
425
364
 
426
- (0, _react.useLayoutEffect)(function () {
427
- var _suggestionsRef$curre, _visualFocusedOptionE;
428
-
429
- 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];
430
- visualFocusedOptionEl === null || visualFocusedOptionEl === void 0 ? void 0 : (_visualFocusedOptionE = visualFocusedOptionEl.scrollIntoView) === null || _visualFocusedOptionE === void 0 ? void 0 : _visualFocusedOptionE.call(visualFocusedOptionEl, {
431
- block: "nearest",
432
- inline: "start"
433
- });
434
- }, [visualFocusedSuggIndex]);
435
365
  (0, _react.useEffect)(function () {
436
366
  if (typeof suggestions === "function") {
437
367
  changeIsSearching(true);
@@ -455,10 +385,10 @@ var DxcTextInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
455
385
  changeFilteredSuggestions(suggestions.filter(function (suggestion) {
456
386
  return suggestion.toUpperCase().startsWith((value !== null && value !== void 0 ? value : innerValue).toUpperCase());
457
387
  }));
458
- changeVisualFocusedSuggIndex(-1);
388
+ changeVisualFocusIndex(-1);
459
389
  }
460
390
 
461
- (numberInputContext === null || numberInputContext === void 0 ? void 0 : numberInputContext.typeNumber) === "number" && setNumberProps(numberInputContext.typeNumber, numberInputContext.minNumber, numberInputContext.maxNumber, numberInputContext.stepNumber);
391
+ numberInputContext != null && setNumberProps(numberInputContext.typeNumber, numberInputContext.minNumber, numberInputContext.maxNumber, numberInputContext.stepNumber);
462
392
  }, [value, innerValue, suggestions, numberInputContext]);
463
393
  return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
464
394
  theme: colorsTheme.textInput
@@ -477,145 +407,139 @@ var DxcTextInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref
477
407
  }, helperText), /*#__PURE__*/_react["default"].createElement(InputContainer, {
478
408
  error: error ? true : false,
479
409
  disabled: disabled,
410
+ readOnly: readOnly,
480
411
  backgroundType: backgroundType,
481
412
  onClick: handleInputContainerOnClick,
482
413
  onMouseDown: handleInputContainerOnMouseDown
483
414
  }, prefix && /*#__PURE__*/_react["default"].createElement(Prefix, {
484
415
  disabled: disabled,
485
416
  backgroundType: backgroundType
486
- }, prefix), /*#__PURE__*/_react["default"].createElement(Input, {
417
+ }, prefix), /*#__PURE__*/_react["default"].createElement(AutosuggestWrapper, {
418
+ condition: hasSuggestions(suggestions),
419
+ wrapper: function wrapper(children) {
420
+ return /*#__PURE__*/_react["default"].createElement(Popover.Root, {
421
+ open: isOpen && (filteredSuggestions.length > 0 || isSearching || isAutosuggestError)
422
+ }, /*#__PURE__*/_react["default"].createElement(Popover.Trigger, {
423
+ asChild: true,
424
+ "aria-controls": undefined
425
+ }, children), /*#__PURE__*/_react["default"].createElement(Popover.Content, {
426
+ sideOffset: 5,
427
+ onOpenAutoFocus: function onOpenAutoFocus(event) {
428
+ // Avoid select to lose focus when the list is opened
429
+ event.preventDefault();
430
+ },
431
+ onCloseAutoFocus: function onCloseAutoFocus(event) {
432
+ // Avoid select to lose focus when the list is closed
433
+ event.preventDefault();
434
+ }
435
+ }, /*#__PURE__*/_react["default"].createElement(_Suggestions["default"], {
436
+ id: autosuggestId,
437
+ value: value !== null && value !== void 0 ? value : innerValue,
438
+ suggestions: filteredSuggestions,
439
+ visualFocusIndex: visualFocusIndex,
440
+ highlightedSuggestions: typeof suggestions !== "function",
441
+ searchHasErrors: isAutosuggestError,
442
+ isSearching: isSearching,
443
+ suggestionOnClick: function suggestionOnClick(suggestion) {
444
+ changeValue(suggestion);
445
+ closeSuggestions();
446
+ },
447
+ getTextInputWidth: getTextInputWidth
448
+ })));
449
+ }
450
+ }, /*#__PURE__*/_react["default"].createElement(Input, {
487
451
  id: inputId,
488
452
  name: name,
489
453
  value: value !== null && value !== void 0 ? value : innerValue,
490
454
  placeholder: placeholder,
491
- onBlur: handleIOnBlur,
492
- onChange: handleIOnChange,
493
- onFocus: function onFocus() {
494
- openSuggestions();
495
- },
496
- onKeyDown: handleIOnKeyDown,
455
+ onBlur: handleInputOnBlur,
456
+ onChange: handleInputOnChange,
457
+ onFocus: !readOnly ? openSuggestions : undefined,
458
+ onKeyDown: !readOnly ? handleInputOnKeyDown : undefined,
497
459
  onMouseDown: function onMouseDown(event) {
498
460
  event.stopPropagation();
499
461
  },
500
462
  disabled: disabled,
463
+ readOnly: readOnly,
501
464
  ref: inputRef,
502
465
  backgroundType: backgroundType,
503
466
  pattern: pattern,
504
467
  minLength: minLength,
505
468
  maxLength: maxLength,
506
- autoComplete: autocomplete,
469
+ autoComplete: autocomplete === "off" ? "nope" : autocomplete,
507
470
  tabIndex: tabIndex,
508
- role: isTextInputType() && hasSuggestions() ? "combobox" : "textbox",
509
- "aria-autocomplete": isTextInputType() && hasSuggestions() ? "list" : undefined,
510
- "aria-controls": isTextInputType() && hasSuggestions() ? autosuggestId : undefined,
511
- "aria-disabled": disabled,
512
- "aria-expanded": isTextInputType() && hasSuggestions() ? isOpen ? "true" : "false" : undefined,
513
- "aria-activedescendant": isTextInputType() && hasSuggestions() && isOpen && visualFocusedSuggIndex !== -1 ? "suggestion-".concat(visualFocusedSuggIndex) : undefined,
514
- "aria-invalid": error ? "true" : "false",
471
+ type: "text",
472
+ role: hasSuggestions(suggestions) ? "combobox" : undefined,
473
+ "aria-autocomplete": hasSuggestions(suggestions) ? "list" : undefined,
474
+ "aria-controls": hasSuggestions(suggestions) ? autosuggestId : undefined,
475
+ "aria-expanded": hasSuggestions(suggestions) ? isOpen : undefined,
476
+ "aria-haspopup": hasSuggestions(suggestions) ? "listbox" : undefined,
477
+ "aria-activedescendant": hasSuggestions(suggestions) && isOpen && visualFocusIndex !== -1 ? "suggestion-".concat(visualFocusIndex) : undefined,
478
+ "aria-invalid": error ? true : false,
515
479
  "aria-errormessage": error ? errorId : undefined,
516
- "aria-required": optional ? "false" : "true"
517
- }), !disabled && error && /*#__PURE__*/_react["default"].createElement(ErrorIcon, {
480
+ "aria-required": !disabled && !optional
481
+ })), !disabled && error && /*#__PURE__*/_react["default"].createElement(ErrorIcon, {
518
482
  backgroundType: backgroundType,
519
483
  "aria-label": "Error"
520
- }, textInputIcons.error), !disabled && clearable && (value !== null && value !== void 0 ? value : innerValue).length > 0 && /*#__PURE__*/_react["default"].createElement(Action, {
521
- onClick: function onClick() {
522
- return handleClearActionOnClick();
523
- },
484
+ }, _Icons["default"].error), !disabled && !readOnly && clearable && (value !== null && value !== void 0 ? value : innerValue).length > 0 && /*#__PURE__*/_react["default"].createElement(Action, {
485
+ "aria-label": translatedLabels.textInput.clearFieldActionTitle,
486
+ onClick: handleClearActionOnClick,
524
487
  onMouseDown: function onMouseDown(event) {
525
488
  event.stopPropagation();
526
489
  },
527
- backgroundType: backgroundType,
528
490
  tabIndex: tabIndex,
529
491
  title: translatedLabels.textInput.clearFieldActionTitle,
530
- "aria-label": translatedLabels.textInput.clearFieldActionTitle
531
- }, 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, {
532
- ref: actionRef,
492
+ type: "button",
493
+ backgroundType: backgroundType
494
+ }, _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, {
495
+ "aria-label": translatedLabels.numberInput.decrementValueTitle,
533
496
  disabled: disabled,
534
- onClick: function onClick() {
535
- return handleDecrementActionOnClick();
536
- },
497
+ onClick: !readOnly ? handleDecrementActionOnClick : undefined,
537
498
  onMouseDown: function onMouseDown(event) {
538
499
  event.stopPropagation();
539
500
  },
540
- backgroundType: backgroundType,
501
+ ref: actionRef,
541
502
  tabIndex: tabIndex,
542
503
  title: translatedLabels.numberInput.decrementValueTitle,
543
- "aria-label": translatedLabels.numberInput.decrementValueTitle
544
- }, textInputIcons.decrement), /*#__PURE__*/_react["default"].createElement(Action, {
545
- ref: actionRef,
504
+ type: "button",
505
+ backgroundType: backgroundType
506
+ }, _Icons["default"].decrement), /*#__PURE__*/_react["default"].createElement(Action, {
507
+ "aria-label": translatedLabels.numberInput.incrementValueTitle,
546
508
  disabled: disabled,
547
- onClick: function onClick() {
548
- return handleIncrementActionOnClick();
549
- },
509
+ onClick: !readOnly ? handleIncrementActionOnClick : undefined,
550
510
  onMouseDown: function onMouseDown(event) {
551
511
  event.stopPropagation();
552
512
  },
553
- backgroundType: backgroundType,
513
+ ref: actionRef,
554
514
  tabIndex: tabIndex,
555
515
  title: translatedLabels.numberInput.incrementValueTitle,
556
- "aria-label": translatedLabels.numberInput.incrementValueTitle
557
- }, textInputIcons.increment)) : action && /*#__PURE__*/_react["default"].createElement(Action, {
558
- ref: actionRef,
516
+ type: "button",
517
+ backgroundType: backgroundType
518
+ }, _Icons["default"].increment)), action && /*#__PURE__*/_react["default"].createElement(Action, {
519
+ "aria-label": action.title,
559
520
  disabled: disabled,
560
- onClick: function onClick() {
561
- return action.onClick();
562
- },
521
+ onClick: !readOnly ? action.onClick : undefined,
563
522
  onMouseDown: function onMouseDown(event) {
564
523
  event.stopPropagation();
565
524
  },
525
+ ref: actionRef,
526
+ tabIndex: tabIndex,
566
527
  title: action.title,
567
- "aria-label": action.title,
568
- backgroundType: backgroundType,
569
- tabIndex: tabIndex
570
- }, typeof action.icon === "string" ? /*#__PURE__*/_react["default"].createElement(ActionIcon, {
528
+ type: "button",
529
+ backgroundType: backgroundType
530
+ }, typeof action.icon === "string" ? /*#__PURE__*/_react["default"].createElement("img", {
571
531
  src: action.icon
572
532
  }) : action.icon), suffix && /*#__PURE__*/_react["default"].createElement(Suffix, {
573
533
  disabled: disabled,
574
534
  backgroundType: backgroundType
575
- }, suffix), isOpen && (filteredSuggestions.length > 0 || isSearching || isAutosuggestError) && /*#__PURE__*/_react["default"].createElement(Suggestions, {
576
- id: autosuggestId,
577
- error: isAutosuggestError ? true : false,
578
- onMouseDown: function onMouseDown(event) {
579
- event.preventDefault();
580
- },
581
- ref: suggestionsRef,
582
- role: "listbox",
583
- "aria-label": label
584
- }, !isSearching && !isAutosuggestError && filteredSuggestions.length > 0 && filteredSuggestions.map(function (suggestion, index) {
585
- return /*#__PURE__*/_react["default"].createElement(_Suggestion["default"], {
586
- key: "suggestion-".concat(index),
587
- id: "suggestion-".concat(index),
588
- value: value !== null && value !== void 0 ? value : innerValue,
589
- onClick: function onClick() {
590
- changeValue(suggestion);
591
- closeSuggestions();
592
- },
593
- suggestion: suggestion,
594
- isLast: index === lastOptionIndex,
595
- visuallyFocused: visualFocusedSuggIndex === index,
596
- highlighted: typeof suggestions === "function"
597
- });
598
- }), isSearching && /*#__PURE__*/_react["default"].createElement(SuggestionsSystemMessage, null, translatedLabels.textInput.searchingMessage), isAutosuggestError && /*#__PURE__*/_react["default"].createElement(SuggestionsError, null, /*#__PURE__*/_react["default"].createElement(SuggestionsErrorIcon, {
599
- backgroundType: backgroundType
600
- }, textInputIcons.error), translatedLabels.textInput.fetchingDataErrorMessage))), !disabled && typeof error === "string" && /*#__PURE__*/_react["default"].createElement(Error, {
535
+ }, suffix)), !disabled && typeof error === "string" && /*#__PURE__*/_react["default"].createElement(Error, {
601
536
  id: errorId,
602
537
  backgroundType: backgroundType,
603
538
  "aria-live": error ? "assertive" : "off"
604
539
  }, error)));
605
540
  });
606
541
 
607
- var sizes = {
608
- small: "240px",
609
- medium: "360px",
610
- large: "480px",
611
- fillParent: "100%"
612
- };
613
-
614
- var calculateWidth = function calculateWidth(margin, size) {
615
- return size === "fillParent" ? "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")") : sizes[size];
616
- };
617
-
618
- 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) {
542
+ var TextInputContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n width: ", ";\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n"])), function (props) {
619
543
  return calculateWidth(props.margin, props.size);
620
544
  }, function (props) {
621
545
  return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
@@ -663,16 +587,14 @@ var HelperText = _styledComponents["default"].span(_templateObject4 || (_templat
663
587
  return props.theme.helperTextLineHeight;
664
588
  });
665
589
 
666
- var InputContainer = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n position: relative;\n align-items: center;\n height: calc(2.5rem - 2px);\n padding: 0 0.5rem;\n\n ", "\n box-shadow: 0 0 0 2px transparent;\n border-radius: 4px;\n border: 1px solid\n ", ";\n ", "\n ", ";\n\n ", ";\n"])), function (props) {
590
+ var InputContainer = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n position: relative;\n display: flex;\n align-items: center;\n height: calc(2.5rem - 2px);\n padding: 0 0.5rem;\n\n ", "\n box-shadow: 0 0 0 2px transparent;\n border-radius: 4px;\n border: 1px solid\n ", ";\n ", "\n\n ", ";\n"])), function (props) {
667
591
  if (props.disabled) return props.backgroundType === "dark" ? "background-color: ".concat(props.theme.disabledContainerFillColorOnDark, ";") : "background-color: ".concat(props.theme.disabledContainerFillColor, ";");
668
592
  }, function (props) {
669
- if (props.disabled) return props.backgroundType === "dark" ? props.theme.disabledBorderColorOnDark : props.theme.disabledBorderColor;else return props.backgroundType === "dark" ? props.theme.enabledBorderColorOnDark : props.theme.enabledBorderColor;
593
+ if (props.disabled) return props.backgroundType === "dark" ? props.theme.disabledBorderColorOnDark : props.theme.disabledBorderColor;else if (props.readOnly) return props.theme.readOnlyBorderColor;else return props.backgroundType === "dark" ? props.theme.enabledBorderColorOnDark : props.theme.enabledBorderColor;
670
594
  }, function (props) {
671
595
  return props.error && !props.disabled && "border-color: transparent;\n box-shadow: 0 0 0 2px ".concat(props.backgroundType === "dark" ? props.theme.errorBorderColorOnDark : props.theme.errorBorderColor, ";\n ");
672
596
  }, function (props) {
673
- return props.disabled && "cursor: not-allowed;";
674
- }, function (props) {
675
- 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 ");
597
+ return !props.disabled ? "\n &:hover {\n border-color: ".concat(props.error ? "transparent" : props.readOnly ? props.theme.hoverReadOnlyBorderColor : 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 ") : "cursor: not-allowed;";
676
598
  });
677
599
 
678
600
  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) {
@@ -691,71 +613,39 @@ var Input = _styledComponents["default"].input(_templateObject6 || (_templateObj
691
613
  return props.disabled ? props.backgroundType === "dark" ? props.theme.disabledPlaceholderFontColorOnDark : props.theme.disabledPlaceholderFontColor : props.backgroundType === "dark" ? props.theme.placeholderFontColorOnDark : props.theme.placeholderFontColor;
692
614
  });
693
615
 
694
- var ActionIcon = _styledComponents["default"].img(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n width: 16px;\n height: 16px;\n"])));
695
-
696
- var Action = _styledComponents["default"].button(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n height: 24px;\n width: 24px;\n font-size: 1rem;\n font-family: ", ";\n border: 1px solid transparent;\n border-radius: 2px;\n padding: 3px;\n margin-left: 0.25rem;\n ", "\n\n box-shadow: 0 0 0 2px transparent;\n background-color: ", ";\n\n color: ", ";\n\n ", "\n\n svg {\n line-height: 18px;\n }\n"])), function (props) {
697
- return props.theme.fontFamily;
698
- }, function (props) {
616
+ var Action = _styledComponents["default"].button(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n border: 1px solid transparent;\n border-radius: 2px;\n width: 24px;\n height: 24px;\n padding: 3px;\n margin-left: 0.25rem;\n ", "\n\n box-shadow: 0 0 0 2px transparent;\n background-color: ", ";\n\n color: ", ";\n\n ", "\n\n img, svg {\n width: 16px;\n height: 16px;\n }\n"])), function (props) {
699
617
  return props.disabled ? "cursor: not-allowed;" : "cursor: pointer;";
700
618
  }, function (props) {
701
619
  return props.disabled ? props.backgroundType === "dark" ? props.theme.disabledActionBackgroundColorOnDark : props.theme.disabledActionBackgroundColor : props.backgroundType === "dark" ? props.theme.actionBackgroundColorOnDark : props.theme.actionBackgroundColor;
702
620
  }, function (props) {
703
621
  return props.disabled ? props.backgroundType === "dark" ? props.theme.disabledActionIconColorOnDark : props.theme.disabledActionIconColor : props.backgroundType === "dark" ? props.theme.actionIconColorOnDark : props.theme.actionIconColor;
704
622
  }, function (props) {
705
- return !props.disabled && "\n &:focus {\n outline: none;\n box-shadow: 0 0 0 2px ".concat(props.backgroundType === "dark" ? props.theme.focusActionBorderColorOnDark : props.theme.focusActionBorderColor, ";\n color: ").concat(props.backgroundType === "dark" ? props.theme.focusActionIconColorOnDark : props.theme.focusActionIconColor, ";\n }\n &:focus-visible {\n outline: none;\n box-shadow: 0 0 0 2px ").concat(props.backgroundType === "dark" ? props.theme.focusActionBorderColorOnDark : props.theme.focusActionBorderColor, ";\n color: ").concat(props.backgroundType === "dark" ? props.theme.focusActionIconColorOnDark : props.theme.focusActionIconColor, ";\n }\n &:hover {\n background-color: ").concat(props.backgroundType === "dark" ? props.theme.hoverActionBackgroundColorOnDark : props.theme.hoverActionBackgroundColor, ";\n color: ").concat(props.backgroundType === "dark" ? props.theme.hoverActionIconColorOnDark : props.theme.hoverActionIconColor, ";\n }\n &:active {\n background-color: ").concat(props.backgroundType === "dark" ? props.theme.activeActionBackgroundColorOnDark : props.theme.activeActionBackgroundColor, ";\n color: ").concat(props.backgroundType === "dark" ? props.theme.activeActionIconColorOnDark : props.theme.activeActionIconColor, ";\n }\n ");
623
+ return !props.disabled && "\n &:focus, \n &:focus-visible {\n outline: none;\n box-shadow: 0 0 0 2px ".concat(props.backgroundType === "dark" ? props.theme.focusActionBorderColorOnDark : props.theme.focusActionBorderColor, ";\n color: ").concat(props.backgroundType === "dark" ? props.theme.focusActionIconColorOnDark : props.theme.focusActionIconColor, ";\n }\n &:hover {\n background-color: ").concat(props.backgroundType === "dark" ? props.theme.hoverActionBackgroundColorOnDark : props.theme.hoverActionBackgroundColor, ";\n color: ").concat(props.backgroundType === "dark" ? props.theme.hoverActionIconColorOnDark : props.theme.hoverActionIconColor, ";\n }\n &:active {\n background-color: ").concat(props.backgroundType === "dark" ? props.theme.activeActionBackgroundColorOnDark : props.theme.activeActionBackgroundColor, ";\n color: ").concat(props.backgroundType === "dark" ? props.theme.activeActionIconColorOnDark : props.theme.activeActionIconColor, ";\n }\n ");
706
624
  });
707
625
 
708
- var Prefix = _styledComponents["default"].span(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n height: 1.5rem;\n line-height: 1.5rem;\n margin-left: 0.25rem;\n padding: 0 0.5rem 0 0;\n ", ";\n font-family: ", ";\n font-size: 1rem;\n pointer-events: none;\n"])), function (props) {
626
+ var Prefix = _styledComponents["default"].span(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n height: 1.5rem;\n line-height: 1.5rem;\n margin-left: 0.25rem;\n padding: 0 0.5rem 0 0;\n ", ";\n font-family: ", ";\n font-size: 1rem;\n pointer-events: none;\n"])), function (props) {
709
627
  var color = props.disabled ? props.backgroundType === "dark" ? props.theme.disabledPrefixColorOnDark : props.theme.disabledPrefixColor : props.backgroundType === "dark" ? props.theme.prefixColorOnDark : props.theme.prefixColor;
710
628
  return "color: ".concat(color, "; border-right: 1px solid ").concat(color, ";");
711
629
  }, function (props) {
712
630
  return props.theme.fontFamily;
713
631
  });
714
632
 
715
- var Suffix = _styledComponents["default"].span(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2["default"])(["\n height: 1.5rem;\n line-height: 1.5rem;\n margin: 0 0.25rem;\n padding: 0 0 0 0.5rem;\n ", ";\n font-family: ", ";\n font-size: 1rem;\n pointer-events: none;\n"])), function (props) {
633
+ var Suffix = _styledComponents["default"].span(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n height: 1.5rem;\n line-height: 1.5rem;\n margin: 0 0.25rem;\n padding: 0 0 0 0.5rem;\n ", ";\n font-family: ", ";\n font-size: 1rem;\n pointer-events: none;\n"])), function (props) {
716
634
  var color = props.disabled ? props.backgroundType === "dark" ? props.theme.disabledSuffixColorOnDark : props.theme.disabledSuffixColor : props.backgroundType === "dark" ? props.theme.suffixColorOnDark : props.theme.suffixColor;
717
635
  return "color: ".concat(color, "; border-left: 1px solid ").concat(color, ";");
718
636
  }, function (props) {
719
637
  return props.theme.fontFamily;
720
638
  });
721
639
 
722
- var ErrorIcon = _styledComponents["default"].span(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n padding: 3px;\n height: 18px;\n width: 18px;\n margin-left: 0.25rem;\n color: ", ";\n\n svg {\n line-height: 18px;\n font-size: 1.25rem;\n }\n"])), function (props) {
640
+ var ErrorIcon = _styledComponents["default"].span(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n padding: 3px;\n height: 18px;\n width: 18px;\n margin-left: 0.25rem;\n color: ", ";\n\n svg {\n line-height: 18px;\n font-size: 1.25rem;\n }\n"])), function (props) {
723
641
  return props.backgroundType === "dark" ? props.theme.errorIconColorOnDark : props.theme.errorIconColor;
724
642
  });
725
643
 
726
- var Error = _styledComponents["default"].span(_templateObject12 || (_templateObject12 = (0, _taggedTemplateLiteral2["default"])(["\n min-height: 1.5em;\n color: ", ";\n font-family: ", ";\n font-size: 0.75rem;\n font-weight: 400;\n line-height: 1.5em;\n margin-top: 0.25rem;\n"])), function (props) {
644
+ var Error = _styledComponents["default"].span(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2["default"])(["\n min-height: 1.5em;\n color: ", ";\n font-family: ", ";\n font-size: 0.75rem;\n font-weight: 400;\n line-height: 1.5em;\n margin-top: 0.25rem;\n"])), function (props) {
727
645
  return props.backgroundType === "dark" ? props.theme.errorMessageColorOnDark : props.theme.errorMessageColor;
728
646
  }, function (props) {
729
647
  return props.theme.fontFamily;
730
648
  });
731
649
 
732
- 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) {
733
- return props.error ? props.theme.errorListDialogBackgroundColor : props.theme.listDialogBackgroundColor;
734
- }, function (props) {
735
- return props.error ? props.theme.errorListDialogBorderColor : props.theme.listDialogBorderColor;
736
- }, function (props) {
737
- return props.theme.listOptionFontColor;
738
- }, function (props) {
739
- return props.theme.fontFamily;
740
- }, function (props) {
741
- return props.theme.listOptionFontSize;
742
- }, function (props) {
743
- return props.theme.listOptionFontStyle;
744
- }, function (props) {
745
- return props.theme.listOptionFontWeight;
746
- });
747
-
748
- 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) {
749
- return props.theme.systemMessageFontColor;
750
- });
751
-
752
- 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) {
753
- return props.backgroundType === "dark" ? props.theme.errorIconColorOnDark : props.theme.errorIconColor;
754
- });
755
-
756
- 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) {
757
- return props.theme.errorListDialogFontColor;
758
- });
759
-
760
650
  var _default = DxcTextInput;
761
651
  exports["default"] = _default;