@dxc-technology/halstack-react 0.0.0-011babe → 0.0.0-0355f44

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 (122) hide show
  1. package/dist/BackgroundColorContext.js +46 -0
  2. package/dist/ThemeContext.js +168 -105
  3. package/dist/accordion/Accordion.js +127 -48
  4. package/dist/accordion-group/AccordionGroup.js +34 -4
  5. package/dist/alert/Alert.js +178 -82
  6. package/dist/alert/index.d.ts +51 -0
  7. package/dist/badge/Badge.js +28 -7
  8. package/dist/box/Box.js +28 -19
  9. package/dist/button/Button.js +50 -21
  10. package/dist/card/Card.js +72 -35
  11. package/dist/checkbox/Checkbox.js +95 -26
  12. package/dist/chip/Chip.js +88 -32
  13. package/dist/common/utils.js +2 -22
  14. package/dist/common/variables.js +1376 -238
  15. package/dist/date/Date.js +70 -43
  16. package/dist/date-input/DateInput.js +400 -0
  17. package/dist/date-input/index.d.ts +95 -0
  18. package/dist/dialog/Dialog.js +51 -34
  19. package/dist/dropdown/Dropdown.js +169 -79
  20. package/dist/file-input/FileInput.js +644 -0
  21. package/dist/file-input/FileItem.js +280 -0
  22. package/dist/file-input/index.d.ts +81 -0
  23. package/dist/footer/Footer.js +70 -47
  24. package/dist/footer/dxc_logo.svg +15 -0
  25. package/dist/header/Header.js +89 -58
  26. package/dist/header/dxc_logo_black.svg +8 -0
  27. package/dist/heading/Heading.js +86 -23
  28. package/dist/input-text/InputText.js +234 -104
  29. package/dist/layout/ApplicationLayout.js +11 -10
  30. package/dist/link/Link.js +84 -36
  31. package/dist/main.d.ts +8 -0
  32. package/dist/main.js +68 -4
  33. package/dist/new-select/NewSelect.js +836 -0
  34. package/dist/new-select/index.d.ts +53 -0
  35. package/dist/new-textarea/NewTextarea.js +369 -0
  36. package/dist/new-textarea/index.d.ts +117 -0
  37. package/dist/number-input/NumberInput.js +136 -0
  38. package/dist/number-input/NumberInputContext.js +16 -0
  39. package/dist/number-input/index.d.ts +113 -0
  40. package/dist/paginator/Paginator.js +56 -18
  41. package/dist/password-input/PasswordInput.js +198 -0
  42. package/dist/password-input/index.d.ts +94 -0
  43. package/dist/progress-bar/ProgressBar.js +89 -37
  44. package/dist/radio/Radio.js +28 -11
  45. package/dist/resultsetTable/ResultsetTable.js +76 -44
  46. package/dist/select/Select.js +215 -151
  47. package/dist/sidenav/Sidenav.js +64 -12
  48. package/dist/slider/Slider.js +190 -63
  49. package/dist/spinner/Spinner.js +245 -60
  50. package/dist/switch/Switch.js +50 -20
  51. package/dist/table/Table.js +46 -10
  52. package/dist/tabs/Tabs.js +47 -15
  53. package/dist/tag/Tag.js +64 -33
  54. package/dist/text-input/TextInput.js +971 -0
  55. package/dist/text-input/index.d.ts +135 -0
  56. package/dist/textarea/Textarea.js +68 -36
  57. package/dist/toggle/Toggle.js +0 -2
  58. package/dist/toggle-group/ToggleGroup.js +148 -34
  59. package/dist/upload/Upload.js +16 -13
  60. package/dist/upload/buttons-upload/ButtonsUpload.js +28 -12
  61. package/dist/upload/dragAndDropArea/DragAndDropArea.js +63 -20
  62. package/dist/upload/file-upload/FileToUpload.js +43 -19
  63. package/dist/upload/files-upload/FilesToUpload.js +9 -8
  64. package/dist/upload/readme.md +2 -2
  65. package/dist/upload/transaction/Transaction.js +39 -18
  66. package/dist/upload/transactions/Transactions.js +27 -11
  67. package/dist/wizard/Wizard.js +120 -48
  68. package/dist/wizard/invalid_icon.svg +4 -5
  69. package/dist/wizard/valid_icon.svg +4 -5
  70. package/package.json +6 -4
  71. package/test/AccordionGroup.test.js +16 -0
  72. package/test/Date.test.js +49 -45
  73. package/test/DateInput.test.js +242 -0
  74. package/test/Dropdown.test.js +15 -0
  75. package/test/FileInput.test.js +201 -0
  76. package/test/InputText.test.js +24 -16
  77. package/test/Link.test.js +3 -2
  78. package/test/NewTextarea.test.js +195 -0
  79. package/test/NumberInput.test.js +259 -0
  80. package/test/Paginator.test.js +1 -1
  81. package/test/PasswordInput.test.js +83 -0
  82. package/test/ResultsetTable.test.js +1 -2
  83. package/test/Select.test.js +44 -24
  84. package/test/Spinner.test.js +5 -0
  85. package/test/TextInput.test.js +732 -0
  86. package/test/ToggleGroup.test.js +5 -1
  87. package/test/Upload.test.js +5 -5
  88. package/dist/accordion/Accordion.stories.js +0 -207
  89. package/dist/accordion/readme.md +0 -96
  90. package/dist/accordion-group/AccordionGroup.stories.js +0 -207
  91. package/dist/accordion-group/readme.md +0 -70
  92. package/dist/alert/Alert.stories.js +0 -158
  93. package/dist/alert/close.svg +0 -4
  94. package/dist/alert/error.svg +0 -4
  95. package/dist/alert/info.svg +0 -4
  96. package/dist/alert/readme.md +0 -43
  97. package/dist/alert/success.svg +0 -4
  98. package/dist/alert/warning.svg +0 -4
  99. package/dist/button/Button.stories.js +0 -224
  100. package/dist/button/readme.md +0 -93
  101. package/dist/common/services/example-service.js +0 -10
  102. package/dist/common/services/example-service.test.js +0 -12
  103. package/dist/date/calendar.svg +0 -1
  104. package/dist/date/calendar_dark.svg +0 -1
  105. package/dist/dialog/Dialog.stories.js +0 -217
  106. package/dist/dialog/readme.md +0 -32
  107. package/dist/dropdown/Dropdown.stories.js +0 -249
  108. package/dist/dropdown/baseline-arrow_drop_down.svg +0 -1
  109. package/dist/dropdown/baseline-arrow_drop_down_wh.svg +0 -4
  110. package/dist/dropdown/baseline-arrow_drop_up.svg +0 -1
  111. package/dist/dropdown/baseline-arrow_drop_up_wh.svg +0 -4
  112. package/dist/dropdown/readme.md +0 -69
  113. package/dist/footer/Footer.stories.js +0 -94
  114. package/dist/footer/dxc_logo_wht.png +0 -0
  115. package/dist/header/dxc_logo_black.png +0 -0
  116. package/dist/header/dxc_logo_blk_rgb.svg +0 -6
  117. package/dist/header/dxc_logo_white.png +0 -0
  118. package/dist/input-text/InputText.stories.js +0 -209
  119. package/dist/select/Select.stories.js +0 -235
  120. package/dist/select/readme.md +0 -72
  121. package/dist/slider/Slider.stories.js +0 -241
  122. package/dist/toggle-group/readme.md +0 -82
