@dxc-technology/halstack-react 0.0.0-c9b5c13 → 0.0.0-c9c1158

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