@dxc-technology/halstack-react 10.0.0 → 11.0.0

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 (219) hide show
  1. package/BackgroundColorContext.d.ts +2 -2
  2. package/BackgroundColorContext.js +5 -17
  3. package/HalstackContext.d.ts +26 -6
  4. package/HalstackContext.js +9 -34
  5. package/README.md +47 -0
  6. package/accordion/Accordion.js +21 -58
  7. package/accordion/Accordion.stories.tsx +1 -15
  8. package/accordion/Accordion.test.js +18 -33
  9. package/accordion/types.d.ts +5 -5
  10. package/accordion-group/AccordionGroup.js +15 -42
  11. package/accordion-group/AccordionGroup.stories.tsx +1 -1
  12. package/accordion-group/AccordionGroup.test.js +42 -60
  13. package/accordion-group/AccordionGroupAccordion.js +9 -21
  14. package/accordion-group/types.d.ts +6 -6
  15. package/alert/Alert.js +14 -46
  16. package/alert/Alert.test.js +28 -45
  17. package/alert/types.d.ts +5 -5
  18. package/badge/Badge.js +4 -17
  19. package/badge/types.d.ts +1 -1
  20. package/bleed/Bleed.js +13 -21
  21. package/bleed/types.d.ts +2 -2
  22. package/box/Box.js +10 -29
  23. package/box/Box.test.js +1 -6
  24. package/box/types.d.ts +3 -3
  25. package/bulleted-list/BulletedList.js +7 -33
  26. package/bulleted-list/BulletedList.stories.tsx +1 -91
  27. package/bulleted-list/types.d.ts +5 -5
  28. package/button/Button.js +23 -46
  29. package/button/Button.stories.tsx +5 -86
  30. package/button/Button.test.js +11 -21
  31. package/button/types.d.ts +4 -4
  32. package/card/Card.js +21 -44
  33. package/card/Card.test.js +10 -21
  34. package/card/types.d.ts +5 -5
  35. package/checkbox/Checkbox.js +81 -111
  36. package/checkbox/Checkbox.stories.tsx +16 -54
  37. package/checkbox/Checkbox.test.js +107 -63
  38. package/checkbox/types.d.ts +8 -4
  39. package/chip/Chip.js +12 -31
  40. package/chip/Chip.test.js +15 -28
  41. package/chip/types.d.ts +4 -4
  42. package/common/coreTokens.js +1 -2
  43. package/common/utils.js +2 -8
  44. package/common/variables.d.ts +23 -6
  45. package/common/variables.js +25 -15
  46. package/date-input/Calendar.js +13 -57
  47. package/date-input/DateInput.js +50 -96
  48. package/date-input/DateInput.stories.tsx +11 -30
  49. package/date-input/DateInput.test.js +674 -701
  50. package/date-input/DatePicker.js +11 -42
  51. package/date-input/Icons.d.ts +6 -6
  52. package/date-input/Icons.js +6 -23
  53. package/date-input/YearPicker.js +8 -34
  54. package/date-input/types.d.ts +27 -21
  55. package/dialog/Dialog.js +11 -35
  56. package/dialog/Dialog.test.js +125 -187
  57. package/dialog/types.d.ts +18 -13
  58. package/dropdown/Dropdown.js +39 -93
  59. package/dropdown/Dropdown.test.js +391 -378
  60. package/dropdown/DropdownMenu.js +8 -19
  61. package/dropdown/DropdownMenuItem.js +5 -17
  62. package/dropdown/types.d.ts +17 -19
  63. package/file-input/FileInput.js +131 -220
  64. package/file-input/FileInput.stories.tsx +1 -1
  65. package/file-input/FileInput.test.js +293 -342
  66. package/file-input/FileItem.js +12 -39
  67. package/file-input/types.d.ts +9 -9
  68. package/flex/Flex.js +25 -39
  69. package/flex/types.d.ts +6 -6
  70. package/footer/Footer.js +9 -39
  71. package/footer/Footer.stories.tsx +8 -7
  72. package/footer/Footer.test.js +18 -32
  73. package/footer/Icons.d.ts +2 -2
  74. package/footer/Icons.js +2 -7
  75. package/footer/types.d.ts +13 -13
  76. package/grid/Grid.js +1 -16
  77. package/grid/types.d.ts +10 -10
  78. package/header/Header.d.ts +1 -1
  79. package/header/Header.js +19 -64
  80. package/header/Header.test.js +12 -25
  81. package/header/Icons.d.ts +2 -2
  82. package/header/Icons.js +2 -7
  83. package/header/types.d.ts +5 -7
  84. package/heading/Heading.js +9 -31
  85. package/heading/Heading.test.js +70 -87
  86. package/heading/types.d.ts +7 -7
  87. package/image/Image.d.ts +4 -0
  88. package/image/Image.js +70 -0
  89. package/image/Image.stories.tsx +127 -0
  90. package/image/types.d.ts +72 -0
  91. package/inset/Inset.js +13 -21
  92. package/inset/types.d.ts +2 -2
  93. package/layout/ApplicationLayout.d.ts +1 -1
  94. package/layout/ApplicationLayout.js +25 -65
  95. package/layout/ApplicationLayout.stories.tsx +1 -1
  96. package/layout/Icons.d.ts +8 -5
  97. package/layout/Icons.js +51 -59
  98. package/layout/SidenavContext.d.ts +1 -1
  99. package/layout/SidenavContext.js +3 -9
  100. package/layout/types.d.ts +3 -3
  101. package/link/Link.js +21 -42
  102. package/link/Link.test.js +23 -41
  103. package/link/types.d.ts +14 -14
  104. package/main.d.ts +3 -2
  105. package/main.js +10 -51
  106. package/nav-tabs/NavTabs.js +11 -43
  107. package/nav-tabs/NavTabs.stories.tsx +1 -1
  108. package/nav-tabs/NavTabs.test.js +36 -43
  109. package/nav-tabs/Tab.js +16 -45
  110. package/nav-tabs/types.d.ts +9 -9
  111. package/number-input/NumberInput.d.ts +7 -0
  112. package/number-input/NumberInput.js +26 -35
  113. package/number-input/NumberInput.stories.tsx +42 -26
  114. package/number-input/NumberInput.test.js +700 -412
  115. package/number-input/types.d.ts +11 -5
  116. package/package.json +28 -26
  117. package/paginator/Icons.d.ts +5 -5
  118. package/paginator/Icons.js +5 -19
  119. package/paginator/Paginator.js +14 -39
  120. package/paginator/Paginator.test.js +224 -207
  121. package/paginator/types.d.ts +3 -3
  122. package/paragraph/Paragraph.js +3 -14
  123. package/paragraph/Paragraph.stories.tsx +0 -17
  124. package/password-input/Icons.d.ts +6 -0
  125. package/password-input/Icons.js +35 -0
  126. package/password-input/PasswordInput.js +57 -126
  127. package/password-input/PasswordInput.stories.tsx +1 -32
  128. package/password-input/PasswordInput.test.js +157 -140
  129. package/password-input/types.d.ts +8 -7
  130. package/progress-bar/ProgressBar.js +16 -42
  131. package/progress-bar/{ProgressBar.stories.jsx → ProgressBar.stories.tsx} +1 -1
  132. package/progress-bar/ProgressBar.test.js +35 -52
  133. package/progress-bar/types.d.ts +3 -3
  134. package/quick-nav/QuickNav.js +4 -27
  135. package/quick-nav/QuickNav.stories.tsx +1 -1
  136. package/quick-nav/types.d.ts +10 -10
  137. package/radio-group/Radio.d.ts +1 -1
  138. package/radio-group/Radio.js +22 -54
  139. package/radio-group/RadioGroup.js +37 -83
  140. package/radio-group/RadioGroup.stories.tsx +10 -10
  141. package/radio-group/RadioGroup.test.js +504 -470
  142. package/radio-group/types.d.ts +8 -8
  143. package/resultset-table/Icons.d.ts +7 -0
  144. package/{resultsetTable → resultset-table}/Icons.js +1 -5
  145. package/{resultsetTable → resultset-table}/ResultsetTable.js +22 -58
  146. package/{resultsetTable → resultset-table}/ResultsetTable.test.js +72 -92
  147. package/{resultsetTable → resultset-table}/types.d.ts +7 -7
  148. package/select/Icons.d.ts +7 -7
  149. package/select/Icons.js +1 -5
  150. package/select/Listbox.js +13 -39
  151. package/select/Option.js +9 -26
  152. package/select/Select.js +54 -138
  153. package/select/Select.stories.tsx +3 -3
  154. package/select/Select.test.js +1906 -1800
  155. package/select/types.d.ts +14 -15
  156. package/sidenav/Icons.d.ts +4 -4
  157. package/sidenav/Icons.js +1 -5
  158. package/sidenav/Sidenav.js +24 -63
  159. package/sidenav/Sidenav.test.js +3 -10
  160. package/sidenav/types.d.ts +18 -18
  161. package/slider/Slider.js +38 -86
  162. package/slider/Slider.test.js +107 -103
  163. package/slider/types.d.ts +4 -4
  164. package/spinner/Spinner.js +10 -40
  165. package/spinner/Spinner.test.js +25 -34
  166. package/spinner/types.d.ts +3 -3
  167. package/switch/Switch.js +26 -69
  168. package/switch/Switch.stories.tsx +0 -34
  169. package/switch/Switch.test.js +51 -96
  170. package/switch/types.d.ts +4 -4
  171. package/table/Table.js +4 -23
  172. package/table/Table.test.js +1 -6
  173. package/table/types.d.ts +8 -8
  174. package/tabs/Tab.js +10 -29
  175. package/tabs/Tabs.js +48 -124
  176. package/tabs/Tabs.test.js +62 -118
  177. package/tabs/types.d.ts +19 -19
  178. package/tag/Tag.js +21 -51
  179. package/tag/Tag.test.js +19 -30
  180. package/tag/types.d.ts +7 -7
  181. package/text-input/Icons.d.ts +5 -5
  182. package/text-input/Icons.js +1 -5
  183. package/text-input/Suggestion.js +9 -26
  184. package/text-input/Suggestions.d.ts +1 -1
  185. package/text-input/Suggestions.js +12 -57
  186. package/text-input/TextInput.js +182 -263
  187. package/text-input/TextInput.stories.tsx +48 -152
  188. package/text-input/TextInput.test.js +1210 -1194
  189. package/text-input/types.d.ts +25 -17
  190. package/textarea/Textarea.js +60 -96
  191. package/textarea/{Textarea.stories.jsx → Textarea.stories.tsx} +58 -99
  192. package/textarea/Textarea.test.js +150 -179
  193. package/textarea/types.d.ts +9 -5
  194. package/toggle-group/ToggleGroup.js +91 -105
  195. package/toggle-group/ToggleGroup.stories.tsx +7 -4
  196. package/toggle-group/ToggleGroup.test.js +68 -87
  197. package/toggle-group/types.d.ts +26 -17
  198. package/typography/Typography.js +4 -13
  199. package/typography/types.d.ts +1 -1
  200. package/useTheme.d.ts +20 -3
  201. package/useTheme.js +1 -8
  202. package/useTranslatedLabels.js +1 -7
  203. package/utils/BaseTypography.d.ts +2 -2
  204. package/utils/BaseTypography.js +16 -30
  205. package/utils/FocusLock.js +12 -36
  206. package/wizard/Wizard.js +14 -49
  207. package/wizard/Wizard.test.js +53 -80
  208. package/wizard/types.d.ts +6 -6
  209. package/number-input/NumberInputContext.d.ts +0 -4
  210. package/number-input/NumberInputContext.js +0 -19
  211. package/number-input/numberInputContextTypes.d.ts +0 -19
  212. package/resultsetTable/Icons.d.ts +0 -7
  213. package/slider/Slider.stories.tsx +0 -240
  214. /package/{resultsetTable → image}/types.js +0 -0
  215. /package/{resultsetTable → resultset-table}/ResultsetTable.d.ts +0 -0
  216. /package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +0 -0
  217. /package/{number-input/numberInputContextTypes.js → resultset-table/types.js} +0 -0
  218. /package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +0 -0
  219. /package/table/{Table.stories.jsx → Table.stories.tsx} +0 -0
