@dxc-technology/halstack-react 0.0.0-506547 → 0.0.0-5145b03

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 (125) hide show
  1. package/README.md +1 -1
  2. package/dist/BackgroundColorContext.js +46 -0
  3. package/dist/ThemeContext.js +211 -141
  4. package/dist/V3Textarea/V3Textarea.js +264 -0
  5. package/dist/accordion/Accordion.js +131 -46
  6. package/dist/accordion-group/AccordionGroup.js +36 -9
  7. package/dist/alert/Alert.js +180 -80
  8. package/dist/alert/index.d.ts +51 -0
  9. package/dist/badge/Badge.js +28 -7
  10. package/dist/box/Box.js +29 -18
  11. package/dist/button/Button.js +60 -21
  12. package/dist/card/Card.js +72 -35
  13. package/dist/checkbox/Checkbox.js +97 -26
  14. package/dist/chip/Chip.js +93 -31
  15. package/dist/common/utils.js +2 -22
  16. package/dist/common/variables.js +1406 -203
  17. package/dist/date/Date.js +74 -52
  18. package/dist/date-input/DateInput.js +400 -0
  19. package/dist/date-input/index.d.ts +95 -0
  20. package/dist/dialog/Dialog.js +54 -31
  21. package/dist/dropdown/Dropdown.js +173 -75
  22. package/dist/file-input/FileInput.js +644 -0
  23. package/dist/file-input/FileItem.js +280 -0
  24. package/dist/file-input/index.d.ts +81 -0
  25. package/dist/footer/Footer.js +73 -44
  26. package/dist/footer/dxc_logo.svg +15 -0
  27. package/dist/header/Header.js +91 -56
  28. package/dist/header/dxc_logo_black.svg +8 -0
  29. package/dist/heading/Heading.js +81 -16
  30. package/dist/input-text/InputText.js +250 -113
  31. package/dist/layout/ApplicationLayout.js +11 -12
  32. package/dist/link/Link.js +84 -34
  33. package/dist/main.d.ts +8 -0
  34. package/dist/main.js +71 -7
  35. package/dist/new-select/NewSelect.js +836 -0
  36. package/dist/new-select/index.d.ts +53 -0
  37. package/dist/new-textarea/NewTextarea.js +369 -0
  38. package/dist/new-textarea/index.d.ts +117 -0
  39. package/dist/number-input/NumberInput.js +136 -0
  40. package/dist/number-input/NumberInputContext.js +16 -0
  41. package/dist/number-input/index.d.ts +113 -0
  42. package/dist/paginator/Paginator.js +64 -29
  43. package/dist/password-input/PasswordInput.js +198 -0
  44. package/dist/password-input/index.d.ts +94 -0
  45. package/dist/progress-bar/ProgressBar.js +91 -33
  46. package/dist/radio/Radio.js +30 -11
  47. package/dist/resultsetTable/ResultsetTable.js +79 -48
  48. package/dist/select/Select.js +225 -144
  49. package/dist/sidenav/Sidenav.js +65 -11
  50. package/dist/slider/Slider.js +198 -61
  51. package/dist/spinner/Spinner.js +246 -57
  52. package/dist/switch/Switch.js +51 -19
  53. package/dist/table/Table.js +49 -21
  54. package/dist/tabs/Tabs.js +58 -17
  55. package/dist/tag/Tag.js +68 -35
  56. package/dist/text-input/TextInput.js +971 -0
  57. package/dist/text-input/index.d.ts +135 -0
  58. package/dist/toggle/Toggle.js +16 -19
  59. package/dist/toggle-group/ToggleGroup.js +141 -37
  60. package/dist/upload/Upload.js +16 -11
  61. package/dist/upload/buttons-upload/ButtonsUpload.js +31 -14
  62. package/dist/upload/dragAndDropArea/DragAndDropArea.js +78 -28
  63. package/dist/upload/file-upload/FileToUpload.js +50 -24
  64. package/dist/upload/files-upload/FilesToUpload.js +16 -16
  65. package/dist/upload/readme.md +2 -2
  66. package/dist/upload/transaction/Transaction.js +44 -24
  67. package/dist/upload/transactions/Transactions.js +38 -20
  68. package/dist/wizard/Wizard.js +125 -42
  69. package/dist/wizard/invalid_icon.svg +4 -5
  70. package/dist/wizard/valid_icon.svg +4 -5
  71. package/package.json +6 -4
  72. package/test/AccordionGroup.test.js +16 -0
  73. package/test/Date.test.js +49 -45
  74. package/test/DateInput.test.js +242 -0
  75. package/test/Dropdown.test.js +15 -0
  76. package/test/FileInput.test.js +201 -0
  77. package/test/InputText.test.js +25 -17
  78. package/test/Link.test.js +3 -2
  79. package/test/NewTextarea.test.js +195 -0
  80. package/test/NumberInput.test.js +259 -0
  81. package/test/Paginator.test.js +1 -1
  82. package/test/PasswordInput.test.js +83 -0
  83. package/test/ResultsetTable.test.js +1 -2
  84. package/test/Select.test.js +44 -24
  85. package/test/Spinner.test.js +5 -0
  86. package/test/TextInput.test.js +732 -0
  87. package/test/ToggleGroup.test.js +5 -1
  88. package/test/Upload.test.js +5 -5
  89. package/test/{TextArea.test.js → V3TextArea.test.js} +6 -7
  90. package/dist/accordion/Accordion.stories.js +0 -207
  91. package/dist/accordion/readme.md +0 -96
  92. package/dist/accordion-group/AccordionGroup.stories.js +0 -207
  93. package/dist/accordion-group/readme.md +0 -70
  94. package/dist/alert/Alert.stories.js +0 -158
  95. package/dist/alert/close.svg +0 -4
  96. package/dist/alert/error.svg +0 -4
  97. package/dist/alert/info.svg +0 -4
  98. package/dist/alert/readme.md +0 -43
  99. package/dist/alert/success.svg +0 -4
  100. package/dist/alert/warning.svg +0 -4
  101. package/dist/button/Button.stories.js +0 -224
  102. package/dist/button/readme.md +0 -93
  103. package/dist/common/services/example-service.js +0 -10
  104. package/dist/common/services/example-service.test.js +0 -12
  105. package/dist/date/calendar.svg +0 -1
  106. package/dist/date/calendar_dark.svg +0 -1
  107. package/dist/dialog/Dialog.stories.js +0 -217
  108. package/dist/dialog/readme.md +0 -32
  109. package/dist/dropdown/Dropdown.stories.js +0 -249
  110. package/dist/dropdown/baseline-arrow_drop_down.svg +0 -1
  111. package/dist/dropdown/baseline-arrow_drop_down_wh.svg +0 -4
  112. package/dist/dropdown/baseline-arrow_drop_up.svg +0 -1
  113. package/dist/dropdown/baseline-arrow_drop_up_wh.svg +0 -4
  114. package/dist/dropdown/readme.md +0 -69
  115. package/dist/footer/Footer.stories.js +0 -94
  116. package/dist/footer/dxc_logo_wht.png +0 -0
  117. package/dist/header/dxc_logo_black.png +0 -0
  118. package/dist/header/dxc_logo_blk_rgb.svg +0 -6
  119. package/dist/header/dxc_logo_white.png +0 -0
  120. package/dist/input-text/InputText.stories.js +0 -209
  121. package/dist/select/Select.stories.js +0 -235
  122. package/dist/select/readme.md +0 -72
  123. package/dist/slider/Slider.stories.js +0 -241
  124. package/dist/textarea/Textarea.js +0 -224
  125. package/dist/toggle-group/readme.md +0 -82
