@dxc-technology/halstack-react 0.0.0-f23c298 → 0.0.0-f4bae62

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 (151) hide show
  1. package/README.md +1 -1
  2. package/dist/BackgroundColorContext.js +46 -0
  3. package/dist/ThemeContext.js +205 -137
  4. package/dist/V3Textarea/V3Textarea.js +264 -0
  5. package/dist/accordion/Accordion.js +131 -46
  6. package/dist/accordion-group/AccordionGroup.js +34 -4
  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 +92 -32
  15. package/dist/common/utils.js +2 -22
  16. package/dist/common/variables.js +1399 -181
  17. package/dist/date/Date.js +70 -43
  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 +89 -34
  26. package/dist/footer/Icons.js +77 -0
  27. package/dist/header/Header.js +152 -86
  28. package/dist/header/Icons.js +59 -0
  29. package/dist/heading/Heading.js +81 -16
  30. package/dist/input-text/Icons.js +22 -0
  31. package/dist/input-text/InputText.js +249 -105
  32. package/dist/layout/ApplicationLayout.js +15 -18
  33. package/dist/layout/Icons.js +55 -0
  34. package/dist/link/Link.js +84 -34
  35. package/dist/main.d.ts +8 -0
  36. package/dist/main.js +71 -7
  37. package/dist/new-select/NewSelect.js +836 -0
  38. package/dist/new-select/index.d.ts +53 -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/Icons.js +66 -0
  43. package/dist/paginator/Paginator.js +65 -29
  44. package/dist/password-input/PasswordInput.js +198 -0
  45. package/dist/password-input/index.d.ts +94 -0
  46. package/dist/progress-bar/ProgressBar.js +91 -33
  47. package/dist/radio/Radio.js +30 -11
  48. package/dist/resultsetTable/ResultsetTable.js +76 -44
  49. package/dist/select/Select.js +221 -147
  50. package/dist/sidenav/Sidenav.js +64 -8
  51. package/dist/slider/Slider.js +212 -65
  52. package/dist/spinner/Spinner.js +247 -56
  53. package/dist/switch/Switch.js +51 -19
  54. package/dist/table/Table.js +47 -5
  55. package/dist/tabs/Tabs.js +57 -16
  56. package/dist/tag/Tag.js +68 -35
  57. package/dist/text-input/TextInput.js +971 -0
  58. package/dist/text-input/index.d.ts +135 -0
  59. package/dist/textarea/Textarea.js +246 -97
  60. package/dist/textarea/index.d.ts +117 -0
  61. package/dist/toggle/Toggle.js +16 -19
  62. package/dist/toggle-group/ToggleGroup.js +149 -31
  63. package/dist/upload/Upload.js +16 -11
  64. package/dist/upload/buttons-upload/ButtonsUpload.js +31 -14
  65. package/dist/upload/dragAndDropArea/DragAndDropArea.js +78 -28
  66. package/dist/upload/file-upload/FileToUpload.js +50 -24
  67. package/dist/upload/files-upload/FilesToUpload.js +16 -16
  68. package/dist/upload/readme.md +2 -2
  69. package/dist/upload/transaction/Transaction.js +44 -24
  70. package/dist/upload/transactions/Transactions.js +38 -20
  71. package/dist/wizard/Icons.js +65 -0
  72. package/dist/wizard/Wizard.js +126 -46
  73. package/package.json +6 -4
  74. package/test/AccordionGroup.test.js +16 -0
  75. package/test/Date.test.js +49 -45
  76. package/test/DateInput.test.js +242 -0
  77. package/test/Dropdown.test.js +15 -0
  78. package/test/FileInput.test.js +201 -0
  79. package/test/Footer.test.js +2 -7
  80. package/test/Header.test.js +5 -10
  81. package/test/InputText.test.js +24 -16
  82. package/test/Link.test.js +3 -2
  83. package/test/NumberInput.test.js +259 -0
  84. package/test/Paginator.test.js +1 -1
  85. package/test/PasswordInput.test.js +83 -0
  86. package/test/ResultsetTable.test.js +1 -2
  87. package/test/Select.test.js +44 -24
  88. package/test/Slider.test.js +9 -17
  89. package/test/Spinner.test.js +5 -0
  90. package/test/TextInput.test.js +732 -0
  91. package/test/Textarea.test.js +193 -0
  92. package/test/ToggleGroup.test.js +5 -1
  93. package/test/Upload.test.js +5 -5
  94. package/test/{TextArea.test.js → V3TextArea.test.js} +6 -7
  95. package/dist/accordion/Accordion.stories.js +0 -207
  96. package/dist/accordion/readme.md +0 -96
  97. package/dist/accordion-group/AccordionGroup.stories.js +0 -207
  98. package/dist/accordion-group/readme.md +0 -70
  99. package/dist/alert/Alert.stories.js +0 -158
  100. package/dist/alert/close.svg +0 -4
  101. package/dist/alert/error.svg +0 -4
  102. package/dist/alert/info.svg +0 -4
  103. package/dist/alert/readme.md +0 -43
  104. package/dist/alert/success.svg +0 -4
  105. package/dist/alert/warning.svg +0 -4
  106. package/dist/button/Button.stories.js +0 -224
  107. package/dist/button/readme.md +0 -93
  108. package/dist/common/services/example-service.js +0 -10
  109. package/dist/common/services/example-service.test.js +0 -12
  110. package/dist/date/calendar.svg +0 -1
  111. package/dist/date/calendar_dark.svg +0 -1
  112. package/dist/dialog/Dialog.stories.js +0 -217
  113. package/dist/dialog/readme.md +0 -32
  114. package/dist/dropdown/Dropdown.stories.js +0 -249
  115. package/dist/dropdown/baseline-arrow_drop_down.svg +0 -1
  116. package/dist/dropdown/baseline-arrow_drop_down_wh.svg +0 -4
  117. package/dist/dropdown/baseline-arrow_drop_up.svg +0 -1
  118. package/dist/dropdown/baseline-arrow_drop_up_wh.svg +0 -4
  119. package/dist/dropdown/readme.md +0 -69
  120. package/dist/footer/Footer.stories.js +0 -94
  121. package/dist/footer/dxc_logo_wht.png +0 -0
  122. package/dist/footer/readme.md +0 -41
  123. package/dist/header/Header.stories.js +0 -176
  124. package/dist/header/close_icon.svg +0 -1
  125. package/dist/header/dxc_logo_black.png +0 -0
  126. package/dist/header/dxc_logo_blk_rgb.svg +0 -6
  127. package/dist/header/dxc_logo_white.png +0 -0
  128. package/dist/header/hamb_menu_black.svg +0 -1
  129. package/dist/header/hamb_menu_white.svg +0 -1
  130. package/dist/header/readme.md +0 -33
  131. package/dist/input-text/InputText.stories.js +0 -209
  132. package/dist/input-text/error.svg +0 -1
  133. package/dist/input-text/readme.md +0 -91
  134. package/dist/layout/facebook.svg +0 -45
  135. package/dist/layout/linkedin.svg +0 -50
  136. package/dist/layout/twitter.svg +0 -53
  137. package/dist/paginator/images/next.svg +0 -3
  138. package/dist/paginator/images/nextPage.svg +0 -3
  139. package/dist/paginator/images/previous.svg +0 -3
  140. package/dist/paginator/images/previousPage.svg +0 -3
  141. package/dist/paginator/readme.md +0 -50
  142. package/dist/resultsetTable/arrow_downward-24px_wht.svg +0 -1
  143. package/dist/resultsetTable/arrow_upward-24px_wht.svg +0 -1
  144. package/dist/resultsetTable/unfold_more-24px_wht.svg +0 -1
  145. package/dist/select/Select.stories.js +0 -235
  146. package/dist/select/readme.md +0 -72
  147. package/dist/slider/Slider.stories.js +0 -241
  148. package/dist/toggle-group/readme.md +0 -82
  149. package/dist/wizard/invalid_icon.svg +0 -6
  150. package/dist/wizard/valid_icon.svg +0 -6
  151. package/dist/wizard/validation-wrong.svg +0 -6