@@ -1,68 +1,44 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  var _typeof3 = require("@babel/runtime/helpers/typeof");
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
8
  exports["default"] = void 0;
11
-
12
9
  var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
13
-
14
10
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
15
-
16
11
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
17
-
18
12
  var _react = _interopRequireWildcard(require("react"));
19
-
20
13
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
21
-
22
14
  var _useTheme = _interopRequireDefault(require("../useTheme"));
23
-
24
15
  var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
25
-
26
16
  var _variables = require("../common/variables");
27
-
28
17
  var _utils = require("../common/utils");
29
-
30
18
  var _BackgroundColorContext = _interopRequireDefault(require("../BackgroundColorContext"));
31
-
32
- var _NumberInputContext = _interopRequireDefault(require("../number-input/NumberInputContext"));
33
-
19
+ var _NumberInput = require("../number-input/NumberInput");
34
20
  var _Suggestions = _interopRequireDefault(require("./Suggestions"));
35
-
36
21
  var Popover = _interopRequireWildcard(require("@radix-ui/react-popover"));
37
-
38
22
  var _Icons = _interopRequireDefault(require("./Icons"));
39
-
40
23
  var _uuid = require("uuid");
41
-
42
24
  var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11;
43
-
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); }
45
-
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; }
47
-
25
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
26
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof3(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
48
27
  var sizes = {
49
28
  small: "240px",
50
29
  medium: "360px",
51
30
  large: "480px",
52
31
  fillParent: "100%"
53
32
  };
54
-
55
33
  var AutosuggestWrapper = function AutosuggestWrapper(_ref) {
56
34
  var condition = _ref.condition,
57
- wrapper = _ref.wrapper,
58
- children = _ref.children;
35
+ wrapper = _ref.wrapper,
36
+ children = _ref.children;
59
37
  return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, condition ? wrapper(children) : children);
60
38
  };
