@dxc-technology/halstack-react 0.0.0-3216581 → 0.0.0-324b670

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