@@ -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: ", ";;\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 opacity: ", ";\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,16 +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, {
251
- disabled: disabled
252
- }, (0, _typeof2["default"])(selectedItem.icon) === "object" ? selectedItem.icon : _react["default"].createElement(selectedItem.icon)) : selectedItem && selectedItem.iconSrc && _react["default"].createElement(ListIcon, {
253
- src: selectedItem && selectedItem.iconSrc
254
- }), 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, {
255
214
  iconSrc: selectedItem && selectedItem.iconSrc && selectedItem.icon,
256
215
  iconPosition: iconPosition,
257
216
  disabled: disabled
@@ -267,7 +226,7 @@ var DxcSelect = function DxcSelect(_ref) {
267
226
  };
268
227
 
269
228
  var getSelectedValuesWithIcons = function getSelectedValuesWithIcons(optionsList, selected) {
270
- return options.filter(function (x) {
229
+ return optionsList.filter(function (x) {
271
230
  return selected.includes(x.value);
272
231
  }).map(function (optionToRender) {
273
232
  return getLabelForSingleSelect(optionToRender.value);
@@ -300,17 +259,40 @@ var DxcSelect = function DxcSelect(_ref) {
300
259
  }
301
260
  };
302
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
+
303
285
  return _react["default"].createElement(_styledComponents.ThemeProvider, {
304
286
  theme: colorsTheme.select
305
287
  }, _react["default"].createElement(SelectContainer, {
306
288
  margin: margin,
307
289
  size: size,
308
290
  invalid: invalid,
309
- disabled: disabled
291
+ disabled: disabled,
292
+ backgroundType: backgroundType
310
293
  }, _react["default"].createElement(_FormControl["default"], null, _react["default"].createElement(_InputLabel["default"], {
311
294
  disabled: disabled
312
295
  }, required && _react["default"].createElement(_RequiredComponent["default"], null), label), _react["default"].createElement(_Select["default"], {
313
- tabIndex: "0",
314
296
  name: name,
315
297
  multiple: multiple,
316
298
  renderValue: getRenderValue,
@@ -318,15 +300,15 @@ var DxcSelect = function DxcSelect(_ref) {
318
300
  value: value !== undefined ? value : selectedValue,
319
301
  disabled: disabled,
320
302
  MenuProps: {
321
- classes: {
322
- paper: classes.dropdownStyle,
323
- list: classes.itemList
324
- },
325
303
  getContentAnchorEl: null,
326
304
  anchorOrigin: {
327
305
  vertical: "bottom",
328
306
  horizontal: "left"
329
- }
307
+ },
308
+ disablePortal: true
309
+ },
310
+ inputProps: {
311
+ tabIndex: disabled ? -1 : tabIndex
330
312
  }
331
313
  }, options.map(function (option) {
332
314
  return _react["default"].createElement(_MenuItem["default"], {
@@ -334,20 +316,14 @@ var DxcSelect = function DxcSelect(_ref) {
334
316
  value: option.value,
335
317
  disableRipple: true,
336
318
  key: option.value
337
- }, multiple && _react["default"].createElement(_Checkbox["default"], {
338
- size: "fitContent",
339
- checked: isChecked(selectedValue, value, option)
340
- }), _react["default"].createElement(OptionContainer, {
341
- iconPosition: iconPosition
342
- }, option.icon ? _react["default"].createElement(ListIconContainer, {
343
- label: option.label,
344
- iconPosition: iconPosition
345
- }, (0, _typeof2["default"])(option.icon) === "object" ? option.icon : _react["default"].createElement(option.icon)) : option.iconSrc && _react["default"].createElement(ListIcon, {
346
- src: option.iconSrc,
347
- label: option.label,
348
- iconPosition: iconPosition
349
- }), " ", _react["default"].createElement(LabelCont, null, option.label)));
350
- })))));
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))));
351
327
  };
352
328
 
353
329
  var sizes = {
@@ -358,18 +334,52 @@ var sizes = {
358
334
  };
359
335
 
360
336
  var calculateWidth = function calculateWidth(margin, size) {
361
- if (size === "fillParent") {
362
- return "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")");
363
- }
364
-
365
- 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];
366
338
  };