61
-
62
39
  var calculateWidth = function calculateWidth(margin, size) {
63
40
  return size === "fillParent" ? "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")") : sizes[size];
64
41
  };
65
-
66
42
  var makeCancelable = function makeCancelable(promise) {
67
43
  var hasCanceled_ = false;
68
44
  var wrappedPromise = new Promise(function (resolve, reject) {
@@ -83,307 +59,258 @@ var makeCancelable = function makeCancelable(promise) {
83
59
  }
84
60
  };
85
61
  };
86
-
87
62
  var hasSuggestions = function hasSuggestions(suggestions) {
88
63
  return typeof suggestions === "function" || (suggestions === null || suggestions === void 0 ? void 0 : suggestions.length) > 0;
89
64
  };
90
-
91
- var isNotOptional = function isNotOptional(value, optional) {
65
+ var isRequired = function isRequired(value, optional) {
92
66
  return value === "" && !optional;
93
67
  };
94
-
95
68
  var isLengthIncorrect = function isLengthIncorrect(value, minLength, maxLength) {
96
- return value && minLength && maxLength && (value.length < minLength || value.length > maxLength);
69
+ return value != null && (value.length < minLength || value.length > maxLength);
97
70
  };
98
-
99
71
  var isNumberIncorrect = function isNumberIncorrect(value, minNumber, maxNumber) {
100
- return minNumber && parseInt(value) < minNumber || maxNumber && parseInt(value) > maxNumber;
72
+ return value < minNumber || value > maxNumber;
101
73
  };
102
-
103
- var patternMissmatch = function patternMissmatch(pattern, value) {
104
- return pattern && !new RegExp(pattern).test(value);
74
+ var patternMismatch = function patternMismatch(pattern, value) {
75
+ return pattern != null && !new RegExp(pattern).test(value);
76
+ };
77
+ var useWidth = function useWidth(target) {
78
+ var _useState = (0, _react.useState)(0),
79
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
80
+ width = _useState2[0],
81
+ setWidth = _useState2[1];
82
+ (0, _react.useEffect)(function () {
83
+ if (target != null) {
84
+ setWidth(target.getBoundingClientRect().width);
85
+ var triggerObserver = new ResizeObserver(function (entries) {
86
+ var rect = entries[0].target.getBoundingClientRect();
87
+ setWidth(rect === null || rect === void 0 ? void 0 : rect.width);
88
+ });
89
+ triggerObserver.observe(target);
90
+ return function () {
91
+ triggerObserver.unobserve(target);
92
+ };
93
+ }
94
+ }, [target]);
95
+ return width;
105
96
  };
106
-
107
97
  var DxcTextInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref2, ref) {
108
98
  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;
142
-
143
- var _useState = (0, _react.useState)("input-".concat((0, _uuid.v4)())),
144
- _useState2 = (0, _slicedToArray2["default"])(_useState, 1),
145
- inputId = _useState2[0];
146
-
99
+ _ref2$name = _ref2.name,
100
+ name = _ref2$name === void 0 ? "" : _ref2$name,
101
+ _ref2$defaultValue = _ref2.defaultValue,
102
+ defaultValue = _ref2$defaultValue === void 0 ? "" : _ref2$defaultValue,
103
+ value = _ref2.value,
104
+ helperText = _ref2.helperText,
105
+ _ref2$placeholder = _ref2.placeholder,
106
+ placeholder = _ref2$placeholder === void 0 ? "" : _ref2$placeholder,
107
+ action = _ref2.action,
108
+ _ref2$clearable = _ref2.clearable,
109
+ clearable = _ref2$clearable === void 0 ? false : _ref2$clearable,
110
+ _ref2$disabled = _ref2.disabled,
111
+ disabled = _ref2$disabled === void 0 ? false : _ref2$disabled,
112
+ _ref2$readOnly = _ref2.readOnly,
113
+ readOnly = _ref2$readOnly === void 0 ? false : _ref2$readOnly,
114
+ _ref2$optional = _ref2.optional,
115
+ optional = _ref2$optional === void 0 ? false : _ref2$optional,
116
+ _ref2$prefix = _ref2.prefix,
117
+ prefix = _ref2$prefix === void 0 ? "" : _ref2$prefix,
118
+ _ref2$suffix = _ref2.suffix,
119
+ suffix = _ref2$suffix === void 0 ? "" : _ref2$suffix,
120
+ onChange = _ref2.onChange,
121
+ onBlur = _ref2.onBlur,
122
+ error = _ref2.error,
123
+ suggestions = _ref2.suggestions,
124
+ pattern = _ref2.pattern,
125
+ minLength = _ref2.minLength,
126
+ maxLength = _ref2.maxLength,
127
+ _ref2$autocomplete = _ref2.autocomplete,
128
+ autocomplete = _ref2$autocomplete === void 0 ? "off" : _ref2$autocomplete,
129
+ margin = _ref2.margin,
130
+ _ref2$size = _ref2.size,
131
+ size = _ref2$size === void 0 ? "medium" : _ref2$size,
132
+ _ref2$tabIndex = _ref2.tabIndex,
133
+ tabIndex = _ref2$tabIndex === void 0 ? 0 : _ref2$tabIndex;
134
+ var _useState3 = (0, _react.useState)("input-".concat((0, _uuid.v4)())),
135
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 1),
136
+ inputId = _useState4[0];
147
137
  var autosuggestId = "suggestions-".concat(inputId);
148
138
  var errorId = "error-".concat(inputId);
149
-
150
- var _useState3 = (0, _react.useState)(defaultValue),
151
- _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
152
- innerValue = _useState4[0],
153
- setInnerValue = _useState4[1];
154
-
155
- var _useState5 = (0, _react.useState)(false),
156
- _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
157
- isOpen = _useState6[0],
158
- changeIsOpen = _useState6[1];
159
-
139
+ var _useState5 = (0, _react.useState)(defaultValue),
140
+ _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
141
+ innerValue = _useState6[0],
142
+ setInnerValue = _useState6[1];
160
143
  var _useState7 = (0, _react.useState)(false),
161
- _useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
162
- isSearching = _useState8[0],
163
- changeIsSearching = _useState8[1];
164
-
144
+ _useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
145
+ isOpen = _useState8[0],
146
+ changeIsOpen = _useState8[1];
165
147
  var _useState9 = (0, _react.useState)(false),
166
- _useState10 = (0, _slicedToArray2["default"])(_useState9, 2),
167
- isAutosuggestError = _useState10[0],
168
- changeIsAutosuggestError = _useState10[1];
169
-
170
- var _useState11 = (0, _react.useState)([]),
171
- _useState12 = (0, _slicedToArray2["default"])(_useState11, 2),
172
- filteredSuggestions = _useState12[0],
173
- changeFilteredSuggestions = _useState12[1];
174
-
175
- var _useState13 = (0, _react.useState)(-1),
176
- _useState14 = (0, _slicedToArray2["default"])(_useState13, 2),
177
- visualFocusIndex = _useState14[0],
178
- changeVisualFocusIndex = _useState14[1];
179
-
148
+ _useState10 = (0, _slicedToArray2["default"])(_useState9, 2),
149
+ isSearching = _useState10[0],
150
+ changeIsSearching = _useState10[1];
151
+ var _useState11 = (0, _react.useState)(false),
152
+ _useState12 = (0, _slicedToArray2["default"])(_useState11, 2),
153
+ isAutosuggestError = _useState12[0],
154
+ changeIsAutosuggestError = _useState12[1];
155
+ var _useState13 = (0, _react.useState)([]),
156
+ _useState14 = (0, _slicedToArray2["default"])(_useState13, 2),
157
+ filteredSuggestions = _useState14[0],
158
+ changeFilteredSuggestions = _useState14[1];
159
+ var _useState15 = (0, _react.useState)(-1),
160
+ _useState16 = (0, _slicedToArray2["default"])(_useState15, 2),
161
+ visualFocusIndex = _useState16[0],
162
+ changeVisualFocusIndex = _useState16[1];
180
163
  var inputRef = (0, _react.useRef)(null);
164
+ var inputContainerRef = (0, _react.useRef)(null);
181
165
  var actionRef = (0, _react.useRef)(null);
166
+ var width = useWidth(inputContainerRef.current);
182
167
  var colorsTheme = (0, _useTheme["default"])();
183
168
  var translatedLabels = (0, _useTranslatedLabels["default"])();
184
169
  var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"]);
185
- var numberInputContext = (0, _react.useContext)(_NumberInputContext["default"]);
186
-
170
+ var numberInputContext = (0, _react.useContext)(_NumberInput.NumberInputContext);
187
171
  var getNumberErrorMessage = function getNumberErrorMessage(value) {
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);
172
+ 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);
189
173
  };
