@dxc-technology/halstack-react 0.0.0-c24450b → 0.0.0-c6243ef

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 (129) hide show
  1. package/babel.config.js +6 -2
  2. package/dist/BackgroundColorContext.js +46 -0
  3. package/dist/ThemeContext.js +235 -2
  4. package/dist/accordion/Accordion.js +170 -81
  5. package/dist/accordion-group/AccordionGroup.js +186 -0
  6. package/dist/alert/Alert.js +184 -83
  7. package/dist/alert/index.d.ts +51 -0
  8. package/dist/badge/Badge.js +63 -0
  9. package/dist/box/Box.js +31 -23
  10. package/dist/button/Button.js +82 -27
  11. package/dist/card/Card.js +72 -35
  12. package/dist/checkbox/Checkbox.js +108 -32
  13. package/dist/chip/Chip.js +129 -35
  14. package/dist/common/RequiredComponent.js +2 -8
  15. package/dist/common/utils.js +2 -22
  16. package/dist/common/variables.js +1457 -210
  17. package/dist/date/Date.js +81 -59
  18. package/dist/dialog/Dialog.js +58 -37
  19. package/dist/dropdown/Dropdown.js +229 -68
  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 +87 -38
  24. package/dist/footer/dxc_logo.svg +15 -0
  25. package/dist/footer/readme.md +1 -1
  26. package/dist/header/Header.js +121 -72
  27. package/dist/header/dxc_logo_black.svg +8 -0
  28. package/dist/header/readme.md +1 -1
  29. package/dist/heading/Heading.js +81 -22
  30. package/dist/input-text/InputText.js +289 -101
  31. package/dist/layout/ApplicationLayout.js +331 -0
  32. package/dist/layout/facebook.svg +45 -0
  33. package/dist/layout/linkedin.svg +50 -0
  34. package/dist/layout/twitter.svg +53 -0
  35. package/dist/link/Link.js +136 -35
  36. package/dist/main.d.ts +8 -0
  37. package/dist/main.js +105 -1
  38. package/dist/new-date/NewDate.js +400 -0
  39. package/dist/new-date/index.d.ts +95 -0
  40. package/dist/new-select/NewSelect.js +836 -0
  41. package/dist/new-select/index.d.ts +53 -0
  42. package/dist/new-textarea/NewTextarea.js +369 -0
  43. package/dist/new-textarea/index.d.ts +117 -0
  44. package/dist/number/Number.js +136 -0
  45. package/dist/number/NumberContext.js +16 -0
  46. package/dist/number/index.d.ts +113 -0
  47. package/dist/paginator/Paginator.js +160 -49
  48. package/dist/password-input/PasswordInput.js +198 -0
  49. package/dist/password-input/index.d.ts +94 -0
  50. package/dist/progress-bar/ProgressBar.js +97 -44
  51. package/dist/radio/Radio.js +39 -21
  52. package/dist/resultsetTable/ResultsetTable.js +93 -69
  53. package/dist/select/Select.js +250 -143
  54. package/dist/sidenav/Sidenav.js +85 -143
  55. package/dist/slider/Slider.js +206 -70
  56. package/dist/spinner/Spinner.js +249 -64
  57. package/dist/switch/Switch.js +51 -26
  58. package/dist/table/Table.js +63 -15
  59. package/dist/tabs/Tabs.js +208 -35
  60. package/dist/tabs-for-sections/TabsForSections.js +1 -16
  61. package/dist/tag/Tag.js +100 -35
  62. package/dist/text-input/TextInput.js +971 -0
  63. package/dist/text-input/index.d.ts +135 -0
  64. package/dist/textarea/Textarea.js +81 -43
  65. package/dist/toggle/Toggle.js +16 -19
  66. package/dist/toggle-group/ToggleGroup.js +327 -0
  67. package/dist/upload/Upload.js +13 -8
  68. package/dist/upload/buttons-upload/ButtonsUpload.js +34 -20
  69. package/dist/upload/dragAndDropArea/DragAndDropArea.js +78 -31
  70. package/dist/upload/file-upload/FileToUpload.js +50 -24
  71. package/dist/upload/files-upload/FilesToUpload.js +16 -16
  72. package/dist/upload/transaction/Transaction.js +44 -24
  73. package/dist/upload/transactions/Transactions.js +38 -20
  74. package/dist/useTheme.js +22 -0
  75. package/dist/wizard/Wizard.js +142 -51
  76. package/dist/wizard/invalid_icon.svg +4 -5
  77. package/dist/wizard/valid_icon.svg +4 -5
  78. package/package.json +14 -6
  79. package/test/AccordionGroup.test.js +125 -0
  80. package/test/Date.test.js +13 -13
  81. package/test/Dropdown.test.js +19 -4
  82. package/test/FileInput.test.js +201 -0
  83. package/test/InputText.test.js +30 -26
  84. package/test/Link.test.js +25 -7
  85. package/test/NewDate.test.js +232 -0
  86. package/test/NewTextarea.test.js +195 -0
  87. package/test/Number.test.js +257 -0
  88. package/test/Paginator.test.js +72 -60
  89. package/test/PasswordInput.test.js +83 -0
  90. package/test/ResultsetTable.test.js +66 -19
  91. package/test/Select.test.js +55 -34
  92. package/test/Sidenav.test.js +22 -64
  93. package/test/Slider.test.js +17 -0
  94. package/test/Spinner.test.js +5 -0
  95. package/test/Tabs.test.js +21 -0
  96. package/test/TextInput.test.js +732 -0
  97. package/test/ToggleGroup.test.js +85 -0
  98. package/dist/accordion/Accordion.stories.js +0 -207
  99. package/dist/accordion/readme.md +0 -96
  100. package/dist/alert/Alert.stories.js +0 -158
  101. package/dist/alert/close.svg +0 -4
  102. package/dist/alert/error.svg +0 -4
  103. package/dist/alert/info.svg +0 -4
  104. package/dist/alert/readme.md +0 -43
  105. package/dist/alert/success.svg +0 -4
  106. package/dist/alert/warning.svg +0 -4
  107. package/dist/button/Button.stories.js +0 -224
  108. package/dist/button/readme.md +0 -93
  109. package/dist/common/services/example-service.js +0 -10
  110. package/dist/common/services/example-service.test.js +0 -12
  111. package/dist/date/calendar.svg +0 -1
  112. package/dist/date/calendar_dark.svg +0 -1
  113. package/dist/dialog/Dialog.stories.js +0 -217
  114. package/dist/dialog/readme.md +0 -32
  115. package/dist/dropdown/Dropdown.stories.js +0 -249
  116. package/dist/dropdown/baseline-arrow_drop_down.svg +0 -1
  117. package/dist/dropdown/baseline-arrow_drop_down_wh.svg +0 -4
  118. package/dist/dropdown/baseline-arrow_drop_up.svg +0 -1
  119. package/dist/dropdown/baseline-arrow_drop_up_wh.svg +0 -4
  120. package/dist/dropdown/readme.md +0 -69
  121. package/dist/footer/Footer.stories.js +0 -94
  122. package/dist/footer/dxc_logo_wht.png +0 -0
  123. package/dist/header/dxc_logo_black.png +0 -0
  124. package/dist/header/dxc_logo_white.png +0 -0
  125. package/dist/input-text/InputText.stories.js +0 -209
  126. package/dist/select/Select.stories.js +0 -235
  127. package/dist/select/readme.md +0 -72
  128. package/dist/sidenav/arrow_icon.svg +0 -3
  129. package/test/Toggle.test.js +0 -43
