@dxc-technology/halstack-react 0.0.0-5b2ad05 → 0.0.0-5b6503c

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 (53) hide show
  1. package/README.md +1 -1
  2. package/dist/V3Select/index.d.ts +27 -0
  3. package/dist/V3Textarea/index.d.ts +27 -0
  4. package/dist/accordion/index.d.ts +28 -0
  5. package/dist/accordion-group/index.d.ts +16 -0
  6. package/dist/box/index.d.ts +25 -0
  7. package/dist/button/index.d.ts +24 -0
  8. package/dist/card/index.d.ts +22 -0
  9. package/dist/checkbox/index.d.ts +24 -0
  10. package/dist/chip/index.d.ts +22 -0
  11. package/dist/common/variables.js +60 -64
  12. package/dist/date/Date.js +6 -6
  13. package/dist/date/index.d.ts +27 -0
  14. package/dist/dialog/index.d.ts +18 -0
  15. package/dist/dropdown/index.d.ts +26 -0
  16. package/dist/file-input/FileItem.js +8 -1
  17. package/dist/file-input/index.d.ts +1 -1
  18. package/dist/footer/index.d.ts +25 -0
  19. package/dist/header/index.d.ts +25 -0
  20. package/dist/heading/index.d.ts +17 -0
  21. package/dist/input-text/InputText.js +4 -4
  22. package/dist/input-text/index.d.ts +36 -0
  23. package/dist/link/index.d.ts +23 -0
  24. package/dist/main.d.ts +36 -4
  25. package/dist/main.js +3 -3
  26. package/dist/paginator/Paginator.js +51 -29
  27. package/dist/paginator/index.d.ts +20 -0
  28. package/dist/password-input/PasswordInput.js +6 -1
  29. package/dist/progress-bar/index.d.ts +18 -0
  30. package/dist/radio/index.d.ts +23 -0
  31. package/dist/resultsetTable/index.d.ts +19 -0
  32. package/dist/select/Select.js +193 -182
  33. package/dist/sidenav/index.d.ts +13 -0
  34. package/dist/slider/index.d.ts +29 -0
  35. package/dist/spinner/index.d.ts +17 -0
  36. package/dist/switch/index.d.ts +24 -0
  37. package/dist/table/index.d.ts +13 -0
  38. package/dist/tabs/index.d.ts +19 -0
  39. package/dist/tag/index.d.ts +24 -0
  40. package/dist/text-input/TextInput.js +3 -0
  41. package/dist/toggle/index.d.ts +21 -0
  42. package/dist/toggle-group/index.d.ts +21 -0
  43. package/dist/upload/Upload.js +3 -3
  44. package/dist/upload/index.d.ts +15 -0
  45. package/dist/wizard/index.d.ts +18 -0
  46. package/package.json +1 -1
  47. package/test/Date.test.js +34 -36
  48. package/test/InputText.test.js +16 -24
  49. package/test/Paginator.test.js +5 -1
  50. package/test/ResultsetTable.test.js +5 -4
  51. package/test/Select.test.js +415 -0
  52. package/test/TextInput.test.js +5 -5
  53. package/test/Upload.test.js +4 -4
@@ -25,16 +25,24 @@ var _useTheme = _interopRequireDefault(require("../useTheme.js"));
25
25
 
26
26
  var _variables = require("../common/variables.js");
27
27
 
28
- var _BackgroundColorContext = _interopRequireDefault(require("../BackgroundColorContext.js"));
29
-
30
28
  var _uuid = require("uuid");
31
29
 
32
30
  var _utils = require("../common/utils.js");
33
31
 
34
32
  var _Checkbox = _interopRequireDefault(require("../checkbox/Checkbox"));
35
33
 