190
-
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
- }, []);
197
-
198
174
  var openSuggestions = function openSuggestions() {
199
175
  hasSuggestions(suggestions) && changeIsOpen(true);
200
176
  };
201
-
202
177
  var closeSuggestions = function closeSuggestions() {
203
178
  if (hasSuggestions(suggestions)) {
204
179
  changeIsOpen(false);
205
180
  changeVisualFocusIndex(-1);
206
181
  }
207
182
  };
208
-
209
183
  var changeValue = function changeValue(newValue) {
210
- value !== null && value !== void 0 ? value : setInnerValue(newValue);
211
- var changedValue = typeof newValue === "number" ? newValue.toString() : newValue;
212
- if (isNotOptional(newValue, optional)) onChange === null || onChange === void 0 ? void 0 : onChange({
213
- value: changedValue,
184
+ var formattedValue = typeof newValue === "number" ? newValue.toString() : newValue;
185
+ value !== null && value !== void 0 ? value : setInnerValue(formattedValue);
186
+ if (isRequired(formattedValue, optional)) onChange === null || onChange === void 0 ? void 0 : onChange({
187
+ value: formattedValue,
214
188
  error: translatedLabels.formFields.requiredValueErrorMessage
215
- });else if (isLengthIncorrect(newValue, minLength, maxLength)) onChange === null || onChange === void 0 ? void 0 : onChange({
216
- value: changedValue,
189
+ });else if (isLengthIncorrect(formattedValue, minLength, maxLength)) onChange === null || onChange === void 0 ? void 0 : onChange({
190
+ value: formattedValue,
217
191
  error: translatedLabels.formFields.lengthErrorMessage(minLength, maxLength)
218
- });else if (patternMissmatch(pattern, newValue)) onChange === null || onChange === void 0 ? void 0 : onChange({
219
- value: changedValue,
192
+ });else if (patternMismatch(pattern, formattedValue)) onChange === null || onChange === void 0 ? void 0 : onChange({
193
+ value: formattedValue,
220
194
  error: translatedLabels.formFields.formatRequestedErrorMessage
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({
222
- value: changedValue,
223
- error: getNumberErrorMessage(newValue)
195
+ });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({
196
+ value: formattedValue,
197
+ error: getNumberErrorMessage(Number(newValue))
224
198
  });else onChange === null || onChange === void 0 ? void 0 : onChange({
225
- value: changedValue
199
+ value: formattedValue
226
200
  });
227
201
  };
228
-
229
202
  var handleInputContainerOnClick = function handleInputContainerOnClick() {
230
203
  document.activeElement !== actionRef.current && inputRef.current.focus();
231
204
  };
232
-
233
205
  var handleInputContainerOnMouseDown = function handleInputContainerOnMouseDown(event) {
234
206
  // Avoid input to lose the focus when the container is pressed
235
207
  document.activeElement === inputRef.current && event.preventDefault();
236
208
  };
237
-
238
209
  var handleInputOnChange = function handleInputOnChange(event) {
239
210
  openSuggestions();
240
211
  changeValue(event.target.value);
241
212
  };
242
-
243
213
  var handleInputOnBlur = function handleInputOnBlur(event) {
244
214
  closeSuggestions();
245
- if (isNotOptional(event.target.value, optional)) onBlur === null || onBlur === void 0 ? void 0 : onBlur({
215
+ if (isRequired(event.target.value, optional)) onBlur === null || onBlur === void 0 ? void 0 : onBlur({
246
216
  value: event.target.value,
247
217
  error: translatedLabels.formFields.requiredValueErrorMessage
248
218
  });else if (isLengthIncorrect(event.target.value, minLength, maxLength)) onBlur === null || onBlur === void 0 ? void 0 : onBlur({
249
219
  value: event.target.value,
250
220
  error: translatedLabels.formFields.lengthErrorMessage(minLength, maxLength)
251
- });else if (patternMissmatch(pattern, event.target.value)) onBlur === null || onBlur === void 0 ? void 0 : onBlur({
221
+ });else if (patternMismatch(pattern, event.target.value)) onBlur === null || onBlur === void 0 ? void 0 : onBlur({
252
222
  value: event.target.value,
253
223
  error: translatedLabels.formFields.formatRequestedErrorMessage
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({
224
+ });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({
255
225
  value: event.target.value,
256
- error: getNumberErrorMessage(event.target.value)
226
+ error: getNumberErrorMessage(Number(event.target.value))
257
227
  });else onBlur === null || onBlur === void 0 ? void 0 : onBlur({
258
228
  value: event.target.value
259
229
  });
260
230
  };
261
-
262
231
  var handleInputOnKeyDown = function handleInputOnKeyDown(event) {
263
232
  switch (event.key) {
264
233
  case "Down":
265
234
  case "ArrowDown":
266
235
  event.preventDefault();
267
-
268
- if ((numberInputContext === null || numberInputContext === void 0 ? void 0 : numberInputContext.typeNumber) === "number") {
269
- decrementNumber();
270
- } else {
236
+ if ((numberInputContext === null || numberInputContext === void 0 ? void 0 : numberInputContext.typeNumber) === "number") decrementNumber();else {
271
237
  openSuggestions();
272
-
273
238
  if (!isAutosuggestError && !isSearching && filteredSuggestions.length > 0) {
274
239
  changeVisualFocusIndex(function (visualFocusedSuggIndex) {
275
240
  if (visualFocusedSuggIndex < filteredSuggestions.length - 1) return visualFocusedSuggIndex + 1;else if (visualFocusedSuggIndex === filteredSuggestions.length - 1) return 0;
276
241
  });
277
242
  }
278
243
  }
279
-
280
244
  break;
281
-
282
245
  case "Up":
283
246
  case "ArrowUp":
284
247
  event.preventDefault();
285
-
286
- if ((numberInputContext === null || numberInputContext === void 0 ? void 0 : numberInputContext.typeNumber) === "number") {
287
- incrementNumber();
288
- } else {
248
+ if ((numberInputContext === null || numberInputContext === void 0 ? void 0 : numberInputContext.typeNumber) === "number") incrementNumber();else {
289
249
  openSuggestions();
290
-
291
250
  if (!isAutosuggestError && !isSearching && filteredSuggestions.length > 0) {
292
251
  changeVisualFocusIndex(function (visualFocusedSuggIndex) {
293
252
  if (visualFocusedSuggIndex === 0 || visualFocusedSuggIndex === -1) return filteredSuggestions.length > 0 ? filteredSuggestions.length - 1 : suggestions.length - 1;else return visualFocusedSuggIndex - 1;
294
253
  });
295
254
  }
296
255
  }
297
-
298
256
  break;
299
-
300
257
  case "Esc":
301
258
  case "Escape":
302
259
  event.preventDefault();
303
-
304
260
  if (hasSuggestions(suggestions)) {
305
261
  changeValue("");
306
262
  isOpen && closeSuggestions();
307
263
  }
308
-
309
264
  break;
310
-
311
265
  case "Enter":
312
266
  if (hasSuggestions(suggestions) && !isSearching) {
313
267
  var validFocusedSuggestion = filteredSuggestions.length > 0 && visualFocusIndex >= 0 && visualFocusIndex < filteredSuggestions.length;
314
268
  validFocusedSuggestion && changeValue(filteredSuggestions[visualFocusIndex]);
315
269
  isOpen && closeSuggestions();
316
270
  }
317
-
318
271
  break;
319
272
  }
320
273
  };
321
-
322
274
  var handleClearActionOnClick = function handleClearActionOnClick() {
323
275
  changeValue("");
324
276
  inputRef.current.focus();
325
277
  suggestions && closeSuggestions();
326
278
  };
327
-
328
279
  var handleDecrementActionOnClick = function handleDecrementActionOnClick() {
329
280
  decrementNumber();
330
281
  inputRef.current.focus();
331
282
  };
332
-
333
283
  var handleIncrementActionOnClick = function handleIncrementActionOnClick() {
334
284
  incrementNumber();
335
285
  inputRef.current.focus();
336
286
  };
337
-
338
287
  var setNumberProps = function setNumberProps(type, min, max, step) {
339
- var _inputRef$current2, _inputRef$current3, _inputRef$current4, _inputRef$current5;
340
-
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));
288
+ var _inputRef$current, _inputRef$current2, _inputRef$current3, _inputRef$current4;
289
+ min && (inputRef === null || inputRef === void 0 ? void 0 : (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : _inputRef$current.setAttribute("min", min));
290
+ max && (inputRef === null || inputRef === void 0 ? void 0 : (_inputRef$current2 = inputRef.current) === null || _inputRef$current2 === void 0 ? void 0 : _inputRef$current2.setAttribute("max", max));
291
+ inputRef === null || inputRef === void 0 ? void 0 : (_inputRef$current3 = inputRef.current) === null || _inputRef$current3 === void 0 ? void 0 : _inputRef$current3.setAttribute("step", step);
292
+ inputRef === null || inputRef === void 0 ? void 0 : (_inputRef$current4 = inputRef.current) === null || _inputRef$current4 === void 0 ? void 0 : _inputRef$current4.setAttribute("type", type);
345
293
  };
346
-
347
294
  var decrementNumber = function decrementNumber() {
348
- var numberValue = value !== null && value !== void 0 ? value : innerValue;
349
-
350
- if (numberInputContext !== null && numberInputContext !== void 0 && numberInputContext.minNumber && parseInt(numberValue) < (numberInputContext === null || numberInputContext === void 0 ? void 0 : numberInputContext.minNumber)) {
351
- changeValue(parseInt(numberValue));
352
- } else if (numberInputContext !== null && numberInputContext !== void 0 && numberInputContext.maxNumber && parseInt(numberValue) > (numberInputContext === null || numberInputContext === void 0 ? void 0 : numberInputContext.maxNumber)) {
353
- changeValue(numberInputContext === null || numberInputContext === void 0 ? void 0 : numberInputContext.maxNumber);
354
- } 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))) {
355
- changeValue(numberInputContext === null || numberInputContext === void 0 ? void 0 : numberInputContext.minNumber);
356
- } 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 !== "") {
357
- changeValue(parseInt(numberValue) - (numberInputContext === null || numberInputContext === void 0 ? void 0 : numberInputContext.stepNumber));
358
- } else if (numberInputContext !== null && numberInputContext !== void 0 && numberInputContext.stepNumber && numberValue == "") {
359
- changeValue(-(numberInputContext === null || numberInputContext === void 0 ? void 0 : numberInputContext.stepNumber));
360
- } else if (numberValue === "") {
361
- changeValue(-1);
295
+ var currentValue = value !== null && value !== void 0 ? value : innerValue;
296
+ var numberValue = Number(currentValue);
297
+ var steppedValue = Math.round((numberValue - (numberInputContext === null || numberInputContext === void 0 ? void 0 : numberInputContext.stepNumber) + Number.EPSILON) * 100) / 100;
298
+ if (currentValue !== "") {
299
+ 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);
362
300
  } else {
363
- changeValue(parseInt(numberValue) - 1);
301
+ 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);
364
302
  }
365
303
  };
366
-
367
304
  var incrementNumber = function incrementNumber() {
368
- var numberValue = value !== null && value !== void 0 ? value : innerValue;
369
-
370
- if (numberInputContext !== null && numberInputContext !== void 0 && numberInputContext.maxNumber && parseInt(numberValue) > (numberInputContext === null || numberInputContext === void 0 ? void 0 : numberInputContext.maxNumber)) {
371
- changeValue(parseInt(numberValue));
372
- } else if (numberInputContext !== null && numberInputContext !== void 0 && numberInputContext.minNumber && (parseInt(numberValue) < (numberInputContext === null || numberInputContext === void 0 ? void 0 : numberInputContext.minNumber) || numberValue === "")) {
373
- changeValue(numberInputContext === null || numberInputContext === void 0 ? void 0 : numberInputContext.minNumber);
374
- } 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))) {
375
- changeValue(numberInputContext === null || numberInputContext === void 0 ? void 0 : numberInputContext.maxNumber);
376
- } 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 !== "") {
377
- changeValue(parseInt(numberValue) + (numberInputContext === null || numberInputContext === void 0 ? void 0 : numberInputContext.stepNumber));
378
- } else if (numberInputContext !== null && numberInputContext !== void 0 && numberInputContext.stepNumber && numberValue == "") {
379
- changeValue(numberInputContext === null || numberInputContext === void 0 ? void 0 : numberInputContext.stepNumber);
380
- } else if (numberValue === "") {
381
- changeValue(1);
305
+ var currentValue = value !== null && value !== void 0 ? value : innerValue;
306
+ var numberValue = Number(currentValue);
307
+ var steppedValue = Math.round((numberValue + (numberInputContext === null || numberInputContext === void 0 ? void 0 : numberInputContext.stepNumber) + Number.EPSILON) * 100) / 100;
308
+ if (currentValue !== "") {
309
+ 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);
382
310
  } else {
383
- changeValue(parseInt(numberValue) + 1);
311
+ 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);
384
312
  }
