@dxc-technology/halstack-react 0.0.0-ed1185a → 0.0.0-ed41d64

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 (196) hide show
  1. package/README.md +27 -47
  2. package/dist/index.d.mts +6802 -0
  3. package/dist/index.d.ts +6802 -0
  4. package/dist/index.js +4372 -0
  5. package/dist/index.mjs +4372 -0
  6. package/package.json +76 -66
  7. package/babel.config.js +0 -8
  8. package/dist/BackgroundColorContext.js +0 -46
  9. package/dist/ThemeContext.js +0 -216
  10. package/dist/accordion/Accordion.js +0 -356
  11. package/dist/accordion/Accordion.stories.js +0 -207
  12. package/dist/accordion/readme.md +0 -96
  13. package/dist/accordion-group/AccordionGroup.js +0 -188
  14. package/dist/accordion-group/AccordionGroup.stories.js +0 -207
  15. package/dist/accordion-group/readme.md +0 -70
  16. package/dist/alert/Alert.js +0 -388
  17. package/dist/alert/Alert.stories.js +0 -158
  18. package/dist/alert/close.svg +0 -4
  19. package/dist/alert/error.svg +0 -4
  20. package/dist/alert/info.svg +0 -4
  21. package/dist/alert/readme.md +0 -43
  22. package/dist/alert/success.svg +0 -4
  23. package/dist/alert/warning.svg +0 -4
  24. package/dist/badge/Badge.js +0 -61
  25. package/dist/box/Box.js +0 -164
  26. package/dist/button/Button.js +0 -228
  27. package/dist/button/Button.stories.js +0 -224
  28. package/dist/button/readme.md +0 -93
  29. package/dist/card/Card.js +0 -247
  30. package/dist/checkbox/Checkbox.js +0 -291
  31. package/dist/checkbox/Checkbox.stories.js +0 -144
  32. package/dist/checkbox/readme.md +0 -116
  33. package/dist/chip/Chip.js +0 -277
  34. package/dist/common/OpenSans.css +0 -81
  35. package/dist/common/RequiredComponent.js +0 -40
  36. package/dist/common/fonts/OpenSans-Bold.ttf +0 -0
  37. package/dist/common/fonts/OpenSans-BoldItalic.ttf +0 -0
  38. package/dist/common/fonts/OpenSans-ExtraBold.ttf +0 -0
  39. package/dist/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  40. package/dist/common/fonts/OpenSans-Italic.ttf +0 -0
  41. package/dist/common/fonts/OpenSans-Light.ttf +0 -0
  42. package/dist/common/fonts/OpenSans-LightItalic.ttf +0 -0
  43. package/dist/common/fonts/OpenSans-Regular.ttf +0 -0
  44. package/dist/common/fonts/OpenSans-SemiBold.ttf +0 -0
  45. package/dist/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  46. package/dist/common/utils.js +0 -22
  47. package/dist/common/variables.js +0 -1049
  48. package/dist/date/Date.js +0 -359
  49. package/dist/date/Date.stories.js +0 -205
  50. package/dist/date/calendar.svg +0 -1
  51. package/dist/date/calendar_dark.svg +0 -1
  52. package/dist/date/readme.md +0 -73
  53. package/dist/dialog/Dialog.js +0 -236
  54. package/dist/dialog/Dialog.stories.js +0 -217
  55. package/dist/dialog/readme.md +0 -32
  56. package/dist/dropdown/Dropdown.js +0 -498
  57. package/dist/dropdown/Dropdown.stories.js +0 -249
  58. package/dist/dropdown/baseline-arrow_drop_down.svg +0 -1
  59. package/dist/dropdown/baseline-arrow_drop_down_wh.svg +0 -4
  60. package/dist/dropdown/baseline-arrow_drop_up.svg +0 -1
  61. package/dist/dropdown/baseline-arrow_drop_up_wh.svg +0 -4
  62. package/dist/dropdown/readme.md +0 -69
  63. package/dist/footer/Footer.js +0 -405
  64. package/dist/footer/Footer.stories.js +0 -94
  65. package/dist/footer/dxc_logo_wht.png +0 -0
  66. package/dist/footer/readme.md +0 -41
  67. package/dist/header/Header.js +0 -431
  68. package/dist/header/Header.stories.js +0 -176
  69. package/dist/header/close_icon.svg +0 -1
  70. package/dist/header/dxc_logo_black.png +0 -0
  71. package/dist/header/dxc_logo_blk_rgb.svg +0 -6
  72. package/dist/header/dxc_logo_white.png +0 -0
  73. package/dist/header/hamb_menu_black.svg +0 -1
  74. package/dist/header/hamb_menu_white.svg +0 -1
  75. package/dist/header/readme.md +0 -33
  76. package/dist/heading/Heading.js +0 -222
  77. package/dist/input-text/InputText.js +0 -631
  78. package/dist/input-text/InputText.stories.js +0 -209
  79. package/dist/input-text/error.svg +0 -1
  80. package/dist/input-text/readme.md +0 -91
  81. package/dist/layout/ApplicationLayout.js +0 -331
  82. package/dist/layout/facebook.svg +0 -45
  83. package/dist/layout/linkedin.svg +0 -50
  84. package/dist/layout/twitter.svg +0 -53
  85. package/dist/link/Link.js +0 -212
  86. package/dist/link/readme.md +0 -51
  87. package/dist/main.js +0 -311
  88. package/dist/paginator/Paginator.js +0 -283
  89. package/dist/paginator/images/next.svg +0 -3
  90. package/dist/paginator/images/nextPage.svg +0 -3
  91. package/dist/paginator/images/previous.svg +0 -3
  92. package/dist/paginator/images/previousPage.svg +0 -3
  93. package/dist/paginator/readme.md +0 -50
  94. package/dist/progress-bar/ProgressBar.js +0 -206
  95. package/dist/progress-bar/ProgressBar.stories.js +0 -280
  96. package/dist/progress-bar/readme.md +0 -63
  97. package/dist/radio/Radio.js +0 -209
  98. package/dist/radio/Radio.stories.js +0 -166
  99. package/dist/radio/readme.md +0 -70
  100. package/dist/resultsetTable/ResultsetTable.js +0 -332
  101. package/dist/resultsetTable/arrow_downward-24px_wht.svg +0 -1
  102. package/dist/resultsetTable/arrow_upward-24px_wht.svg +0 -1
  103. package/dist/resultsetTable/unfold_more-24px_wht.svg +0 -1
  104. package/dist/select/Select.js +0 -525
  105. package/dist/select/Select.stories.js +0 -235
  106. package/dist/select/readme.md +0 -72
  107. package/dist/sidenav/Sidenav.js +0 -183
  108. package/dist/slider/Slider.js +0 -267
  109. package/dist/slider/Slider.stories.js +0 -241
  110. package/dist/slider/readme.md +0 -64
  111. package/dist/spinner/Spinner.js +0 -214
  112. package/dist/spinner/Spinner.stories.js +0 -183
  113. package/dist/spinner/readme.md +0 -65
  114. package/dist/switch/Switch.js +0 -222
  115. package/dist/switch/Switch.stories.js +0 -134
  116. package/dist/switch/readme.md +0 -133
  117. package/dist/table/Table.js +0 -118
  118. package/dist/tabs/Tabs.js +0 -347
  119. package/dist/tabs/Tabs.stories.js +0 -130
  120. package/dist/tabs/readme.md +0 -78
  121. package/dist/tabs-for-sections/TabsForSections.js +0 -92
  122. package/dist/tabs-for-sections/readme.md +0 -78
  123. package/dist/tag/Tag.js +0 -268
  124. package/dist/textarea/Textarea.js +0 -260
  125. package/dist/toggle/Toggle.js +0 -220
  126. package/dist/toggle/Toggle.stories.js +0 -297
  127. package/dist/toggle/readme.md +0 -80
  128. package/dist/toggle-group/ToggleGroup.js +0 -241
  129. package/dist/toggle-group/readme.md +0 -82
  130. package/dist/upload/Upload.js +0 -209
  131. package/dist/upload/Upload.stories.js +0 -72
  132. package/dist/upload/buttons-upload/ButtonsUpload.js +0 -123
  133. package/dist/upload/buttons-upload/drag-drop-icon.svg +0 -4
  134. package/dist/upload/buttons-upload/upload-button.svg +0 -1
  135. package/dist/upload/dragAndDropArea/DragAndDropArea.js +0 -293
  136. package/dist/upload/dragAndDropArea/upload_drop.svg +0 -4
  137. package/dist/upload/dragAndDropArea/upload_file.svg +0 -4
  138. package/dist/upload/file-upload/FileToUpload.js +0 -162
  139. package/dist/upload/file-upload/audio-icon.svg +0 -4
  140. package/dist/upload/file-upload/close.svg +0 -4
  141. package/dist/upload/file-upload/file-icon.svg +0 -4
  142. package/dist/upload/file-upload/video-icon.svg +0 -4
  143. package/dist/upload/files-upload/FilesToUpload.js +0 -123
  144. package/dist/upload/readme.md +0 -37
  145. package/dist/upload/transaction/Transaction.js +0 -152
  146. package/dist/upload/transaction/audio-icon-err.svg +0 -4
  147. package/dist/upload/transaction/audio-icon.svg +0 -4
  148. package/dist/upload/transaction/error-icon.svg +0 -4
  149. package/dist/upload/transaction/file-icon-err.svg +0 -4
  150. package/dist/upload/transaction/file-icon.svg +0 -4
  151. package/dist/upload/transaction/image-icon-err.svg +0 -4
  152. package/dist/upload/transaction/image-icon.svg +0 -4
  153. package/dist/upload/transaction/success-icon.svg +0 -4
  154. package/dist/upload/transaction/video-icon-err.svg +0 -4
  155. package/dist/upload/transaction/video-icon.svg +0 -4
  156. package/dist/upload/transactions/Transactions.js +0 -122
  157. package/dist/useTheme.js +0 -22
  158. package/dist/wizard/Wizard.js +0 -383
  159. package/dist/wizard/invalid_icon.svg +0 -6
  160. package/dist/wizard/valid_icon.svg +0 -6
  161. package/dist/wizard/validation-wrong.svg +0 -6
  162. package/test/Accordion.test.js +0 -33
  163. package/test/AccordionGroup.test.js +0 -125
  164. package/test/Alert.test.js +0 -53
  165. package/test/Box.test.js +0 -10
  166. package/test/Button.test.js +0 -18
  167. package/test/Card.test.js +0 -30
  168. package/test/Checkbox.test.js +0 -45
  169. package/test/Chip.test.js +0 -25
  170. package/test/Date.test.js +0 -393
  171. package/test/Dialog.test.js +0 -23
  172. package/test/Dropdown.test.js +0 -130
  173. package/test/Footer.test.js +0 -99
  174. package/test/Header.test.js +0 -39
  175. package/test/Heading.test.js +0 -35
  176. package/test/InputText.test.js +0 -240
  177. package/test/Link.test.js +0 -42
  178. package/test/Paginator.test.js +0 -177
  179. package/test/ProgressBar.test.js +0 -35
  180. package/test/Radio.test.js +0 -37
  181. package/test/ResultsetTable.test.js +0 -330
  182. package/test/Select.test.js +0 -192
  183. package/test/Sidenav.test.js +0 -45
  184. package/test/Slider.test.js +0 -82
  185. package/test/Spinner.test.js +0 -27
  186. package/test/Switch.test.js +0 -45
  187. package/test/Table.test.js +0 -36
  188. package/test/Tabs.test.js +0 -109
  189. package/test/TabsForSections.test.js +0 -34
  190. package/test/Tag.test.js +0 -32
  191. package/test/TextArea.test.js +0 -52
  192. package/test/ToggleGroup.test.js +0 -81
  193. package/test/Upload.test.js +0 -60
  194. package/test/Wizard.test.js +0 -130
  195. package/test/mocks/pngMock.js +0 -1
  196. package/test/mocks/svgMock.js +0 -1
