@dxc-technology/halstack-react 0.0.0-961ed8e → 0.0.0-994f952

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 (147) hide show
  1. package/README.md +1 -1
  2. package/babel.config.js +6 -2
  3. package/dist/BackgroundColorContext.js +46 -0
  4. package/dist/ThemeContext.js +215 -32
  5. package/dist/V3Textarea/V3Textarea.js +264 -0
  6. package/dist/accordion/Accordion.js +131 -46
  7. package/dist/accordion-group/AccordionGroup.js +36 -9
  8. package/dist/alert/Alert.js +183 -84
  9. package/dist/alert/index.d.ts +51 -0
  10. package/dist/badge/Badge.js +23 -18
  11. package/dist/box/Box.js +31 -23
  12. package/dist/button/Button.js +61 -25
  13. package/dist/card/Card.js +72 -35
  14. package/dist/checkbox/Checkbox.js +97 -37
  15. package/dist/chip/Chip.js +97 -40
  16. package/dist/common/utils.js +2 -22
  17. package/dist/common/variables.js +1415 -276
  18. package/dist/date/Date.js +74 -52
  19. package/dist/date-input/DateInput.js +400 -0
  20. package/dist/date-input/index.d.ts +95 -0
  21. package/dist/dialog/Dialog.js +58 -37
  22. package/dist/dropdown/Dropdown.js +175 -80
  23. package/dist/file-input/FileInput.js +644 -0
  24. package/dist/file-input/FileItem.js +280 -0
  25. package/dist/file-input/index.d.ts +81 -0
  26. package/dist/footer/Footer.js +90 -40
  27. package/dist/footer/Icons.js +77 -0
  28. package/dist/header/Header.js +154 -93
  29. package/dist/header/Icons.js +59 -0
  30. package/dist/heading/Heading.js +81 -16
  31. package/dist/input-text/Icons.js +22 -0
  32. package/dist/input-text/InputText.js +251 -116
  33. package/dist/layout/ApplicationLayout.js +18 -26
  34. package/dist/layout/Icons.js +55 -0
  35. package/dist/link/Link.js +86 -41
  36. package/dist/main.d.ts +8 -0
  37. package/dist/main.js +71 -7
  38. package/dist/new-select/NewSelect.js +836 -0
  39. package/dist/new-select/index.d.ts +53 -0
  40. package/dist/number-input/NumberInput.js +136 -0
  41. package/dist/number-input/NumberInputContext.js +16 -0
  42. package/dist/number-input/index.d.ts +113 -0
  43. package/dist/paginator/Icons.js +66 -0
  44. package/dist/paginator/Paginator.js +69 -40
  45. package/dist/password-input/PasswordInput.js +198 -0
  46. package/dist/password-input/index.d.ts +94 -0
  47. package/dist/progress-bar/ProgressBar.js +95 -38
  48. package/dist/radio/Radio.js +31 -17
  49. package/dist/resultsetTable/ResultsetTable.js +79 -48
  50. package/dist/select/Select.js +226 -150
  51. package/dist/sidenav/Sidenav.js +66 -15
  52. package/dist/slider/Slider.js +211 -73
  53. package/dist/spinner/Spinner.js +247 -59
  54. package/dist/switch/Switch.js +50 -27
  55. package/dist/table/Table.js +51 -24
  56. package/dist/tabs/Tabs.js +58 -17
  57. package/dist/tag/Tag.js +68 -35
  58. package/dist/text-input/TextInput.js +971 -0
  59. package/dist/text-input/index.d.ts +135 -0
  60. package/dist/textarea/Textarea.js +248 -106
  61. package/dist/textarea/index.d.ts +117 -0
  62. package/dist/toggle/Toggle.js +16 -19
  63. package/dist/toggle-group/ToggleGroup.js +142 -41
  64. package/dist/upload/Upload.js +16 -11
  65. package/dist/upload/buttons-upload/ButtonsUpload.js +31 -14
  66. package/dist/upload/dragAndDropArea/DragAndDropArea.js +78 -28
  67. package/dist/upload/file-upload/FileToUpload.js +50 -24
  68. package/dist/upload/files-upload/FilesToUpload.js +16 -16
  69. package/dist/upload/readme.md +2 -2
  70. package/dist/upload/transaction/Transaction.js +44 -24
  71. package/dist/upload/transactions/Transactions.js +38 -20
  72. package/dist/wizard/Wizard.js +127 -47
  73. package/dist/wizard/invalid_icon.svg +4 -5
  74. package/dist/wizard/valid_icon.svg +4 -5
  75. package/package.json +7 -2
  76. package/test/AccordionGroup.test.js +16 -0
  77. package/test/Date.test.js +49 -45
  78. package/test/DateInput.test.js +242 -0
  79. package/test/Dropdown.test.js +15 -0
  80. package/test/FileInput.test.js +201 -0
  81. package/test/Footer.test.js +2 -7
  82. package/test/Header.test.js +5 -10
  83. package/test/InputText.test.js +25 -17
  84. package/test/Link.test.js +3 -2
  85. package/test/NumberInput.test.js +259 -0
  86. package/test/Paginator.test.js +1 -1
  87. package/test/PasswordInput.test.js +83 -0
  88. package/test/ResultsetTable.test.js +1 -2
  89. package/test/Select.test.js +44 -24
  90. package/test/Slider.test.js +9 -17
  91. package/test/Spinner.test.js +5 -0
  92. package/test/TextInput.test.js +732 -0
  93. package/test/Textarea.test.js +193 -0
  94. package/test/ToggleGroup.test.js +5 -1
  95. package/test/Upload.test.js +5 -5
  96. package/test/{TextArea.test.js → V3TextArea.test.js} +6 -7
  97. package/dist/accordion/Accordion.stories.js +0 -207
  98. package/dist/accordion/readme.md +0 -96
  99. package/dist/accordion-group/AccordionGroup.stories.js +0 -207
  100. package/dist/accordion-group/readme.md +0 -70
  101. package/dist/alert/Alert.stories.js +0 -158
  102. package/dist/alert/close.svg +0 -4
  103. package/dist/alert/error.svg +0 -4
  104. package/dist/alert/info.svg +0 -4
  105. package/dist/alert/readme.md +0 -43
  106. package/dist/alert/success.svg +0 -4
  107. package/dist/alert/warning.svg +0 -4
  108. package/dist/button/Button.stories.js +0 -224
  109. package/dist/button/readme.md +0 -93
  110. package/dist/common/services/example-service.js +0 -10
  111. package/dist/common/services/example-service.test.js +0 -12
  112. package/dist/date/calendar.svg +0 -1
  113. package/dist/date/calendar_dark.svg +0 -1
  114. package/dist/dialog/Dialog.stories.js +0 -217
  115. package/dist/dialog/readme.md +0 -32
  116. package/dist/dropdown/Dropdown.stories.js +0 -249
  117. package/dist/dropdown/baseline-arrow_drop_down.svg +0 -1
  118. package/dist/dropdown/baseline-arrow_drop_down_wh.svg +0 -4
  119. package/dist/dropdown/baseline-arrow_drop_up.svg +0 -1
  120. package/dist/dropdown/baseline-arrow_drop_up_wh.svg +0 -4
  121. package/dist/dropdown/readme.md +0 -69
  122. package/dist/footer/Footer.stories.js +0 -94
  123. package/dist/footer/dxc_logo_wht.png +0 -0
  124. package/dist/footer/readme.md +0 -41
  125. package/dist/header/Header.stories.js +0 -176
  126. package/dist/header/close_icon.svg +0 -1
  127. package/dist/header/dxc_logo_black.png +0 -0
  128. package/dist/header/dxc_logo_blk_rgb.svg +0 -6
  129. package/dist/header/dxc_logo_white.png +0 -0
  130. package/dist/header/hamb_menu_black.svg +0 -1
  131. package/dist/header/hamb_menu_white.svg +0 -1
  132. package/dist/header/readme.md +0 -33
  133. package/dist/input-text/InputText.stories.js +0 -209
  134. package/dist/input-text/error.svg +0 -1
  135. package/dist/input-text/readme.md +0 -91
  136. package/dist/layout/facebook.svg +0 -45
  137. package/dist/layout/linkedin.svg +0 -50
  138. package/dist/layout/twitter.svg +0 -53
  139. package/dist/paginator/images/next.svg +0 -3
  140. package/dist/paginator/images/nextPage.svg +0 -3
  141. package/dist/paginator/images/previous.svg +0 -3
  142. package/dist/paginator/images/previousPage.svg +0 -3
  143. package/dist/paginator/readme.md +0 -50
  144. package/dist/select/Select.stories.js +0 -235
  145. package/dist/select/readme.md +0 -72
  146. package/dist/slider/Slider.stories.js +0 -241
  147. package/dist/toggle-group/readme.md +0 -82
