@dxc-technology/halstack-react 0.0.0-18ada02 → 0.0.0-18ade79

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