@@ -11,10 +11,10 @@ exports["default"] = void 0;
11
11
 
12
12
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
13
13
 
14
- var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
15
-
16
14
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
17
15
 
16
+ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
17
+
18
18
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
19
19
 
20
20
  var _react = _interopRequireWildcard(require("react"));
@@ -29,24 +29,64 @@ var _Paper = _interopRequireDefault(require("@material-ui/core/Paper"));
29
29
 
30
30
  var _MenuItem = _interopRequireDefault(require("@material-ui/core/MenuItem"));
31
31
 
32
- var _RequiredComponent = _interopRequireDefault(require("../common/RequiredComponent"));
33
-
34
32
  var _propTypes = _interopRequireDefault(require("prop-types"));
35
33
 
36
- require("../common/OpenSans.css");
37
-
38
34
  var _Popper = _interopRequireDefault(require("@material-ui/core/Popper"));
39
35
 
36
+ var _RequiredComponent = _interopRequireDefault(require("../common/RequiredComponent"));
37
+
40
38
  var _variables = require("../common/variables.js");
41
39
 
42
40
  var _utils = require("../common/utils.js");
43
41
 
44
- var _ThemeContext = _interopRequireDefault(require("../ThemeContext.js"));
42
+ 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
+
68
+ function _templateObject8() {
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"]);
70
+
71
+ _templateObject8 = function _templateObject8() {
72
+ return data;
73
+ };
74
+
75
+ return data;
76
+ }
77
+
78
+ function _templateObject7() {
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"]);
80
+
81
+ _templateObject7 = function _templateObject7() {
82
+ return data;
83
+ };
84
+
85
+ return data;
86
+ }
87
+
48
88
  function _templateObject6() {
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: \"Open Sans\", sans-serif;\n .MuiFormHelperText-root {\n font-family: \"Open Sans\", sans-serif;\n margin-top: 6px;\n }\n .MuiFormLabel-root {\n font-size: 16px;\n color: ", ";\n &.Mui-disabled {\n opacity: ", ";\n }\n padding-left: ", ";\n &.Mui-focused {\n color: ", ";\n &.MuiInputLabel-shrink {\n transform: ", ";\n }\n }\n &.Mui-disabled {\n color: ", ";\n opacity: ", ";\n cursor: not-allowed;\n }\n &.MuiInputLabel-shrink {\n font-family: \"Open Sans\", sans-serif;\n transform: ", ";\n }\n &.Mui-error {\n color: ", ";\n }\n\n &:not(.MuiInputLabel-shrink) {\n font-family: \"Open Sans\", sans-serif;\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: \"Open Sans\", sans-serif;\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 color: ", ";\n opacity: ", ";\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 cursor: not-allowed;\n }\n }\n .MuiInputAdornment-root {\n height: 20px;\n color: ", ";\n &.MuiInputAdornment-positionEnd {\n & > p {\n font-family: \"Open Sans\", sans-serif;\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 opacity: ", ";\n cursor: not-allowed;\n }\n }\n }\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"]);
50
90
 