367
339
 
368
340
  var MultipleLabelSelected = _styledComponents["default"].div(_templateObject());
369
341
 
370
- 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
+ });
371
+
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
+ });
371
381
 
372
- var SelectedIconContainer = _styledComponents["default"].div(_templateObject3(), function (props) {
382
+ var SelectedOptionContainer = _styledComponents["default"].div(_templateObject6(), function (props) {
373
383
  return props.iconPosition === "before" && "row" || "row-reverse";
374
384
  }, function (props) {
375
385
  return props.iconPosition === "before" && "flex-start" || "flex-end";
@@ -383,31 +393,33 @@ var SelectedIconContainer = _styledComponents["default"].div(_templateObject3(),
383
393
  return props.iconPosition === "before" && (props.label !== "" || props.label === undefined) && "content:','";
384
394
  });
385
395
 
386
- var SelectedLabelContainer = _styledComponents["default"].span(_templateObject4(), function (props) {
387
- return (props.iconPosition === "after" || !props.iconSrc) && "0px" || "10px";
388
- }, function (props) {
389
- return (props.iconPosition === "before" || !props.iconSrc) && "0px" || "10px";
396
+ var SelectedOptionLabelContainer = _styledComponents["default"].span(_templateObject7(), function (props) {
397
+ return props.theme.fontFamily;
390
398
  });
391
399
 
392
- var OptionContainer = _styledComponents["default"].div(_templateObject5(), function (props) {
393
- return props.iconPosition === "before" && "row" || "row-reverse";
394
- });
395
-
396
- var ListIcon = _styledComponents["default"].img(_templateObject6(), function (props) {
397
- 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;
398
404
  }, function (props) {
399
- 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";
400
408
  });
401
409
 
402
- var ListIconContainer = _styledComponents["default"].div(_templateObject7(), function (props) {
403
- 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;
414
+ }, function (props) {
415
+ return props.theme.valueIconSize;
404
416
  }, function (props) {
405
- return props.iconPosition === "before" && props.label !== "" && "10px" || "0px";
417
+ return props.iconPosition === "after" && props.label !== "" && props.theme.valueIconSpacing || "0px";
406
418
  }, function (props) {
407
- return props.disabled && "0.34";
419
+ return props.iconPosition === "before" && props.label !== "" && props.theme.valueIconSpacing || "0px";
408
420
  });
409
421
 
410
- var SelectContainer = _styledComponents["default"].div(_templateObject8(), function (props) {
422
+ var SelectContainer = _styledComponents["default"].div(_templateObject10(), function (props) {
411
423
  return calculateWidth(props.margin, props.size);
412
424
  }, function (props) {
413
425
  return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
@@ -420,36 +432,97 @@ var SelectContainer = _styledComponents["default"].div(_templateObject8(), funct
420
432
  }, function (props) {
421
433
  return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
422
434
  }, function (props) {
423
- return props.invalid === true ? props.theme.error : props.theme.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;
424
496
  }, function (props) {
425
- return props.theme.disabledColor;
497
+ return props.theme.optionBackgroundColor;
426
498
  }, function (props) {
427
- return props.invalid === true ? props.theme.error : props.theme.color;
499
+ return props.theme.optionBorderColor;
428
500
  }, function (props) {
429
- return props.theme.color;
501
+ return props.theme.optionBorderThickness;
430
502
  }, function (props) {
431
- return props.theme.disabledColor;
503
+ return props.theme.optionBorderStyle;
432
504
  }, function (props) {
433
- return props.theme.focusColor;
505
+ return props.theme.scrollBarTrackColor;
434
506
  }, function (props) {
435
- return props.theme.disabled;
507
+ return props.theme.scrollBarThumbColor;
436
508
  }, function (props) {
437
- return props.disabled && "0px solid" || "2px solid";
509
+ return props.theme.optionPaddingBottom;
438
510
  }, function (props) {
439
- return props.invalid === true && props.theme.error || props.disabled && props.theme.disabledColor || props.theme.color;
511
+ return props.theme.optionPaddingTop;
440
512
  }, function (props) {
441
- return props.invalid === true && props.theme.error || props.disabled && props.theme.disabledColor || props.theme.color;
513
+ return props.backgroundType === "dark" ? props.theme.hoverOptionBackgroundColorOnDark : props.theme.hoverOptionBackgroundColor;
442
514
  }, function (props) {
443
- return props.invalid === true ? props.theme.error : props.theme.color;
515
+ return props.backgroundType === "dark" ? props.theme.activeOptionBackgroundColorOnDark : props.theme.activeOptionBackgroundColor;
444
516
  }, function (props) {
445
- return props.invalid === true && props.theme.error || props.disabled && props.theme.disabledColor || props.theme.color;
517
+ return props.backgroundType === "dark" ? props.theme.focusColorOnDark : props.theme.focusColor;
446
518
  }, function (props) {
447
- return props.theme.color;
519
+ return props.backgroundType === "dark" ? props.theme.selectedOptionBackgroundColorOnDark : props.theme.selectedOptionBackgroundColor;
448
520
  });
449
521
 
450
522
  DxcSelect.propTypes = {
451
523
  size: _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(sizes))),
452
524
  label: _propTypes["default"].string,
525
+ assistiveText: _propTypes["default"].string,
453
526
  name: _propTypes["default"].string,
454
527
  value: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number, _propTypes["default"].arrayOf(_propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number]))]),
455
528
  disabled: _propTypes["default"].bool,
@@ -469,7 +542,8 @@ DxcSelect.propTypes = {
469
542
  bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
470
543
  left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
471
544
  right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
472
- }), _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
473
547
  };
474
548
  var _default = DxcSelect;
475
549
  exports["default"] = _default;