@dxc-technology/halstack-react 0.0.0-afd5470 → 0.0.0-b1729d7

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 (155) hide show
  1. package/babel.config.js +6 -2
  2. package/dist/BackgroundColorContext.js +46 -0
  3. package/dist/ThemeContext.js +235 -2
  4. package/dist/V3Textarea/V3Textarea.js +264 -0
  5. package/dist/accordion/Accordion.js +168 -63
  6. package/dist/accordion-group/AccordionGroup.js +186 -0
  7. package/dist/alert/Alert.js +183 -84
  8. package/dist/alert/index.d.ts +51 -0
  9. package/dist/badge/Badge.js +63 -0
  10. package/dist/box/Box.js +31 -23
  11. package/dist/button/Button.js +83 -26
  12. package/dist/card/Card.js +72 -35
  13. package/dist/checkbox/Checkbox.js +98 -38
  14. package/dist/chip/Chip.js +128 -36
  15. package/dist/common/RequiredComponent.js +2 -8
  16. package/dist/common/utils.js +2 -22
  17. package/dist/common/variables.js +1439 -308
  18. package/dist/date/Date.js +80 -57
  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 +199 -71
  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 +121 -46
  27. package/dist/footer/Icons.js +77 -0
  28. package/dist/header/Header.js +171 -97
  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 +292 -106
  33. package/dist/layout/ApplicationLayout.js +52 -45
  34. package/dist/layout/Icons.js +55 -0
  35. package/dist/link/Link.js +136 -35
  36. package/dist/main.d.ts +8 -0
  37. package/dist/main.js +95 -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 +150 -63
  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 +93 -68
  50. package/dist/select/Select.js +244 -146
  51. package/dist/sidenav/Sidenav.js +86 -129
  52. package/dist/slider/Slider.js +219 -73
  53. package/dist/spinner/Spinner.js +247 -59
  54. package/dist/switch/Switch.js +50 -27
  55. package/dist/table/Table.js +52 -13
  56. package/dist/tabs/Tabs.js +206 -35
  57. package/dist/tabs-for-sections/TabsForSections.js +1 -16
  58. package/dist/tag/Tag.js +85 -37
  59. package/dist/text-input/TextInput.js +971 -0
  60. package/dist/text-input/index.d.ts +135 -0
  61. package/dist/textarea/Textarea.js +248 -106
  62. package/dist/textarea/index.d.ts +117 -0
  63. package/dist/toggle/Toggle.js +16 -19
  64. package/dist/toggle-group/ToggleGroup.js +159 -46
  65. package/dist/upload/Upload.js +16 -11
  66. package/dist/upload/buttons-upload/ButtonsUpload.js +31 -14
  67. package/dist/upload/dragAndDropArea/DragAndDropArea.js +78 -28
  68. package/dist/upload/file-upload/FileToUpload.js +50 -24
  69. package/dist/upload/files-upload/FilesToUpload.js +16 -16
  70. package/dist/upload/readme.md +2 -2
  71. package/dist/upload/transaction/Transaction.js +44 -24
  72. package/dist/upload/transactions/Transactions.js +38 -20
  73. package/dist/useTheme.js +22 -0
  74. package/dist/wizard/Wizard.js +139 -55
  75. package/dist/wizard/invalid_icon.svg +4 -5
  76. package/dist/wizard/valid_icon.svg +4 -5
  77. package/package.json +13 -5
  78. package/test/AccordionGroup.test.js +125 -0
  79. package/test/Date.test.js +49 -45
  80. package/test/DateInput.test.js +242 -0
  81. package/test/Dropdown.test.js +15 -0
  82. package/test/FileInput.test.js +201 -0
  83. package/test/Footer.test.js +2 -7
  84. package/test/Header.test.js +5 -10
  85. package/test/InputText.test.js +53 -41
  86. package/test/Link.test.js +25 -7
  87. package/test/NumberInput.test.js +259 -0
  88. package/test/Paginator.test.js +72 -60
  89. package/test/PasswordInput.test.js +83 -0
  90. package/test/ResultsetTable.test.js +66 -19
  91. package/test/Select.test.js +55 -34
  92. package/test/Sidenav.test.js +22 -64
  93. package/test/Slider.test.js +24 -15
  94. package/test/Spinner.test.js +5 -0
  95. package/test/Tabs.test.js +21 -0
  96. package/test/TextInput.test.js +732 -0
  97. package/test/Textarea.test.js +193 -0
  98. package/test/ToggleGroup.test.js +5 -1
  99. package/test/Upload.test.js +5 -5
  100. package/test/{TextArea.test.js → V3TextArea.test.js} +6 -7
  101. package/dist/accordion/Accordion.stories.js +0 -207
  102. package/dist/accordion/readme.md +0 -96
  103. package/dist/alert/Alert.stories.js +0 -158
  104. package/dist/alert/close.svg +0 -4
  105. package/dist/alert/error.svg +0 -4
  106. package/dist/alert/info.svg +0 -4
  107. package/dist/alert/readme.md +0 -43
  108. package/dist/alert/success.svg +0 -4
  109. package/dist/alert/warning.svg +0 -4
  110. package/dist/button/Button.stories.js +0 -224
  111. package/dist/button/readme.md +0 -93
  112. package/dist/common/services/example-service.js +0 -10
  113. package/dist/common/services/example-service.test.js +0 -12
  114. package/dist/date/calendar.svg +0 -1
  115. package/dist/date/calendar_dark.svg +0 -1
  116. package/dist/dialog/Dialog.stories.js +0 -217
  117. package/dist/dialog/readme.md +0 -32
  118. package/dist/dropdown/Dropdown.stories.js +0 -249
  119. package/dist/dropdown/baseline-arrow_drop_down.svg +0 -1
  120. package/dist/dropdown/baseline-arrow_drop_down_wh.svg +0 -4
  121. package/dist/dropdown/baseline-arrow_drop_up.svg +0 -1
  122. package/dist/dropdown/baseline-arrow_drop_up_wh.svg +0 -4
  123. package/dist/dropdown/readme.md +0 -69
  124. package/dist/footer/Footer.stories.js +0 -94
  125. package/dist/footer/dxc_logo_wht.png +0 -0
  126. package/dist/footer/readme.md +0 -41
  127. package/dist/header/Header.stories.js +0 -176
  128. package/dist/header/close_icon.svg +0 -1
  129. package/dist/header/dxc_logo_black.png +0 -0
  130. package/dist/header/dxc_logo_blk_rgb.svg +0 -6
  131. package/dist/header/dxc_logo_white.png +0 -0
  132. package/dist/header/hamb_menu_black.svg +0 -1
  133. package/dist/header/hamb_menu_white.svg +0 -1
  134. package/dist/header/readme.md +0 -33
  135. package/dist/input-text/InputText.stories.js +0 -209
  136. package/dist/input-text/error.svg +0 -1
  137. package/dist/input-text/readme.md +0 -91
  138. package/dist/layout/SideNav.js +0 -67
  139. package/dist/layout/facebook.svg +0 -45
  140. package/dist/layout/linkedin.svg +0 -50
  141. package/dist/layout/twitter.svg +0 -53
  142. package/dist/paginator/images/next.svg +0 -3
  143. package/dist/paginator/images/nextPage.svg +0 -3
  144. package/dist/paginator/images/previous.svg +0 -3
  145. package/dist/paginator/images/previousPage.svg +0 -3
  146. package/dist/paginator/readme.md +0 -50
  147. package/dist/resultsetTable/arrow_downward-24px_wht.svg +0 -1
  148. package/dist/resultsetTable/arrow_upward-24px_wht.svg +0 -1
  149. package/dist/resultsetTable/unfold_more-24px_wht.svg +0 -1
  150. package/dist/select/Select.stories.js +0 -235
  151. package/dist/select/readme.md +0 -72
  152. package/dist/sidenav/arrow_icon.svg +0 -3
  153. package/dist/slider/Slider.stories.js +0 -241
  154. package/dist/toggle-group/readme.md +0 -82
  155. package/test/Toggle.test.js +0 -43