385
313
  };
386
-
387
314
  (0, _react.useEffect)(function () {
388
315
  if (typeof suggestions === "function") {
389
316
  changeIsSearching(true);
@@ -409,8 +336,7 @@ var DxcTextInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref2, re
409
336
  }));
410
337
  changeVisualFocusIndex(-1);
411
338
  }
412
-
413
- (numberInputContext === null || numberInputContext === void 0 ? void 0 : numberInputContext.typeNumber) === "number" && setNumberProps(numberInputContext.typeNumber, numberInputContext.minNumber, numberInputContext.maxNumber, numberInputContext.stepNumber);
339
+ numberInputContext != null && setNumberProps(numberInputContext.typeNumber, numberInputContext.minNumber, numberInputContext.maxNumber, numberInputContext.stepNumber);
414
340
  }, [value, innerValue, suggestions, numberInputContext]);
415
341
  return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
416
342
  theme: colorsTheme.textInput
@@ -426,16 +352,7 @@ var DxcTextInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref2, re
426
352
  }, label, " ", optional && /*#__PURE__*/_react["default"].createElement(OptionalLabel, null, translatedLabels.formFields.optionalLabel)), helperText && /*#__PURE__*/_react["default"].createElement(HelperText, {
427
353
  disabled: disabled,
428
354
  backgroundType: backgroundType
429
- }, helperText), /*#__PURE__*/_react["default"].createElement(InputContainer, {
430
- error: error ? true : false,
431
- disabled: disabled,
432
- backgroundType: backgroundType,
433
- onClick: handleInputContainerOnClick,
434
- onMouseDown: handleInputContainerOnMouseDown
435
- }, prefix && /*#__PURE__*/_react["default"].createElement(Prefix, {
436
- disabled: disabled,
437
- backgroundType: backgroundType
438
- }, prefix), /*#__PURE__*/_react["default"].createElement(AutosuggestWrapper, {
355
+ }, helperText), /*#__PURE__*/_react["default"].createElement(AutosuggestWrapper, {
439
356
  condition: hasSuggestions(suggestions),
440
357
  wrapper: function wrapper(children) {
441
358
  return /*#__PURE__*/_react["default"].createElement(Popover.Root, {
@@ -443,8 +360,11 @@ var DxcTextInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref2, re
443
360
  }, /*#__PURE__*/_react["default"].createElement(Popover.Trigger, {
444
361
  asChild: true,
445
362
  "aria-controls": undefined
446
- }, children), /*#__PURE__*/_react["default"].createElement(Popover.Content, {
363
+ }, children), /*#__PURE__*/_react["default"].createElement(Popover.Portal, null, /*#__PURE__*/_react["default"].createElement(Popover.Content, {
447
364
  sideOffset: 5,
365
+ style: {
366
+ zIndex: "2147483647"
367
+ },
448
368
  onOpenAutoFocus: function onOpenAutoFocus(event) {
449
369
  // Avoid select to lose focus when the list is opened
450
370
  event.preventDefault();
@@ -465,22 +385,36 @@ var DxcTextInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref2, re
465
385
  changeValue(suggestion);
466
386
  closeSuggestions();
467
387
  },
468
- getTextInputWidth: getTextInputWidth
469
- })));
388
+ styles: {
389
+ width: width
390
+ }
391
+ }))));
470
392
  }