34
+ function _templateObject28() {
35
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n height: 16px;\n width: 16px;\n margin-left: 4px;\n color: ", ";\n"]);
36
+
37
+ _templateObject28 = function _templateObject28() {
38
+ return data;
39
+ };
40
+
41
+ return data;
42
+ }
43
+
36
44
  function _templateObject27() {
37
- var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n height: 16px;\n width: 16px;\n margin-left: 4px;\n color: #4d4d4d;\n"]);
45
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n"]);
38
46
 
39
47
  _templateObject27 = function _templateObject27() {
40
48
  return data;
@@ -44,7 +52,7 @@ function _templateObject27() {
44
52
  }
45
53
 
46
54
  function _templateObject26() {
47
- var data = (0, _taggedTemplateLiteral2["default"])(["\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n"]);
55
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n width: 16px;\n height: 16px;\n"]);
48
56
 
49
57
  _templateObject26 = function _templateObject26() {
50
58
  return data;
@@ -54,7 +62,7 @@ function _templateObject26() {
54
62
  }
55
63
 
56
64
  function _templateObject25() {
57
- var data = (0, _taggedTemplateLiteral2["default"])(["\n width: 16px;\n height: 16px;\n"]);
65
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n height: 24px;\n width: 24px;\n margin-left: 8px;\n color: ", ";\n"]);
58
66
 
59
67
  _templateObject25 = function _templateObject25() {
60
68
  return data;
@@ -64,7 +72,7 @@ function _templateObject25() {
64
72
  }
65
73
 
66
74
  function _templateObject24() {
67
- var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n height: 24px;\n width: 24px;\n margin-left: 8px;\n"]);
75
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n justify-content: space-between;\n width: 100%;\n overflow: hidden;\n padding-left: 8px;\n ", "\n"]);
68
76
 
69
77
  _templateObject24 = function _templateObject24() {
70
78
  return data;
@@ -74,7 +82,7 @@ function _templateObject24() {
74
82
  }
75
83
 
76
84
  function _templateObject23() {
77
- var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n justify-content: space-between;\n width: 100%;\n overflow: hidden;\n padding-left: 8px;\n ", "\n"]);
85
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n padding: 4px 8px 3px 0;\n min-height: 24px;\n ", "\n ", ";\n"]);
78
86
 
79
87
  _templateObject23 = function _templateObject23() {
80
88
  return data;
@@ -84,7 +92,7 @@ function _templateObject23() {
84
92
  }
85
93
 
86
94
  function _templateObject22() {
87
- var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n padding: 4px 8px 3px 0;\n min-height: 24px;\n ", "\n ", ";\n"]);
95
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n padding: 0 8px;\n box-shadow: inset 0 0 0 2px transparent;\n ", "\n ", ";\n line-height: 1.715em;\n cursor: pointer;\n\n &:hover {\n ", ";\n }\n &:active {\n ", ";\n }\n"]);
88
96
 
89
97
  _templateObject22 = function _templateObject22() {
90
98
  return data;
@@ -94,7 +102,7 @@ function _templateObject22() {
94
102
  }
95
103
 
96
104
  function _templateObject21() {
97
- var data = (0, _taggedTemplateLiteral2["default"])(["\n padding: 0 8px;\n line-height: 1.715em;\n cursor: pointer;\n\n ", ";\n"]);
105
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n padding: 4px 16px;\n font-weight: ", ";\n line-height: 1.715em;\n"]);
98
106
 
99
107
  _templateObject21 = function _templateObject21() {
100
108
  return data;
@@ -104,7 +112,7 @@ function _templateObject21() {
104
112
  }
105
113
 
106
114
  function _templateObject20() {
107
- var data = (0, _taggedTemplateLiteral2["default"])(["\n padding: 4px 16px;\n line-height: 1.715em;\n font-weight: 600;\n"]);
115
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n padding: 0;\n"]);
108
116
 
109
117
  _templateObject20 = function _templateObject20() {
110
118
  return data;
@@ -134,7 +142,7 @@ function _templateObject18() {
134
142
  }
135
143
 
136
144
  function _templateObject17() {
137
- var data = (0, _taggedTemplateLiteral2["default"])(["\n position: absolute;\n z-index: 1;\n max-height: 304px;\n overflow-x: auto;\n top: calc(100% + 4px);\n left: 0;\n margin: 0;\n padding: 4px 0;\n width: 100%;\n box-sizing: border-box;\n background-color: #ffffff;\n border-radius: 4px;\n border: 1px solid ", ";\n box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);\n cursor: default;\n font-family: ", ";\n color: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n"]);
145
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n position: absolute;\n z-index: 1;\n max-height: 304px;\n overflow-x: auto;\n top: calc(100% + 4px);\n left: 0;\n margin: 0;\n padding: 4px 0;\n width: 100%;\n box-sizing: border-box;\n background-color: ", ";\n border: 1px solid ", ";\n border-radius: 4px;\n box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);\n cursor: default;\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n"]);
138
146
 
139
147
  _templateObject17 = function _templateObject17() {
140
148
  return data;
@@ -144,7 +152,7 @@ function _templateObject17() {
144
152
  }
145
153
 
146
154
  function _templateObject16() {
147
- var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n height: 24px;\n width: 24px;\n font-size: 1rem;\n font-family: ", ";\n border: 1px solid transparent;\n border-radius: 2px;\n padding: 3px;\n margin-left: calc(1rem * 0.25);\n ", "\n\n background-color: ", ";\n color: ", ";\n\n ", "\n\n svg {\n line-height: 18px;\n }\n"]);
155
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n height: 24px;\n width: 24px;\n font-size: 1rem;\n font-family: ", ";\n border: 1px solid transparent;\n border-radius: 2px;\n padding: 3px;\n margin-left: calc(1rem * 0.25);\n ", "\n background-color: ", ";\n color: ", ";\n\n ", "\n\n svg {\n line-height: 18px;\n }\n"]);
148
156
 
149
157
  _templateObject16 = function _templateObject16() {
150
158
  return data;
@@ -154,7 +162,7 @@ function _templateObject16() {
154
162
  }
155
163
 
156
164
  function _templateObject15() {
157
- var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n height: 16px;\n width: 16px;\n padding: 4px;\n margin-left: calc(1rem * 0.25);\n\n color: ", ";\n"]);
165
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n height: 16px;\n width: 16px;\n padding: 4px;\n margin-left: calc(1rem * 0.25);\n color: ", ";\n"]);
158
166
 
159
167
  _templateObject15 = function _templateObject15() {
160
168
  return data;
@@ -164,7 +172,7 @@ function _templateObject15() {
164
172
  }
165
173
 
166
174
  function _templateObject14() {
167
- var data = (0, _taggedTemplateLiteral2["default"])(["\n min-height: 1.5em;\n color: ", ";\n font-family: ", ";\n font-size: 0.75rem;\n font-weight: 400;\n line-height: 1.5em;\n"]);
175
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n min-height: 1.5em;\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: ", ";\n"]);
168
176
 
169
177
  _templateObject14 = function _templateObject14() {
170
178
  return data;
@@ -184,7 +192,7 @@ function _templateObject13() {
184
192
  }
185
193
 
186
194
  function _templateObject12() {
187
- var data = (0, _taggedTemplateLiteral2["default"])(["\n grid-area: 1 / 1 / 1 / 1;\n height: calc(calc(1rem * 2.5) - calc(1px * 2));\n background: none;\n border: none;\n outline: none;\n padding: 0 calc(1rem * 0.5);\n\n color: ", ";\n\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: 1.5em;\n\n ::placeholder {\n color: ", ";\n }\n"]);
195
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n grid-area: 1 / 1 / 1 / 1;\n height: calc(calc(1rem * 2.5) - calc(1px * 2));\n background: none;\n border: none;\n outline: none;\n padding: 0 calc(1rem * 0.5);\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: 1.5em;\n"]);
188
196
 
189
197
  _templateObject12 = function _templateObject12() {
190
198
  return data;
@@ -224,7 +232,7 @@ function _templateObject9() {
224
232
  }
225
233
 
226
234
  function _templateObject8() {
227
- var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n user-select: none;\n background-color: ", ";\n border-right: 1px solid ", ";\n font-family: ", ";\n font-size: 11px;\n ", "\n"]);
235
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n height: 24px;\n width: 24px;\n font-size: 1rem;\n font-family: ", ";\n border: 1px solid transparent;\n padding: 3px;\n ", "\n background-color: ", ";\n color: ", ";\n\n ", "\n\n svg {\n line-height: 18px;\n }\n"]);
228
236
 
229
237
  _templateObject8 = function _templateObject8() {
230
238
  return data;
@@ -234,7 +242,7 @@ function _templateObject8() {
234
242
  }
235
243
 
236
244
  function _templateObject7() {
237
- var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n height: 24px;\n width: 24px;\n font-size: 1rem;\n font-family: ", ";\n border: 1px solid transparent;\n padding: 3px;\n ", "\n background-color: ", ";\n color: ", ";\n\n ", "\n\n svg {\n line-height: 18px;\n }\n"]);
245
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n user-select: none;\n background-color: ", ";\n border-right: 1px solid ", ";\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n ", "\n"]);
238
246
 
239
247
  _templateObject7 = function _templateObject7() {
240
248
  return data;
@@ -254,7 +262,7 @@ function _templateObject6() {
254
262
  }
255
263
 
256
264
  function _templateObject5() {
257
- var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n position: relative;\n align-items: center;\n height: calc(calc(1rem * 2.5) - calc(1px * 2));\n margin: calc(1rem * 0.25) 0;\n padding: 0 calc(1rem * 0.5);\n outline: none;\n ", "\n box-shadow: 0 0 0 2px transparent;\n border-radius: 4px;\n border: 1px solid\n ", ";\n ", "\n ", ";\n\n ", ";\n"]);
265
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n position: relative;\n align-items: center;\n height: calc(calc(1rem * 2.5) - calc(1px * 2));\n margin: calc(1rem * 0.25) 0;\n padding: 0 calc(1rem * 0.5);\n outline: none;\n box-shadow: 0 0 0 2px transparent;\n border-radius: 4px;\n border: 1px solid\n ", ";\n ", "\n ", ";\n\n ", ";\n"]);
258
266
 
259
267
  _templateObject5 = function _templateObject5() {
260
268
  return data;
@@ -264,7 +272,7 @@ function _templateObject5() {
264
272
  }
265
273
 
266
274
  function _templateObject4() {
267
- var data = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: 1.5em;\n"]);
275
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: ", ";\n"]);
268
276
 
269
277
  _templateObject4 = function _templateObject4() {
270
278
  return data;
@@ -284,7 +292,7 @@ function _templateObject3() {
284
292
  }
285
293
 
286
294
  function _templateObject2() {
287
- var data = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: 1.715em;\n cursor: default;\n"]);
295
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: ", ";\n cursor: default;\n"]);
288
296
 
289
297
  _templateObject2 = function _templateObject2() {
290
298
  return data;
@@ -382,6 +390,22 @@ var getNotOptionalErrorMessage = function getNotOptionalErrorMessage() {
382
390
  return "This field is required. Please, enter a value.";
383
391
  };
384
392
 
393
+ var filterOptionsBySearchValue = function filterOptionsBySearchValue(options, searchValue) {
394
+ if ((options === null || options === void 0 ? void 0 : options.length) > 0) {
395
+ if (options[0].options) return options.map(function (optionGroup) {
396
+ var group = {
397
+ label: optionGroup.label,
398
+ options: optionGroup.options.filter(function (option) {
399
+ return option.label.toUpperCase().includes(searchValue.toUpperCase());
400
+ })
401
+ };
402
+ return group;
403
+ });else return options.filter(function (option) {
404
+ return option.label.toUpperCase().includes(searchValue.toUpperCase());
405
+ });
406
+ }
407
+ };
408
+
385
409
  var DxcSelect = _react["default"].forwardRef(function (_ref, ref) {
386
410
  var _ref3;
387
411
 
@@ -418,6 +442,7 @@ var DxcSelect = _react["default"].forwardRef(function (_ref, ref) {
418
442
  selectId = _useState2[0];
419
443
 
420
444
  var selectLabelId = "label-".concat(selectId);
445
+ var optionsListId = "".concat(selectId, "-listbox");
421
446
 
422
447
  var _useState3 = (0, _react.useState)(multiple ? [] : ""),
423
448
  _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
@@ -429,41 +454,23 @@ var DxcSelect = _react["default"].forwardRef(function (_ref, ref) {
429
454
  searchValue = _useState6[0],
430
455
  setSearchValue = _useState6[1];
431
456
 
432
- var _useState7 = (0, _react.useState)(false),
457
+ var _useState7 = (0, _react.useState)(-1),
433
458
  _useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
434
- isBackgroundValue = _useState8[0],
435
- changeIsBackgroundValue = _useState8[1];
459
+ visualFocusIndex = _useState8[0],
460
+ changeVisualFocusIndex = _useState8[1];
436
461
 
437
462
  var _useState9 = (0, _react.useState)(false),
438
463
  _useState10 = (0, _slicedToArray2["default"])(_useState9, 2),
439
464
  isOpen = _useState10[0],
440
465
  changeIsOpen = _useState10[1];
441
466
 
442
- var _useState11 = (0, _react.useState)(false),
443
- _useState12 = (0, _slicedToArray2["default"])(_useState11, 2),
444
- isActiveOption = _useState12[0],
445
- changeIsActiveOption = _useState12[1];
446
-
447
- var _useState13 = (0, _react.useState)(false),
448
- _useState14 = (0, _slicedToArray2["default"])(_useState13, 2),
449
- isScrollable = _useState14[0],
450
- changeIsScrollable = _useState14[1];
451
-
452
- var _useState15 = (0, _react.useState)([]),
453
- _useState16 = (0, _slicedToArray2["default"])(_useState15, 2),
454
- filteredOptions = _useState16[0],
455
- setFilteredOptions = _useState16[1];
456
-
457
- var _useState17 = (0, _react.useState)(-1),
458
- _useState18 = (0, _slicedToArray2["default"])(_useState17, 2),
459
- visualFocusIndex = _useState18[0],
460
- changeVisualFocusIndex = _useState18[1];
461
-
462
467
  var selectContainerRef = (0, _react.useRef)(null);
463
468
  var selectSearchInputRef = (0, _react.useRef)(null);
464
469
  var selectOptionsListRef = (0, _react.useRef)(null);
465
470
  var colorsTheme = (0, _useTheme["default"])();
466
- var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"]);
471
+ var filteredOptions = (0, _react.useMemo)(function () {
472
+ return filterOptionsBySearchValue(options, searchValue);
473
+ }, [options, searchValue]);
467
474
  var optionalEmptyOption = {
468
475
  label: placeholder,
469
476
  value: ""
@@ -496,15 +503,11 @@ var DxcSelect = _react["default"].forwardRef(function (_ref, ref) {
496
503
  };
497
504
 
498
505
  var openOptions = function openOptions() {
499
- if (!isOpen && canBeOpenOptions()) {
500
- searchable && changeIsBackgroundValue(true);
501
- changeIsOpen(true);
502
- }
506
+ if (!isOpen && canBeOpenOptions()) changeIsOpen(true);
503
507
  };
504
508
 
505
509
  var closeOptions = function closeOptions() {
506
510
  if (isOpen) {
507
- searchable && changeIsBackgroundValue(false);
508
511
  changeIsOpen(false);
509
512
  changeVisualFocusIndex(-1);
510
513
  }
@@ -544,8 +547,11 @@ var DxcSelect = _react["default"].forwardRef(function (_ref, ref) {
544
547
  };
545
548
 
546
549
  var handleSelectOnClick = function handleSelectOnClick() {
547
- changeVisualFocusIndex(0);
548
- isOpen ? closeOptions() : openOptions();
550
+ if (isOpen) {
551
+ closeOptions();
552
+ setSearchValue("");
553
+ } else openOptions();
554
+
549
555
  searchable && selectSearchInputRef.current.focus();
550
556
  };
551
557
 
@@ -577,8 +583,6 @@ var DxcSelect = _react["default"].forwardRef(function (_ref, ref) {
577
583
  if (visualFocusIndex < lastOptionIndex) return visualFocusIndex + 1;else if (visualFocusIndex === lastOptionIndex) return 0;
578
584
  });
579
585
  openOptions();
580
- changeIsActiveOption(false);
581
- isOpen && changeIsScrollable(true);
582
586
  break;
583
587
 
584
588
  case 38:
@@ -588,8 +592,6 @@ var DxcSelect = _react["default"].forwardRef(function (_ref, ref) {
588
592
  return visualFocusIndex === 0 || visualFocusIndex === -1 ? lastOptionIndex : visualFocusIndex - 1;
589
593
  });
590
594
  openOptions();
591
- changeIsActiveOption(false);
592
- isOpen && changeIsScrollable(true);
593
595
  break;
594
596
 
595
597
  case 27:
@@ -601,7 +603,7 @@ var DxcSelect = _react["default"].forwardRef(function (_ref, ref) {
601
603
 
602
604
  case 13:
603
605
  // Enter
604
- if (isOpen) {
606
+ if (isOpen && visualFocusIndex >= 0) {
605
607
  var accLength = optional && !multiple ? 1 : 0;
606
608
 
607
609
  if (searchable) {
@@ -632,7 +634,7 @@ var DxcSelect = _react["default"].forwardRef(function (_ref, ref) {
632
634
 
633
635
  var handleSearchIOnChange = function handleSearchIOnChange(event) {
634
636
  setSearchValue(event.target.value);
635
- !isOpen && changeVisualFocusIndex(0);
637
+ changeVisualFocusIndex(-1);
636
638
  openOptions();
637
639
  };
638
640
 
@@ -701,36 +703,23 @@ var DxcSelect = _react["default"].forwardRef(function (_ref, ref) {
701
703
  return getSelectedOption();
702
704
  }, [options, multiple, value !== null && value !== void 0 ? value : innerValue]);
703
705
  (0, _react.useLayoutEffect)(function () {
704
- if (isScrollable) {
705
- var _selectOptionsListRef;
706
+ var _selectOptionsListRef;
706
707
 
707
- var visualFocusedOptionEl = selectOptionsListRef === null || selectOptionsListRef === void 0 ? void 0 : (_selectOptionsListRef = selectOptionsListRef.current) === null || _selectOptionsListRef === void 0 ? void 0 : _selectOptionsListRef.querySelectorAll("[role='option']")[visualFocusIndex];
708
- visualFocusedOptionEl === null || visualFocusedOptionEl === void 0 ? void 0 : visualFocusedOptionEl.scrollIntoView({
709
- block: "nearest",
710
- inline: "start"
708
+ var visualFocusedOptionEl = selectOptionsListRef === null || selectOptionsListRef === void 0 ? void 0 : (_selectOptionsListRef = selectOptionsListRef.current) === null || _selectOptionsListRef === void 0 ? void 0 : _selectOptionsListRef.querySelectorAll("[role='option']")[visualFocusIndex];
709
+ visualFocusedOptionEl === null || visualFocusedOptionEl === void 0 ? void 0 : visualFocusedOptionEl.scrollIntoView({
710
+ block: "nearest",
711
+ inline: "start"
712
+ });
713
+ }, [visualFocusIndex]);
714
+ (0, _react.useLayoutEffect)(function () {
715
+ if (isOpen && !multiple) {
716
+ var listEl = selectOptionsListRef === null || selectOptionsListRef === void 0 ? void 0 : selectOptionsListRef.current;
717
+ var selectedListOptionEl = listEl === null || listEl === void 0 ? void 0 : listEl.querySelector("[aria-selected='true']");
718
+ listEl === null || listEl === void 0 ? void 0 : listEl.scrollTo({
719
+ top: (selectedListOptionEl === null || selectedListOptionEl === void 0 ? void 0 : selectedListOptionEl.offsetTop) - (listEl === null || listEl === void 0 ? void 0 : listEl.clientHeight) / 2
711
720
  });
712
- return changeIsScrollable(false);
713
- }
714
- }, [isScrollable]);
715
- (0, _react.useEffect)(function () {
716
- if (searchable && (options === null || options === void 0 ? void 0 : options.length) > 0) {
717
- if (options[0].options) {
718
- setFilteredOptions(options.map(function (optionGroup) {
719
- var group = JSON.parse(JSON.stringify(optionGroup)); // circular issue
720
-
721
- group.options = group.options.filter(function (option) {
722
- return option.label.toUpperCase().includes(searchValue.toUpperCase());
723
- });
724
- return group;
725
- }));
726
- } else setFilteredOptions(options.filter(function (option) {
727
- return option.label.toUpperCase().includes(searchValue.toUpperCase());
728
- }));
729
721
  }
730
- }, [options, searchable, searchValue]);
731
- (0, _react.useEffect)(function () {
732
- visualFocusIndex > lastOptionIndex && changeVisualFocusIndex(0);
733
- }, [filteredOptions]);
722
+ }, [isOpen]);
734
723
 
735
724
  var Option = function Option(_ref2) {
736
725
  var option = _ref2.option,
@@ -740,33 +729,19 @@ var DxcSelect = _react["default"].forwardRef(function (_ref, ref) {
740
729
  var isSelected = multiple ? (value !== null && value !== void 0 ? value : innerValue).includes(option.value) : (value !== null && value !== void 0 ? value : innerValue) === option.value;
741
730
  var isLastOption = index === lastOptionIndex;
742
731
  return _react["default"].createElement(OptionItem, {
743
- onMouseDown: function onMouseDown(event) {
732
+ id: "option-".concat(index),
733
+ onClick: function onClick(event) {
744
734
  // left mouse button only
745
- event.button === 0 && changeIsActiveOption(true);
746
- },
747
- onMouseUp: function onMouseUp(event) {
748
- if (event.button === 0 && isActiveOption) {
749
- // left mouse button only
750
- handleSelectChangeValue(option);
751
- !multiple && closeOptions();
752
- setSearchValue("");
753
- changeIsActiveOption(false);
754
- }
755
- },
756
- onMouseEnter: function onMouseEnter() {
757
- changeVisualFocusIndex(index);
758
- },
759
- onMouseLeave: function onMouseLeave() {
760
- changeIsActiveOption(false);
735
+ handleSelectChangeValue(option);
736
+ !multiple && closeOptions();
737
+ setSearchValue("");
761
738
  },
762
739
  visualFocused: visualFocusIndex === index,
763
- active: visualFocusIndex === index && isActiveOption,
764
740
  selected: isSelected,
765
- "aria-selected": isSelected && "true",
766
- role: "option"
741
+ role: "option",
742
+ "aria-selected": isSelected && "true"
767
743
  }, _react["default"].createElement(StyledOption, {
768
744
  visualFocused: visualFocusIndex === index,
769
- active: visualFocusIndex === index && isActiveOption,
770
745
  selected: isSelected,
771
746
  last: isLastOption,
772
747
  grouped: isGroupedOption,
@@ -774,27 +749,33 @@ var DxcSelect = _react["default"].forwardRef(function (_ref, ref) {
774
749
  }, multiple && _react["default"].createElement(_Checkbox["default"], {
775
750
  tabIndex: -1,
776
751
  checked: isSelected
777
- }), option.icon && _react["default"].createElement(OptionIcon, null, typeof option.icon === "string" ? _react["default"].createElement(OptionIconImg, {
752
+ }), option.icon && _react["default"].createElement(OptionIcon, {
753
+ selected: isSelected
754
+ }, typeof option.icon === "string" ? _react["default"].createElement(OptionIconImg, {
778
755
  src: option.icon
779
756
  }) : option.icon), _react["default"].createElement(OptionContent, {
780
757
  grouped: isGroupedOption,
781
758
  hasIcon: option.icon,
782
759
  multiple: multiple
783
- }, _react["default"].createElement(OptionLabel, null, option.label), !multiple && isSelected && _react["default"].createElement(SelectedIcon, null, selectIcons.selected))));
760
+ }, _react["default"].createElement(OptionLabel, null, option.label), !multiple && isSelected && _react["default"].createElement(OptionSelectedIndicator, null, selectIcons.selected))));
784
761
  };
785
762
 
786
763
  var global_index = optional && !multiple ? 0 : -1; // index for options (not groups), starting from 0 to options.length -1
787
764
 
788
765
  var mapOptionFunc = function mapOptionFunc(option) {
789
766
  if (option.options) {
790
- return _react["default"].createElement(_react["default"].Fragment, null, option.options.length > 0 && _react["default"].createElement(OptionGroupLabel, null, option.label), option.options.map(function (singleOption) {
767
+ return option.options.length > 0 && _react["default"].createElement("li", null, _react["default"].createElement(GroupList, {
768
+ role: "group"
769
+ }, _react["default"].createElement(GroupLabel, {
770
+ role: "presentation"
771
+ }, option.label), option.options.map(function (singleOption) {
791
772
  global_index++;
792
773
  return _react["default"].createElement(Option, {
793
774
  option: singleOption,
794
775
  index: global_index,
795
776
  isGroupedOption: true
796
777
  });
797
- }));
778
+ })));
798
779
  } else {
799
780
  global_index++;
800
781
  return _react["default"].createElement(Option, {
@@ -806,23 +787,20 @@ var DxcSelect = _react["default"].forwardRef(function (_ref, ref) {
806
787
 
807
788
  return _react["default"].createElement(_styledComponents.ThemeProvider, {
808
789
  theme: colorsTheme.select
809
- }, _react["default"].createElement(DxcSelectContainer, {
790
+ }, _react["default"].createElement(SelectContainer, {
810
791
  margin: margin,
811
792
  size: size,
812
793
  ref: ref
813
794
  }, _react["default"].createElement(Label, {
814
795
  id: selectLabelId,
815
796
  disabled: disabled,
816
- backgroundType: backgroundType,
817
797
  onClick: function onClick() {
818
798
  selectContainerRef.current.focus();
819
799
  }
820
800
  }, label, " ", optional && _react["default"].createElement(OptionalLabel, null, "(Optional)")), _react["default"].createElement(HelperText, {
821
- disabled: disabled,
822
- backgroundType: backgroundType
823
- }, helperText), _react["default"].createElement(SelectContainer, {
801
+ disabled: disabled
802
+ }, helperText), _react["default"].createElement(Select, {
824
803
  id: selectId,
825
- backgroundType: backgroundType,
826
804
  disabled: disabled,
827
805
  error: error,
828
806
  onBlur: handleSelectOnBlur,
@@ -831,16 +809,25 @@ var DxcSelect = _react["default"].forwardRef(function (_ref, ref) {
831
809
  onKeyDown: handleSelectOnKeyDown,
832
810
  ref: selectContainerRef,
833
811
  tabIndex: tabIndex,
834
- "aria-labelledby": selectLabelId
835
- }, multiple && selectedOption.length > 0 && _react["default"].createElement(SelectionIndicator, null, _react["default"].createElement(SelectionValue, null, selectedOption.length, " "), _react["default"].createElement(ClearOptionsAction, {
812
+ role: "combobox",
813
+ "aria-controls": optionsListId,
814
+ "aria-expanded": isOpen ? "true" : "false",
815
+ "aria-haspopup": "listbox",
816
+ "aria-labelledby": selectLabelId,
817
+ "aria-activedescendant": visualFocusIndex >= 0 && "option-".concat(visualFocusIndex),
818
+ "aria-invalid": error ? "true" : "false",
819
+ "aria-required": optional ? "false" : "true"
820
+ }, multiple && selectedOption.length > 0 && _react["default"].createElement(SelectionIndicator, null, _react["default"].createElement(SelectionNumber, {
821
+ disabled: disabled
822
+ }, selectedOption.length, " "), _react["default"].createElement(ClearOptionsAction, {
823
+ disabled: disabled,
836
824
  onClick: handleClearOptionsActionOnClick,
837
- backgroundType: backgroundType,
838
825
  tabIndex: -1,
839
826
  title: "Clear selected options",
840
827
  "aria-label": "Clear selected options"
841
828
  }, selectIcons.clear)), _react["default"].createElement(SearchableValueContainer, null, _react["default"].createElement(ValueInput, {
842
829
  name: name,
843
- value: value !== null && value !== void 0 ? value : innerValue,
830
+ value: multiple ? (value !== null && value !== void 0 ? value : innerValue).join(", ") : value !== null && value !== void 0 ? value : innerValue,
844
831
  readOnly: true
845
832
  }), searchable && _react["default"].createElement(SearchInput, {
846
833
  value: searchValue,
@@ -851,24 +838,21 @@ var DxcSelect = _react["default"].forwardRef(function (_ref, ref) {
851
838
  autoCorrect: "off"
852
839
  }), (!searchable || searchValue === "") && (multiple ? _react["default"].createElement(SelectedOption, {
853
840
  disabled: disabled,
854
- backgroundValue: (value !== null && value !== void 0 ? value : innerValue).length === 0 || isBackgroundValue
841
+ atBackground: (value !== null && value !== void 0 ? value : innerValue).length === 0 || isOpen
855
842
  }, _react["default"].createElement(OptionLabel, null, selectedOption.map(function (option) {
856
843
  return option.label;
857
844
  }).join(", ")), selectedOption.length === 0 && placeholder) : _react["default"].createElement(SelectedOption, {
858
845
  disabled: disabled,
859
- backgroundValue: !(value !== null && value !== void 0 ? value : innerValue) || isBackgroundValue
860
- }, _react["default"].createElement(OptionLabel, null, (_ref3 = selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.label) !== null && _ref3 !== void 0 ? _ref3 : placeholder)))), !disabled && error && _react["default"].createElement(ErrorIcon, {
861
- backgroundType: backgroundType
862
- }, selectIcons.error), searchable && searchValue.length > 0 && _react["default"].createElement(ClearAction, {
846
+ atBackground: !(value !== null && value !== void 0 ? value : innerValue) || isOpen
847
+ }, _react["default"].createElement(OptionLabel, null, (_ref3 = selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.label) !== null && _ref3 !== void 0 ? _ref3 : placeholder)))), !disabled && error && _react["default"].createElement(ErrorIcon, null, selectIcons.error), searchable && searchValue.length > 0 && _react["default"].createElement(ClearAction, {
863
848
  onClick: handleClearActionOnClick,
864
- backgroundType: backgroundType,
865
849
  tabIndex: -1,
866
850
  title: "Clear search text",
867
851
  "aria-label": "Clear search text"
868
- }, selectIcons.clear), _react["default"].createElement(Arrow, {
869
- disabled: disabled,
870
- backgroundType: backgroundType
852
+ }, selectIcons.clear), _react["default"].createElement(CollapseIndicator, {
853
+ disabled: disabled
871
854
  }, isOpen ? selectIcons.arrowUp : selectIcons.arrowDown), isOpen && _react["default"].createElement(OptionsList, {
855
+ id: optionsListId,
872
856
  onClick: function onClick(event) {
873
857
  event.stopPropagation();
874
858
  },
@@ -877,13 +861,12 @@ var DxcSelect = _react["default"].forwardRef(function (_ref, ref) {
877
861
  },
878
862
  ref: selectOptionsListRef,
879
863
  role: "listbox",
880
- "aria-label": label
864
+ "aria-labelledby": selectLabelId,
865
+ "aria-multiselectable": multiple ? "true" : "false"
881
866
  }, searchable && (filteredOptions.length === 0 || !filteredGroupsHaveOptions()) ? _react["default"].createElement(OptionsSystemMessage, null, _react["default"].createElement(NoMatchesFoundIcon, null, selectIcons.searchOff), "No matches found") : optional && !multiple && _react["default"].createElement(Option, {
882
867
  option: optionalEmptyOption,
883
868
  index: 0
884
- }), searchable ? filteredOptions.map(mapOptionFunc) : options.map(mapOptionFunc))), !disabled && _react["default"].createElement(Error, {
885
- backgroundType: backgroundType
886
- }, error)));
869
+ }), searchable ? filteredOptions.map(mapOptionFunc) : options.map(mapOptionFunc))), !disabled && _react["default"].createElement(Error, null, error)));
887
870
  });
888
871
 
889
872
  var sizes = {
@@ -897,7 +880,7 @@ var calculateWidth = function calculateWidth(margin, size) {
897
880
  return size === "fillParent" ? "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")") : sizes[size];
898
881
  };
899
882
 
900
- var DxcSelectContainer = _styledComponents["default"].div(_templateObject(), function (props) {
883
+ var SelectContainer = _styledComponents["default"].div(_templateObject(), function (props) {
901
884
  return calculateWidth(props.margin, props.size);
902
885
  }, function (props) {
903
886
  return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
@@ -912,7 +895,7 @@ var DxcSelectContainer = _styledComponents["default"].div(_templateObject(), fun
912
895
  });
913
896
 
914
897
  var Label = _styledComponents["default"].span(_templateObject2(), function (props) {
915
- return props.disabled ? props.backgroundType === "dark" ? props.theme.disabledLabelFontColorOnDark : props.theme.disabledLabelFontColor : props.backgroundType === "dark" ? props.theme.labelFontColorOnDark : props.theme.labelFontColor;
898
+ return props.disabled ? props.theme.disabledColor : props.theme.labelFontColor;
916
899
  }, function (props) {
917
900
  return props.theme.fontFamily;
918
901
  }, function (props) {
@@ -921,6 +904,8 @@ var Label = _styledComponents["default"].span(_templateObject2(), function (prop
921
904
  return props.theme.labelFontStyle;
922
905
  }, function (props) {
923
906
  return props.theme.labelFontWeight;
907
+ }, function (props) {
908
+ return props.theme.labelLineHeight;
924
909
  });
925
910
 
926
911
  var OptionalLabel = _styledComponents["default"].span(_templateObject3(), function (props) {
@@ -928,7 +913,7 @@ var OptionalLabel = _styledComponents["default"].span(_templateObject3(), functi
928
913
  });
929
914
 
930
915
  var HelperText = _styledComponents["default"].span(_templateObject4(), function (props) {
931
- return props.disabled ? props.backgroundType === "dark" ? props.theme.disabledHelperTextFontColorOnDark : props.theme.disabledHelperTextFontColor : props.backgroundType === "dark" ? props.theme.helperTextFontColorOnDark : props.theme.helperTextFontColor;
916
+ return props.disabled ? props.theme.disabledColor : props.theme.helperTextFontColor;
932
917
  }, function (props) {
933
918
  return props.theme.fontFamily;
934
919
  }, function (props) {
@@ -937,50 +922,58 @@ var HelperText = _styledComponents["default"].span(_templateObject4(), function
937
922
  return props.theme.helperTextFontStyle;
938
923
  }, function (props) {
939
924
  return props.theme.helperTextFontWeight;
925
+ }, function (props) {
926
+ return props.theme.helperTextLineHeight;
940
927
  });
941
928
 
942
- var SelectContainer = _styledComponents["default"].div(_templateObject5(), function (props) {
943
- if (props.disabled) return props.backgroundType === "dark" ? "background-color: ".concat(props.theme.disabledContainerFillColorOnDark, ";") : "background-color: ".concat(props.theme.disabledContainerFillColor, ";");
929
+ var Select = _styledComponents["default"].div(_templateObject5(), function (props) {
930
+ return props.disabled ? props.theme.disabledInputBorderColor : props.theme.enabledInputBorderColor;
944
931
  }, function (props) {
945
- if (props.disabled) return props.backgroundType === "dark" ? props.theme.disabledBorderColorOnDark : props.theme.disabledBorderColor;else return props.backgroundType === "dark" ? props.theme.enabledBorderColorOnDark : props.theme.enabledBorderColor;
946
- }, function (props) {
947
- return props.error && !props.disabled && "border-color: transparent;\n box-shadow: 0 0 0 2px ".concat(props.backgroundType === "dark" ? props.theme.errorBorderColorOnDark : props.theme.errorBorderColor, ";\n ");
932
+ return props.error && !props.disabled && "border-color: transparent;\n box-shadow: 0 0 0 2px ".concat(props.theme.errorInputBorderColor, ";\n ");
948
933
  }, function (props) {
949
934
  return props.disabled ? "cursor: not-allowed;" : "cursor: pointer;";
950
935
  }, function (props) {
951
- return !props.disabled && "\n &:hover {\n border-color: ".concat(props.error ? "transparent" : props.backgroundType === "dark" ? props.theme.hoverBorderColorOnDark : props.theme.hoverBorderColor, ";\n ").concat(props.error && "box-shadow: 0 0 0 2px ".concat(props.backgroundType === "dark" ? props.theme.hoverErrorBorderColorOnDark : props.theme.hoverErrorBorderColor, ";"), "\n }\n &:focus-within {\n border-color: transparent;\n box-shadow: 0 0 0 2px ").concat(props.backgroundType === "dark" ? props.theme.focusBorderColorOnDark : props.theme.focusBorderColor, ";\n }\n ");
936
+ return !props.disabled && "\n &:hover {\n border-color: ".concat(props.error ? "transparent" : props.theme.hoverInputBorderColor, ";\n ").concat(props.error && "box-shadow: 0 0 0 2px ".concat(props.theme.hoverInputErrorBorderColor, ";"), "\n }\n &:focus-within {\n border-color: transparent;\n box-shadow: 0 0 0 2px ").concat(props.theme.focusInputBorderColor, ";\n }\n ");
952
937
  });
953
938
 
954
939
  var SelectionIndicator = _styledComponents["default"].span(_templateObject6(), function (props) {
955
940
  return props.theme.selectionIndicatorBorderColor;
956
941
  });
957
942
 
958
- var ClearOptionsAction = _styledComponents["default"].button(_templateObject7(), function (props) {
943
+ var SelectionNumber = _styledComponents["default"].span(_templateObject7(), function (props) {
944
+ return props.theme.selectionIndicatorBackgroundColor;
945
+ }, function (props) {
946
+ return props.theme.selectionIndicatorBorderColor;
947
+ }, function (props) {
948
+ return props.disabled ? props.theme.disabledColor : props.theme.selectionIndicatorFontColor;
949
+ }, function (props) {
959
950
  return props.theme.fontFamily;
960
951
  }, function (props) {
961
- return props.disabled ? "cursor: not-allowed;" : "cursor: pointer;";
952
+ return props.theme.selectionIndicatorFontSize;
962
953
  }, function (props) {
963
- return props.theme.enabledSelectionIndicatorActionBackgroundColor;
954
+ return props.theme.selectionIndicatorFontStyle;
964
955
  }, function (props) {
965
- return props.theme.enabledSelectionIndicatorActionIconColor;
956
+ return props.theme.selectionIndicatorFontWeight;
966
957
  }, function (props) {
967
- return !props.disabled && "\n &:hover {\n background-color: ".concat(props.theme.hoverSelectionIndicatorActionBackgroundColor, ";\n color: ").concat(props.theme.hoverSelectionIndicatorActionIconColor, ";\n }\n &:active {\n background-color: ").concat(props.theme.activeSelectionIndicatorActionBackgroundColor, ";\n color: ").concat(props.theme.activeSelectionIndicatorActionIconColor, ";\n }\n ");
958
+ return props.disabled ? "cursor: not-allowed;" : "cursor: default;";
968
959
  });
969
960
 
970
- var SelectionValue = _styledComponents["default"].span(_templateObject8(), function (props) {
971
- return props.theme.selectionIndicatorBackgroundColor;
961
+ var ClearOptionsAction = _styledComponents["default"].button(_templateObject8(), function (props) {
962
+ return props.theme.fontFamily;
972
963
  }, function (props) {
973
- return props.theme.selectionIndicatorBorderColor;
964
+ return props.disabled ? "cursor: not-allowed;" : "cursor: pointer;";
974
965
  }, function (props) {
975
- return props.theme.fontFamily;
966
+ return props.theme.enabledSelectionIndicatorActionBackgroundColor;
976
967
  }, function (props) {
977
- return props.disabled ? "cursor: not-allowed;" : "cursor: default;";
968
+ return props.disabled ? props.theme.disabledColor : props.theme.enabledSelectionIndicatorActionIconColor;
969
+ }, function (props) {
970
+ return !props.disabled && "\n &:hover {\n background-color: ".concat(props.theme.hoverSelectionIndicatorActionBackgroundColor, ";\n color: ").concat(props.theme.hoverSelectionIndicatorActionIconColor, ";\n }\n &:active {\n background-color: ").concat(props.theme.activeSelectionIndicatorActionBackgroundColor, ";\n color: ").concat(props.theme.activeSelectionIndicatorActionIconColor, ";\n }\n ");
978
971
  });
979
972
 
980
973
  var SearchableValueContainer = _styledComponents["default"].div(_templateObject9());
981
974
 
982
975
  var SelectedOption = _styledComponents["default"].span(_templateObject10(), function (props) {
983
- if (props.backgroundValue) return props.disabled ? props.backgroundType === "dark" ? props.theme.disabledPlaceholderFontColorOnDark : props.theme.disabledPlaceholderFontColor : props.backgroundType === "dark" ? props.theme.placeholderFontColorOnDark : props.theme.placeholderFontColor;else return props.disabled ? props.backgroundType === "dark" ? props.theme.disabledValueFontColorOnDark : props.theme.disabledValueFontColor : props.backgroundType === "dark" ? props.theme.valueFontColorOnDark : props.theme.valueFontColor;
976
+ if (props.disabled) return props.theme.disabledColor;else if (props.atBackground) return props.theme.placeholderFontColor;else return props.theme.valueFontColor;
984
977
  }, function (props) {
985
978
  return props.theme.fontFamily;
986
979
  }, function (props) {
@@ -994,7 +987,7 @@ var SelectedOption = _styledComponents["default"].span(_templateObject10(), func
994
987
  var ValueInput = _styledComponents["default"].input(_templateObject11());
995
988
 
996
989
  var SearchInput = _styledComponents["default"].input(_templateObject12(), function (props) {
997
- return props.disabled ? props.backgroundType === "dark" ? props.theme.disabledValueFontColorOnDark : props.theme.disabledValueFontColor : props.backgroundType === "dark" ? props.theme.valueFontColorOnDark : props.theme.valueFontColor;
990
+ return props.disabled ? props.theme.disabledColor : props.theme.valueFontColor;
998
991
  }, function (props) {
999
992
  return props.theme.fontFamily;
1000
993
  }, function (props) {
@@ -1003,22 +996,28 @@ var SearchInput = _styledComponents["default"].input(_templateObject12(), functi
1003
996
  return props.theme.valueFontStyle;
1004
997
  }, function (props) {
1005
998
  return props.theme.valueFontWeight;
1006
- }, function (props) {
1007
- return props.disabled ? props.backgroundType === "dark" ? props.theme.disabledPlaceholderFontColorOnDark : props.theme.disabledPlaceholderFontColor : props.backgroundType === "dark" ? props.theme.placeholderFontColorOnDark : props.theme.placeholderFontColor;
1008
999
  });
1009
1000
 
1010
1001
  var ErrorIcon = _styledComponents["default"].span(_templateObject13(), function (props) {
1011
- return props.backgroundType === "dark" ? props.theme.errorIconColorOnDark : props.theme.errorIconColor;
1002
+ return props.theme.errorColor;
1012
1003
  });
1013
1004
 
1014
1005
  var Error = _styledComponents["default"].span(_templateObject14(), function (props) {
1015
- return props.backgroundType === "dark" ? props.theme.errorMessageColorOnDark : props.theme.errorMessageColor;
1006
+ return props.theme.errorColor;
1016
1007
  }, function (props) {
1017
1008
  return props.theme.fontFamily;
1009
+ }, function (props) {
1010
+ return props.theme.errorMessageFontSize;
1011
+ }, function (props) {
1012
+ return props.theme.errorMessagetFontStyle;
1013
+ }, function (props) {
1014
+ return props.theme.errorMessageFontWeight;
1015
+ }, function (props) {
1016
+ return props.theme.errorMessagetLineHeight;
1018
1017
  });
1019
1018
 
1020
- var Arrow = _styledComponents["default"].span(_templateObject15(), function (props) {
1021
- return props.disabled ? props.backgroundType === "dark" ? props.theme.disabledArrowColorOnDark : props.theme.disabledArrowColor : props.backgroundType === "dark" ? props.theme.arrowColorOnDark : props.theme.arrowColor;
1019
+ var CollapseIndicator = _styledComponents["default"].span(_templateObject15(), function (props) {
1020
+ return props.disabled ? props.theme.disabledColor : props.theme.collapseIndicatorColor;
1022
1021
  });
1023
1022
 
1024
1023
  var ClearAction = _styledComponents["default"].button(_templateObject16(), function (props) {
@@ -1026,25 +1025,27 @@ var ClearAction = _styledComponents["default"].button(_templateObject16(), funct
1026
1025
  }, function (props) {
1027
1026
  return props.disabled ? "cursor: not-allowed;" : "cursor: pointer;";
1028
1027
  }, function (props) {
1029
- return props.disabled ? props.backgroundType === "dark" ? props.theme.disabledActionBackgroundColorOnDark : props.theme.disabledActionBackgroundColor : props.backgroundType === "dark" ? props.theme.actionBackgroundColorOnDark : props.theme.actionBackgroundColor;
1028
+ return props.disabled ? props.theme.disabledActionBackgroundColor : props.theme.actionBackgroundColor;
1030
1029
  }, function (props) {
1031
- return props.disabled ? props.backgroundType === "dark" ? props.theme.disabledActionIconColorOnDark : props.theme.disabledActionIconColor : props.backgroundType === "dark" ? props.theme.actionIconColorOnDark : props.theme.actionIconColor;
1030
+ return props.disabled ? props.theme.disabledColor : props.theme.actionIconColor;
1032
1031
  }, function (props) {
1033
- return !props.disabled && "\n &:hover {\n background-color: ".concat(props.backgroundType === "dark" ? props.theme.hoverActionBackgroundColorOnDark : props.theme.hoverActionBackgroundColor, ";\n color: ").concat(props.backgroundType === "dark" ? props.theme.hoverActionIconColorOnDark : props.theme.hoverActionIconColor, ";\n }\n &:active {\n background-color: ").concat(props.backgroundType === "dark" ? props.theme.activeActionBackgroundColorOnDark : props.theme.activeActionBackgroundColor, ";\n color: ").concat(props.backgroundType === "dark" ? props.theme.activeActionIconColorOnDark : props.theme.activeActionIconColor, ";\n }\n ");
1032
+ return !props.disabled && "\n &:hover {\n background-color: ".concat(props.theme.hoverActionBackgroundColor, ";\n color: ").concat(props.theme.hoverActionIconColor, ";\n }\n &:active {\n background-color: ").concat(props.theme.activeActionBackgroundColor, ";\n color: ").concat(props.theme.activeActionIconColor, ";\n }\n ");
1034
1033
  });
1035
1034
 
1036
1035
  var OptionsList = _styledComponents["default"].ul(_templateObject17(), function (props) {
1037
- return props.theme.enabledListBorderColor;
1036
+ return props.theme.itemListBackgroundColor;
1038
1037
  }, function (props) {
1039
- return props.theme.fontFamily;
1038
+ return props.theme.itemListBorderColor;
1040
1039
  }, function (props) {
1041
- return props.theme.listOptionFontColor;
1040
+ return props.theme.listItemFontColor;
1042
1041
  }, function (props) {
1043
- return props.theme.listOptionFontSize;
1042
+ return props.theme.fontFamily;
1043
+ }, function (props) {
1044
+ return props.theme.listItemFontSize;
1044
1045
  }, function (props) {
1045
- return props.theme.listOptionFontStyle;
1046
+ return props.theme.listItemFontStyle;
1046
1047
  }, function (props) {
1047
- return props.theme.listOptionFontWeight;
1048
+ return props.theme.listItemFontWeight;
1048
1049
  });
1049
1050
 
1050
1051
  var OptionsSystemMessage = _styledComponents["default"].span(_templateObject18(), function (props) {
@@ -1053,33 +1054,43 @@ var OptionsSystemMessage = _styledComponents["default"].span(_templateObject18()
1053
1054
 
1054
1055
  var NoMatchesFoundIcon = _styledComponents["default"].span(_templateObject19());
1055
1056
 
1056
- var OptionGroupLabel = _styledComponents["default"].li(_templateObject20());
1057
+ var GroupList = _styledComponents["default"].ul(_templateObject20());
1057
1058
 
1058
- var OptionItem = _styledComponents["default"].li(_templateObject21(), function (props) {
1059
- if (props.selected) {
1060
- if (props.active) return "background-color: #BFBFBF";else if (props.visualFocused) return "background-color: #CCCCCC";else return "background-color: ".concat(props.theme.selectedListOptionBackgroundColor);
1061
- } else {
1062
- if (props.active) return "background-color: ".concat(props.theme.activeListOptionBackgroundColor, ";");else if (props.visualFocused) return "background-color: ".concat(props.theme.hoverListOptionBackgroundColor, ";");
1063
- }
1059
+ var GroupLabel = _styledComponents["default"].li(_templateObject21(), function (props) {
1060
+ return props.theme.listGroupItemFontWeight;
1061
+ });
1062
+
1063
+ var OptionItem = _styledComponents["default"].li(_templateObject22(), function (props) {
1064
+ return props.visualFocused && "box-shadow: inset 0 0 0 2px ".concat(props.theme.focusListItemBorderColor, ";");
1065
+ }, function (props) {
1066
+ return props.selected && "background-color: ".concat(props.theme.selectedListItemBackgroundColor);
1067
+ }, function (props) {
1068
+ return props.selected ? "background-color: ".concat(props.theme.selectedHoverListItemBackgroundColor, ";") : "background-color: ".concat(props.theme.unselectedHoverListItemBackgroundColor, ";");
1069
+ }, function (props) {
1070
+ return props.selected ? "background-color: ".concat(props.theme.selectedActiveListItemBackgroundColor, ";") : "background-color: ".concat(props.theme.unselectedActiveListItemBackgroundColor, ";");
1064
1071
  });
1065
1072
 
1066
- var StyledOption = _styledComponents["default"].span(_templateObject22(), function (props) {
1073
+ var StyledOption = _styledComponents["default"].span(_templateObject23(), function (props) {
1067
1074
  return props.grouped && props.multiple && "padding-left: 16px;";
1068
1075
  }, function (props) {
1069
- return props.last ? "border-bottom: 1px solid transparent" : "border-bottom: 1px solid ".concat(props.theme.listOptionBorderBottomColor);
1076
+ return props.last || props.visualFocused || props.selected ? "border-bottom: 1px solid transparent" : "border-bottom: 1px solid ".concat(props.theme.listItemDividerColor);
1070
1077
  });
1071
1078
 
1072
- var OptionContent = _styledComponents["default"].span(_templateObject23(), function (props) {
1079
+ var OptionContent = _styledComponents["default"].span(_templateObject24(), function (props) {
1073
1080
  return props.grouped && !props.multiple && !props.hasIcon && "padding-left: 16px;";
1074
1081
  });
1075
1082
 
1076
- var OptionIcon = _styledComponents["default"].span(_templateObject24());
1083
+ var OptionIcon = _styledComponents["default"].span(_templateObject25(), function (props) {
1084
+ return props.theme.listItemIconColor;
1085
+ });
1077
1086
 
1078
- var OptionIconImg = _styledComponents["default"].img(_templateObject25());
1087
+ var OptionIconImg = _styledComponents["default"].img(_templateObject26());
1079
1088
 
1080
- var OptionLabel = _styledComponents["default"].span(_templateObject26());
1089
+ var OptionLabel = _styledComponents["default"].span(_templateObject27());
1081
1090
 
1082
- var SelectedIcon = _styledComponents["default"].span(_templateObject27());
1091
+ var OptionSelectedIndicator = _styledComponents["default"].span(_templateObject28(), function (props) {
1092
+ return props.theme.selectedListItemIconColor;
1093
+ });
1083
1094
 
1084
1095
  var _default = DxcSelect;
1085
1096
  exports["default"] = _default;