@@ -11,11 +11,9 @@ exports["default"] = void 0;
11
11
 
12
12
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
13
13
 
14
- var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
15
-
16
14
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
17
15
 
18
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
16
+ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
19
17
 
20
18
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
21
19
 
@@ -27,28 +25,58 @@ 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
+
68
+ function _templateObject8() {
69
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n width: ", ";\n height: ", ";\n margin-left: ", ";\n margin-right: ", ";\n"]);
70
+
71
+ _templateObject8 = function _templateObject8() {
72
+ return data;
73
+ };
74
+
75
+ return data;
76
+ }
77
+
50
78
  function _templateObject7() {
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 {\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"]);
79
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n font-family: ", ";\n overflow: hidden;\n text-overflow: ellipsis;\n"]);
52
80
 
53
81
  _templateObject7 = function _templateObject7() {
54
82
  return data;
@@ -58,7 +86,7 @@ function _templateObject7() {
58
86
  }
59
87
 
60
88
  function _templateObject6() {
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"]);
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"]);
62
90
 
63
91
  _templateObject6 = function _templateObject6() {
64
92
  return data;
@@ -68,7 +96,7 @@ function _templateObject6() {
68
96
  }
69
97
 
70
98
  function _templateObject5() {
71
- 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"]);
72
100
 
73
101
  _templateObject5 = function _templateObject5() {
74
102
  return data;
@@ -78,7 +106,7 @@ function _templateObject5() {
78
106
  }
79
107
 
80
108
  function _templateObject4() {
81
- 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"]);
82
110
 
83
111
  _templateObject4 = function _templateObject4() {
84
112
  return data;
@@ -88,7 +116,7 @@ function _templateObject4() {
88
116
  }
89
117
 
90
118
  function _templateObject3() {
91
- 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"]);
92
120
 
93
121
  _templateObject3 = function _templateObject3() {
94
122
  return data;
@@ -98,7 +126,7 @@ function _templateObject3() {
98
126
  }
99
127
 
100
128
  function _templateObject2() {
101
- 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"]);
102
130
 
103
131
  _templateObject2 = function _templateObject2() {
104
132
  return data;
@@ -117,73 +145,12 @@ function _templateObject() {
117
145
  return data;
118
146
  }
119
147
 
120
- 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; }
121
-
122
- 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; }
123
-
124
- var useStyles = (0, _styles.makeStyles)(function () {
125
- return {
126
- root: function root(props) {
127
- return {
128
- minWidth: props.width
129
- };
130
- },
131
- dropdownStyle: function dropdownStyle(props) {
132
- return {
133
- boxShadow: "0px 2px 10px 0px rgba(0, 0, 0, 0.3)",
134
- minWidth: props.width,
135
- width: props.width,
136
- maxHeight: "250px",
137
- "&::-webkit-scrollbar": {
138
- width: "3px",
139
- margin: "5px"
140
- },
141
- "&::-webkit-scrollbar-track": {
142
- borderRadius: "3px",
143
- backgroundColor: props.scrollBarTrackColor
144
- },
145
- "&::-webkit-scrollbar-thumb": {
146
- borderRadius: "3px",
147
- backgroundColor: props.scrollBarThumbColor
148
- },
149
- "& .MuiList-root": {
150
- width: "auto !important",
151
- paddingRight: "0 !important"
152
- }
153
- };
154
- },
155
- itemList: function itemList(props) {
156
- return {
157
- color: props.color,
158
- "&.MuiList-padding": {
159
- paddingBottom: "0px",
160
- paddingTop: "0px"
161
- },
162
- "& li": {
163
- fontSize: "16px",
164
- "&:hover": {
165
- backgroundColor: props.selectedOptionBackgroundColor + props.hoverOptionBackgroundColor,
166
- color: props.color
167
- },
168
- "&:active": {
169
- backgroundColor: props.selectedOptionBackgroundColor + props.hoverOptionBackgroundColor,
170
- color: props.color
171
- },
172
- "&.MuiListItem-root.Mui-selected": {
173
- backgroundColor: props.selectedOptionBackgroundColor,
174
- color: props.color
175
- }
176
- }
177
- };
178
- }
179
- };
180
- });
181
-
182
148
  var DxcSelect = function DxcSelect(_ref) {
183
149
  var value = _ref.value,
184
150
  name = _ref.name,
185
151
  onChange = _ref.onChange,
186
152
  label = _ref.label,
153
+ assistiveText = _ref.assistiveText,
187
154
  _ref$required = _ref.required,
188
155
  required = _ref$required === void 0 ? false : _ref$required,
189
156
  _ref$disabled = _ref.disabled,
@@ -198,23 +165,17 @@ var DxcSelect = function DxcSelect(_ref) {
198
165
  multiple = _ref$multiple === void 0 ? false : _ref$multiple,
199
166
  margin = _ref.margin,
200
167
  _ref$size = _ref.size,
201
- size = _ref$size === void 0 ? "medium" : _ref$size;
202
- var customTheme = (0, _react.useContext)(_ThemeContext["default"]);
203
- var colorsTheme = (0, _react.useMemo)(function () {
204
- return (0, _utils.getCustomTheme)(_variables.theme, (0, _utils.getCustomTheme)(_variables.defaultTheme, customTheme));
205
- }, [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"]);
206
173
 
207
174
  var _useState = (0, _react.useState)(multiple && [] || ""),
208
175
  _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
209
176
  selectedValue = _useState2[0],
210
177
  setSelectedValue = _useState2[1];
211
178
 
212
- var selectValues = _objectSpread({
213
- width: "auto"
214
- }, colorsTheme.select);
215
-
216
- var classes = useStyles(selectValues);
217
-
218
179
  var handleSelectChange = function handleSelectChange(selectedOption) {
219
180
  if (multiple) {
220
181
  setSelectedValue(selectedOption.target.value);
@@ -235,14 +196,22 @@ var DxcSelect = function DxcSelect(_ref) {
235
196
  var selectedItem = options.filter(function (option) {
236
197
  return option.value === selected;
237
198
  })[0];
238
- return _react["default"].createElement(SelectedIconContainer, {
199
+ return _react["default"].createElement(SelectedOptionContainer, {
239
200
  iconPosition: iconPosition,
240
201
  multiple: multiple,
241
- label: selectedItem && selectedItem.label
242
- }, selectedItem && selectedItem.iconSrc && _react["default"].createElement(ListIcon, {
243
- src: selectedItem && selectedItem.iconSrc
244
- }), selectedItem && selectedItem.label && _react["default"].createElement(SelectedLabelContainer, {
245
- iconSrc: selectedItem && selectedItem.iconSrc,
202
+ label: selectedItem && selectedItem.label,
203
+ key: selectedItem && selectedItem.label
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, {
214
+ iconSrc: selectedItem && selectedItem.iconSrc && selectedItem.icon,
246
215
  iconPosition: iconPosition,
247
216
  disabled: disabled
248
217
  }, selectedItem && selectedItem.label));
@@ -257,7 +226,7 @@ var DxcSelect = function DxcSelect(_ref) {
257
226
  };
258
227
 
259
228
  var getSelectedValuesWithIcons = function getSelectedValuesWithIcons(optionsList, selected) {
260
- return options.filter(function (x) {
229
+ return optionsList.filter(function (x) {
261
230
  return selected.includes(x.value);
262
231
  }).map(function (optionToRender) {
263
232
  return getLabelForSingleSelect(optionToRender.value);
@@ -290,16 +259,40 @@ var DxcSelect = function DxcSelect(_ref) {
290
259
  }
291
260
  };
292
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
+
293
285
  return _react["default"].createElement(_styledComponents.ThemeProvider, {
294
- theme: colorsTheme
286
+ theme: colorsTheme.select
295
287
  }, _react["default"].createElement(SelectContainer, {
296
288
  margin: margin,
297
289
  size: size,
298
- invalid: invalid
290
+ invalid: invalid,
291
+ disabled: disabled,
292
+ backgroundType: backgroundType
299
293
  }, _react["default"].createElement(_FormControl["default"], null, _react["default"].createElement(_InputLabel["default"], {
300
294
  disabled: disabled
301
295
  }, required && _react["default"].createElement(_RequiredComponent["default"], null), label), _react["default"].createElement(_Select["default"], {
302
- tabIndex: "0",
303
296
  name: name,
304
297
  multiple: multiple,
305
298
  renderValue: getRenderValue,
@@ -307,32 +300,30 @@ var DxcSelect = function DxcSelect(_ref) {
307
300
  value: value !== undefined ? value : selectedValue,
308
301
  disabled: disabled,
309
302
  MenuProps: {
310
- classes: {
311
- paper: classes.dropdownStyle,
312
- list: classes.itemList
313
- },
314
303
  getContentAnchorEl: null,
315
304
  anchorOrigin: {
316
305
  vertical: "bottom",
317
306
  horizontal: "left"
318
- }
307
+ },
308
+ disablePortal: true
309
+ },
310
+ inputProps: {
311
+ tabIndex: disabled ? -1 : tabIndex
319
312
  }
320
313
  }, options.map(function (option) {
321
314
  return _react["default"].createElement(_MenuItem["default"], {
322
315
  id: option.value,
323
316
  value: option.value,
324
- disableRipple: true
325
- }, multiple && _react["default"].createElement(_Checkbox["default"], {
326
- size: "fitContent",
327
- checked: isChecked(selectedValue, value, option)
328
- }), _react["default"].createElement(OptionContainer, {
329
- iconPosition: iconPosition
330
- }, option.iconSrc && _react["default"].createElement(ListIcon, {
331
- src: option.iconSrc,
332
- label: option.label,
333
- iconPosition: iconPosition
334
- }), " ", _react["default"].createElement(LabelCont, null, option.label)));
335
- })))));
317
+ disableRipple: true,
318
+ key: option.value
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))));
336
327
  };
337
328
 
338
329
  var sizes = {
@@ -343,18 +334,52 @@ var sizes = {
343
334
  };
344
335
 
345
336
  var calculateWidth = function calculateWidth(margin, size) {
346
- if (size === "fillParent") {
347
- return "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")");
348
- }
349
-
350
- 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];
351
338
  };
352
339
 
353
340
  var MultipleLabelSelected = _styledComponents["default"].div(_templateObject());
354
341
 
355
- 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
+ });
356
361
 
357
- var SelectedIconContainer = _styledComponents["default"].div(_templateObject3(), function (props) {
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
+ });
381
+
382
+ var SelectedOptionContainer = _styledComponents["default"].div(_templateObject6(), function (props) {
358
383
  return props.iconPosition === "before" && "row" || "row-reverse";
359
384
  }, function (props) {
360
385
  return props.iconPosition === "before" && "flex-start" || "flex-end";
@@ -368,23 +393,33 @@ var SelectedIconContainer = _styledComponents["default"].div(_templateObject3(),
368
393
  return props.iconPosition === "before" && (props.label !== "" || props.label === undefined) && "content:','";
369
394
  });
370
395
 
371
- var SelectedLabelContainer = _styledComponents["default"].span(_templateObject4(), function (props) {
372
- return (props.iconPosition === "after" || !props.iconSrc) && "0px" || "10px";
373
- }, function (props) {
374
- return (props.iconPosition === "before" || !props.iconSrc) && "0px" || "10px";
396
+ var SelectedOptionLabelContainer = _styledComponents["default"].span(_templateObject7(), function (props) {
397
+ return props.theme.fontFamily;
375
398
  });
376
399
 
377
- var OptionContainer = _styledComponents["default"].div(_templateObject5(), function (props) {
378
- return props.iconPosition === "before" && "row" || "row-reverse";
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";
406
+ }, function (props) {
407
+ return props.iconPosition === "before" && props.label !== "" && props.theme.valueIconSpacing || "0px";
379
408
  });
380
409
 
381
- var ListIcon = _styledComponents["default"].img(_templateObject6(), function (props) {
382
- 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;
383
416
  }, function (props) {
384
- return props.iconPosition === "before" && props.label !== "" && "10px" || "0px";
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";
385
420
  });
386
421
 
387
- var SelectContainer = _styledComponents["default"].div(_templateObject7(), function (props) {
422
+ var SelectContainer = _styledComponents["default"].div(_templateObject10(), function (props) {
388
423
  return calculateWidth(props.margin, props.size);
389
424
  }, function (props) {
390
425
  return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
@@ -397,36 +432,97 @@ var SelectContainer = _styledComponents["default"].div(_templateObject7(), funct
397
432
  }, function (props) {
398
433
  return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
399
434
  }, function (props) {
400
- 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;
401
496
  }, function (props) {
402
- return props.theme.select.color;
497
+ return props.theme.optionBackgroundColor;
403
498
  }, function (props) {
404
- return props.theme.select.disabled;
499
+ return props.theme.optionBorderColor;
405
500
  }, function (props) {
406
- return props.invalid === true ? props.theme.select.error : props.theme.select.color;
501
+ return props.theme.optionBorderThickness;
407
502
  }, function (props) {
408
- return props.theme.select.color;
503
+ return props.theme.optionBorderStyle;
409
504
  }, function (props) {
410
- return props.theme.select.color;
505
+ return props.theme.scrollBarTrackColor;
411
506
  }, function (props) {
412
- return props.theme.select.focusColor;
507
+ return props.theme.scrollBarThumbColor;
413
508
  }, function (props) {
414
- return props.theme.select.disabled;
509
+ return props.theme.optionPaddingBottom;
415
510
  }, function (props) {
416
- return props.invalid === true ? props.theme.select.error : props.theme.select.color;
511
+ return props.theme.optionPaddingTop;
417
512
  }, function (props) {
418
- return props.invalid === true ? props.theme.select.error : props.theme.select.color;
513
+ return props.backgroundType === "dark" ? props.theme.hoverOptionBackgroundColorOnDark : props.theme.hoverOptionBackgroundColor;
419
514
  }, function (props) {
420
- return props.invalid === true ? props.theme.select.error : props.theme.select.color;
515
+ return props.backgroundType === "dark" ? props.theme.activeOptionBackgroundColorOnDark : props.theme.activeOptionBackgroundColor;
421
516
  }, function (props) {
422
- return props.invalid === true ? props.theme.select.error : props.theme.select.color;
517
+ return props.backgroundType === "dark" ? props.theme.focusColorOnDark : props.theme.focusColor;
423
518
  }, function (props) {
424
- return props.theme.select.color;
519
+ return props.backgroundType === "dark" ? props.theme.selectedOptionBackgroundColorOnDark : props.theme.selectedOptionBackgroundColor;
425
520
  });
426
521
 
427
522
  DxcSelect.propTypes = {
428
523
  size: _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(sizes))),
429
524
  label: _propTypes["default"].string,
525
+ assistiveText: _propTypes["default"].string,
430
526
  name: _propTypes["default"].string,
431
527
  value: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number, _propTypes["default"].arrayOf(_propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number]))]),
432
528
  disabled: _propTypes["default"].bool,
@@ -436,7 +532,8 @@ DxcSelect.propTypes = {
436
532
  onChange: _propTypes["default"].func,
437
533
  options: _propTypes["default"].arrayOf(_propTypes["default"].shape({
438
534
  value: _propTypes["default"].any.isRequired,
439
- label: _propTypes["default"].any.isRequired,
535
+ label: _propTypes["default"].string,
536
+ icon: _propTypes["default"].oneOfType([_propTypes["default"].element, _propTypes["default"].func]),
440
537
  iconSrc: _propTypes["default"].string
441
538
  })),
442
539
  multiple: _propTypes["default"].bool,
@@ -445,7 +542,8 @@ DxcSelect.propTypes = {
445
542
  bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
446
543
  left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
447
544
  right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
448
- }), _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
449
547
  };
450
548
  var _default = DxcSelect;
451
549
  exports["default"] = _default;