51
91
  _templateObject6 = function _templateObject6() {
52
92
  return data;
@@ -56,7 +96,7 @@ function _templateObject6() {
56
96
  }
57
97
 
58
98
  function _templateObject5() {
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"]);
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"]);
60
100
 
61
101
  _templateObject5 = function _templateObject5() {
62
102
  return data;
@@ -66,7 +106,7 @@ function _templateObject5() {
66
106
  }
67
107
 
68
108
  function _templateObject4() {
69
- var data = (0, _taggedTemplateLiteral2["default"])(["\n position: absolute;\n top: 20px;\n left: 0px;\n font-family: \"Open Sans\", sans-serif;\n color: ", ";\n max-height: 20px;\n max-width: 20px;\n opacity: ", ";\n z-index: 1;\n cursor: ", ";\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"]);
70
110
 
71
111
  _templateObject4 = function _templateObject4() {
72
112
  return data;
@@ -76,7 +116,7 @@ function _templateObject4() {
76
116
  }
77
117
 
78
118
  function _templateObject3() {
79
- 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"]);
80
120
 
81
121
  _templateObject3 = function _templateObject3() {
82
122
  return data;
@@ -86,7 +126,7 @@ function _templateObject3() {
86
126
  }
87
127
 
88
128
  function _templateObject2() {
89
- 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"]);
90
130
 
91
131
  _templateObject2 = function _templateObject2() {
92
132
  return data;
@@ -140,6 +180,8 @@ var DxcInputText = function DxcInputText(_ref) {
140
180
  prefix = _ref$prefix === void 0 ? "" : _ref$prefix,
141
181
  _ref$suffix = _ref.suffix,
142
182
  suffix = _ref$suffix === void 0 ? "" : _ref$suffix,
183
+ prefixIcon = _ref.prefixIcon,
184
+ suffixIcon = _ref.suffixIcon,
143
185
  _ref$prefixIconSrc = _ref.prefixIconSrc,
144
186
  prefixIconSrc = _ref$prefixIconSrc === void 0 ? "" : _ref$prefixIconSrc,
145
187
  _ref$suffixIconSrc = _ref.suffixIconSrc,
@@ -161,7 +203,9 @@ var DxcInputText = function DxcInputText(_ref) {
161
203
  margin = _ref.margin,
162
204
  _ref$size = _ref.size,
163
205
  size = _ref$size === void 0 ? "medium" : _ref$size,
164
- autocompleteOptions = _ref.autocompleteOptions;
206
+ autocompleteOptions = _ref.autocompleteOptions,
207
+ _ref$tabIndex = _ref.tabIndex,
208
+ tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
165
209
 
166
210
  var _useState = (0, _react.useState)(""),
167
211
  _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
@@ -193,10 +237,8 @@ var DxcInputText = function DxcInputText(_ref) {
193
237
  isError = _useState12[0],
194
238
  changeIsError = _useState12[1];
195
239
 
196
- var customTheme = (0, _react.useContext)(_ThemeContext["default"]);
197
- var colorsTheme = (0, _react.useMemo)(function () {
198
- return (0, _utils.getCustomTheme)(_variables.theme, (0, _utils.getCustomTheme)(_variables.defaultTheme, customTheme));
199
- }, [customTheme]);
240
+ var colorsTheme = (0, _useTheme["default"])();
241
+ var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"]);
200
242
 
201
243
  var changeValue = function changeValue(newValue) {
202
244
  if (value === null || value === undefined) {
@@ -275,28 +317,82 @@ var DxcInputText = function DxcInputText(_ref) {
275
317
  }
276
318
  };
277
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
+
278
358
  return _react["default"].createElement(_styledComponents.ThemeProvider, {
279
359
  theme: colorsTheme.inputText
280
360
  }, _react["default"].createElement(TextContainer, {
361
+ prefixIcon: prefixIcon,
281
362
  prefixIconSrc: prefixIconSrc,
282
363
  prefix: prefix,
283
364
  required: required,
284
365
  assistiveText: assistiveText,
285
366
  margin: margin,
286
- size: size
287
- }, prefixIconSrc && _react["default"].createElement(PrefixIcon, {
367
+ size: size,
368
+ backgroundType: backgroundType
369
+ }, prefixIcon ? _react["default"].createElement(PrefixIconContainer, {
370
+ tabIndex: typeof onClickPrefix === "function" && !disabled ? tabIndex : -1,
371
+ disabled: disabled,
372
+ onClick: !disabled ? onClickPrefix : null,
373
+ interactuable: typeof onClickPrefix === "function" && !disabled,
374
+ backgroundType: backgroundType,
375
+ onKeyPress: handlePrefixKeyPress
376
+ }, (0, _typeof2["default"])(prefixIcon) === "object" ? prefixIcon : _react["default"].createElement(prefixIcon)) : prefixIconSrc && _react["default"].createElement(PrefixIcon, {
377
+ tabIndex: typeof onClickPrefix === "function" && !disabled ? tabIndex : -1,
288
378
  src: prefixIconSrc,
289
379
  disabled: disabled,
290
- onClick: onClickPrefix
291
- }), prefix && _react["default"].createElement(PrefixLabel, {
380
+ onClick: !disabled ? onClickPrefix : null,
381
+ interactuable: typeof onClickPrefix === "function" && !disabled,
382
+ onKeyPress: handlePrefixKeyPress
383
+ }) || prefix && _react["default"].createElement(PrefixLabel, {
384
+ tabIndex: typeof onClickPrefix === "function" && !disabled ? tabIndex : -1,
292
385
  disabled: disabled,
293
- onClick: onClickPrefix
386
+ onClick: !disabled ? onClickPrefix : null,
387
+ interactuable: typeof onClickPrefix === "function" && !disabled,
388
+ backgroundType: backgroundType,
389
+ onKeyPress: handlePrefixKeyPress
294
390
  }, prefix), _react["default"].createElement(_TextField["default"], {
295
391
  error: invalid,
296
392
  value: value != null ? value : innerValue,
297
393
  name: name,
298
394
  disabled: disabled,
299
- label: required ? _react["default"].createElement(_react["default"].Fragment, null, _react["default"].createElement(_RequiredComponent["default"], null, label)) : label,
395
+ label: required ? _react["default"].createElement(_react["default"].Fragment, null, _react["default"].createElement(_RequiredComponent["default"], null), label) : label,
300
396
  helperText: assistiveText,
301
397
  onChange: function onChange(event) {
302
398
  return handlerInputChange(event);
@@ -308,16 +404,35 @@ var DxcInputText = function DxcInputText(_ref) {
308
404
  placeholder: placeholder,
309
405
  type: isMasked ? "password" : "text",
310
406
  InputProps: {
311
- endAdornment: (suffix || suffixIconSrc) && _react["default"].createElement(_InputAdornment["default"], {
312
- position: "end",
313
- onClick: onClickSuffix
314
- }, suffixIconSrc && _react["default"].createElement(SuffixIcon, {
407
+ endAdornment: (suffix || suffixIconSrc || suffixIcon) && _react["default"].createElement(_InputAdornment["default"], {
408
+ position: "end"
409
+ }, suffixIcon ? _react["default"].createElement(SuffixIconContainer, {
410
+ tabIndex: typeof onClickSuffix === "function" && !disabled ? tabIndex : -1,
411
+ disabled: disabled,
412
+ onClick: onClickSuffix,
413
+ interactuable: typeof onClickSuffix === "function" && !disabled,
414
+ backgroundType: backgroundType,
415
+ onKeyPress: handleSuffixKeyPress
416
+ }, (0, _typeof2["default"])(suffixIcon) === "object" ? suffixIcon : _react["default"].createElement(suffixIcon)) : suffixIconSrc && _react["default"].createElement(SuffixIcon, {
417
+ tabIndex: typeof onClickSuffix === "function" && !disabled ? tabIndex : -1,
315
418
  disabled: disabled,
316
419
  src: suffixIconSrc,
317
- onClick: onClickSuffix
318
- }) || 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
319
434
  }
320
- })), _react["default"].createElement(_Popper["default"], {
435
+ })), _react["default"].createElement(DxcSuggestions, {
321
436
  open: isOpen,
322
437
  anchorEl: anchorEl,
323
438
  anchororigin: {
@@ -329,22 +444,9 @@ var DxcInputText = function DxcInputText(_ref) {
329
444
  marginTop: "0px"
330
445
  }
331
446
  }
332
- }, _react["default"].createElement(SuggestionsContainer, {
333
- margin: margin,
334
- size: size
335
- }, _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) {
336
- return _react["default"].createElement(_MenuItem["default"], {
337
- key: suggestion,
338
- onMouseDown: function onMouseDown(event) {
339
- return event.preventDefault();
340
- },
341
- onClick: function onClick() {
342
- return handlerSuggestionClicked(suggestion);
343
- }
344
- }, suggestion);
345
- }), isSearching && _react["default"].createElement(_MenuItem["default"], null, "Searching..."), isError && _react["default"].createElement(_MenuItem["default"], null, "Error fetching data", _react["default"].createElement(ErrorIcon, {
346
- src: _error["default"]
347
- })))))));
447
+ }, _react["default"].createElement(_BackgroundColorContext.BackgroundColorProvider, {
448
+ color: colorsTheme.inputText.optionBackgroundColor
449
+ }, _react["default"].createElement(ThemedSuggestions, null))));
348
450
  };
349
451
 
350
452
  var sizes = {
@@ -364,51 +466,115 @@ var calculateWidth = function calculateWidth(margin, size) {
364
466
  return sizes[size];
365
467
  };
366
468
 
367
- 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) {
368
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;
369
503
  }, function (props) {
370
504
  return props.theme.scrollBarTrackColor;
371
505
  }, function (props) {
372
506
  return props.theme.scrollBarThumbColor;
507
+ }, function (props) {
508
+ return props.theme.optionPaddingBottom;
509
+ }, function (props) {
510
+ return props.theme.optionPaddingTop;
373
511
  }, function (props) {
374
512
  return props.theme.hoverOptionColor;
375
513
  }, function (props) {
376
- return "".concat(props.theme.selectedOptionBackgroundColor).concat(props.theme.hoverOptionBakcgroundColor);
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;
377
517
  });
378
518
 
379
- var PrefixIcon = _styledComponents["default"].img(_templateObject3(), function (props) {
519
+ var PrefixIcon = _styledComponents["default"].img(_templateObject4(), function (props) {
380
520
  return props.disabled && 0.5 || 1;
381
521
  }, function (props) {
382
- if (props.onClickPrefix !== "" && !props.disabled) {
383
- return "pointer";
384
- }
522
+ return getCursor(props.interactuable, props.disabled);
523
+ });
385
524
 
386
- return "default";
525
+ var PrefixIconContainer = _styledComponents["default"].div(_templateObject5(), function (props) {
526
+ return props.backgroundType === "dark" ? props.theme.prefixIconColorOnDark : props.theme.prefixIconColor;
527
+ }, function (props) {
528
+ return props.disabled && 0.5 || 1;
529
+ }, function (props) {
530
+ return getCursor(props.interactuable, props.disabled);
387
531
  });
388
532
 
389
- var PrefixLabel = _styledComponents["default"].span(_templateObject4(), function (props) {
390
- return props.theme.fontColor;
533
+ var PrefixLabel = _styledComponents["default"].span(_templateObject6(), function (props) {
534
+ return props.theme.prefixLabelFontWeight;
535
+ }, function (props) {
536
+ return props.theme.fontFamily;
537
+ }, function (props) {
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;
391
543
  }, function (props) {
392
544
  return props.disabled && 0.5 || 1;
393
545
  }, function (props) {
394
- if (props.onClickPrefix !== "" && !props.disabled) {
395
- return "pointer";
396
- }
546
+ return getCursor(props.interactuable, props.disabled);
547
+ });
397
548
 
398
- return "default";
549
+ var SuffixIcon = _styledComponents["default"].img(_templateObject7(), function (props) {
550
+ return props.disabled && 0.5 || 1;
551
+ }, function (props) {
552
+ return getCursor(props.interactuable, props.disabled);
399
553
  });
400
554
 
401
- var SuffixIcon = _styledComponents["default"].img(_templateObject5(), 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) {
402
558
  return props.disabled && 0.5 || 1;
403
559
  }, function (props) {
404
- if (props.onClickSuffix !== "" && !props.disabled) {
405
- return "pointer";
406
- }
560
+ return getCursor(props.interactuable, props.disabled);
561
+ });
407
562
 
408
- 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;
409
575
  });
410
576
 
411
- var TextContainer = _styledComponents["default"].div(_templateObject6(), function (props) {
577
+ var TextContainer = _styledComponents["default"].div(_templateObject10(), function (props) {
412
578
  return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
413
579
  }, function (props) {
414
580
  return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.top ? _variables.spaces[props.margin.top] : "";
@@ -421,80 +587,101 @@ var TextContainer = _styledComponents["default"].div(_templateObject6(), functio
421
587
  }, function (props) {
422
588
  return calculateWidth(props.margin, props.size);
423
589
  }, function (props) {
424
- return props.theme.fontColor;
590
+ return props.theme.fontFamily;
425
591
  }, function (props) {
426
- return props.theme.disabledAssistiveTextColor;
592
+ return props.theme.assistiveTextFontWeight;
427
593
  }, function (props) {
428
- return (props.prefixIconSrc || props.prefix) && "32px" || "inherit";
594
+ return props.theme.fontFamily;
429
595
  }, function (props) {
430
- return props.theme.fontColor;
596
+ return props.theme.assistiveTextFontSize;
431
597
  }, function (props) {
432
- return props.prefixIconSrc || (props.prefix || props.suffix) && "translate(8px, 1.5px) scale(0.75);" || "translate(0, 1.5px) scale(0.75);";
598
+ return props.theme.assistiveTextFontStyle;
433
599
  }, function (props) {
434
- return props.theme.fontColor;
600
+ return props.backgroundType === "dark" ? props.theme.assistiveTextFontColorOnDark : props.theme.assistiveTextFontColor;
435
601
  }, function (props) {
436
- return props.theme.disabledLabelColor;
602
+ return props.theme.labelFontSize;
437
603
  }, function (props) {
438
- return 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);";
604
+ return props.theme.labelFontStyle;
439
605
  }, function (props) {
440
- return props.theme.error;
606
+ return props.theme.labelFontWeight;
441
607
  }, function (props) {
442
- return props.theme.fontColor;
608
+ return props.backgroundType === "dark" ? props.theme.labelFontColorOnDark : props.theme.labelFontColor;
443
609
  }, function (props) {
444
- return props.theme.fontColor;
610
+ return (props.prefixIconSrc || props.prefix || props.prefixIcon) && "32px" || "inherit";
445
611
  }, function (props) {
446
- return props.theme.fontColor;
612
+ return props.backgroundType === "dark" ? props.theme.disabledColorOnDark : props.theme.disabledColor;
447
613
  }, function (props) {
448
- return props.theme.fontColor;
614
+ return props.backgroundType === "dark" ? props.theme.labelFontColorOnDark : props.theme.labelFontColor;
449
615
  }, function (props) {
450
- return "1px solid ".concat(props.theme.fontColor);
616
+ return props.prefixIconSrc || props.prefixIcon || (props.prefix || props.suffix) && "translate(8px, 1.5px) scale(0.75);" || "translate(0, 1.5px) scale(0.75);";
451
617
  }, function (props) {
452
- return "1px solid ".concat(props.theme.fontColor);
618
+ return props.theme.fontFamily;
453
619
  }, function (props) {
454
- return "2px solid ".concat(props.theme.fontColor);
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);";
455
621
  }, function (props) {
456
- return props.theme.error;
622
+ return props.backgroundType === "dark" ? props.theme.errorColorOnDark : props.theme.errorColor;
457
623
  }, function (props) {
458
- return props.theme.fontColor;
624
+ return props.theme.fontFamily;
459
625
  }, function (props) {
460
- return props.theme.error;
626
+ return props.backgroundType === "dark" ? props.theme.labelFontColorOnDark : props.theme.labelFontColor;
461
627
  }, function (props) {
462
- return props.theme.fontColor;
628
+ return props.backgroundType === "dark" ? props.theme.labelFontColorOnDark : props.theme.labelFontColor;
463
629
  }, function (props) {
464
- return props.theme.disabledUnderlinedColor;
630
+ return props.backgroundType === "dark" ? props.theme.underlineColorOnDark : props.theme.underlineColor;
465
631
  }, function (props) {
466
- return "1px solid ".concat(props.theme.fontColor);
632
+ return props.backgroundType === "dark" ? props.theme.labelFontColorOnDark : props.theme.labelFontColor;
467
633
  }, function (props) {
468
- return (props.prefixIconSrc || props.prefix) && "32px" || "inherit";
634
+ return props.theme.fontFamily;
469
635
  }, function (props) {
470
- return props.theme.fontColor;
636
+ return "".concat(props.theme.underlineThickness, " solid ").concat(props.backgroundType === "dark" ? props.theme.underlineColorOnDark : props.theme.underlineColor);
471
637
  }, function (props) {
472
- return props.theme.fontColor;
638
+ return "".concat(props.theme.underlineThickness, " solid ").concat(props.backgroundType === "dark" ? props.theme.underlineColorOnDark : props.theme.underlineColor);
473
639
  }, function (props) {
474
- return props.theme.fontColor;
640
+ return "calc(".concat(props.theme.underlineThickness, " + 1px) solid ").concat(props.backgroundType === "dark" ? props.theme.underlineFocusColorOnDark : props.theme.underlineFocusColor);
475
641
  }, function (props) {
476
- if (props.onClickSuffix !== "" && !props.disabled) {
477
- return "pointer";
478
- }
479
-
480
- return "default";
642
+ return props.theme.underlineThickness;
643
+ }, function (props) {
644
+ return props.backgroundType === "dark" ? props.theme.errorColorOnDark : props.theme.errorColor;
645
+ }, function (props) {
646
+ return props.theme.underlineThickness;
647
+ }, function (props) {
648
+ return props.backgroundType === "dark" ? props.theme.underlineFocusColorOnDark : props.theme.underlineFocusColor;
649
+ }, function (props) {
650
+ return props.backgroundType === "dark" ? props.theme.errorColorOnDark : props.theme.errorColor;
651
+ }, function (props) {
652
+ return "".concat(props.theme.underlineThickness, " solid ").concat(props.backgroundType === "dark" ? props.theme.disabledColorOnDark : props.theme.disabledColor, " !important");
653
+ }, function (props) {
654
+ return props.theme.valueFontSize;
655
+ }, function (props) {
656
+ return props.theme.valueFontStyle;
657
+ }, function (props) {
658
+ return props.theme.valueFontWeight;
659
+ }, function (props) {
660
+ return props.backgroundType === "dark" ? props.theme.valueFontColorOnDark : props.theme.valueFontColor;
661
+ }, function (props) {
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;
481
667
  }, function (props) {
482
- return props.theme.fontColor;
668
+ return props.backgroundType === "dark" ? props.theme.underlineFocusColorOnDark : props.theme.underlineFocusColor;
483
669
  }, function (props) {
484
- return props.theme.error;
670
+ return props.backgroundType === "dark" ? props.theme.errorColorOnDark : props.theme.errorColor;
485
671
  }, function (props) {
486
- return props.theme.disabledAssistiveTextColor;
672
+ return props.backgroundType === "dark" ? props.theme.disabledColorOnDark : props.theme.disabledColor;
487
673
  });
488
674
 
489
675
  DxcInputText.propTypes = {
490
676
  label: _propTypes["default"].string,
491
677
  name: _propTypes["default"].string,
492
678
  value: _propTypes["default"].string,
493
- theme: _propTypes["default"].oneOf(["light", "dark", ""]),
494
679
  assistiveText: _propTypes["default"].string,
495
680
  disabled: _propTypes["default"].bool,
496
681
  prefix: _propTypes["default"].string,
497
682
  suffix: _propTypes["default"].string,
683
+ prefixIcon: _propTypes["default"].oneOfType([_propTypes["default"].element, _propTypes["default"].func]),
684
+ suffixIcon: _propTypes["default"].oneOfType([_propTypes["default"].element, _propTypes["default"].func]),
498
685
  prefixIconSrc: _propTypes["default"].string,
499
686
  suffixIconSrc: _propTypes["default"].string,
500
687
  required: _propTypes["default"].bool,
@@ -513,7 +700,8 @@ DxcInputText.propTypes = {
513
700
  left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
514
701
  right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
515
702
  }), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))]),
516
- autocompleteOptions: _propTypes["default"].any
703
+ autocompleteOptions: _propTypes["default"].any,
704
+ tabIndex: _propTypes["default"].number
517
705
  };
518
706
  var _default = DxcInputText;
519
707
  exports["default"] = _default;