@dxc-technology/halstack-react 0.0.0-f46d22a → 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 +211 -150
  4. package/dist/V3Textarea/V3Textarea.js +264 -0
  5. package/dist/accordion/Accordion.js +131 -46
  6. package/dist/accordion-group/AccordionGroup.js +36 -9
  7. package/dist/alert/Alert.js +180 -80
  8. package/dist/alert/index.d.ts +51 -0
  9. package/dist/badge/Badge.js +28 -7
  10. package/dist/box/Box.js +29 -18
  11. package/dist/button/Button.js +60 -21
  12. package/dist/card/Card.js +72 -35
  13. package/dist/checkbox/Checkbox.js +97 -26
  14. package/dist/chip/Chip.js +92 -32
  15. package/dist/common/utils.js +2 -22
  16. package/dist/common/variables.js +1400 -191
  17. package/dist/date/Date.js +72 -50
  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 +250 -104
  32. package/dist/layout/ApplicationLayout.js +15 -20
  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 +67 -35
  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 +90 -34
  47. package/dist/radio/Radio.js +30 -11
  48. package/dist/resultsetTable/ResultsetTable.js +79 -48
  49. package/dist/select/Select.js +224 -147
  50. package/dist/sidenav/Sidenav.js +65 -11
  51. package/dist/slider/Slider.js +212 -65
  52. package/dist/spinner/Spinner.js +246 -57
  53. package/dist/switch/Switch.js +51 -19
  54. package/dist/table/Table.js +49 -21
  55. package/dist/tabs/Tabs.js +58 -17
  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 -101
  60. package/dist/textarea/index.d.ts +117 -0
  61. package/dist/toggle/Toggle.js +16 -19
  62. package/dist/toggle-group/ToggleGroup.js +141 -37
  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 +125 -48
  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 +25 -17
  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: 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 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), " jairo ", disabled === true && 'YESS' || 'NOOOOOOOOOOO') : 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,16 +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
- theme: colorsTheme
286
+ theme: colorsTheme.select
305
287
  }, _react["default"].createElement(SelectContainer, {
306
288
  margin: margin,
307
289
  size: size,
308
- invalid: invalid
290
+ invalid: invalid,
291
+ disabled: disabled,
292
+ backgroundType: backgroundType
309
293
  }, _react["default"].createElement(_FormControl["default"], null, _react["default"].createElement(_InputLabel["default"], {
310
294
  disabled: disabled
311
295
  }, required && _react["default"].createElement(_RequiredComponent["default"], null), label), _react["default"].createElement(_Select["default"], {
312
- tabIndex: "0",
313
296
  name: name,
314
297
  multiple: multiple,
315
298
  renderValue: getRenderValue,
@@ -317,15 +300,15 @@ var DxcSelect = function DxcSelect(_ref) {
317
300
  value: value !== undefined ? value : selectedValue,
318
301
  disabled: disabled,
319
302
  MenuProps: {
320
- classes: {
321
- paper: classes.dropdownStyle,
322
- list: classes.itemList
323
- },
324
303
  getContentAnchorEl: null,
325
304
  anchorOrigin: {
326
305
  vertical: "bottom",
327
306
  horizontal: "left"
328
- }
307
+ },
308
+ disablePortal: true
309
+ },
310
+ inputProps: {
311
+ tabIndex: disabled ? -1 : tabIndex
329
312
  }
330
313
  }, options.map(function (option) {
331
314
  return _react["default"].createElement(_MenuItem["default"], {
@@ -333,20 +316,14 @@ var DxcSelect = function DxcSelect(_ref) {
333
316
  value: option.value,
334
317
  disableRipple: true,
335
318
  key: option.value
336
- }, multiple && _react["default"].createElement(_Checkbox["default"], {
337
- size: "fitContent",
338
- checked: isChecked(selectedValue, value, option)
339
- }), _react["default"].createElement(OptionContainer, {
340
- iconPosition: iconPosition
341
- }, option.icon ? _react["default"].createElement(ListIconContainer, {
342
- label: option.label,
343
- iconPosition: iconPosition
344
- }, (0, _typeof2["default"])(option.icon) === "object" ? option.icon : _react["default"].createElement(option.icon)) : option.iconSrc && _react["default"].createElement(ListIcon, {
345
- src: option.iconSrc,
346
- label: option.label,
347
- iconPosition: iconPosition
348
- }), " ", _react["default"].createElement(LabelCont, null, option.label)));
349
- })))));
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))));
350
327
  };
351
328
 
352
329
  var sizes = {
@@ -357,18 +334,52 @@ var sizes = {
357
334
  };
358
335
 
359
336
  var calculateWidth = function calculateWidth(margin, size) {
360
- if (size === "fillParent") {
361
- return "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")");
362
- }
363
-
364
- 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];
365
338
  };
366
339
 
367
340
  var MultipleLabelSelected = _styledComponents["default"].div(_templateObject());
368
341
 
369
- 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
+ });
370
381
 