@@ -15,8 +15,6 @@ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/hel
15
15
 
16
16
  var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
17
17
 
18
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
19
-
20
18
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
21
19
 
22
20
  var _react = _interopRequireWildcard(require("react"));
@@ -27,18 +25,16 @@ var _InputLabel = _interopRequireDefault(require("@material-ui/core/InputLabel")
27
25
 
28
26
  var _FormControl = _interopRequireDefault(require("@material-ui/core/FormControl"));
29
27
 
28
+ var _FormHelperText = _interopRequireDefault(require("@material-ui/core/FormHelperText"));
29
+
30
30
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
31
31
 
32
32
  var _MenuItem = _interopRequireDefault(require("@material-ui/core/MenuItem"));
33
33
 
34
- var _styles = require("@material-ui/core/styles");
35
-
36
34
  var _propTypes = _interopRequireDefault(require("prop-types"));
37
35
 
38
36
  var _Checkbox = _interopRequireDefault(require("../checkbox/Checkbox"));
39
37
 
40
- require("../common/OpenSans.css");
41
-
42
38
  var _variables = require("../common/variables.js");
43
39
 
44
40
  var _utils = require("../common/utils.js");
@@ -47,8 +43,30 @@ var _useTheme = _interopRequireDefault(require("../useTheme.js"));
47
43
 
48
44
  var _RequiredComponent = _interopRequireDefault(require("../common/RequiredComponent"));
49
45
 
46
+ var _BackgroundColorContext = _interopRequireWildcard(require("../BackgroundColorContext.js"));
47
+
48
+ function _templateObject10() {
49
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n width: ", ";\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n display: inline-block;\n\n .MuiFormControl-root {\n width: 100%;\n }\n\n .MuiFormHelperText-root {\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n color: ", ";\n margin-top: 6px;\n\n &.Mui-disabled {\n color: ", ";\n cursor: not-allowed;\n }\n }\n\n .MuiFormLabel-root {\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n color: ", ";\n margin-top: -3px;\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n height: 22px;\n display: flex;\n align-items: center;\n\n &.Mui-disabled {\n color: ", ";\n }\n &.Mui-focused {\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n color: ", ";\n }\n }\n\n .MuiSelect-select.MuiSelect-select {\n padding-right: unset;\n }\n\n .MuiSelect-select {\n width: 100%;\n height: 20px;\n display: flex;\n padding-right: 10px;\n align-items: center;\n\n :focus {\n background-color: transparent;\n outline: ", "\n auto 2px;\n }\n & > *:last-child::after {\n content: unset;\n }\n & > *:last-child::before {\n content: unset;\n }\n &.Mui-disabled {\n color: ", ";\n cursor: not-allowed;\n &:focus {\n outline: none;\n }\n }\n }\n .MuiInputBase-input {\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n color: ", ";\n }\n .MuiInput-underline {\n &.Mui-focused {\n border-bottom-width: ", ";\n border-bottom-color: ", ";\n }\n &.Mui-disabled:before {\n border-bottom-style: solid;\n }\n }\n .MuiInput-underline:hover:not(.Mui-disabled):before {\n border-bottom: ", " solid;\n border-bottom-color: ", ";\n }\n .MuiInput-underline:after {\n border-bottom: ", " solid;\n border-bottom-color: ", ";\n }\n .MuiInput-underline:before {\n border-bottom: ", " solid;\n border-bottom-color: ", ";\n }\n .MuiSelect-icon {\n color: ", " !important;\n }\n & label {\n text-overflow: ellipsis;\n overflow: hidden;\n width: calc(100% - 24px);\n }\n\n .MuiMenu-paper {\n background-color: ", ";\n box-shadow: 0px 2px 10px 0px rgba(0, 0, 0, 0.3);\n min-width: auto;\n width: auto;\n max-height: 250px;\n border-color: ", ";\n border-width: ", ";\n border-style: ", ";\n\n &::-webkit-scrollbar {\n width: 3px;\n margin: 5px;\n }\n &::-webkit-scrollbar-track {\n border-radius: 3px;\n background-color: ", ";\n }\n &::-webkit-scrollbar-thumb {\n border-radius: 3px;\n background-color: ", ";\n }\n }\n .MuiList-root {\n width: auto !important;\n padding-right: 0 !important;\n }\n .MuiList-padding {\n padding-bottom: 0px;\n padding-top: 0px;\n }\n .MuiMenuItem-root {\n padding-bottom: ", ";\n padding-top: ", ";\n\n &:hover {\n background-color: ", ";\n }\n &:active {\n background-color: ", ";\n }\n &:focus {\n outline: ", "\n auto 2px;\n outline-offset: -1px;\n }\n &.MuiListItem-root.Mui-selected {\n background-color: ", ";\n }\n & span.MuiButtonBase-root {\n // multiple checkbox\n padding: 0px;\n margin: 5px 0px;\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 color: ", ";\n width: ", ";\n height: ", ";\n margin-left: ", ";\n margin-right: ", ";\n overflow: hidden;\n\n img,\n svg {\n height: 100%;\n width: 100%;\n }\n"]);
60
+
61
+ _templateObject9 = function _templateObject9() {
62
+ return data;
63
+ };
64
+
65
+ return data;
66
+ }
67
+
50
68
  function _templateObject8() {
51
- var data = (0, _taggedTemplateLiteral2["default"])(["\n width: ", ";\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n display: inline-block;\n .MuiFormControl-root {\n width: 100%;\n }\n .MuiFormLabel-root {\n font-size: 16px;\n color: ", ";\n margin-top: -3px;\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n height: 22px;\n display: flex;\n align-items: center;\n\n &.Mui-disabled {\n color: ", ";\n }\n &.Mui-focused {\n font-size: 16px;\n color: ", ";\n }\n }\n .MuiSelect-select.MuiSelect-select {\n padding-right: unset;\n }\n\n .MuiSelect-select {\n width: 100%;\n height: 20px;\n display: flex;\n padding-right: unset;\n color: ", ";\n align-items: center;\n :focus {\n background-color: transparent;\n }\n & > *:last-child::after {\n content: unset;\n }\n & > *:last-child::before {\n content: unset;\n }\n &.Mui-disabled {\n color: ", ";\n cursor: not-allowed;\n }\n }\n .MuiInputBase-root {\n width: 100%;\n &:focus {\n outline: ", " auto 1px;\n }\n &.Mui-disabled {\n opacity: ", ";\n cursor: not-allowed;\n &:focus {\n outline: none;\n }\n }\n }\n .MuiInput-underline {\n &:focus {\n border-bottom: 2px solid;\n border-bottom-color: ", ";\n }\n &.Mui-disabled:before {\n border-bottom-style: solid;\n }\n }\n .MuiInput-underline:hover:not(.Mui-disabled):before {\n border-bottom: 1px solid;\n border-bottom-color: ", ";\n }\n .MuiInput-underline:after {\n border-bottom: 1px solid;\n border-bottom-color: ", ";\n }\n .MuiInput-underline:before {\n border-bottom: 1px solid;\n border-bottom-color: ", "};\n }\n .MuiSelect-icon {\n color: ", ";\n }\n & label {\n text-overflow: ellipsis;\n overflow: hidden;\n width: calc(100% - 24px);\n }\n"]);
69
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n width: ", ";\n height: ", ";\n margin-left: ", ";\n margin-right: ", ";\n"]);
52
70
 
53
71
  _templateObject8 = function _templateObject8() {
54
72
  return data;
@@ -58,7 +76,7 @@ function _templateObject8() {
58
76
  }
59
77
 
60
78
  function _templateObject7() {
61
- var data = (0, _taggedTemplateLiteral2["default"])(["\n max-height: 20px;\n max-width: 20px;\n width: 20px;\n height: 20px;\n margin-left: ", ";\n margin-right: ", ";\n overflow: hidden;\n\n img,\n svg {\n height: 100%;\n width: 100%;\n }\n"]);
79
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n font-family: ", ";\n overflow: hidden;\n text-overflow: ellipsis;\n"]);
62
80
 
63
81
  _templateObject7 = function _templateObject7() {
64
82
  return data;
@@ -68,7 +86,7 @@ function _templateObject7() {
68
86
  }
69
87
 
70
88
  function _templateObject6() {
71
- var data = (0, _taggedTemplateLiteral2["default"])(["\n max-height: 20px;\n max-width: 20px;\n width: 20px;\n height: 20px;\n margin-left: ", ";\n margin-right: ", ";\n"]);
89
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: ", ";\n justify-content: ", ";\n margin-right: ", ";\n overflow: hidden;\n text-overflow: ellipsis;\n width: ", ";\n\n &::before {\n margin: 0 4px;\n ", ";\n }\n &::after {\n margin: 0 4px;\n ", ";\n }\n"]);
72
90
 
73
91
  _templateObject6 = function _templateObject6() {
74
92
  return data;
@@ -78,7 +96,7 @@ function _templateObject6() {
78
96
  }
79
97
 
80
98
  function _templateObject5() {
81
- var data = (0, _taggedTemplateLiteral2["default"])(["\n font-family: \"Open Sans\", sans-serif;\n display: flex;\n align-items: center;\n flex-direction: ", ";\n overflow: hidden;\n text-overflow: ellipsis;\n"]);
99
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n overflow: hidden;\n text-overflow: ellipsis;\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n color: ", ";\n"]);
82
100
 
83
101
  _templateObject5 = function _templateObject5() {
84
102
  return data;
@@ -88,7 +106,7 @@ function _templateObject5() {
88
106
  }
89
107
 
90
108
  function _templateObject4() {
91
- var data = (0, _taggedTemplateLiteral2["default"])(["\n font-family: \"Open Sans\", sans-serif;\n margin-left: ", ";\n margin-right: ", ";\n overflow: hidden;\n text-overflow: ellipsis;\n"]);
109
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n width: ", ";\n height: ", ";\n margin-left: ", ";\n margin-right: ", ";\n"]);
92
110
 
93
111
  _templateObject4 = function _templateObject4() {
94
112
  return data;
@@ -98,7 +116,7 @@ function _templateObject4() {
98
116
  }
99
117
 
100
118
  function _templateObject3() {
101
- var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: ", ";\n justify-content: ", ";\n margin-right: ", ";\n overflow: hidden;\n text-overflow: ellipsis;\n width: ", ";\n\n &::before {\n margin: 0 4px;\n ", ";\n }\n &::after {\n margin: 0 4px;\n ", ";\n }\n"]);
119
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n width: ", ";\n height: ", ";\n margin-left: ", ";\n margin-right: ", ";\n overflow: hidden;\n\n img,\n svg {\n height: 100%;\n width: 100%;\n }\n"]);
102
120
 
103
121
  _templateObject3 = function _templateObject3() {
104
122
  return data;
@@ -108,7 +126,7 @@ function _templateObject3() {
108
126
  }
109
127
 
110
128
  function _templateObject2() {
111
- var data = (0, _taggedTemplateLiteral2["default"])(["\n overflow: hidden;\n text-overflow: ellipsis;\n"]);
129
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n font-family: ", ";\n display: flex;\n align-items: center;\n flex-direction: ", ";\n overflow: hidden;\n text-overflow: ellipsis;\n ", "\n"]);
112
130
 
113
131
  _templateObject2 = function _templateObject2() {
114
132
  return data;
@@ -127,73 +145,12 @@ function _templateObject() {
127
145
  return data;
128
146
  }
129
147
 
130
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
131
-
132
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
133
-
134
- var useStyles = (0, _styles.makeStyles)(function () {
135
- return {
136
- root: function root(props) {
137
- return {
138
- minWidth: props.width
139
- };
140
- },
141
- dropdownStyle: function dropdownStyle(props) {
142
- return {
143
- boxShadow: "0px 2px 10px 0px rgba(0, 0, 0, 0.3)",
144
- minWidth: props.width,
145
- width: props.width,
146
- maxHeight: "250px",
147
- "&::-webkit-scrollbar": {
148
- width: "3px",
149
- margin: "5px"
150
- },
151
- "&::-webkit-scrollbar-track": {
152
- borderRadius: "3px",
153
- backgroundColor: props.scrollBarTrackColor
154
- },
155
- "&::-webkit-scrollbar-thumb": {
156
- borderRadius: "3px",
157
- backgroundColor: props.scrollBarThumbColor
158
- },
159
- "& .MuiList-root": {
160
- width: "auto !important",
161
- paddingRight: "0 !important"
162
- }
163
- };
164
- },
165
- itemList: function itemList(props) {
166
- return {
167
- color: props.color,
168
- "&.MuiList-padding": {
169
- paddingBottom: "0px",
170
- paddingTop: "0px"
171
- },
172
- "& li": {
173
- fontSize: "16px",
174
- "&:hover": {
175
- backgroundColor: props.hoveredOptionBackgroundColor,
176
- color: props.color
177
- },
178
- "&:active": {
179
- backgroundColor: props.selectedOptionBackgroundColor + props.hoverOptionBackgroundColor,
180
- color: props.color
181
- },
182
- "&.MuiListItem-root.Mui-selected": {
183
- backgroundColor: props.selectedOptionBackgroundColor,
184
- color: props.color
185
- }
186
- }
187
- };
188
- }
189
- };
190
- });
191
-
192
148
  var DxcSelect = function DxcSelect(_ref) {
193
149
  var value = _ref.value,
194
150
  name = _ref.name,
195
151
  onChange = _ref.onChange,
196
152
  label = _ref.label,
153
+ assistiveText = _ref.assistiveText,
197
154
  _ref$required = _ref.required,
198
155
  required = _ref$required === void 0 ? false : _ref$required,
199
156
  _ref$disabled = _ref.disabled,
@@ -208,20 +165,17 @@ var DxcSelect = function DxcSelect(_ref) {
208
165
  multiple = _ref$multiple === void 0 ? false : _ref$multiple,
209
166
  margin = _ref.margin,
210
167
  _ref$size = _ref.size,
211
- size = _ref$size === void 0 ? "medium" : _ref$size;
168
+ size = _ref$size === void 0 ? "medium" : _ref$size,
169
+ _ref$tabIndex = _ref.tabIndex,
170
+ tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
212
171
  var colorsTheme = (0, _useTheme["default"])();
172
+ var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"]);
213
173
 
214
174
  var _useState = (0, _react.useState)(multiple && [] || ""),
215
175
  _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
216
176
  selectedValue = _useState2[0],
217
177
  setSelectedValue = _useState2[1];
218
178
 
219
- var selectValues = _objectSpread({
220
- width: "auto"
221
- }, colorsTheme.select);
222
-
223
- var classes = useStyles(selectValues);
224
-
225
179
  var handleSelectChange = function handleSelectChange(selectedOption) {
226
180
  if (multiple) {
227
181
  setSelectedValue(selectedOption.target.value);
@@ -242,14 +196,21 @@ var DxcSelect = function DxcSelect(_ref) {
242
196
  var selectedItem = options.filter(function (option) {
243
197
  return option.value === selected;
244
198
  })[0];
245
- return _react["default"].createElement(SelectedIconContainer, {
199
+ return _react["default"].createElement(SelectedOptionContainer, {
246
200
  iconPosition: iconPosition,
247
201
  multiple: multiple,
248
202
  label: selectedItem && selectedItem.label,
249
203
  key: selectedItem && selectedItem.label
250
- }, selectedItem && selectedItem.icon ? _react["default"].createElement(ListIconContainer, null, (0, _typeof2["default"])(selectedItem.icon) === "object" ? selectedItem.icon : _react["default"].createElement(selectedItem.icon)) : selectedItem && selectedItem.iconSrc && _react["default"].createElement(ListIcon, {
251
- src: selectedItem && selectedItem.iconSrc
252
- }), selectedItem && selectedItem.label && _react["default"].createElement(SelectedLabelContainer, {
204
+ }, selectedItem && selectedItem.icon ? _react["default"].createElement(SelectedOptionIconContainer, {
205
+ backgroundType: backgroundType,
206
+ disabled: disabled,
207
+ label: selectedItem.label,
208
+ iconPosition: iconPosition
209
+ }, (0, _typeof2["default"])(selectedItem.icon) === "object" ? selectedItem.icon : _react["default"].createElement(selectedItem.icon)) : selectedItem && selectedItem.iconSrc && _react["default"].createElement(SelectedOptionIcon, {
210
+ src: selectedItem && selectedItem.iconSrc,
211
+ label: selectedItem.label,
212
+ iconPosition: iconPosition
213
+ }), selectedItem && selectedItem.label && _react["default"].createElement(SelectedOptionLabelContainer, {
253
214
  iconSrc: selectedItem && selectedItem.iconSrc && selectedItem.icon,
254
215
  iconPosition: iconPosition,
255
216
  disabled: disabled
@@ -265,7 +226,7 @@ var DxcSelect = function DxcSelect(_ref) {
265
226
  };
266
227
 
267
228
  var getSelectedValuesWithIcons = function getSelectedValuesWithIcons(optionsList, selected) {
268
- return options.filter(function (x) {
229
+ return optionsList.filter(function (x) {
269
230
  return selected.includes(x.value);
270
231
  }).map(function (optionToRender) {
271
232
  return getLabelForSingleSelect(optionToRender.value);
@@ -298,16 +259,40 @@ var DxcSelect = function DxcSelect(_ref) {
298
259
  }
299
260
  };
300
261
 
262
+ var ThemedOption = function ThemedOption(_ref2) {
263
+ var option = _ref2.option;
264
+ var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"]);
265
+ return _react["default"].createElement(_react["default"].Fragment, null, multiple && _react["default"].createElement(_Checkbox["default"], {
266
+ size: "fitContent",
267
+ checked: isChecked(selectedValue, value, option)
268
+ }), _react["default"].createElement(OptionListContainer, {
269
+ iconPosition: iconPosition,
270
+ multiple: multiple
271
+ }, option.icon ? _react["default"].createElement(OptionListIconContainer, {
272
+ backgroundType: backgroundType,
273
+ disabled: disabled,
274
+ label: option.label,
275
+ iconPosition: iconPosition
276
+ }, (0, _typeof2["default"])(option.icon) === "object" ? option.icon : _react["default"].createElement(option.icon)) : option.iconSrc && _react["default"].createElement(OptionListIcon, {
277
+ src: option.iconSrc,
278
+ label: option.label,
279
+ iconPosition: iconPosition
280
+ }), " ", _react["default"].createElement(OptionListLabelContainer, {
281
+ backgroundType: backgroundType
282
+ }, option.label)));
283
+ };
284
+
301
285
  return _react["default"].createElement(_styledComponents.ThemeProvider, {
302
- theme: colorsTheme
286
+ theme: colorsTheme.select
303
287
  }, _react["default"].createElement(SelectContainer, {
304
288
  margin: margin,
305
289
  size: size,
306
- invalid: invalid
290
+ invalid: invalid,
291
+ disabled: disabled,
292
+ backgroundType: backgroundType
307
293
  }, _react["default"].createElement(_FormControl["default"], null, _react["default"].createElement(_InputLabel["default"], {
308
294
  disabled: disabled
309
295
  }, required && _react["default"].createElement(_RequiredComponent["default"], null), label), _react["default"].createElement(_Select["default"], {
310
- tabIndex: "0",
311
296
  name: name,
312
297
  multiple: multiple,
313
298
  renderValue: getRenderValue,
@@ -315,15 +300,15 @@ var DxcSelect = function DxcSelect(_ref) {
315
300
  value: value !== undefined ? value : selectedValue,
316
301
  disabled: disabled,
317
302
  MenuProps: {
318
- classes: {
319
- paper: classes.dropdownStyle,
320
- list: classes.itemList
321
- },
322
303
  getContentAnchorEl: null,
323
304
  anchorOrigin: {
324
305
  vertical: "bottom",
325
306
  horizontal: "left"
326
- }
307
+ },
308
+ disablePortal: true
309
+ },
310
+ inputProps: {
311
+ tabIndex: disabled ? -1 : tabIndex
327
312
  }
328
313
  }, options.map(function (option) {
329
314
  return _react["default"].createElement(_MenuItem["default"], {
@@ -331,20 +316,14 @@ var DxcSelect = function DxcSelect(_ref) {
331
316
  value: option.value,
332
317
  disableRipple: true,
333
318
  key: option.value
334
- }, multiple && _react["default"].createElement(_Checkbox["default"], {
335
- size: "fitContent",
336
- checked: isChecked(selectedValue, value, option)
337
- }), _react["default"].createElement(OptionContainer, {
338
- iconPosition: iconPosition
339
- }, option.icon ? _react["default"].createElement(ListIconContainer, {
340
- label: option.label,
341
- iconPosition: iconPosition
342
- }, (0, _typeof2["default"])(option.icon) === "object" ? option.icon : _react["default"].createElement(option.icon)) : option.iconSrc && _react["default"].createElement(ListIcon, {
343
- src: option.iconSrc,
344
- label: option.label,
345
- iconPosition: iconPosition
346
- }), " ", _react["default"].createElement(LabelCont, null, option.label)));
347
- })))));
319
+ }, _react["default"].createElement(_BackgroundColorContext.BackgroundColorProvider, {
320
+ color: colorsTheme.select.optionBackgroundColor
321
+ }, _react["default"].createElement(ThemedOption, {
322
+ option: option
323
+ })));
324
+ })), assistiveText && _react["default"].createElement(_FormHelperText["default"], {
325
+ disabled: disabled
326
+ }, assistiveText))));
348
327
  };
349
328
 
350
329
  var sizes = {
@@ -355,18 +334,52 @@ var sizes = {
355
334
  };
356
335
 
357
336
  var calculateWidth = function calculateWidth(margin, size) {
358
- if (size === "fillParent") {
359
- return "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")");
360
- }
361
-
362
- return sizes[size];
337
+ return size === "fillParent" ? "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")") : sizes[size];
363
338
  };
364
339
 
365
340
  var MultipleLabelSelected = _styledComponents["default"].div(_templateObject());
366
341
 
367
- var LabelCont = _styledComponents["default"].span(_templateObject2());
342
+ var OptionListContainer = _styledComponents["default"].div(_templateObject2(), function (props) {
343
+ return props.theme.fontFamily;
344
+ }, function (props) {
345
+ return props.iconPosition === "before" && "row" || "row-reverse";
346
+ }, function (props) {
347
+ return props.multiple && "margin-left: ".concat(props.theme.optionCheckboxSpacing, ";");
348
+ });
349
+
350
+ var OptionListIconContainer = _styledComponents["default"].div(_templateObject3(), function (props) {
351
+ return props.disabled ? props.backgroundType === "dark" ? props.theme.disabledColorOnDark : props.theme.disabledColor : props.backgroundType === "dark" ? props.theme.optionIconColorOnDark : props.theme.optionIconColor;
352
+ }, function (props) {
353
+ return props.theme.optionIconSize;
354
+ }, function (props) {
355
+ return props.theme.optionIconSize;
356
+ }, function (props) {
357
+ return props.iconPosition === "after" && props.label && props.theme.optionIconSpacing || "0px";
358
+ }, function (props) {
359
+ return props.iconPosition === "before" && props.label && props.theme.optionIconSpacing || "0px";
360
+ });
361
+
362
+ var OptionListIcon = _styledComponents["default"].img(_templateObject4(), function (props) {
363
+ return props.theme.optionIconSize;
364
+ }, function (props) {
365
+ return props.theme.optionIconSize;
366
+ }, function (props) {
367
+ return props.iconPosition === "after" && props.label !== "" && props.theme.optionIconSpacing || "0px";
368
+ }, function (props) {
369
+ return props.iconPosition === "before" && props.label !== "" && props.theme.optionIconSpacing || "0px";
370
+ });
368
371
 
369
- var SelectedIconContainer = _styledComponents["default"].div(_templateObject3(), function (props) {
372
+ var OptionListLabelContainer = _styledComponents["default"].span(_templateObject5(), function (props) {
373
+ return props.theme.optionFontSize;
374
+ }, function (props) {
375
+ return props.theme.optionFontStyle;
376
+ }, function (props) {
377
+ return props.theme.optionFontWeight;
378
+ }, function (props) {
379
+ return props.backgroundType === "dark" ? props.theme.optionFontColorOnDark : props.theme.optionFontColor;
380
+ });
381
+
382
+ var SelectedOptionContainer = _styledComponents["default"].div(_templateObject6(), function (props) {
370
383
  return props.iconPosition === "before" && "row" || "row-reverse";
371
384
  }, function (props) {
372
385
  return props.iconPosition === "before" && "flex-start" || "flex-end";
@@ -380,29 +393,33 @@ var SelectedIconContainer = _styledComponents["default"].div(_templateObject3(),
380
393
  return props.iconPosition === "before" && (props.label !== "" || props.label === undefined) && "content:','";
381
394
  });
382
395
 
383
- var SelectedLabelContainer = _styledComponents["default"].span(_templateObject4(), function (props) {
384
- return (props.iconPosition === "after" || !props.iconSrc) && "0px" || "10px";
385
- }, function (props) {
386
- return (props.iconPosition === "before" || !props.iconSrc) && "0px" || "10px";
396
+ var SelectedOptionLabelContainer = _styledComponents["default"].span(_templateObject7(), function (props) {
397
+ return props.theme.fontFamily;
387
398
  });
388
399
 
389
- var OptionContainer = _styledComponents["default"].div(_templateObject5(), function (props) {
390
- return props.iconPosition === "before" && "row" || "row-reverse";
391
- });
392
-
393
- var ListIcon = _styledComponents["default"].img(_templateObject6(), function (props) {
394
- return props.iconPosition === "after" && props.label !== "" && "10px" || "0px";
400
+ var SelectedOptionIcon = _styledComponents["default"].img(_templateObject8(), function (props) {
401
+ return props.theme.valueIconSize;
402
+ }, function (props) {
403
+ return props.theme.valueIconSize;
395
404
  }, function (props) {
396
- return props.iconPosition === "before" && props.label !== "" && "10px" || "0px";
405
+ return props.iconPosition === "after" && props.label !== "" && props.theme.valueIconSpacing || "0px";
406
+ }, function (props) {
407
+ return props.iconPosition === "before" && props.label !== "" && props.theme.valueIconSpacing || "0px";
397
408
  });
398
409
 
399
- var ListIconContainer = _styledComponents["default"].div(_templateObject7(), function (props) {
400
- return props.iconPosition === "after" && props.label !== "" && "10px" || "0px";
410
+ var SelectedOptionIconContainer = _styledComponents["default"].div(_templateObject9(), function (props) {
411
+ return props.disabled ? props.backgroundType === "dark" ? props.theme.disabledColorOnDark : props.theme.disabledColor : props.backgroundType === "dark" ? props.theme.valueIconColorOnDark : props.theme.valueIconColor;
412
+ }, function (props) {
413
+ return props.theme.valueIconSize;
401
414
  }, function (props) {
402
- return props.iconPosition === "before" && props.label !== "" && "10px" || "0px";
415
+ return props.theme.valueIconSize;
416
+ }, function (props) {
417
+ return props.iconPosition === "after" && props.label !== "" && props.theme.valueIconSpacing || "0px";
418
+ }, function (props) {
419
+ return props.iconPosition === "before" && props.label !== "" && props.theme.valueIconSpacing || "0px";
403
420
  });
404
421
 
405
- var SelectContainer = _styledComponents["default"].div(_templateObject8(), function (props) {
422
+ var SelectContainer = _styledComponents["default"].div(_templateObject10(), function (props) {
406
423
  return calculateWidth(props.margin, props.size);
407
424
  }, function (props) {
408
425
  return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
@@ -415,34 +432,97 @@ var SelectContainer = _styledComponents["default"].div(_templateObject8(), funct
415
432
  }, function (props) {
416
433
  return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
417
434
  }, function (props) {
418
- return props.invalid === true ? props.theme.select.error : props.theme.select.color;
435
+ return props.theme.fontFamily;
436
+ }, function (props) {
437
+ return props.theme.assistiveTextFontSize;
438
+ }, function (props) {
439
+ return props.theme.assistiveTextFontStyle;
440
+ }, function (props) {
441
+ return props.theme.assistiveTextFontWeight;
442
+ }, function (props) {
443
+ return props.backgroundType === "dark" ? props.invalid === true ? props.theme.errorColorOnDark : props.theme.assistiveTextFontColorOnDark : props.invalid === true ? props.theme.errorColor : props.theme.assistiveTextFontColor;
444
+ }, function (props) {
445
+ return props.backgroundType === "dark" ? props.theme.disabledColorOnDark : props.theme.disabledColor;
446
+ }, function (props) {
447
+ return props.theme.fontFamily;
448
+ }, function (props) {
449
+ return props.theme.labelFontSize;
450
+ }, function (props) {
451
+ return props.theme.labelFontStyle;
452
+ }, function (props) {
453
+ return props.theme.labelFontWeight;
454
+ }, function (props) {
455
+ return props.backgroundType === "dark" ? props.invalid === true ? props.theme.errorColorOnDark : props.theme.labelFontColorOnDark : props.invalid === true ? props.theme.errorColor : props.theme.labelFontColor;
456
+ }, function (props) {
457
+ return props.backgroundType === "dark" ? props.theme.disabledColorOnDark : props.theme.disabledColor;
458
+ }, function (props) {
459
+ return props.theme.labelFontSize;
460
+ }, function (props) {
461
+ return props.theme.labelFontStyle;
462
+ }, function (props) {
463
+ return props.theme.labelFontWeight;
464
+ }, function (props) {
465
+ return props.backgroundType === "dark" ? props.invalid === true ? props.theme.errorColorOnDark : props.theme.labelFontColorOnDark : props.invalid === true ? props.theme.errorColor : props.theme.labelFontColor;
466
+ }, function (props) {
467
+ return props.backgroundType === "dark" ? props.theme.focusColorOnDark : props.theme.focusColor;
468
+ }, function (props) {
469
+ return props.backgroundType === "dark" ? props.theme.disabledColorOnDark : props.theme.disabledColor;
470
+ }, function (props) {
471
+ return props.theme.valueFontSize;
472
+ }, function (props) {
473
+ return props.theme.valueFontStyle;
474
+ }, function (props) {
475
+ return props.theme.valueFontWeight;
476
+ }, function (props) {
477
+ return props.backgroundType === "dark" ? props.theme.valueFontColorOnDark : props.theme.valueFontColor;
478
+ }, function (props) {
479
+ return props.theme.underlineThickness;
480
+ }, function (props) {
481
+ return props.backgroundType === "dark" ? props.invalid === true && props.theme.errorColorOnDark || props.disabled && props.theme.disabledColorOnDark || props.theme.underlineFocusColorOnDark : props.invalid === true && props.theme.errorColor || props.disabled && props.theme.disabledColor || props.theme.underlineFocusColor;
482
+ }, function (props) {
483
+ return props.theme.underlineThickness;
484
+ }, function (props) {
485
+ return props.backgroundType === "dark" ? props.invalid === true && props.theme.errorColorOnDark || props.disabled && props.theme.disabledColorOnDark || props.theme.underlineColorOnDark : props.invalid === true && props.theme.errorColor || props.disabled && props.theme.disabledColor || props.theme.underlineColor;
486
+ }, function (props) {
487
+ return props.theme.underlineThickness;
488
+ }, function (props) {
489
+ return props.backgroundType === "dark" ? props.invalid === true ? props.theme.errorColorOnDark : props.theme.underlineFocusColorOnDark : props.invalid === true ? props.theme.errorColor : props.theme.underlineFocusColor;
490
+ }, function (props) {
491
+ return props.theme.underlineThickness;
492
+ }, function (props) {
493
+ return props.backgroundType === "dark" ? props.invalid === true && props.theme.errorColorOnDark || props.disabled && props.theme.disabledColorOnDark || props.theme.underlineColorOnDark : props.invalid === true && props.theme.errorColor || props.disabled && props.theme.disabledColor || props.theme.underlineColor;
494
+ }, function (props) {
495
+ return props.backgroundType === "dark" ? props.disabled && props.theme.disabledColorOnDark || props.theme.arrowColorOnDark : props.disabled && props.theme.disabledColor || props.theme.arrowColor;
496
+ }, function (props) {
497
+ return props.theme.optionBackgroundColor;
419
498
  }, function (props) {
420
- return props.theme.select.disabledColor;
499
+ return props.theme.optionBorderColor;
421
500
  }, function (props) {
422
- return props.invalid === true ? props.theme.select.error : props.theme.select.color;
501
+ return props.theme.optionBorderThickness;
423
502
  }, function (props) {
424
- return props.theme.select.color;
503
+ return props.theme.optionBorderStyle;
425
504
  }, function (props) {
426
- return props.theme.select.disabledColor;
505
+ return props.theme.scrollBarTrackColor;
427
506
  }, function (props) {
428
- return props.theme.select.focusColor;
507
+ return props.theme.scrollBarThumbColor;
429
508
  }, function (props) {
430
- return props.theme.select.disabled;
509
+ return props.theme.optionPaddingBottom;
431
510
  }, function (props) {
432
- return props.invalid === true ? props.theme.select.error : props.theme.select.color;
511
+ return props.theme.optionPaddingTop;
433
512
  }, function (props) {
434
- return props.invalid === true ? props.theme.select.error : props.theme.select.color;
513
+ return props.backgroundType === "dark" ? props.theme.hoverOptionBackgroundColorOnDark : props.theme.hoverOptionBackgroundColor;
435
514
  }, function (props) {
436
- return props.invalid === true ? props.theme.select.error : props.theme.select.color;
515
+ return props.backgroundType === "dark" ? props.theme.activeOptionBackgroundColorOnDark : props.theme.activeOptionBackgroundColor;
437
516
  }, function (props) {
438
- return props.invalid === true ? props.theme.select.error : props.theme.select.color;
517
+ return props.backgroundType === "dark" ? props.theme.focusColorOnDark : props.theme.focusColor;
439
518
  }, function (props) {
440
- return props.theme.select.color;
519
+ return props.backgroundType === "dark" ? props.theme.selectedOptionBackgroundColorOnDark : props.theme.selectedOptionBackgroundColor;
441
520
  });
442
521
 
443
522
  DxcSelect.propTypes = {
444
523
  size: _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(sizes))),
445
524
  label: _propTypes["default"].string,
525
+ assistiveText: _propTypes["default"].string,
446
526
  name: _propTypes["default"].string,
447
527
  value: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number, _propTypes["default"].arrayOf(_propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number]))]),
448
528
  disabled: _propTypes["default"].bool,
@@ -462,7 +542,8 @@ DxcSelect.propTypes = {
462
542
  bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
463
543
  left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
464
544
  right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
465
- }), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))])
545
+ }), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))]),
546
+ tabIndex: _propTypes["default"].number
466
547
  };
467
548
  var _default = DxcSelect;
468
549
  exports["default"] = _default;