@@ -1,525 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
-
5
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
-
7
- Object.defineProperty(exports, "__esModule", {
8
- value: true
9
- });
10
- exports["default"] = void 0;
11
-
12
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
13
-
14
- var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
15
-
16
- var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
17
-
18
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
19
-
20
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
21
-
22
- var _react = _interopRequireWildcard(require("react"));
23
-
24
- var _Select = _interopRequireDefault(require("@material-ui/core/Select"));
25
-
26
- var _InputLabel = _interopRequireDefault(require("@material-ui/core/InputLabel"));
27
-
28
- var _FormControl = _interopRequireDefault(require("@material-ui/core/FormControl"));
29
-
30
- var _styledComponents = _interopRequireWildcard(require("styled-components"));
31
-
32
- var _MenuItem = _interopRequireDefault(require("@material-ui/core/MenuItem"));
33
-
34
- var _styles = require("@material-ui/core/styles");
35
-
36
- var _propTypes = _interopRequireDefault(require("prop-types"));
37
-
38
- var _Checkbox = _interopRequireDefault(require("../checkbox/Checkbox"));
39
-
40
- var _variables = require("../common/variables.js");
41
-
42
- var _utils = require("../common/utils.js");
43
-
44
- var _useTheme = _interopRequireDefault(require("../useTheme.js"));
45
-
46
- var _RequiredComponent = _interopRequireDefault(require("../common/RequiredComponent"));
47
-
48
- var _BackgroundColorContext = _interopRequireDefault(require("../BackgroundColorContext.js"));
49
-
50
- 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: ", ";\n font-family: ", ";\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 .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 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 &.Mui-focused {\n outline: ", "\n auto 1px;\n }\n &.Mui-disabled {\n opacity: ", ";\n cursor: not-allowed;\n &:focus {\n outline: none;\n }\n }\n }\n .MuiInput-underline {\n &:focus {\n border-bottom: ", ";\n border-bottom-color: ", ";\n }\n &.Mui-disabled:before {\n border-bottom-style: solid;\n }\n }\n .MuiInput-underline:hover:not(.Mui-disabled):before {\n border-bottom: 1px solid;\n border-bottom-color: ", ";\n }\n .MuiInput-underline:after {\n border-bottom: 1px solid;\n border-bottom-color: ", ";\n }\n .MuiInput-underline:before {\n border-bottom: 1px solid;\n border-bottom-color: ", ";\n }\n .MuiSelect-icon {\n color: ", " !important;\n }\n & label {\n text-overflow: ellipsis;\n overflow: hidden;\n width: calc(100% - 24px);\n }\n"]);
52
-
53
- _templateObject8 = function _templateObject8() {
54
- return data;
55
- };
56
-
57
- return data;
58
- }
59
-
60
- function _templateObject7() {
61
- var data = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n width: ", ";\n height: ", ";\n margin-left: ", ";\n margin-right: ", ";\n overflow: hidden;\n opacity: ", ";\n\n img,\n svg {\n height: 100%;\n width: 100%;\n }\n"]);
62
-
63
- _templateObject7 = function _templateObject7() {
64
- return data;
65
- };
66
-
67
- return data;
68
- }
69
-
70
- function _templateObject6() {
71
- var data = (0, _taggedTemplateLiteral2["default"])(["\n width: ", ";\n height: ", ";\n margin-left: ", ";\n margin-right: ", ";\n"]);
72
-
73
- _templateObject6 = function _templateObject6() {
74
- return data;
75
- };
76
-
77
- return data;
78
- }
79
-
80
- function _templateObject5() {
81
- 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"]);
82
-
83
- _templateObject5 = function _templateObject5() {
84
- return data;
85
- };
86
-
87
- return data;
88
- }
89
-
90
- function _templateObject4() {
91
- var data = (0, _taggedTemplateLiteral2["default"])(["\n font-family: ", ";\n margin-left: ", ";\n margin-right: ", ";\n overflow: hidden;\n text-overflow: ellipsis;\n"]);
92
-
93
- _templateObject4 = function _templateObject4() {
94
- return data;
95
- };
96
-
97
- return data;
98
- }
99
-
100
- 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"]);
102
-
103
- _templateObject3 = function _templateObject3() {
104
- return data;
105
- };
106
-
107
- return data;
108
- }
109
-
110
- function _templateObject2() {
111
- var data = (0, _taggedTemplateLiteral2["default"])(["\n overflow: hidden;\n text-overflow: ellipsis;\n"]);
112
-
113
- _templateObject2 = function _templateObject2() {
114
- return data;
115
- };
116
-
117
- return data;
118
- }
119
-
120
- function _templateObject() {
121
- var data = (0, _taggedTemplateLiteral2["default"])(["\n width: calc(100% - 24px);\n overflow: hidden;\n text-overflow: ellipsis;\n"]);
122
-
123
- _templateObject = function _templateObject() {
124
- return data;
125
- };
126
-
127
- return data;
128
- }
129
-
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
- backgroundColor: props.optionsBackgroundColor,
163
- borderColor: props.optionsBorderColor,
164
- borderWidth: props.optionsBorderThickness,
165
- borderStyle: props.optionsBorderStyle
166
- }
167
- };
168
- },
169
- itemList: function itemList(props) {
170
- return {
171
- color: "".concat(props.optionsFontColor || props.color),
172
- "&.MuiList-padding": {
173
- paddingBottom: "0px",
174
- paddingTop: "0px"
175
- },
176
- "& li": {
177
- fontSize: props.optionsFontSize,
178
- fontStyle: props.optionsFontStyle,
179
- fontWeight: props.optionsFontWeight,
180
- paddingBottom: props.optionPaddingBottom,
181
- paddingTop: props.optionPaddingTop,
182
- paddingLeft: props.optionPaddingLeft,
183
- paddingRight: props.optionPaddingRight,
184
- "&:hover": {
185
- backgroundColor: "".concat(props.backgroundType === "dark" ? props.hoveredOptionBackgroundColorOnDark : props.hoveredOptionBackgroundColor),
186
- color: "".concat(props.optionsFontColor || props.color)
187
- },
188
- "&:active": {
189
- backgroundColor: "".concat(props.backgroundType === "dark" ? props.selectedOptionBackgroundColorOnDark : props.selectedOptionBackgroundColor) + props.hoverOptionBackgroundColor,
190
- color: "".concat(props.optionsFontColor || props.color)
191
- },
192
- "&.MuiListItem-root.Mui-selected": {
193
- backgroundColor: "".concat(props.backgroundType === "dark" ? props.selectedOptionBackgroundColorOnDark : props.selectedOptionBackgroundColor),
194
- color: "".concat(props.optionsFontColor || props.color)
195
- }
196
- }
197
- };
198
- }
199
- };
200
- });
201
-
202
- var DxcSelect = function DxcSelect(_ref) {
203
- var value = _ref.value,
204
- name = _ref.name,
205
- onChange = _ref.onChange,
206
- label = _ref.label,
207
- _ref$required = _ref.required,
208
- required = _ref$required === void 0 ? false : _ref$required,
209
- _ref$disabled = _ref.disabled,
210
- disabled = _ref$disabled === void 0 ? false : _ref$disabled,
211
- _ref$invalid = _ref.invalid,
212
- invalid = _ref$invalid === void 0 ? false : _ref$invalid,
213
- _ref$options = _ref.options,
214
- options = _ref$options === void 0 ? [] : _ref$options,
215
- _ref$iconPosition = _ref.iconPosition,
216
- iconPosition = _ref$iconPosition === void 0 ? "before" : _ref$iconPosition,
217
- _ref$multiple = _ref.multiple,
218
- multiple = _ref$multiple === void 0 ? false : _ref$multiple,
219
- margin = _ref.margin,
220
- _ref$size = _ref.size,
221
- size = _ref$size === void 0 ? "medium" : _ref$size,
222
- _ref$tabIndex = _ref.tabIndex,
223
- tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
224
- var colorsTheme = (0, _useTheme["default"])();
225
- var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"]);
226
-
227
- var _useState = (0, _react.useState)(multiple && [] || ""),
228
- _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
229
- selectedValue = _useState2[0],
230
- setSelectedValue = _useState2[1];
231
-
232
- var selectValues = _objectSpread({
233
- width: "auto"
234
- }, colorsTheme.select, {
235
- backgroundType: backgroundType
236
- });
237
-
238
- var classes = useStyles(selectValues);
239
-
240
- var handleSelectChange = function handleSelectChange(selectedOption) {
241
- if (multiple) {
242
- setSelectedValue(selectedOption.target.value);
243
-
244
- if (typeof onChange === "function") {
245
- onChange(selectedOption.target.value);
246
- }
247
- } else {
248
- setSelectedValue(selectedOption.target.value);
249
-
250
- if (typeof onChange === "function") {
251
- onChange(selectedOption.target.value);
252
- }
253
- }
254
- };
255
-
256
- var getLabelForSingleSelect = function getLabelForSingleSelect(selected) {
257
- var selectedItem = options.filter(function (option) {
258
- return option.value === selected;
259
- })[0];
260
- return _react["default"].createElement(SelectedIconContainer, {
261
- iconPosition: iconPosition,
262
- multiple: multiple,
263
- label: selectedItem && selectedItem.label,
264
- key: selectedItem && selectedItem.label
265
- }, selectedItem && selectedItem.icon ? _react["default"].createElement(ListIconContainer, {
266
- disabled: disabled
267
- }, (0, _typeof2["default"])(selectedItem.icon) === "object" ? selectedItem.icon : _react["default"].createElement(selectedItem.icon)) : selectedItem && selectedItem.iconSrc && _react["default"].createElement(ListIcon, {
268
- src: selectedItem && selectedItem.iconSrc
269
- }), selectedItem && selectedItem.label && _react["default"].createElement(SelectedLabelContainer, {
270
- iconSrc: selectedItem && selectedItem.iconSrc && selectedItem.icon,
271
- iconPosition: iconPosition,
272
- disabled: disabled
273
- }, selectedItem && selectedItem.label));
274
- };
275
-
276
- var getSelectedValuesWithLabel = function getSelectedValuesWithLabel(optionsList, selected) {
277
- return _react["default"].createElement(MultipleLabelSelected, null, optionsList.filter(function (x) {
278
- return selected.includes(x.value);
279
- }).map(function (optionToRender) {
280
- return optionToRender.label;
281
- }).join(", "));
282
- };
283
-
284
- var getSelectedValuesWithIcons = function getSelectedValuesWithIcons(optionsList, selected) {
285
- return options.filter(function (x) {
286
- return selected.includes(x.value);
287
- }).map(function (optionToRender) {
288
- return getLabelForSingleSelect(optionToRender.value);
289
- });
290
- };
291
-
292
- var labelForMultipleSelect = function labelForMultipleSelect(selected) {
293
- return options.findIndex(function (option) {
294
- return !option.label;
295
- }) !== -1 ? getSelectedValuesWithIcons(options, selected) : getSelectedValuesWithLabel(options, selected);
296
- };
297
-
298
- var getRenderValue = function getRenderValue(selected) {
299
- return multiple && labelForMultipleSelect(selected) || getLabelForSingleSelect(selected);
300
- };
301
-
302
- var isChecked = function isChecked(checkedValue, value, option) {
303
- if (value !== undefined) {
304
- var result = false;
305
- value.map(function (val) {
306
- if (val === option.value) {
307
- result = true;
308
- }
309
- });
310
- return result;
311
- } else if (checkedValue) {
312
- return checkedValue.findIndex(function (element) {
313
- return element === option.value;
314
- }) !== -1 || false;
315
- }
316
- };
317
-
318
- return _react["default"].createElement(_styledComponents.ThemeProvider, {
319
- theme: colorsTheme.select
320
- }, _react["default"].createElement(SelectContainer, {
321
- margin: margin,
322
- size: size,
323
- invalid: invalid,
324
- disabled: disabled,
325
- backgroundType: backgroundType
326
- }, _react["default"].createElement(_FormControl["default"], null, _react["default"].createElement(_InputLabel["default"], {
327
- disabled: disabled
328
- }, required && _react["default"].createElement(_RequiredComponent["default"], null), label), _react["default"].createElement(_Select["default"], {
329
- name: name,
330
- multiple: multiple,
331
- renderValue: getRenderValue,
332
- onChange: handleSelectChange,
333
- value: value !== undefined ? value : selectedValue,
334
- disabled: disabled,
335
- MenuProps: {
336
- classes: {
337
- paper: classes.dropdownStyle,
338
- list: classes.itemList
339
- },
340
- getContentAnchorEl: null,
341
- anchorOrigin: {
342
- vertical: "bottom",
343
- horizontal: "left"
344
- }
345
- },
346
- inputProps: {
347
- tabIndex: disabled ? -1 : tabIndex
348
- }
349
- }, options.map(function (option) {
350
- return _react["default"].createElement(_MenuItem["default"], {
351
- id: option.value,
352
- value: option.value,
353
- disableRipple: true,
354
- key: option.value
355
- }, multiple && _react["default"].createElement(_Checkbox["default"], {
356
- size: "fitContent",
357
- checked: isChecked(selectedValue, value, option)
358
- }), _react["default"].createElement(OptionContainer, {
359
- iconPosition: iconPosition,
360
- multiple: multiple
361
- }, option.icon ? _react["default"].createElement(ListIconContainer, {
362
- label: option.label,
363
- iconPosition: iconPosition
364
- }, (0, _typeof2["default"])(option.icon) === "object" ? option.icon : _react["default"].createElement(option.icon)) : option.iconSrc && _react["default"].createElement(ListIcon, {
365
- src: option.iconSrc,
366
- label: option.label,
367
- iconPosition: iconPosition
368
- }), " ", _react["default"].createElement(LabelCont, null, option.label)));
369
- })))));
370
- };
371
-
372
- var sizes = {
373
- small: "60px",
374
- medium: "240px",
375
- large: "480px",
376
- fillParent: "100%"
377
- };
378
-
379
- var calculateWidth = function calculateWidth(margin, size) {
380
- if (size === "fillParent") {
381
- return "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")");
382
- }
383
-
384
- return sizes[size];
385
- };
386
-
387
- var MultipleLabelSelected = _styledComponents["default"].div(_templateObject());
388
-
389
- var LabelCont = _styledComponents["default"].span(_templateObject2());
390
-
391
- var SelectedIconContainer = _styledComponents["default"].div(_templateObject3(), function (props) {
392
- return props.iconPosition === "before" && "row" || "row-reverse";
393
- }, function (props) {
394
- return props.iconPosition === "before" && "flex-start" || "flex-end";
395
- }, function (props) {
396
- return props.multiple && props.label && "15px" || "0px";
397
- }, function (props) {
398
- return !props.multiple && "calc(100% - 24px)" || "auto";
399
- }, function (props) {
400
- return props.iconPosition === "after" && (props.label !== "" || props.label === undefined) && "content:','";
401
- }, function (props) {
402
- return props.iconPosition === "before" && (props.label !== "" || props.label === undefined) && "content:','";
403
- });
404
-
405
- var SelectedLabelContainer = _styledComponents["default"].span(_templateObject4(), function (props) {
406
- return props.theme.fontFamily;
407
- }, function (props) {
408
- return (props.iconPosition === "after" || !props.iconSrc) && "0px" || "10px";
409
- }, function (props) {
410
- return (props.iconPosition === "before" || !props.iconSrc) && "0px" || "10px";
411
- });
412
-
413
- var OptionContainer = _styledComponents["default"].div(_templateObject5(), function (props) {
414
- return props.theme.fontFamily;
415
- }, function (props) {
416
- return props.iconPosition === "before" && "row" || "row-reverse";
417
- }, function (props) {
418
- return props.multiple && "margin-left: ".concat(props.theme.checkboxOptionSpacing, ";");
419
- });
420
-
421
- var ListIcon = _styledComponents["default"].img(_templateObject6(), function (props) {
422
- return props.theme.iconWidth;
423
- }, function (props) {
424
- return props.theme.iconHeight;
425
- }, function (props) {
426
- return props.iconPosition === "after" && props.label !== "" && props.theme.iconOptionSpacing || "0px";
427
- }, function (props) {
428
- return props.iconPosition === "before" && props.label !== "" && props.theme.iconOptionSpacing || "0px";
429
- });
430
-
431
- var ListIconContainer = _styledComponents["default"].div(_templateObject7(), function (props) {
432
- return props.theme.iconColor;
433
- }, function (props) {
434
- return props.theme.iconWidth;
435
- }, function (props) {
436
- return props.theme.iconHeight;
437
- }, function (props) {
438
- return props.iconPosition === "after" && props.label !== "" && props.theme.iconOptionSpacing || "0px";
439
- }, function (props) {
440
- return props.iconPosition === "before" && props.label !== "" && props.theme.iconOptionSpacing || "0px";
441
- }, function (props) {
442
- return props.disabled && "0.34";
443
- });
444
-
445
- var SelectContainer = _styledComponents["default"].div(_templateObject8(), function (props) {
446
- return calculateWidth(props.margin, props.size);
447
- }, function (props) {
448
- return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
449
- }, function (props) {
450
- return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.top ? _variables.spaces[props.margin.top] : "";
451
- }, function (props) {
452
- return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.right ? _variables.spaces[props.margin.right] : "";
453
- }, function (props) {
454
- return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.bottom ? _variables.spaces[props.margin.bottom] : "";
455
- }, function (props) {
456
- return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
457
- }, function (props) {
458
- return props.theme.labelFontSize;
459
- }, function (props) {
460
- return props.theme.fontFamily;
461
- }, function (props) {
462
- return props.theme.labelFontStyle;
463
- }, function (props) {
464
- return props.theme.labelFontWeight;
465
- }, function (props) {
466
- return props.backgroundType === "dark" ? props.invalid === true ? props.theme.errorColorOnDark : props.theme.colorOnDark : props.invalid === true ? props.theme.errorColor : props.theme.color;
467
- }, function (props) {
468
- return props.backgroundType === "dark" ? props.theme.disabledColorOnDark : props.theme.disabledColor;
469
- }, function (props) {
470
- return props.theme.labelFontSize;
471
- }, function (props) {
472
- return props.theme.labelFontStyle;
473
- }, function (props) {
474
- return props.theme.labelFontWeight;
475
- }, function (props) {
476
- return props.backgroundType === "dark" ? props.invalid === true ? props.theme.errorColorOnDark : props.theme.colorOnDark : props.invalid === true ? props.theme.errorColor : props.theme.color;
477
- }, function (props) {
478
- return props.backgroundType === "dark" ? props.theme.colorOnDark : props.theme.color;
479
- }, function (props) {
480
- return props.backgroundType === "dark" ? props.theme.disabledColorOnDark : props.theme.disabledColor;
481
- }, function (props) {
482
- return props.backgroundType === "dark" ? props.theme.focusColorOnDark : props.theme.focusColor;
483
- }, function (props) {
484
- return props.theme.disabled;
485
- }, function (props) {
486
- return props.disabled && "0px solid" || "2px solid";
487
- }, function (props) {
488
- return props.backgroundType === "dark" ? props.invalid === true && props.theme.errorColorOnDark || props.disabled && props.theme.disabledColorOnDark || props.theme.colorOnDark : props.invalid === true && props.theme.errorColor || props.disabled && props.theme.disabledColor || props.theme.color;
489
- }, function (props) {
490
- return props.backgroundType === "dark" ? props.invalid === true && props.theme.errorColorOnDark || props.disabled && props.theme.disabledColorOnDark || props.theme.colorOnDark : props.invalid === true && props.theme.errorColor || props.disabled && props.theme.disabledColor || props.theme.color;
491
- }, function (props) {
492
- return props.backgroundType === "dark" ? props.invalid === true ? props.theme.errorColorOnDark : props.theme.colorOnDark : props.invalid === true ? props.theme.errorColor : props.theme.color;
493
- }, function (props) {
494
- return props.backgroundType === "dark" ? props.invalid === true && props.theme.errorColorOnDark || props.disabled && props.theme.disabledColorOnDark || props.theme.colorOnDark : props.invalid === true && props.theme.errorColor || props.disabled && props.theme.disabledColor || props.theme.color;
495
- }, function (props) {
496
- return props.backgroundType === "dark" ? props.disabled && props.theme.disabledColorOnDark || props.theme.colorOnDark : props.disabled && props.theme.disabledColor || props.theme.color;
497
- });
498
-
499
- DxcSelect.propTypes = {
500
- size: _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(sizes))),
501
- label: _propTypes["default"].string,
502
- name: _propTypes["default"].string,
503
- value: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number, _propTypes["default"].arrayOf(_propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number]))]),
504
- disabled: _propTypes["default"].bool,
505
- required: _propTypes["default"].bool,
506
- invalid: _propTypes["default"].bool,
507
- iconPosition: _propTypes["default"].oneOf(["after", "before"]),
508
- onChange: _propTypes["default"].func,
509
- options: _propTypes["default"].arrayOf(_propTypes["default"].shape({
510
- value: _propTypes["default"].any.isRequired,
511
- label: _propTypes["default"].string,
512
- icon: _propTypes["default"].oneOfType([_propTypes["default"].element, _propTypes["default"].func]),
513
- iconSrc: _propTypes["default"].string
514
- })),
515
- multiple: _propTypes["default"].bool,
516
- margin: _propTypes["default"].oneOfType([_propTypes["default"].shape({
517
- top: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
518
- bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
519
- left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
520
- right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
521
- }), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))]),
522
- tabIndex: _propTypes["default"].number
523
- };
524
- var _default = DxcSelect;
525
- exports["default"] = _default;