@@ -15,8 +15,6 @@ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/hel
15
15
 
16
16
  var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
17
17
 
18
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
19
-
20
18
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
21
19
 
22
20
  var _react = _interopRequireWildcard(require("react"));
@@ -27,28 +25,48 @@ 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");
45
41
 
46
- var _ThemeContext = _interopRequireDefault(require("../ThemeContext.js"));
42
+ 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 opacity: ", ";\n }\n &.Mui-focused {\n font-size: 16px;\n color: ", ";\n }\n }\n .MuiSelect-select.MuiSelect-select {\n padding-right: unset;\n }\n\n .MuiSelect-select {\n width: 100%;\n height: 20px;\n display: flex;\n padding-right: unset;\n color: ", ";\n align-items: center;\n :focus {\n background-color: transparent;\n }\n & > *:last-child::after {\n content: unset;\n }\n & > *:last-child::before {\n content: unset;\n }\n &.Mui-disabled {\n color: ", ";\n cursor: not-allowed;\n }\n }\n .MuiInputBase-root {\n width: 100%;\n &:focus {\n outline: ", " auto 1px;\n }\n &.Mui-disabled {\n opacity: ", ";\n cursor: not-allowed;\n &:focus {\n outline: none;\n }\n }\n }\n .MuiInput-underline {\n &:focus {\n border-bottom: 2px solid;\n border-bottom-color: ", ";\n }\n &.Mui-disabled:before {\n border-bottom-style: solid;\n }\n }\n .MuiInput-underline:hover:not(.Mui-disabled):before {\n border-bottom: 1px solid;\n border-bottom-color: ", ";\n }\n .MuiInput-underline:after {\n border-bottom: 1px solid;\n border-bottom-color: ", ";\n }\n .MuiInput-underline:before {\n border-bottom: 1px solid;\n border-bottom-color: ", "};\n }\n .MuiSelect-icon {\n color: ", ";\n }\n & label {\n text-overflow: ellipsis;\n overflow: hidden;\n width: calc(100% - 24px);\n }\n"]);
69
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n width: ", ";\n height: ", ";\n margin-left: ", ";\n margin-right: ", ";\n"]);
52
70
 