471
- }, /*#__PURE__*/_react["default"].createElement(Input, {
393
+ }, /*#__PURE__*/_react["default"].createElement(InputContainer, {
394
+ error: error ? true : false,
395
+ disabled: disabled,
396
+ readOnly: readOnly,
397
+ backgroundType: backgroundType,
398
+ onClick: handleInputContainerOnClick,
399
+ onMouseDown: handleInputContainerOnMouseDown,
400
+ ref: inputContainerRef
401
+ }, prefix && /*#__PURE__*/_react["default"].createElement(Prefix, {
402
+ disabled: disabled,
403
+ backgroundType: backgroundType
404
+ }, prefix), /*#__PURE__*/_react["default"].createElement(Input, {
472
405
  id: inputId,
473
406
  name: name,
474
407
  value: value !== null && value !== void 0 ? value : innerValue,
475
408
  placeholder: placeholder,
476
409
  onBlur: handleInputOnBlur,
477
410
  onChange: handleInputOnChange,
478
- onFocus: openSuggestions,
479
- onKeyDown: handleInputOnKeyDown,
411
+ onFocus: !readOnly ? openSuggestions : undefined,
412
+ onKeyDown: !readOnly ? handleInputOnKeyDown : undefined,
480
413
  onMouseDown: function onMouseDown(event) {
481
414
  event.stopPropagation();
482
415
  },
483
416
  disabled: disabled,
417
+ readOnly: readOnly,
484
418
  ref: inputRef,
485
419
  backgroundType: backgroundType,
486
420
  pattern: pattern,
@@ -497,69 +431,68 @@ var DxcTextInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref2, re
497
431
  "aria-activedescendant": hasSuggestions(suggestions) && isOpen && visualFocusIndex !== -1 ? "suggestion-".concat(visualFocusIndex) : undefined,
498
432
  "aria-invalid": error ? true : false,
499
433
  "aria-errormessage": error ? errorId : undefined,
500
- "aria-required": optional ? false : true
501
- })), !disabled && error && /*#__PURE__*/_react["default"].createElement(ErrorIcon, {
434
+ "aria-required": !disabled && !optional
435
+ }), !disabled && error && /*#__PURE__*/_react["default"].createElement(ErrorIcon, {
502
436
  backgroundType: backgroundType,
503
437
  "aria-label": "Error"
504
- }, _Icons["default"].error), !disabled && clearable && (value !== null && value !== void 0 ? value : innerValue).length > 0 && /*#__PURE__*/_react["default"].createElement(Action, {
438
+ }, _Icons["default"].error), !disabled && !readOnly && clearable && (value !== null && value !== void 0 ? value : innerValue).length > 0 && /*#__PURE__*/_react["default"].createElement(Action, {
439
+ "aria-label": translatedLabels.textInput.clearFieldActionTitle,
505
440
  onClick: handleClearActionOnClick,
506
441
  onMouseDown: function onMouseDown(event) {
507
442
  event.stopPropagation();
508
443
  },
509
- backgroundType: backgroundType,
510
444
  tabIndex: tabIndex,
511
445
  title: translatedLabels.textInput.clearFieldActionTitle,
512
- "aria-label": translatedLabels.textInput.clearFieldActionTitle,
513
- type: "button"
446
+ type: "button",
447
+ backgroundType: backgroundType
514
448
  }, _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, {
515
- ref: actionRef,
449
+ "aria-label": translatedLabels.numberInput.decrementValueTitle,
516
450
  disabled: disabled,
517
- onClick: handleDecrementActionOnClick,
451
+ onClick: !readOnly ? handleDecrementActionOnClick : undefined,
518
452
  onMouseDown: function onMouseDown(event) {
519
453
  event.stopPropagation();
520
454
  },
521
- backgroundType: backgroundType,
455
+ ref: actionRef,
522
456
  tabIndex: tabIndex,
523
457
  title: translatedLabels.numberInput.decrementValueTitle,
524
- "aria-label": translatedLabels.numberInput.decrementValueTitle,
525
- type: "button"
458
+ type: "button",
459
+ backgroundType: backgroundType
526
460
  }, _Icons["default"].decrement), /*#__PURE__*/_react["default"].createElement(Action, {
527
- ref: actionRef,
461
+ "aria-label": translatedLabels.numberInput.incrementValueTitle,
528
462
  disabled: disabled,
529
- onClick: handleIncrementActionOnClick,
463
+ onClick: !readOnly ? handleIncrementActionOnClick : undefined,
530
464
  onMouseDown: function onMouseDown(event) {
531
465
  event.stopPropagation();
532
466
  },
533
- backgroundType: backgroundType,
467
+ ref: actionRef,
534
468
  tabIndex: tabIndex,
535
469
  title: translatedLabels.numberInput.incrementValueTitle,
536
- "aria-label": translatedLabels.numberInput.incrementValueTitle,
537
- type: "button"
470
+ type: "button",
471
+ backgroundType: backgroundType
538
472
  }, _Icons["default"].increment)), action && /*#__PURE__*/_react["default"].createElement(Action, {
539
- ref: actionRef,
473
+ "aria-label": action.title,
540
474
  disabled: disabled,
541
- onClick: action.onClick,
475
+ onClick: !readOnly ? action.onClick : undefined,
542
476
  onMouseDown: function onMouseDown(event) {
543
477
  event.stopPropagation();
544
478
  },
545
- title: action.title,
546
- "aria-label": action.title,
547
- backgroundType: backgroundType,
479
+ ref: actionRef,
548
480
  tabIndex: tabIndex,
549
- type: "button"
481
+ title: action.title,
482
+ type: "button",
483
+ backgroundType: backgroundType
550
484
  }, typeof action.icon === "string" ? /*#__PURE__*/_react["default"].createElement("img", {
551
485
  src: action.icon
552
486
  }) : action.icon), suffix && /*#__PURE__*/_react["default"].createElement(Suffix, {
553
487
  disabled: disabled,
554
488
  backgroundType: backgroundType
555
- }, suffix)), !disabled && typeof error === "string" && /*#__PURE__*/_react["default"].createElement(Error, {
489
+ }, suffix))), !disabled && typeof error === "string" && /*#__PURE__*/_react["default"].createElement(Error, {
556
490
  id: errorId,
557
491
  backgroundType: backgroundType,
558
492
  "aria-live": error ? "assertive" : "off"
559
493
  }, error)));