@@ -31,8 +31,6 @@ var _MenuItem = _interopRequireDefault(require("@material-ui/core/MenuItem"));
31
31
 
32
32
  var _propTypes = _interopRequireDefault(require("prop-types"));
33
33
 
34
- require("../common/OpenSans.css");
35
-
36
34
  var _Popper = _interopRequireDefault(require("@material-ui/core/Popper"));
37
35
 
38
36
  var _RequiredComponent = _interopRequireDefault(require("../common/RequiredComponent"));
@@ -45,8 +43,30 @@ var _useTheme = _interopRequireDefault(require("../useTheme.js"));
45
43
 
46
44
  var _error = _interopRequireDefault(require("./error.svg"));
47
45
 
46
+ var _BackgroundColorContext = _interopRequireWildcard(require("../BackgroundColorContext.js"));
47
+
48
+ function _templateObject10() {
49
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n display: inline-block;\n position: relative;\n height: auto;\n width: ", ";\n\n .MuiTextField-root {\n width: 100%;\n font-family: ", ";\n\n .MuiFormHelperText-root {\n font-weight: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n color: ", " !important;\n margin-top: 6px;\n }\n\n .MuiFormLabel-root {\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n color: ", ";\n padding-left: ", ";\n\n &.Mui-disabled {\n color: ", " !important;\n cursor: not-allowed;\n }\n\n &.Mui-focused {\n color: ", ";\n &.MuiInputLabel-shrink {\n transform: ", ";\n }\n }\n\n &.MuiInputLabel-shrink {\n font-family: ", ";\n\n transform: ", ";\n }\n\n &.Mui-error {\n color: ", ";\n }\n\n &:not(.MuiInputLabel-shrink) {\n font-family: ", ";\n color: ", ";\n\n & + div,\n & + div + p {\n color: ", ";\n }\n }\n\n &.MuiInputLabel-shrink {\n & + div::before {\n border-color: ", ";\n }\n & + div + p {\n color: ", ";\n }\n }\n }\n\n .MuiInputBase-root.MuiInput-root.MuiInput-underline {\n font-family: ", ";\n\n &::before {\n border-bottom: ", ";\n }\n\n &:not(.Mui-error)::before,\n &:not(&.Mui-focused)::before {\n border-bottom: ", ";\n }\n\n &::after {\n border-bottom: ", ";\n }\n\n &.Mui-error {\n &::before {\n border-width: ", ";\n border-color: ", ";\n }\n &::after {\n transform: scaleX(0);\n }\n }\n\n &.Mui-focused {\n &::after {\n border-width: calc(", " + 1px);\n border-color: ", ";\n }\n &.Mui-error::after {\n border-color: ", ";\n }\n }\n\n &.Mui-disabled {\n cursor: not-allowed;\n\n &::before {\n border-bottom: ", ";\n border-bottom-style: solid;\n }\n }\n\n .MuiInputBase-input {\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n color: ", ";\n padding-left: ", ";\n text-overflow: ellipsis;\n\n &.Mui-disabled {\n color: ", " !important;\n cursor: not-allowed;\n }\n }\n\n .MuiInputAdornment-root {\n height: 20px;\n\n &.MuiInputAdornment-positionEnd {\n & > p {\n font-family: ", ";\n margin-right: 8px;\n margin-bottom: 1px;\n }\n }\n &.Mui-disabled {\n cursor: not-allowed;\n opacity: 0.5;\n }\n }\n\n &:hover:not(.Mui-disabled):before &:hover:not(.Mui-error):before {\n border-bottom-color: ", ";\n }\n }\n\n & > p {\n &.Mui-error {\n color: ", " !important;\n }\n &.Mui-disabled {\n color: ", " !important;\n cursor: not-allowed;\n }\n }\n }\n"]);
50
+
51
+ _templateObject10 = function _templateObject10() {
52
+ return data;
53
+ };
54
+
55
+ return data;
56
+ }
57
+
58
+ function _templateObject9() {
59
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n ", ";\n font-weight: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n color: ", ";\n"]);
60
+
61
+ _templateObject9 = function _templateObject9() {
62
+ return data;
63
+ };
64
+
65
+ return data;
66
+ }
67
+
48
68
  function _templateObject8() {
49
- var data = (0, _taggedTemplateLiteral2["default"])(["\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n\n display: inline-block;\n position: relative;\n height: auto;\n width: ", ";\n .MuiTextField-root {\n width: 100%;\n font-family: ", ";\n .MuiFormHelperText-root {\n font-family: ", ";\n margin-top: 6px;\n }\n .MuiFormLabel-root {\n font-size: ", ";\n \n color: ", ";\n &.Mui-disabled {\n color: ", " !important;\n cursor: not-allowed;\n }\n padding-left: ", ";\n &.Mui-focused {\n color: ", ";\n &.MuiInputLabel-shrink {\n transform: ", ";\n }\n }\n &.MuiInputLabel-shrink {\n font-family: ", ";\n\n transform: ", ";\n }\n &.Mui-error {\n color: ", ";\n }\n\n &:not(.MuiInputLabel-shrink) {\n font-family: ", ";\n\n color: ", ";\n & + div,\n & + div + p {\n color: ", ";\n }\n }\n\n &.MuiInputLabel-shrink {\n & + div::before {\n border-color: ", ";\n }\n & + div + p {\n color: ", ";\n }\n }\n }\n .MuiInputBase-root.MuiInput-root.MuiInput-underline {\n font-family: ", ";\n\n &::before {\n border-bottom: ", ";\n }\n &:not(.Mui-error)::before,\n &:not(&.Mui-focused)::before {\n border-bottom: ", ";\n }\n &::after {\n border-bottom: ", ";\n }\n\n &.Mui-error {\n &::before {\n border-width: 1px;\n border-color: ", ";\n }\n &::after {\n transform: scaleX(0);\n }\n }\n\n &.Mui-focused {\n &::after {\n border-width: 2px;\n border-color: ", ";\n transform: scaleX(1);\n }\n\n &.Mui-error::after {\n border-color: ", ";\n }\n }\n\n &.Mui-disabled {\n cursor: not-allowed;\n\n &::before {\n border-bottom: ", ";\n border-bottom-style: solid;\n }\n }\n .MuiInputBase-input {\n padding-left: ", ";\n color: ", ";\n text-overflow: ellipsis;\n &.Mui-disabled {\n color: ", " !important;\n cursor: not-allowed;\n }\n }\n .MuiInputAdornment-root {\n height: 20px;\n color: ", ";\n &.MuiInputAdornment-positionEnd {\n & > p {\n font-family: ", ";\n\n color: ", ";\n margin-right: 8px;\n margin-bottom: 1px;\n cursor: ", ";\n }\n }\n &.Mui-disabled {\n cursor: not-allowed;\n opacity: 0.5;\n }\n }\n\n &:hover:not(.Mui-disabled):before &:hover:not(.Mui-error):before {\n border-bottom: ", ";\n }\n }\n\n & > p {\n &.Mui-error {\n color: ", " !important;\n }\n &.Mui-disabled {\n color: ", " !important;\n cursor: not-allowed;\n }\n }\n }\n"]);
69
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n top: 23px;\n left: 0;\n max-height: 20px;\n max-width: 20px;\n color: ", ";\n margin-right: 8px;\n width: 20px;\n opacity: ", ";\n ", ";\n overflow: hidden;\n\n img,\n svg {\n height: 100%;\n width: 100%;\n }\n"]);
50
70
 
51
71
  _templateObject8 = function _templateObject8() {
52
72
  return data;
@@ -56,7 +76,7 @@ function _templateObject8() {
56
76
  }
57
77
 
58
78
  function _templateObject7() {
59
- var data = (0, _taggedTemplateLiteral2["default"])(["\n top: 23px;\n left: 0;\n max-height: 20px;\n max-width: 20px;\n margin-right: 8px;\n width: 20px;\n opacity: ", ";\n cursor: ", ";\n overflow: hidden;\n\n img,\n svg {\n height: 100%;\n width: 100%;\n }\n"]);
79
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n top: 23px;\n left: 0;\n max-height: 20px;\n max-width: 20px;\n margin-right: 8px;\n width: 20px;\n opacity: ", ";\n ", ";\n"]);
60
80
 
61
81
  _templateObject7 = function _templateObject7() {
62
82
  return data;
@@ -66,7 +86,7 @@ function _templateObject7() {
66
86
  }
67
87
 
68
88
  function _templateObject6() {
69
- var data = (0, _taggedTemplateLiteral2["default"])(["\n top: 23px;\n left: 0;\n max-height: 20px;\n max-width: 20px;\n margin-right: 8px;\n width: 20px;\n opacity: ", ";\n cursor: ", ";\n"]);
89
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n position: absolute;\n top: 20px;\n left: 0px;\n font-weight: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n color: ", ";\n max-height: 20px;\n max-width: 20px;\n opacity: ", ";\n z-index: 1;\n ", ";\n"]);
70
90
 
71
91
  _templateObject6 = function _templateObject6() {
72
92
  return data;
@@ -76,7 +96,7 @@ function _templateObject6() {
76
96
  }
77
97
 
78
98
  function _templateObject5() {
79
- var data = (0, _taggedTemplateLiteral2["default"])(["\n position: absolute;\n top: 20px;\n left: 0px;\n font-family: ", ";\n\n color: ", ";\n max-height: 20px;\n max-width: 20px;\n opacity: ", ";\n z-index: 1;\n cursor: ", ";\n"]);
99
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n position: absolute;\n top: 20px;\n left: 0px;\n width: 20px;\n max-height: 20px;\n max-width: 20px;\n color: ", ";\n z-index: 1;\n opacity: ", ";\n ", ";\n overflow: hidden;\n\n img,\n svg {\n height: 100%;\n width: 100%;\n }\n"]);
80
100
 
81
101
  _templateObject5 = function _templateObject5() {
82
102
  return data;
@@ -86,7 +106,7 @@ function _templateObject5() {
86
106
  }
87
107
 
88
108
  function _templateObject4() {
89
- var data = (0, _taggedTemplateLiteral2["default"])(["\n position: absolute;\n top: 20px;\n left: 0px;\n width: 20px;\n max-height: 20px;\n max-width: 20px;\n z-index: 1;\n opacity: ", ";\n cursor: ", ";\n overflow: hidden;\n\n img,\n svg {\n height: 100%;\n width: 100%;\n }\n"]);
109
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n position: absolute;\n top: 20px;\n left: 0px;\n max-height: 20px;\n max-width: 20px;\n z-index: 1;\n opacity: ", ";\n ", ";\n"]);
90
110
 
91
111
  _templateObject4 = function _templateObject4() {
92
112
  return data;
@@ -96,7 +116,7 @@ function _templateObject4() {
96
116
  }
97
117
 
98
118
  function _templateObject3() {
99
- var data = (0, _taggedTemplateLiteral2["default"])(["\n position: absolute;\n top: 20px;\n left: 0px;\n width: 20px;\n max-height: 20px;\n max-width: 20px;\n z-index: 1;\n opacity: ", ";\n cursor: ", ";\n"]);
119
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n width: ", ";\n .MuiPaper-root {\n max-height: 250px;\n background-color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n color: ", ";\n border-color: ", ";\n border-width: ", ";\n border-style: ", ";\n overflow: auto;\n\n ::-webkit-scrollbar {\n width: 3px;\n }\n ::-webkit-scrollbar-track {\n background-color: ", ";\n border-radius: 3px;\n }\n ::-webkit-scrollbar-thumb {\n background-color: ", ";\n border-radius: 3px;\n }\n\n li {\n padding-bottom: ", ";\n padding-top: ", ";\n\n &:hover {\n color: ", ";\n background-color: ", ";\n }\n &:active {\n background-color: ", ";\n }\n }\n }\n"]);
100
120
 
101
121
  _templateObject3 = function _templateObject3() {
102
122
  return data;
@@ -106,7 +126,7 @@ function _templateObject3() {
106
126
  }
107
127
 
108
128
  function _templateObject2() {
109
- var data = (0, _taggedTemplateLiteral2["default"])(["\n width: ", ";\n .MuiPaper-root {\n max-height: 250px;\n overflow: auto;\n ::-webkit-scrollbar {\n width: 3px;\n }\n ::-webkit-scrollbar-track {\n background-color: ", ";\n border-radius: 3px;\n }\n\n ::-webkit-scrollbar-thumb {\n background-color: ", ";\n border-radius: 3px;\n }\n li {\n &:hover {\n color: ", ";\n background-color: ", ";\n }\n }\n }\n"]);
129
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n z-index: 1301;\n"]);
110
130
 
111
131
  _templateObject2 = function _templateObject2() {
112
132
  return data;
@@ -146,7 +166,7 @@ var makeCancelable = function makeCancelable(promise) {
146
166
  };
147
167
  };
148
168
 
149
- var DxcInputText = function DxcInputText(_ref) {
169
+ var V3DxcInputText = function V3DxcInputText(_ref) {
150
170
  var _ref$label = _ref.label,
151
171
  label = _ref$label === void 0 ? " " : _ref$label,
152
172
  _ref$name = _ref.name,
@@ -183,7 +203,9 @@ var DxcInputText = function DxcInputText(_ref) {
183
203
  margin = _ref.margin,
184
204
  _ref$size = _ref.size,
185
205
  size = _ref$size === void 0 ? "medium" : _ref$size,
186
- autocompleteOptions = _ref.autocompleteOptions;
206
+ autocompleteOptions = _ref.autocompleteOptions,
207
+ _ref$tabIndex = _ref.tabIndex,
208
+ tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
187
209
 
188
210
  var _useState = (0, _react.useState)(""),
189
211
  _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
@@ -216,6 +238,7 @@ var DxcInputText = function DxcInputText(_ref) {
216
238
  changeIsError = _useState12[1];
217
239
 
218
240
  var colorsTheme = (0, _useTheme["default"])();
241
+ var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"]);
219
242
 
220
243
  var changeValue = function changeValue(newValue) {
221
244
  if (value === null || value === undefined) {
@@ -294,6 +317,44 @@ var DxcInputText = function DxcInputText(_ref) {
294
317
  }
295
318
  };
296
319
 
320
+ var handleSuffixKeyPress = function handleSuffixKeyPress(event) {
321
+ event.preventDefault();
322
+
323
+ if (!disabled && (event.nativeEvent.code === "Enter" || event.nativeEvent.code === "Space")) {
324
+ onClickSuffix(event);
325
+ }
326
+ };
327
+
328
+ var handlePrefixKeyPress = function handlePrefixKeyPress(event) {
329
+ event.preventDefault();
330
+
331
+ if (!disabled && (event.nativeEvent.code === "Enter" || event.nativeEvent.code === "Space")) {
332
+ onClickPrefix(event);
333
+ }
334
+ };
335
+
336
+ var ThemedSuggestions = function ThemedSuggestions() {
337
+ var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"]);
338
+ return _react["default"].createElement(SuggestionsContainer, {
339
+ margin: margin,
340
+ size: size,
341
+ backgroundType: backgroundType
342
+ }, _react["default"].createElement(_Paper["default"], null, isOpen && !isSearching && !isError && filteredOptions.length === 0 && _react["default"].createElement(_MenuItem["default"], null, "No matches found."), isOpen && !isSearching && filteredOptions.length > 0 && filteredOptions.map(function (suggestion) {
343
+ return _react["default"].createElement(_MenuItem["default"], {
344
+ key: suggestion,
345
+ disableRipple: true,
346
+ onMouseDown: function onMouseDown(event) {
347
+ return event.preventDefault();
348
+ },
349
+ onClick: function onClick() {
350
+ return handlerSuggestionClicked(suggestion);
351
+ }
352
+ }, suggestion);
353
+ }), isSearching && _react["default"].createElement(_MenuItem["default"], null, "Searching..."), isError && _react["default"].createElement(_MenuItem["default"], null, "Error fetching data", _react["default"].createElement(ErrorIcon, {
354
+ src: _error["default"]
355
+ }))));
356
+ };
357
+
297
358
  return _react["default"].createElement(_styledComponents.ThemeProvider, {
298
359
  theme: colorsTheme.inputText
299
360
  }, _react["default"].createElement(TextContainer, {
@@ -303,17 +364,29 @@ var DxcInputText = function DxcInputText(_ref) {
303
364
  required: required,
304
365
  assistiveText: assistiveText,
305
366
  margin: margin,
306
- size: size
367
+ size: size,
368
+ backgroundType: backgroundType
307
369
  }, prefixIcon ? _react["default"].createElement(PrefixIconContainer, {
370
+ tabIndex: typeof onClickPrefix === "function" && !disabled ? tabIndex : -1,
308
371
  disabled: disabled,
309
- onClick: onClickPrefix
372
+ onClick: !disabled ? onClickPrefix : null,
373
+ interactuable: typeof onClickPrefix === "function" && !disabled,
374
+ backgroundType: backgroundType,
375
+ onKeyPress: handlePrefixKeyPress
310
376
  }, (0, _typeof2["default"])(prefixIcon) === "object" ? prefixIcon : _react["default"].createElement(prefixIcon)) : prefixIconSrc && _react["default"].createElement(PrefixIcon, {
377
+ tabIndex: typeof onClickPrefix === "function" && !disabled ? tabIndex : -1,
311
378
  src: prefixIconSrc,
312
379
  disabled: disabled,
313
- onClick: onClickPrefix
380
+ onClick: !disabled ? onClickPrefix : null,
381
+ interactuable: typeof onClickPrefix === "function" && !disabled,
382
+ onKeyPress: handlePrefixKeyPress
314
383
  }) || prefix && _react["default"].createElement(PrefixLabel, {
384
+ tabIndex: typeof onClickPrefix === "function" && !disabled ? tabIndex : -1,
315
385
  disabled: disabled,
316
- onClick: onClickPrefix
386
+ onClick: !disabled ? onClickPrefix : null,
387
+ interactuable: typeof onClickPrefix === "function" && !disabled,
388
+ backgroundType: backgroundType,
389
+ onKeyPress: handlePrefixKeyPress
317
390
  }, prefix), _react["default"].createElement(_TextField["default"], {
318
391
  error: invalid,
319
392
  value: value != null ? value : innerValue,
@@ -332,18 +405,34 @@ var DxcInputText = function DxcInputText(_ref) {
332
405
  type: isMasked ? "password" : "text",
333
406
  InputProps: {
334
407
  endAdornment: (suffix || suffixIconSrc || suffixIcon) && _react["default"].createElement(_InputAdornment["default"], {
335
- position: "end",
336
- onClick: onClickSuffix
408
+ position: "end"
337
409
  }, suffixIcon ? _react["default"].createElement(SuffixIconContainer, {
410
+ tabIndex: typeof onClickSuffix === "function" && !disabled ? tabIndex : -1,
338
411
  disabled: disabled,
339
- onClick: onClickSuffix
412
+ onClick: onClickSuffix,
413
+ interactuable: typeof onClickSuffix === "function" && !disabled,
414
+ backgroundType: backgroundType,
415
+ onKeyPress: handleSuffixKeyPress
340
416
  }, (0, _typeof2["default"])(suffixIcon) === "object" ? suffixIcon : _react["default"].createElement(suffixIcon)) : suffixIconSrc && _react["default"].createElement(SuffixIcon, {
417
+ tabIndex: typeof onClickSuffix === "function" && !disabled ? tabIndex : -1,
341
418
  disabled: disabled,
342
419
  src: suffixIconSrc,
343
- onClick: onClickSuffix
344
- }) || suffix)
420
+ onClick: onClickSuffix,
421
+ interactuable: typeof onClickSuffix === "function" && !disabled,
422
+ onKeyPress: handleSuffixKeyPress
423
+ }) || _react["default"].createElement(SuffixLabel, {
424
+ tabIndex: typeof onClickSuffix === "function" && !disabled ? tabIndex : -1,
425
+ onClick: onClickSuffix,
426
+ disabled: disabled,
427
+ interactuable: typeof onClickSuffix === "function" && !disabled,
428
+ backgroundType: backgroundType,
429
+ onKeyPress: handleSuffixKeyPress
430
+ }, suffix))
431
+ },
432
+ inputProps: {
433
+ tabIndex: tabIndex
345
434
  }
346
- })), _react["default"].createElement(_Popper["default"], {
435
+ })), _react["default"].createElement(DxcSuggestions, {
347
436
  open: isOpen,
348
437
  anchorEl: anchorEl,
349
438
  anchororigin: {
@@ -355,22 +444,9 @@ var DxcInputText = function DxcInputText(_ref) {
355
444
  marginTop: "0px"
356
445
  }
357
446
  }
358
- }, _react["default"].createElement(SuggestionsContainer, {
359
- margin: margin,
360
- size: size
361
- }, _react["default"].createElement(_react["default"].Fragment, null, _react["default"].createElement(_Paper["default"], null, isOpen && !isSearching && !isError && filteredOptions.length === 0 && _react["default"].createElement(_MenuItem["default"], null, "No matches found."), isOpen && !isSearching && filteredOptions.length > 0 && filteredOptions.map(function (suggestion) {
362
- return _react["default"].createElement(_MenuItem["default"], {
363
- key: suggestion,
364
- onMouseDown: function onMouseDown(event) {
365
- return event.preventDefault();
366
- },
367
- onClick: function onClick() {
368
- return handlerSuggestionClicked(suggestion);
369
- }
370
- }, suggestion);
371
- }), isSearching && _react["default"].createElement(_MenuItem["default"], null, "Searching..."), isError && _react["default"].createElement(_MenuItem["default"], null, "Error fetching data", _react["default"].createElement(ErrorIcon, {
372
- src: _error["default"]
373
- })))))));
447
+ }, _react["default"].createElement(_BackgroundColorContext.BackgroundColorProvider, {
448
+ color: colorsTheme.inputText.optionBackgroundColor
449
+ }, _react["default"].createElement(ThemedSuggestions, null))));
374
450
  };
375
451
 
376
452
  var sizes = {
@@ -390,73 +466,115 @@ var calculateWidth = function calculateWidth(margin, size) {
390
466
  return sizes[size];
391
467
  };
392
468
 
393
- var SuggestionsContainer = _styledComponents["default"].div(_templateObject2(), function (props) {
469
+ var getCursor = function getCursor(interactuable, disabled) {
470
+ if (disabled) {
471
+ return "cursor:not-allowed;";
472
+ }
473
+
474
+ if (interactuable) {
475
+ return "cursor:pointer;";
476
+ }
477
+
478
+ return "cursor:default; outline:none;";
479
+ };
480
+
481
+ var DxcSuggestions = (0, _styledComponents["default"])(_Popper["default"])(_templateObject2());
482
+
483
+ var SuggestionsContainer = _styledComponents["default"].div(_templateObject3(), function (props) {
394
484
  return calculateWidth(props.margin, props.size);
485
+ }, function (props) {
486
+ return props.theme.optionBackgroundColor;
487
+ }, function (props) {
488
+ return props.theme.fontFamily;
489
+ }, function (props) {
490
+ return props.theme.optionFontSize;
491
+ }, function (props) {
492
+ return props.theme.optionFontStyle;
493
+ }, function (props) {
494
+ return props.theme.optionFontWeight;
495
+ }, function (props) {
496
+ return props.backgroundType === "dark" ? props.theme.optionFontColorOnDark : props.theme.optionFontColor;
497
+ }, function (props) {
498
+ return props.theme.optionBorderColor;
499
+ }, function (props) {
500
+ return props.theme.optionBorderThickness;
501
+ }, function (props) {
502
+ return props.theme.optionBorderStyle;
395
503
  }, function (props) {
396
504
  return props.theme.scrollBarTrackColor;
397
505
  }, function (props) {
398
506
  return props.theme.scrollBarThumbColor;
507
+ }, function (props) {
508
+ return props.theme.optionPaddingBottom;
509
+ }, function (props) {
510
+ return props.theme.optionPaddingTop;
399
511
  }, function (props) {
400
512
  return props.theme.hoverOptionColor;
401
513
  }, function (props) {
402
- return props.theme.selectedOptionBackgroundColor;
514
+ return props.backgroundType === "dark" ? props.theme.hoverOptionBackgroundColorOnDark : props.theme.hoverOptionBackgroundColor;
515
+ }, function (props) {
516
+ return props.backgroundType === "dark" ? props.theme.selectedOptionBackgroundColorOnDark : props.theme.selectedOptionBackgroundColor;
403
517
  });
404
518
 
405
- var PrefixIcon = _styledComponents["default"].img(_templateObject3(), function (props) {
519
+ var PrefixIcon = _styledComponents["default"].img(_templateObject4(), function (props) {
406
520
  return props.disabled && 0.5 || 1;
407
521
  }, function (props) {
408
- if (props.onClickPrefix !== "" && !props.disabled) {
409
- return "pointer";
410
- }
411
-
412
- return "default";
522
+ return getCursor(props.interactuable, props.disabled);
413
523
  });
414
524
 
415
- var PrefixIconContainer = _styledComponents["default"].div(_templateObject4(), function (props) {
525
+ var PrefixIconContainer = _styledComponents["default"].div(_templateObject5(), function (props) {
526
+ return props.backgroundType === "dark" ? props.theme.prefixIconColorOnDark : props.theme.prefixIconColor;
527
+ }, function (props) {
416
528
  return props.disabled && 0.5 || 1;
417
529
  }, function (props) {
418
- if (props.onClickPrefix !== "" && !props.disabled) {
419
- return "pointer";
420
- }
421
-
422
- return "default";
530
+ return getCursor(props.interactuable, props.disabled);
423
531
  });
424
532
 
425
- var PrefixLabel = _styledComponents["default"].span(_templateObject5(), function (props) {
533
+ var PrefixLabel = _styledComponents["default"].span(_templateObject6(), function (props) {
534
+ return props.theme.prefixLabelFontWeight;
535
+ }, function (props) {
426
536
  return props.theme.fontFamily;
427
537
  }, function (props) {
428
- return props.theme.fontColor;
538
+ return props.theme.prefixLabelFontSize;
539
+ }, function (props) {
540
+ return props.theme.prefixLabelFontStyle;
541
+ }, function (props) {
542
+ return props.backgroundType === "dark" ? props.theme.prefixLabelFontColorOnDark : props.theme.prefixLabelFontColor;
429
543
  }, function (props) {
430
544
  return props.disabled && 0.5 || 1;
431
545
  }, function (props) {
432
- if (props.onClickPrefix !== "" && !props.disabled) {
433
- return "pointer";
434
- }
435
-
436
- return "default";
546
+ return getCursor(props.interactuable, props.disabled);
437
547
  });
438
548
 
439
- var SuffixIcon = _styledComponents["default"].img(_templateObject6(), function (props) {
549
+ var SuffixIcon = _styledComponents["default"].img(_templateObject7(), function (props) {
440
550
  return props.disabled && 0.5 || 1;
441
551
  }, function (props) {
442
- if (props.onClickSuffix !== "" && !props.disabled) {
443
- return "pointer";
444
- }
445
-
446
- return "default";
552
+ return getCursor(props.interactuable, props.disabled);
447
553
  });
448
554
 
449
- var SuffixIconContainer = _styledComponents["default"].div(_templateObject7(), function (props) {
555
+ var SuffixIconContainer = _styledComponents["default"].div(_templateObject8(), function (props) {
556
+ return props.backgroundType === "dark" ? props.theme.suffixIconColorOnDark : props.theme.suffixIconColor;
557
+ }, function (props) {
450
558
  return props.disabled && 0.5 || 1;
451
559
  }, function (props) {
452
- if (props.onClickSuffix !== "" && !props.disabled) {
453
- return "pointer";
454
- }
560
+ return getCursor(props.interactuable, props.disabled);
561
+ });
455
562
 
456
- return "default";
563
+ var SuffixLabel = _styledComponents["default"].span(_templateObject9(), function (props) {
564
+ return getCursor(props.interactuable, props.disabled);
565
+ }, function (props) {
566
+ return props.theme.suffixLabelFontWeight;
567
+ }, function (props) {
568
+ return props.theme.fontFamily;
569
+ }, function (props) {
570
+ return props.theme.suffixLabelFontSize;
571
+ }, function (props) {
572
+ return props.theme.suffixLabelFontStyle;
573
+ }, function (props) {
574
+ return props.backgroundType === "dark" ? props.theme.suffixLabelFontColorOnDark : props.theme.suffixLabelFontColor;
457
575
  });
458
576
 
459
- var TextContainer = _styledComponents["default"].div(_templateObject8(), function (props) {
577
+ var TextContainer = _styledComponents["default"].div(_templateObject10(), function (props) {
460
578
  return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
461
579
  }, function (props) {
462
580
  return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.top ? _variables.spaces[props.margin.top] : "";
@@ -470,18 +588,30 @@ var TextContainer = _styledComponents["default"].div(_templateObject8(), functio
470
588
  return calculateWidth(props.margin, props.size);
471
589
  }, function (props) {
472
590
  return props.theme.fontFamily;
591
+ }, function (props) {
592
+ return props.theme.assistiveTextFontWeight;
473
593
  }, function (props) {
474
594
  return props.theme.fontFamily;
475
595
  }, function (props) {
476
- return props.theme.fontSize;
596
+ return props.theme.assistiveTextFontSize;
597
+ }, function (props) {
598
+ return props.theme.assistiveTextFontStyle;
599
+ }, function (props) {
600
+ return props.backgroundType === "dark" ? props.theme.assistiveTextFontColorOnDark : props.theme.assistiveTextFontColor;
601
+ }, function (props) {
602
+ return props.theme.labelFontSize;
477
603
  }, function (props) {
478
- return props.theme.fontColor;
604
+ return props.theme.labelFontStyle;
479
605
  }, function (props) {
480
- return props.theme.disabledFontColor;
606
+ return props.theme.labelFontWeight;
607
+ }, function (props) {
608
+ return props.backgroundType === "dark" ? props.theme.labelFontColorOnDark : props.theme.labelFontColor;
481
609
  }, function (props) {
482
610
  return (props.prefixIconSrc || props.prefix || props.prefixIcon) && "32px" || "inherit";
483
611
  }, function (props) {
484
- return props.theme.fontColor;
612
+ return props.backgroundType === "dark" ? props.theme.disabledColorOnDark : props.theme.disabledColor;
613
+ }, function (props) {
614
+ return props.backgroundType === "dark" ? props.theme.labelFontColorOnDark : props.theme.labelFontColor;
485
615
  }, function (props) {
486
616
  return props.prefixIconSrc || props.prefixIcon || (props.prefix || props.suffix) && "translate(8px, 1.5px) scale(0.75);" || "translate(0, 1.5px) scale(0.75);";
487
617
  }, function (props) {
@@ -489,64 +619,63 @@ var TextContainer = _styledComponents["default"].div(_templateObject8(), functio
489
619
  }, function (props) {
490
620
  return props.prefixIcon && "translate(8px, 1.5px) scale(0.75);" || props.prefixIconSrc && "translate(8px, 1.5px) scale(0.75);" || props.prefix && "translate(8px, 1.5px) scale(0.75);" || "translate(0, 1.5px) scale(0.75);";
491
621
  }, function (props) {
492
- return props.theme.error;
622
+ return props.backgroundType === "dark" ? props.theme.errorColorOnDark : props.theme.errorColor;
493
623
  }, function (props) {
494
624
  return props.theme.fontFamily;
495
625
  }, function (props) {
496
- return props.theme.fontColor;
626
+ return props.backgroundType === "dark" ? props.theme.labelFontColorOnDark : props.theme.labelFontColor;
497
627
  }, function (props) {
498
- return props.theme.fontColor;
628
+ return props.backgroundType === "dark" ? props.theme.labelFontColorOnDark : props.theme.labelFontColor;
499
629
  }, function (props) {
500
- return props.theme.fontColor;
630
+ return props.backgroundType === "dark" ? props.theme.underlineColorOnDark : props.theme.underlineColor;
501
631
  }, function (props) {
502
- return props.theme.fontColor;
632
+ return props.backgroundType === "dark" ? props.theme.labelFontColorOnDark : props.theme.labelFontColor;
503
633
  }, function (props) {
504
634
  return props.theme.fontFamily;
505
635
  }, function (props) {
506
- return "1px solid ".concat(props.theme.fontColor);
636
+ return "".concat(props.theme.underlineThickness, " solid ").concat(props.backgroundType === "dark" ? props.theme.underlineColorOnDark : props.theme.underlineColor);
507
637
  }, function (props) {
508
- return "1px solid ".concat(props.theme.fontColor);
638
+ return "".concat(props.theme.underlineThickness, " solid ").concat(props.backgroundType === "dark" ? props.theme.underlineColorOnDark : props.theme.underlineColor);
509
639
  }, function (props) {
510
- return "2px solid ".concat(props.theme.fontColor);
640
+ return "calc(".concat(props.theme.underlineThickness, " + 1px) solid ").concat(props.backgroundType === "dark" ? props.theme.underlineFocusColorOnDark : props.theme.underlineFocusColor);
511
641
  }, function (props) {
512
- return props.theme.error;
642
+ return props.theme.underlineThickness;
513
643
  }, function (props) {
514
- return props.theme.fontColor;
644
+ return props.backgroundType === "dark" ? props.theme.errorColorOnDark : props.theme.errorColor;
515
645
  }, function (props) {
516
- return props.theme.error;
646
+ return props.theme.underlineThickness;
517
647
  }, function (props) {
518
- return "1px solid ".concat(props.theme.disabledFontColor, " !important");
648
+ return props.backgroundType === "dark" ? props.theme.underlineFocusColorOnDark : props.theme.underlineFocusColor;
519
649
  }, function (props) {
520
- return (props.prefixIconSrc || props.prefix || props.prefixIcon) && "32px" || "inherit";
650
+ return props.backgroundType === "dark" ? props.theme.errorColorOnDark : props.theme.errorColor;
521
651
  }, function (props) {
522
- return props.theme.fontColor;
652
+ return "".concat(props.theme.underlineThickness, " solid ").concat(props.backgroundType === "dark" ? props.theme.disabledColorOnDark : props.theme.disabledColor, " !important");
523
653
  }, function (props) {
524
- return props.theme.disabledFontColor;
654
+ return props.theme.valueFontSize;
525
655
  }, function (props) {
526
- return props.theme.fontColor;
656
+ return props.theme.valueFontStyle;
527
657
  }, function (props) {
528
- return props.theme.fontFamily;
658
+ return props.theme.valueFontWeight;
529
659
  }, function (props) {
530
- return props.theme.fontColor;
660
+ return props.backgroundType === "dark" ? props.theme.valueFontColorOnDark : props.theme.valueFontColor;
531
661
  }, function (props) {
532
- if (props.onClickSuffix !== "" && !props.disabled) {
533
- return "pointer";
534
- }
535
-
536
- return "default";
662
+ return (props.prefixIconSrc || props.prefix || props.prefixIcon) && "32px" || "inherit";
663
+ }, function (props) {
664
+ return props.backgroundType === "dark" ? props.theme.disabledColorOnDark : props.theme.disabledColor;
665
+ }, function (props) {
666
+ return props.theme.fontFamily;
537
667
  }, function (props) {
538
- return props.theme.fontColor;
668
+ return props.backgroundType === "dark" ? props.theme.underlineFocusColorOnDark : props.theme.underlineFocusColor;
539
669
  }, function (props) {
540
- return props.theme.error;
670
+ return props.backgroundType === "dark" ? props.theme.errorColorOnDark : props.theme.errorColor;
541
671
  }, function (props) {
542
- return props.theme.disabledFontColor;
672
+ return props.backgroundType === "dark" ? props.theme.disabledColorOnDark : props.theme.disabledColor;
543
673
  });
544
674
 
545
- DxcInputText.propTypes = {
675
+ V3DxcInputText.propTypes = {
546
676
  label: _propTypes["default"].string,
547
677
  name: _propTypes["default"].string,
548
678
  value: _propTypes["default"].string,
549
- theme: _propTypes["default"].oneOf(["light", "dark", ""]),
550
679
  assistiveText: _propTypes["default"].string,
551
680
  disabled: _propTypes["default"].bool,
552
681
  prefix: _propTypes["default"].string,
@@ -571,7 +700,8 @@ DxcInputText.propTypes = {
571
700
  left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
572
701
  right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
573
702
  }), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))]),
574
- autocompleteOptions: _propTypes["default"].any
703
+ autocompleteOptions: _propTypes["default"].any,
704
+ tabIndex: _propTypes["default"].number
575
705
  };
576
- var _default = DxcInputText;
706
+ var _default = V3DxcInputText;
577
707
  exports["default"] = _default;