371
- var SelectedIconContainer = _styledComponents["default"].div(_templateObject3(), function (props) {
382
+ var SelectedOptionContainer = _styledComponents["default"].div(_templateObject6(), function (props) {
372
383
  return props.iconPosition === "before" && "row" || "row-reverse";
373
384
  }, function (props) {
374
385
  return props.iconPosition === "before" && "flex-start" || "flex-end";
@@ -382,31 +393,33 @@ var SelectedIconContainer = _styledComponents["default"].div(_templateObject3(),
382
393
  return props.iconPosition === "before" && (props.label !== "" || props.label === undefined) && "content:','";
383
394
  });
384
395
 
385
- var SelectedLabelContainer = _styledComponents["default"].span(_templateObject4(), function (props) {
386
- return (props.iconPosition === "after" || !props.iconSrc) && "0px" || "10px";
387
- }, function (props) {
388
- return (props.iconPosition === "before" || !props.iconSrc) && "0px" || "10px";
396
+ var SelectedOptionLabelContainer = _styledComponents["default"].span(_templateObject7(), function (props) {
397
+ return props.theme.fontFamily;
389
398
  });
390
399
 
391
- var OptionContainer = _styledComponents["default"].div(_templateObject5(), function (props) {
392
- return props.iconPosition === "before" && "row" || "row-reverse";
393
- });
394
-
395
- var ListIcon = _styledComponents["default"].img(_templateObject6(), function (props) {
396
- 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;
404
+ }, function (props) {
405
+ return props.iconPosition === "after" && props.label !== "" && props.theme.valueIconSpacing || "0px";
397
406
  }, function (props) {
398
- return props.iconPosition === "before" && props.label !== "" && "10px" || "0px";
407
+ return props.iconPosition === "before" && props.label !== "" && props.theme.valueIconSpacing || "0px";
399
408
  });
400
409
 
401
- var ListIconContainer = _styledComponents["default"].div(_templateObject7(), function (props) {
402
- 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;
403
412
  }, function (props) {
404
- return props.iconPosition === "before" && props.label !== "" && "10px" || "0px";
413
+ return props.theme.valueIconSize;
405
414
  }, function (props) {
406
- return props.disabled && "0.34";
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";
407
420
  });
408
421
 
409
- var SelectContainer = _styledComponents["default"].div(_templateObject8(), function (props) {
422
+ var SelectContainer = _styledComponents["default"].div(_templateObject10(), function (props) {
410
423
  return calculateWidth(props.margin, props.size);
411
424
  }, function (props) {
412
425
  return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
@@ -419,34 +432,97 @@ var SelectContainer = _styledComponents["default"].div(_templateObject8(), funct
419
432
  }, function (props) {
420
433
  return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
421
434
  }, function (props) {
422
- return props.invalid === true ? props.theme.select.error : props.theme.select.color;
435
+ return props.theme.fontFamily;
436
+ }, function (props) {
437
+ return props.theme.assistiveTextFontSize;
438
+ }, function (props) {
439
+ return props.theme.assistiveTextFontStyle;
440
+ }, function (props) {
441
+ return props.theme.assistiveTextFontWeight;
442
+ }, function (props) {
443
+ return props.backgroundType === "dark" ? props.invalid === true ? props.theme.errorColorOnDark : props.theme.assistiveTextFontColorOnDark : props.invalid === true ? props.theme.errorColor : props.theme.assistiveTextFontColor;
444
+ }, function (props) {
445
+ return props.backgroundType === "dark" ? props.theme.disabledColorOnDark : props.theme.disabledColor;
446
+ }, function (props) {
447
+ return props.theme.fontFamily;
448
+ }, function (props) {
449
+ return props.theme.labelFontSize;
450
+ }, function (props) {
451
+ return props.theme.labelFontStyle;
452
+ }, function (props) {
453
+ return props.theme.labelFontWeight;
454
+ }, function (props) {
455
+ return props.backgroundType === "dark" ? props.invalid === true ? props.theme.errorColorOnDark : props.theme.labelFontColorOnDark : props.invalid === true ? props.theme.errorColor : props.theme.labelFontColor;
456
+ }, function (props) {
457
+ return props.backgroundType === "dark" ? props.theme.disabledColorOnDark : props.theme.disabledColor;
458
+ }, function (props) {
459
+ return props.theme.labelFontSize;
460
+ }, function (props) {
461
+ return props.theme.labelFontStyle;
462
+ }, function (props) {
463
+ return props.theme.labelFontWeight;
464
+ }, function (props) {
465
+ return props.backgroundType === "dark" ? props.invalid === true ? props.theme.errorColorOnDark : props.theme.labelFontColorOnDark : props.invalid === true ? props.theme.errorColor : props.theme.labelFontColor;
466
+ }, function (props) {
467
+ return props.backgroundType === "dark" ? props.theme.focusColorOnDark : props.theme.focusColor;
468
+ }, function (props) {
469
+ return props.backgroundType === "dark" ? props.theme.disabledColorOnDark : props.theme.disabledColor;
470
+ }, function (props) {
471
+ return props.theme.valueFontSize;
472
+ }, function (props) {
473
+ return props.theme.valueFontStyle;
474
+ }, function (props) {
475
+ return props.theme.valueFontWeight;
476
+ }, function (props) {
477
+ return props.backgroundType === "dark" ? props.theme.valueFontColorOnDark : props.theme.valueFontColor;
478
+ }, function (props) {
479
+ return props.theme.underlineThickness;
480
+ }, function (props) {
481
+ return props.backgroundType === "dark" ? props.invalid === true && props.theme.errorColorOnDark || props.disabled && props.theme.disabledColorOnDark || props.theme.underlineFocusColorOnDark : props.invalid === true && props.theme.errorColor || props.disabled && props.theme.disabledColor || props.theme.underlineFocusColor;
482
+ }, function (props) {
483
+ return props.theme.underlineThickness;
484
+ }, function (props) {
485
+ return props.backgroundType === "dark" ? props.invalid === true && props.theme.errorColorOnDark || props.disabled && props.theme.disabledColorOnDark || props.theme.underlineColorOnDark : props.invalid === true && props.theme.errorColor || props.disabled && props.theme.disabledColor || props.theme.underlineColor;
486
+ }, function (props) {
487
+ return props.theme.underlineThickness;
488
+ }, function (props) {
489
+ return props.backgroundType === "dark" ? props.invalid === true ? props.theme.errorColorOnDark : props.theme.underlineFocusColorOnDark : props.invalid === true ? props.theme.errorColor : props.theme.underlineFocusColor;
490
+ }, function (props) {
491
+ return props.theme.underlineThickness;
492
+ }, function (props) {
493
+ return props.backgroundType === "dark" ? props.invalid === true && props.theme.errorColorOnDark || props.disabled && props.theme.disabledColorOnDark || props.theme.underlineColorOnDark : props.invalid === true && props.theme.errorColor || props.disabled && props.theme.disabledColor || props.theme.underlineColor;
494
+ }, function (props) {
495
+ return props.backgroundType === "dark" ? props.disabled && props.theme.disabledColorOnDark || props.theme.arrowColorOnDark : props.disabled && props.theme.disabledColor || props.theme.arrowColor;
496
+ }, function (props) {
497
+ return props.theme.optionBackgroundColor;
423
498
  }, function (props) {
424
- return props.theme.select.disabledColor;
499
+ return props.theme.optionBorderColor;
425
500
  }, function (props) {
426
- return props.invalid === true ? props.theme.select.error : props.theme.select.color;
501
+ return props.theme.optionBorderThickness;
427
502
  }, function (props) {
428
- return props.theme.select.color;
503
+ return props.theme.optionBorderStyle;
429
504
  }, function (props) {
430
- return props.theme.select.disabledColor;
505
+ return props.theme.scrollBarTrackColor;
431
506
  }, function (props) {
432
- return props.theme.select.focusColor;
507
+ return props.theme.scrollBarThumbColor;
433
508
  }, function (props) {
434
- return props.theme.select.disabled;
509
+ return props.theme.optionPaddingBottom;
435
510
  }, function (props) {
436
- return props.invalid === true ? props.theme.select.error : props.theme.select.color;
511
+ return props.theme.optionPaddingTop;
437
512
  }, function (props) {
438
- return props.invalid === true ? props.theme.select.error : props.theme.select.color;
513
+ return props.backgroundType === "dark" ? props.theme.hoverOptionBackgroundColorOnDark : props.theme.hoverOptionBackgroundColor;
439
514
  }, function (props) {
440
- return props.invalid === true ? props.theme.select.error : props.theme.select.color;
515
+ return props.backgroundType === "dark" ? props.theme.activeOptionBackgroundColorOnDark : props.theme.activeOptionBackgroundColor;
441
516
  }, function (props) {
442
- return props.invalid === true ? props.theme.select.error : props.theme.select.color;
517
+ return props.backgroundType === "dark" ? props.theme.focusColorOnDark : props.theme.focusColor;
443
518
  }, function (props) {
444
- return props.theme.select.color;
519
+ return props.backgroundType === "dark" ? props.theme.selectedOptionBackgroundColorOnDark : props.theme.selectedOptionBackgroundColor;
445
520
  });
446
521
 
447
522
  DxcSelect.propTypes = {
448
523
  size: _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(sizes))),
449
524
  label: _propTypes["default"].string,
525
+ assistiveText: _propTypes["default"].string,
450
526
  name: _propTypes["default"].string,
451
527
  value: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number, _propTypes["default"].arrayOf(_propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number]))]),
452
528
  disabled: _propTypes["default"].bool,
@@ -466,7 +542,8 @@ DxcSelect.propTypes = {
466
542
  bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
467
543
  left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
468
544
  right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
469
- }), _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
470
547
  };
471
548
  var _default = DxcSelect;
472
549
  exports["default"] = _default;