560
494
  });
561
-
562
- var TextInputContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n box-sizing: border-box;\n width: ", ";\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n"])), function (props) {
495
+ 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) {
563
496
  return calculateWidth(props.margin, props.size);
564
497
  }, function (props) {
565
498
  return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
@@ -572,7 +505,6 @@ var TextInputContainer = _styledComponents["default"].div(_templateObject || (_t
572
505
  }, function (props) {
573
506
  return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
574
507
  });
575
-
576
508
  var Label = _styledComponents["default"].label(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: ", ";\n ", "\n"])), function (props) {
577
509
  return props.disabled ? props.backgroundType === "dark" ? props.theme.disabledLabelFontColorOnDark : props.theme.disabledLabelFontColor : props.backgroundType === "dark" ? props.theme.labelFontColorOnDark : props.theme.labelFontColor;
578
510
  }, function (props) {
@@ -588,11 +520,9 @@ var Label = _styledComponents["default"].label(_templateObject2 || (_templateObj
588
520
  }, function (props) {
589
521
  return !props.hasHelperText && "margin-bottom: 0.25rem";
590
522
  });
591
-
592
523
  var OptionalLabel = _styledComponents["default"].span(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n font-weight: ", ";\n"])), function (props) {
593
524
  return props.theme.optionalLabelFontWeight;
594
525
  });
595
-
596
526
  var HelperText = _styledComponents["default"].span(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: ", ";\n margin-bottom: 0.25rem;\n"])), function (props) {
597
527
  return props.disabled ? props.backgroundType === "dark" ? props.theme.disabledHelperTextFontColorOnDark : props.theme.disabledHelperTextFontColor : props.backgroundType === "dark" ? props.theme.helperTextFontColorOnDark : props.theme.helperTextFontColor;
598
528
  }, function (props) {
@@ -606,19 +536,15 @@ var HelperText = _styledComponents["default"].span(_templateObject4 || (_templat
606
536
  }, function (props) {
607
537
  return props.theme.helperTextLineHeight;
608
538
  });
609
-
610
- 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) {
539
+ 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) {
611
540
  if (props.disabled) return props.backgroundType === "dark" ? "background-color: ".concat(props.theme.disabledContainerFillColorOnDark, ";") : "background-color: ".concat(props.theme.disabledContainerFillColor, ";");
612
541
  }, function (props) {
613
- if (props.disabled) return props.backgroundType === "dark" ? props.theme.disabledBorderColorOnDark : props.theme.disabledBorderColor;else return props.backgroundType === "dark" ? props.theme.enabledBorderColorOnDark : props.theme.enabledBorderColor;
542
+ 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;
614
543
  }, function (props) {
615
544
  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 ");
616
545
  }, function (props) {
617
- return props.disabled && "cursor: not-allowed;";
618
- }, function (props) {
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 ");
546
+ 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;";
620
547
  });
