@dxc-technology/halstack-react 0.0.0-e2d44ba → 0.0.0-e3347c0

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 (180) hide show
  1. package/README.md +27 -47
  2. package/dist/index.d.mts +6708 -0
  3. package/dist/index.d.ts +6708 -0
  4. package/dist/index.js +1 -0
  5. package/dist/index.mjs +1 -0
  6. package/package.json +79 -67
  7. package/babel.config.js +0 -8
  8. package/dist/BackgroundColorContext.js +0 -46
  9. package/dist/ThemeContext.js +0 -240
  10. package/dist/accordion/Accordion.js +0 -353
  11. package/dist/accordion-group/AccordionGroup.js +0 -186
  12. package/dist/alert/Alert.js +0 -403
  13. package/dist/badge/Badge.js +0 -63
  14. package/dist/box/Box.js +0 -156
  15. package/dist/button/Button.js +0 -238
  16. package/dist/card/Card.js +0 -254
  17. package/dist/checkbox/Checkbox.js +0 -300
  18. package/dist/checkbox/Checkbox.stories.js +0 -144
  19. package/dist/checkbox/readme.md +0 -116
  20. package/dist/chip/Chip.js +0 -265
  21. package/dist/common/OpenSans.css +0 -81
  22. package/dist/common/RequiredComponent.js +0 -40
  23. package/dist/common/fonts/OpenSans-Bold.ttf +0 -0
  24. package/dist/common/fonts/OpenSans-BoldItalic.ttf +0 -0
  25. package/dist/common/fonts/OpenSans-ExtraBold.ttf +0 -0
  26. package/dist/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  27. package/dist/common/fonts/OpenSans-Italic.ttf +0 -0
  28. package/dist/common/fonts/OpenSans-Light.ttf +0 -0
  29. package/dist/common/fonts/OpenSans-LightItalic.ttf +0 -0
  30. package/dist/common/fonts/OpenSans-Regular.ttf +0 -0
  31. package/dist/common/fonts/OpenSans-SemiBold.ttf +0 -0
  32. package/dist/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  33. package/dist/common/utils.js +0 -22
  34. package/dist/common/variables.js +0 -1365
  35. package/dist/date/Date.js +0 -381
  36. package/dist/date/Date.stories.js +0 -205
  37. package/dist/date/readme.md +0 -73
  38. package/dist/dialog/Dialog.js +0 -218
  39. package/dist/dropdown/Dropdown.js +0 -544
  40. package/dist/footer/Footer.js +0 -395
  41. package/dist/footer/Footer.stories.js +0 -94
  42. package/dist/footer/dxc_logo.svg +0 -15
  43. package/dist/footer/readme.md +0 -41
  44. package/dist/header/Header.js +0 -403
  45. package/dist/header/Header.stories.js +0 -176
  46. package/dist/header/close_icon.svg +0 -1
  47. package/dist/header/dxc_logo_black.svg +0 -8
  48. package/dist/header/hamb_menu_black.svg +0 -1
  49. package/dist/header/hamb_menu_white.svg +0 -1
  50. package/dist/header/readme.md +0 -33
  51. package/dist/heading/Heading.js +0 -218
  52. package/dist/input-text/InputText.js +0 -707
  53. package/dist/input-text/InputText.stories.js +0 -209
  54. package/dist/input-text/error.svg +0 -1
  55. package/dist/input-text/readme.md +0 -91
  56. package/dist/layout/ApplicationLayout.js +0 -331
  57. package/dist/layout/facebook.svg +0 -45
  58. package/dist/layout/linkedin.svg +0 -50
  59. package/dist/layout/twitter.svg +0 -53
  60. package/dist/link/Link.js +0 -241
  61. package/dist/link/readme.md +0 -51
  62. package/dist/main.js +0 -351
  63. package/dist/new-date/NewDate.js +0 -403
  64. package/dist/new-input-text/NewInputText.js +0 -961
  65. package/dist/new-textarea/NewTextarea.js +0 -346
  66. package/dist/number/Number.js +0 -138
  67. package/dist/number/NumberContext.js +0 -16
  68. package/dist/paginator/Paginator.js +0 -289
  69. package/dist/paginator/images/next.svg +0 -3
  70. package/dist/paginator/images/nextPage.svg +0 -3
  71. package/dist/paginator/images/previous.svg +0 -3
  72. package/dist/paginator/images/previousPage.svg +0 -3
  73. package/dist/paginator/readme.md +0 -50
  74. package/dist/password/Password.js +0 -200
  75. package/dist/password/styles.css +0 -3
  76. package/dist/progress-bar/ProgressBar.js +0 -242
  77. package/dist/progress-bar/ProgressBar.stories.js +0 -280
  78. package/dist/progress-bar/readme.md +0 -63
  79. package/dist/radio/Radio.js +0 -209
  80. package/dist/radio/Radio.stories.js +0 -166
  81. package/dist/radio/readme.md +0 -70
  82. package/dist/resultsetTable/ResultsetTable.js +0 -358
  83. package/dist/resultsetTable/arrow_downward-24px_wht.svg +0 -1
  84. package/dist/resultsetTable/arrow_upward-24px_wht.svg +0 -1
  85. package/dist/resultsetTable/unfold_more-24px_wht.svg +0 -1
  86. package/dist/select/Select.js +0 -549
  87. package/dist/sidenav/Sidenav.js +0 -177
  88. package/dist/slider/Slider.js +0 -319
  89. package/dist/slider/Slider.stories.js +0 -241
  90. package/dist/slider/readme.md +0 -64
  91. package/dist/spinner/Spinner.js +0 -381
  92. package/dist/spinner/Spinner.stories.js +0 -183
  93. package/dist/spinner/readme.md +0 -65
  94. package/dist/switch/Switch.js +0 -222
  95. package/dist/switch/Switch.stories.js +0 -134
  96. package/dist/switch/readme.md +0 -133
  97. package/dist/table/Table.js +0 -132
  98. package/dist/tabs/Tabs.js +0 -343
  99. package/dist/tabs/Tabs.stories.js +0 -130
  100. package/dist/tabs/readme.md +0 -78
  101. package/dist/tabs-for-sections/TabsForSections.js +0 -92
  102. package/dist/tabs-for-sections/readme.md +0 -78
  103. package/dist/tag/Tag.js +0 -288
  104. package/dist/textarea/Textarea.js +0 -264
  105. package/dist/toggle/Toggle.js +0 -220
  106. package/dist/toggle/Toggle.stories.js +0 -297
  107. package/dist/toggle/readme.md +0 -80
  108. package/dist/toggle-group/ToggleGroup.js +0 -223
  109. package/dist/upload/Upload.js +0 -205
  110. package/dist/upload/Upload.stories.js +0 -72
  111. package/dist/upload/buttons-upload/ButtonsUpload.js +0 -139
  112. package/dist/upload/buttons-upload/drag-drop-icon.svg +0 -4
  113. package/dist/upload/buttons-upload/upload-button.svg +0 -1
  114. package/dist/upload/dragAndDropArea/DragAndDropArea.js +0 -329
  115. package/dist/upload/dragAndDropArea/upload_drop.svg +0 -4
  116. package/dist/upload/dragAndDropArea/upload_file.svg +0 -4
  117. package/dist/upload/file-upload/FileToUpload.js +0 -184
  118. package/dist/upload/file-upload/audio-icon.svg +0 -4
  119. package/dist/upload/file-upload/close.svg +0 -4
  120. package/dist/upload/file-upload/file-icon.svg +0 -4
  121. package/dist/upload/file-upload/video-icon.svg +0 -4
  122. package/dist/upload/files-upload/FilesToUpload.js +0 -123
  123. package/dist/upload/readme.md +0 -37
  124. package/dist/upload/transaction/Transaction.js +0 -175
  125. package/dist/upload/transaction/audio-icon-err.svg +0 -4
  126. package/dist/upload/transaction/audio-icon.svg +0 -4
  127. package/dist/upload/transaction/error-icon.svg +0 -4
  128. package/dist/upload/transaction/file-icon-err.svg +0 -4
  129. package/dist/upload/transaction/file-icon.svg +0 -4
  130. package/dist/upload/transaction/image-icon-err.svg +0 -4
  131. package/dist/upload/transaction/image-icon.svg +0 -4
  132. package/dist/upload/transaction/success-icon.svg +0 -4
  133. package/dist/upload/transaction/video-icon-err.svg +0 -4
  134. package/dist/upload/transaction/video-icon.svg +0 -4
  135. package/dist/upload/transactions/Transactions.js +0 -138
  136. package/dist/useTheme.js +0 -22
  137. package/dist/wizard/Wizard.js +0 -411
  138. package/dist/wizard/invalid_icon.svg +0 -5
  139. package/dist/wizard/valid_icon.svg +0 -5
  140. package/dist/wizard/validation-wrong.svg +0 -6
  141. package/test/Accordion.test.js +0 -33
  142. package/test/AccordionGroup.test.js +0 -125
  143. package/test/Alert.test.js +0 -53
  144. package/test/Box.test.js +0 -10
  145. package/test/Button.test.js +0 -18
  146. package/test/Card.test.js +0 -30
  147. package/test/Checkbox.test.js +0 -45
  148. package/test/Chip.test.js +0 -25
  149. package/test/Date.test.js +0 -393
  150. package/test/Dialog.test.js +0 -23
  151. package/test/Dropdown.test.js +0 -145
  152. package/test/Footer.test.js +0 -99
  153. package/test/Header.test.js +0 -39
  154. package/test/Heading.test.js +0 -35
  155. package/test/InputText.test.js +0 -240
  156. package/test/Link.test.js +0 -43
  157. package/test/NewDate.test.js +0 -203
  158. package/test/NewInputText.test.js +0 -817
  159. package/test/NewTextarea.test.js +0 -201
  160. package/test/Number.test.js +0 -241
  161. package/test/Paginator.test.js +0 -177
  162. package/test/Password.test.js +0 -76
  163. package/test/ProgressBar.test.js +0 -35
  164. package/test/Radio.test.js +0 -37
  165. package/test/ResultsetTable.test.js +0 -329
  166. package/test/Select.test.js +0 -212
  167. package/test/Sidenav.test.js +0 -45
  168. package/test/Slider.test.js +0 -82
  169. package/test/Spinner.test.js +0 -32
  170. package/test/Switch.test.js +0 -45
  171. package/test/Table.test.js +0 -36
  172. package/test/Tabs.test.js +0 -109
  173. package/test/TabsForSections.test.js +0 -34
  174. package/test/Tag.test.js +0 -32
  175. package/test/TextArea.test.js +0 -52
  176. package/test/ToggleGroup.test.js +0 -81
  177. package/test/Upload.test.js +0 -60
  178. package/test/Wizard.test.js +0 -130
  179. package/test/mocks/pngMock.js +0 -1
  180. package/test/mocks/svgMock.js +0 -1