53
71
  _templateObject8 = function _templateObject8() {
54
72
  return data;
@@ -58,7 +76,7 @@ function _templateObject8() {
58
76
  }
59
77
 
60
78
  function _templateObject7() {
61
- var data = (0, _taggedTemplateLiteral2["default"])(["\n max-height: 20px;\n max-width: 20px;\n width: 20px;\n height: 20px;\n margin-left: ", ";\n margin-right: ", ";\n overflow: hidden;\n\n img,\n svg {\n height: 100%;\n width: 100%;\n }\n"]);
79
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n font-family: ", ";\n overflow: hidden;\n text-overflow: ellipsis;\n"]);
62
80
 
63
81
  _templateObject7 = function _templateObject7() {
64
82
  return data;
@@ -68,7 +86,7 @@ function _templateObject7() {
68
86
  }
69
87
 
70
88
  function _templateObject6() {
71
- var data = (0, _taggedTemplateLiteral2["default"])(["\n max-height: 20px;\n max-width: 20px;\n width: 20px;\n height: 20px;\n margin-left: ", ";\n margin-right: ", ";\n"]);
89
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: ", ";\n justify-content: ", ";\n margin-right: ", ";\n overflow: hidden;\n text-overflow: ellipsis;\n width: ", ";\n\n &::before {\n margin: 0 4px;\n ", ";\n }\n &::after {\n margin: 0 4px;\n ", ";\n }\n"]);
72
90
 
73
91
  _templateObject6 = function _templateObject6() {
74
92
  return data;
@@ -78,7 +96,7 @@ function _templateObject6() {
78
96
  }
79
97
 
80
98
  function _templateObject5() {
81
- var data = (0, _taggedTemplateLiteral2["default"])(["\n font-family: \"Open Sans\", sans-serif;\n display: flex;\n align-items: center;\n flex-direction: ", ";\n overflow: hidden;\n text-overflow: ellipsis;\n"]);
99
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n overflow: hidden;\n text-overflow: ellipsis;\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n color: ", ";\n"]);
82
100
 
83
101
  _templateObject5 = function _templateObject5() {
84
102
  return data;
@@ -88,7 +106,7 @@ function _templateObject5() {
88
106
  }
89
107
 
90
108
  function _templateObject4() {
91
- var data = (0, _taggedTemplateLiteral2["default"])(["\n font-family: \"Open Sans\", sans-serif;\n margin-left: ", ";\n margin-right: ", ";\n overflow: hidden;\n text-overflow: ellipsis;\n"]);
109
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n width: ", ";\n height: ", ";\n margin-left: ", ";\n margin-right: ", ";\n"]);
92
110
 
93
111
  _templateObject4 = function _templateObject4() {
94
112
  return data;
@@ -98,7 +116,7 @@ function _templateObject4() {
98
116
  }
99
117
 
100
118
  function _templateObject3() {
101
- var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: ", ";\n justify-content: ", ";\n margin-right: ", ";\n overflow: hidden;\n text-overflow: ellipsis;\n width: ", ";\n\n &::before {\n margin: 0 4px;\n ", ";\n }\n &::after {\n margin: 0 4px;\n ", ";\n }\n"]);
119
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n width: ", ";\n height: ", ";\n margin-left: ", ";\n margin-right: ", ";\n overflow: hidden;\n\n img,\n svg {\n height: 100%;\n width: 100%;\n }\n"]);
102
120
 
103
121
  _templateObject3 = function _templateObject3() {
104
122
  return data;
@@ -108,7 +126,7 @@ function _templateObject3() {
108
126
  }
109
127
 
110
128
  function _templateObject2() {
111
- var data = (0, _taggedTemplateLiteral2["default"])(["\n overflow: hidden;\n text-overflow: ellipsis;\n"]);
129
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n font-family: ", ";\n display: flex;\n align-items: center;\n flex-direction: ", ";\n overflow: hidden;\n text-overflow: ellipsis;\n ", "\n"]);
112
130
 
113
131
  _templateObject2 = function _templateObject2() {
114
132
  return data;
@@ -127,73 +145,12 @@ function _templateObject() {
127
145
  return data;
128
146
  }
129
147
 
130
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
131
-
132
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
133
-
134
- var useStyles = (0, _styles.makeStyles)(function () {
135
- return {
136
- root: function root(props) {
137
- return {
138
- minWidth: props.width
139
- };
140
- },
141
- dropdownStyle: function dropdownStyle(props) {
142
- return {
143
- boxShadow: "0px 2px 10px 0px rgba(0, 0, 0, 0.3)",
144
- minWidth: props.width,
145
- width: props.width,
146
- maxHeight: "250px",
147
- "&::-webkit-scrollbar": {
148
- width: "3px",
149
- margin: "5px"
150
- },
151
- "&::-webkit-scrollbar-track": {
152
- borderRadius: "3px",
153
- backgroundColor: props.scrollBarTrackColor
154
- },
155
- "&::-webkit-scrollbar-thumb": {
156
- borderRadius: "3px",
157
- backgroundColor: props.scrollBarThumbColor
158
- },
159
- "& .MuiList-root": {
160
- width: "auto !important",
161
- paddingRight: "0 !important"
162
- }
163
- };
164
- },
165
- itemList: function itemList(props) {
166
- return {
167
- color: props.color,
168
- "&.MuiList-padding": {
169
- paddingBottom: "0px",
170
- paddingTop: "0px"
171
- },
172
- "& li": {
173
- fontSize: "16px",
174
- "&:hover": {
175
- backgroundColor: props.selectedOptionBackgroundColor + props.hoverOptionBackgroundColor,
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,23 +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;
212
- var customTheme = (0, _react.useContext)(_ThemeContext["default"]);
213
- var colorsTheme = (0, _react.useMemo)(function () {
214
- return (0, _utils.getCustomTheme)(_variables.componentTokens, (0, _utils.getCustomTheme)(_variables.defaultTheme, customTheme));
215
- }, [customTheme]);
168
+ size = _ref$size === void 0 ? "medium" : _ref$size,
169
+ _ref$tabIndex = _ref.tabIndex,
170
+ tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
171
+ var colorsTheme = (0, _useTheme["default"])();
172
+ var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"]);
216
173
 
217
174
  var _useState = (0, _react.useState)(multiple && [] || ""),
218
175
  _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
219
176
  selectedValue = _useState2[0],
220
177
  setSelectedValue = _useState2[1];
221
178
 
222
- var selectValues = _objectSpread({
223
- width: "auto"
224
- }, colorsTheme.select);
225
-
226
- var classes = useStyles(selectValues);
227
-
228
179
  var handleSelectChange = function handleSelectChange(selectedOption) {
229
180
  if (multiple) {
230
181
  setSelectedValue(selectedOption.target.value);
@@ -245,14 +196,21 @@ var DxcSelect = function DxcSelect(_ref) {
245
196
  var selectedItem = options.filter(function (option) {
246
197
  return option.value === selected;
247
198
  })[0];
248
- return _react["default"].createElement(SelectedIconContainer, {
199
+ return _react["default"].createElement(SelectedOptionContainer, {
249
200
  iconPosition: iconPosition,
250
201
  multiple: multiple,
251
202
  label: selectedItem && selectedItem.label,
252
203
  key: selectedItem && selectedItem.label
253
- }, selectedItem && selectedItem.icon ? _react["default"].createElement(ListIconContainer, null, (0, _typeof2["default"])(selectedItem.icon) === "object" ? selectedItem.icon : _react["default"].createElement(selectedItem.icon)) : selectedItem && selectedItem.iconSrc && _react["default"].createElement(ListIcon, {
254
- src: selectedItem && selectedItem.iconSrc
255
- }), 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, {
256
214
  iconSrc: selectedItem && selectedItem.iconSrc && selectedItem.icon,
257
215
  iconPosition: iconPosition,
258
216
  disabled: disabled
@@ -268,7 +226,7 @@ var DxcSelect = function DxcSelect(_ref) {
268
226
  };
269
227
 
270
228
  var getSelectedValuesWithIcons = function getSelectedValuesWithIcons(optionsList, selected) {
271
- return options.filter(function (x) {
229
+ return optionsList.filter(function (x) {
272
230
  return selected.includes(x.value);
273
231
  }).map(function (optionToRender) {
274
232
  return getLabelForSingleSelect(optionToRender.value);
@@ -301,16 +259,40 @@ var DxcSelect = function DxcSelect(_ref) {
301
259
  }
302
260
  };
303
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
+
304
285
  return _react["default"].createElement(_styledComponents.ThemeProvider, {
305
- theme: colorsTheme
286
+ theme: colorsTheme.select
306
287
  }, _react["default"].createElement(SelectContainer, {
307
288
  margin: margin,
308
289
  size: size,
309
- invalid: invalid
290
+ invalid: invalid,
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
371
 
372
- var SelectedIconContainer = _styledComponents["default"].div(_templateObject3(), function (props) {
372
+ var OptionListLabelContainer = _styledComponents["default"].span(_templateObject5(), function (props) {
373
+ return props.theme.optionFontSize;
374
+ }, function (props) {
375
+ return props.theme.optionFontStyle;
376
+ }, function (props) {
377
+ return props.theme.optionFontWeight;
378
+ }, function (props) {
379
+ return props.backgroundType === "dark" ? props.theme.optionFontColorOnDark : props.theme.optionFontColor;
380
+ });
381
+
382
+ var SelectedOptionContainer = _styledComponents["default"].div(_templateObject6(), function (props) {
373
383
  return props.iconPosition === "before" && "row" || "row-reverse";
374
384
  }, function (props) {
375
385
  return props.iconPosition === "before" && "flex-start" || "flex-end";
@@ -383,29 +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;
404
414
  }, function (props) {
405
- return props.iconPosition === "before" && props.label !== "" && "10px" || "0px";
415
+ return props.theme.valueIconSize;
416
+ }, function (props) {
417
+ return props.iconPosition === "after" && props.label !== "" && props.theme.valueIconSpacing || "0px";
418
+ }, function (props) {
419
+ return props.iconPosition === "before" && props.label !== "" && props.theme.valueIconSpacing || "0px";
406
420
  });
407
421
 
408
- var SelectContainer = _styledComponents["default"].div(_templateObject8(), function (props) {
422
+ var SelectContainer = _styledComponents["default"].div(_templateObject10(), function (props) {
409
423
  return calculateWidth(props.margin, props.size);
410
424
  }, function (props) {
411
425
  return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
@@ -418,36 +432,97 @@ var SelectContainer = _styledComponents["default"].div(_templateObject8(), funct
418
432
  }, function (props) {
419
433
  return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
420
434
  }, function (props) {
421
- return props.invalid === true ? props.theme.select.error : props.theme.select.color;
435
+ return props.theme.fontFamily;
436
+ }, function (props) {
437
+ return props.theme.assistiveTextFontSize;
438
+ }, function (props) {
439
+ return props.theme.assistiveTextFontStyle;
440
+ }, function (props) {
441
+ return props.theme.assistiveTextFontWeight;
442
+ }, function (props) {
443
+ return props.backgroundType === "dark" ? props.invalid === true ? props.theme.errorColorOnDark : props.theme.assistiveTextFontColorOnDark : props.invalid === true ? props.theme.errorColor : props.theme.assistiveTextFontColor;
444
+ }, function (props) {
445
+ return props.backgroundType === "dark" ? props.theme.disabledColorOnDark : props.theme.disabledColor;
446
+ }, function (props) {
447
+ return props.theme.fontFamily;
448
+ }, function (props) {
449
+ return props.theme.labelFontSize;
450
+ }, function (props) {
451
+ return props.theme.labelFontStyle;
452
+ }, function (props) {
453
+ return props.theme.labelFontWeight;
454
+ }, function (props) {
455
+ return props.backgroundType === "dark" ? props.invalid === true ? props.theme.errorColorOnDark : props.theme.labelFontColorOnDark : props.invalid === true ? props.theme.errorColor : props.theme.labelFontColor;
456
+ }, function (props) {
457
+ return props.backgroundType === "dark" ? props.theme.disabledColorOnDark : props.theme.disabledColor;
458
+ }, function (props) {
459
+ return props.theme.labelFontSize;
460
+ }, function (props) {
461
+ return props.theme.labelFontStyle;
462
+ }, function (props) {
463
+ return props.theme.labelFontWeight;
464
+ }, function (props) {
465
+ return props.backgroundType === "dark" ? props.invalid === true ? props.theme.errorColorOnDark : props.theme.labelFontColorOnDark : props.invalid === true ? props.theme.errorColor : props.theme.labelFontColor;
466
+ }, function (props) {
467
+ return props.backgroundType === "dark" ? props.theme.focusColorOnDark : props.theme.focusColor;
468
+ }, function (props) {
469
+ return props.backgroundType === "dark" ? props.theme.disabledColorOnDark : props.theme.disabledColor;
470
+ }, function (props) {
471
+ return props.theme.valueFontSize;
472
+ }, function (props) {
473
+ return props.theme.valueFontStyle;
474
+ }, function (props) {
475
+ return props.theme.valueFontWeight;
476
+ }, function (props) {
477
+ return props.backgroundType === "dark" ? props.theme.valueFontColorOnDark : props.theme.valueFontColor;
478
+ }, function (props) {
479
+ return props.theme.underlineThickness;
480
+ }, function (props) {
481
+ return props.backgroundType === "dark" ? props.invalid === true && props.theme.errorColorOnDark || props.disabled && props.theme.disabledColorOnDark || props.theme.underlineFocusColorOnDark : props.invalid === true && props.theme.errorColor || props.disabled && props.theme.disabledColor || props.theme.underlineFocusColor;
482
+ }, function (props) {
483
+ return props.theme.underlineThickness;
484
+ }, function (props) {
485
+ return props.backgroundType === "dark" ? props.invalid === true && props.theme.errorColorOnDark || props.disabled && props.theme.disabledColorOnDark || props.theme.underlineColorOnDark : props.invalid === true && props.theme.errorColor || props.disabled && props.theme.disabledColor || props.theme.underlineColor;
486
+ }, function (props) {
487
+ return props.theme.underlineThickness;
488
+ }, function (props) {
489
+ return props.backgroundType === "dark" ? props.invalid === true ? props.theme.errorColorOnDark : props.theme.underlineFocusColorOnDark : props.invalid === true ? props.theme.errorColor : props.theme.underlineFocusColor;
490
+ }, function (props) {
491
+ return props.theme.underlineThickness;
492
+ }, function (props) {
493
+ return props.backgroundType === "dark" ? props.invalid === true && props.theme.errorColorOnDark || props.disabled && props.theme.disabledColorOnDark || props.theme.underlineColorOnDark : props.invalid === true && props.theme.errorColor || props.disabled && props.theme.disabledColor || props.theme.underlineColor;
494
+ }, function (props) {
495
+ return props.backgroundType === "dark" ? props.disabled && props.theme.disabledColorOnDark || props.theme.arrowColorOnDark : props.disabled && props.theme.disabledColor || props.theme.arrowColor;
422
496
  }, function (props) {
423
- return props.theme.select.color;
497
+ return props.theme.optionBackgroundColor;
424
498
  }, function (props) {
425
- return props.theme.select.disabled;
499
+ return props.theme.optionBorderColor;
426
500
  }, function (props) {
427
- return props.invalid === true ? props.theme.select.error : props.theme.select.color;
501
+ return props.theme.optionBorderThickness;
428
502
  }, function (props) {
429
- return props.theme.select.color;
503
+ return props.theme.optionBorderStyle;
430
504
  }, function (props) {
431
- return props.theme.select.color;
505
+ return props.theme.scrollBarTrackColor;
432
506
  }, function (props) {
433
- return props.theme.select.focusColor;
507
+ return props.theme.scrollBarThumbColor;
434
508
  }, function (props) {
435
- return props.theme.select.disabled;
509
+ return props.theme.optionPaddingBottom;
436
510
  }, function (props) {
437
- return props.invalid === true ? props.theme.select.error : props.theme.select.color;
511
+ return props.theme.optionPaddingTop;
438
512
  }, function (props) {
439
- return props.invalid === true ? props.theme.select.error : props.theme.select.color;
513
+ return props.backgroundType === "dark" ? props.theme.hoverOptionBackgroundColorOnDark : props.theme.hoverOptionBackgroundColor;
440
514
  }, function (props) {
441
- return props.invalid === true ? props.theme.select.error : props.theme.select.color;
515
+ return props.backgroundType === "dark" ? props.theme.activeOptionBackgroundColorOnDark : props.theme.activeOptionBackgroundColor;
442
516
  }, function (props) {
443
- return props.invalid === true ? props.theme.select.error : props.theme.select.color;
517
+ return props.backgroundType === "dark" ? props.theme.focusColorOnDark : props.theme.focusColor;
444
518
  }, function (props) {
445
- return props.theme.select.color;
519
+ return props.backgroundType === "dark" ? props.theme.selectedOptionBackgroundColorOnDark : props.theme.selectedOptionBackgroundColor;
446
520
  });
447
521
 
448
522
  DxcSelect.propTypes = {
449
523
  size: _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(sizes))),
450
524
  label: _propTypes["default"].string,
525
+ assistiveText: _propTypes["default"].string,
451
526
  name: _propTypes["default"].string,
452
527
  value: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number, _propTypes["default"].arrayOf(_propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number]))]),
453
528
  disabled: _propTypes["default"].bool,
@@ -467,7 +542,8 @@ DxcSelect.propTypes = {
467
542
  bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
468
543
  left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
469
544
  right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
470
- }), _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
471
547
  };
472
548
  var _default = DxcSelect;
473
549
  exports["default"] = _default;