621
-
622
548
  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) {
623
549
  return props.disabled ? props.backgroundType === "dark" ? props.theme.disabledValueFontColorOnDark : props.theme.disabledValueFontColor : props.backgroundType === "dark" ? props.theme.valueFontColorOnDark : props.theme.valueFontColor;
624
550
  }, function (props) {
@@ -634,7 +560,6 @@ var Input = _styledComponents["default"].input(_templateObject6 || (_templateObj
634
560
  }, function (props) {
635
561
  return props.disabled ? props.backgroundType === "dark" ? props.theme.disabledPlaceholderFontColorOnDark : props.theme.disabledPlaceholderFontColor : props.backgroundType === "dark" ? props.theme.placeholderFontColorOnDark : props.theme.placeholderFontColor;
636
562
  });
637
-
638
563
  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) {
639
564
  return props.disabled ? "cursor: not-allowed;" : "cursor: pointer;";
640
565
  }, function (props) {
@@ -644,30 +569,24 @@ var Action = _styledComponents["default"].button(_templateObject7 || (_templateO
644
569
  }, function (props) {
645
570
  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 ");
646
571
  });
647
-
648
572
  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) {
649
573
  var color = props.disabled ? props.backgroundType === "dark" ? props.theme.disabledPrefixColorOnDark : props.theme.disabledPrefixColor : props.backgroundType === "dark" ? props.theme.prefixColorOnDark : props.theme.prefixColor;
650
574
  return "color: ".concat(color, "; border-right: 1px solid ").concat(color, ";");
651
575
  }, function (props) {
652
576
  return props.theme.fontFamily;
653
577
  });
654
-
655
578
  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) {
656
579
  var color = props.disabled ? props.backgroundType === "dark" ? props.theme.disabledSuffixColorOnDark : props.theme.disabledSuffixColor : props.backgroundType === "dark" ? props.theme.suffixColorOnDark : props.theme.suffixColor;
657
580
  return "color: ".concat(color, "; border-left: 1px solid ").concat(color, ";");
658
581
  }, function (props) {
659
582
  return props.theme.fontFamily;
660
583
  });
661
-
662
584
  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) {
663
585
  return props.backgroundType === "dark" ? props.theme.errorIconColorOnDark : props.theme.errorIconColor;
664
586
  });
665
-
666
587
  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) {
667
588
  return props.backgroundType === "dark" ? props.theme.errorMessageColorOnDark : props.theme.errorMessageColor;
668
589
  }, function (props) {
669
590
  return props.theme.fontFamily;
670
591
  });
671
-
672
- var _default = DxcTextInput;
673
- exports["default"] = _default;
592
+ var _default = exports["default"] = DxcTextInput;