@@ -1,549 +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 _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
19
-
20
- var _react = _interopRequireWildcard(require("react"));
21
-
22
- var _Select = _interopRequireDefault(require("@material-ui/core/Select"));
23
-
24
- var _InputLabel = _interopRequireDefault(require("@material-ui/core/InputLabel"));
25
-
26
- var _FormControl = _interopRequireDefault(require("@material-ui/core/FormControl"));
27
-
28
- var _FormHelperText = _interopRequireDefault(require("@material-ui/core/FormHelperText"));
29
-
30
- var _styledComponents = _interopRequireWildcard(require("styled-components"));
31
-
32
- var _MenuItem = _interopRequireDefault(require("@material-ui/core/MenuItem"));
33
-
34
- var _propTypes = _interopRequireDefault(require("prop-types"));
35
-
36
- var _Checkbox = _interopRequireDefault(require("../checkbox/Checkbox"));
37
-
38
- var _variables = require("../common/variables.js");
39
-
40
- var _utils = require("../common/utils.js");
41
-
42
- var _useTheme = _interopRequireDefault(require("../useTheme.js"));
43
-
44
- var _RequiredComponent = _interopRequireDefault(require("../common/RequiredComponent"));
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
-
78
- function _templateObject7() {
79
- var data = (0, _taggedTemplateLiteral2["default"])(["\n font-family: ", ";\n overflow: hidden;\n text-overflow: ellipsis;\n"]);
80
-
81
- _templateObject7 = function _templateObject7() {
82
- return data;
83
- };
84
-
85
- return data;
86
- }
87
-
88
- function _templateObject6() {
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"]);
90
-
91
- _templateObject6 = function _templateObject6() {
92
- return data;
93
- };
94
-
95
- return data;
96
- }
97
-
98
- function _templateObject5() {
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"]);
100
-
101
- _templateObject5 = function _templateObject5() {
102
- return data;
103
- };
104
-
105
- return data;
106
- }
107
-
108
- function _templateObject4() {
109
- var data = (0, _taggedTemplateLiteral2["default"])(["\n width: ", ";\n height: ", ";\n margin-left: ", ";\n margin-right: ", ";\n"]);
110
-
111
- _templateObject4 = function _templateObject4() {
112
- return data;
113
- };
114
-
115
- return data;
116
- }
117
-
118
- function _templateObject3() {
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"]);
120
-
121
- _templateObject3 = function _templateObject3() {
122
- return data;
123
- };
124
-
125
- return data;
126
- }
127
-
128
- function _templateObject2() {
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"]);
130
-
131
- _templateObject2 = function _templateObject2() {
132
- return data;
133
- };
134
-
135
- return data;
136
- }
137
-
138
- function _templateObject() {
139
- var data = (0, _taggedTemplateLiteral2["default"])(["\n width: calc(100% - 24px);\n overflow: hidden;\n text-overflow: ellipsis;\n"]);
140
-
141
- _templateObject = function _templateObject() {
142
- return data;
143
- };
144
-
145
- return data;
146
- }
147
-
148
- var DxcSelect = function DxcSelect(_ref) {
149
- var value = _ref.value,
150
- name = _ref.name,
151
- onChange = _ref.onChange,
152
- label = _ref.label,
153
- assistiveText = _ref.assistiveText,
154
- _ref$required = _ref.required,
155
- required = _ref$required === void 0 ? false : _ref$required,
156
- _ref$disabled = _ref.disabled,
157
- disabled = _ref$disabled === void 0 ? false : _ref$disabled,
158
- _ref$invalid = _ref.invalid,
159
- invalid = _ref$invalid === void 0 ? false : _ref$invalid,
160
- _ref$options = _ref.options,
161
- options = _ref$options === void 0 ? [] : _ref$options,
162
- _ref$iconPosition = _ref.iconPosition,
163
- iconPosition = _ref$iconPosition === void 0 ? "before" : _ref$iconPosition,
164
- _ref$multiple = _ref.multiple,
165
- multiple = _ref$multiple === void 0 ? false : _ref$multiple,
166
- margin = _ref.margin,
167
- _ref$size = _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;
171
- var colorsTheme = (0, _useTheme["default"])();
172
- var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"]);
173
-
174
- var _useState = (0, _react.useState)(multiple && [] || ""),
175
- _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
176
- selectedValue = _useState2[0],
177
- setSelectedValue = _useState2[1];
178
-
179
- var handleSelectChange = function handleSelectChange(selectedOption) {
180
- if (multiple) {
181
- setSelectedValue(selectedOption.target.value);
182
-
183
- if (typeof onChange === "function") {
184
- onChange(selectedOption.target.value);
185
- }
186
- } else {
187
- setSelectedValue(selectedOption.target.value);
188
-
189
- if (typeof onChange === "function") {
190
- onChange(selectedOption.target.value);
191
- }
192
- }
193
- };
194
-
195
- var getLabelForSingleSelect = function getLabelForSingleSelect(selected) {
196
- var selectedItem = options.filter(function (option) {
197
- return option.value === selected;
198
- })[0];
199
- return _react["default"].createElement(SelectedOptionContainer, {
200
- iconPosition: iconPosition,
201
- multiple: multiple,
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,
215
- iconPosition: iconPosition,
216
- disabled: disabled
217
- }, selectedItem && selectedItem.label));
218
- };
219
-
220
- var getSelectedValuesWithLabel = function getSelectedValuesWithLabel(optionsList, selected) {
221
- return _react["default"].createElement(MultipleLabelSelected, null, optionsList.filter(function (x) {
222
- return selected.includes(x.value);
223
- }).map(function (optionToRender) {
224
- return optionToRender.label;
225
- }).join(", "));
226
- };
227
-
228
- var getSelectedValuesWithIcons = function getSelectedValuesWithIcons(optionsList, selected) {
229
- return optionsList.filter(function (x) {
230
- return selected.includes(x.value);
231
- }).map(function (optionToRender) {
232
- return getLabelForSingleSelect(optionToRender.value);
233
- });
234
- };
235
-
236
- var labelForMultipleSelect = function labelForMultipleSelect(selected) {
237
- return options.findIndex(function (option) {
238
- return !option.label;
239
- }) !== -1 ? getSelectedValuesWithIcons(options, selected) : getSelectedValuesWithLabel(options, selected);
240
- };
241
-
242
- var getRenderValue = function getRenderValue(selected) {
243
- return multiple && labelForMultipleSelect(selected) || getLabelForSingleSelect(selected);
244
- };
245
-
246
- var isChecked = function isChecked(checkedValue, value, option) {
247
- if (value !== undefined) {
248
- var result = false;
249
- value.map(function (val) {
250
- if (val === option.value) {
251
- result = true;
252
- }
253
- });
254
- return result;
255
- } else if (checkedValue) {
256
- return checkedValue.findIndex(function (element) {
257
- return element === option.value;
258
- }) !== -1 || false;
259
- }
260
- };
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
-
285
- return _react["default"].createElement(_styledComponents.ThemeProvider, {
286
- theme: colorsTheme.select
287
- }, _react["default"].createElement(SelectContainer, {
288
- margin: margin,
289
- size: size,
290
- invalid: invalid,
291
- disabled: disabled,
292
- backgroundType: backgroundType
293
- }, _react["default"].createElement(_FormControl["default"], null, _react["default"].createElement(_InputLabel["default"], {
294
- disabled: disabled
295
- }, required && _react["default"].createElement(_RequiredComponent["default"], null), label), _react["default"].createElement(_Select["default"], {
296
- name: name,
297
- multiple: multiple,
298
- renderValue: getRenderValue,
299
- onChange: handleSelectChange,
300
- value: value !== undefined ? value : selectedValue,
301
- disabled: disabled,
302
- MenuProps: {
303
- getContentAnchorEl: null,
304
- anchorOrigin: {
305
- vertical: "bottom",
306
- horizontal: "left"
307
- },
308
- disablePortal: true
309
- },
310
- inputProps: {
311
- tabIndex: disabled ? -1 : tabIndex
312
- }
313
- }, options.map(function (option) {
314
- return _react["default"].createElement(_MenuItem["default"], {
315
- id: option.value,
316
- value: option.value,
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))));
327
- };
328
-
329
- var sizes = {
330
- small: "60px",
331
- medium: "240px",
332
- large: "480px",
333
- fillParent: "100%"
334
- };
335
-
336
- var calculateWidth = function calculateWidth(margin, size) {
337
- return size === "fillParent" ? "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")") : sizes[size];
338
- };
339
-
340
- var MultipleLabelSelected = _styledComponents["default"].div(_templateObject());
341
-
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
- });
381
-
382
- var SelectedOptionContainer = _styledComponents["default"].div(_templateObject6(), function (props) {
383
- return props.iconPosition === "before" && "row" || "row-reverse";
384
- }, function (props) {
385
- return props.iconPosition === "before" && "flex-start" || "flex-end";
386
- }, function (props) {
387
- return props.multiple && props.label && "15px" || "0px";
388
- }, function (props) {
389
- return !props.multiple && "calc(100% - 24px)" || "auto";
390
- }, function (props) {
391
- return props.iconPosition === "after" && (props.label !== "" || props.label === undefined) && "content:','";
392
- }, function (props) {
393
- return props.iconPosition === "before" && (props.label !== "" || props.label === undefined) && "content:','";
394
- });
395
-
396
- var SelectedOptionLabelContainer = _styledComponents["default"].span(_templateObject7(), function (props) {
397
- return props.theme.fontFamily;
398
- });
399
-
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";
408
- });
409
-
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;
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";
420
- });
421
-
422
- var SelectContainer = _styledComponents["default"].div(_templateObject10(), function (props) {
423
- return calculateWidth(props.margin, props.size);
424
- }, function (props) {
425
- return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
426
- }, function (props) {
427
- return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.top ? _variables.spaces[props.margin.top] : "";
428
- }, function (props) {
429
- return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.right ? _variables.spaces[props.margin.right] : "";
430
- }, function (props) {
431
- return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.bottom ? _variables.spaces[props.margin.bottom] : "";
432
- }, function (props) {
433
- return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
434
- }, function (props) {
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;
498
- }, function (props) {
499
- return props.theme.optionBorderColor;
500
- }, function (props) {
501
- return props.theme.optionBorderThickness;
502
- }, function (props) {
503
- return props.theme.optionBorderStyle;
504
- }, function (props) {
505
- return props.theme.scrollBarTrackColor;
506
- }, function (props) {
507
- return props.theme.scrollBarThumbColor;
508
- }, function (props) {
509
- return props.theme.optionPaddingBottom;
510
- }, function (props) {
511
- return props.theme.optionPaddingTop;
512
- }, function (props) {
513
- return props.backgroundType === "dark" ? props.theme.hoverOptionBackgroundColorOnDark : props.theme.hoverOptionBackgroundColor;
514
- }, function (props) {
515
- return props.backgroundType === "dark" ? props.theme.activeOptionBackgroundColorOnDark : props.theme.activeOptionBackgroundColor;
516
- }, function (props) {
517
- return props.backgroundType === "dark" ? props.theme.focusColorOnDark : props.theme.focusColor;
518
- }, function (props) {
519
- return props.backgroundType === "dark" ? props.theme.selectedOptionBackgroundColorOnDark : props.theme.selectedOptionBackgroundColor;
520
- });
521
-
522
- DxcSelect.propTypes = {
523
- size: _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(sizes))),
524
- label: _propTypes["default"].string,
525
- assistiveText: _propTypes["default"].string,
526
- name: _propTypes["default"].string,
527
- value: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number, _propTypes["default"].arrayOf(_propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number]))]),
528
- disabled: _propTypes["default"].bool,
529
- required: _propTypes["default"].bool,
530
- invalid: _propTypes["default"].bool,
531
- iconPosition: _propTypes["default"].oneOf(["after", "before"]),
532
- onChange: _propTypes["default"].func,
533
- options: _propTypes["default"].arrayOf(_propTypes["default"].shape({
534
- value: _propTypes["default"].any.isRequired,
535
- label: _propTypes["default"].string,
536
- icon: _propTypes["default"].oneOfType([_propTypes["default"].element, _propTypes["default"].func]),
537
- iconSrc: _propTypes["default"].string
538
- })),
539
- multiple: _propTypes["default"].bool,
540
- margin: _propTypes["default"].oneOfType([_propTypes["default"].shape({
541
- top: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
542
- bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
543
- left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
544
- right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
545
- }), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))]),
546
- tabIndex: _propTypes["default"].number
547
- };
548
- var _default = DxcSelect;
549
- exports["default"] = _default;