@dxc-technology/halstack-react 0.0.0-2548a8d → 0.0.0-2552d78

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 (195) hide show
  1. package/README.md +27 -47
  2. package/dist/index.d.mts +6734 -0
  3. package/dist/index.d.ts +6734 -0
  4. package/dist/index.js +14248 -0
  5. package/dist/index.mjs +14159 -0
  6. package/package.json +76 -62
  7. package/babel.config.js +0 -4
  8. package/dist/ThemeContext.js +0 -15
  9. package/dist/accordion/Accordion.js +0 -268
  10. package/dist/accordion/Accordion.stories.js +0 -207
  11. package/dist/accordion/readme.md +0 -96
  12. package/dist/accordion-group/AccordionGroup.js +0 -159
  13. package/dist/accordion-group/AccordionGroup.stories.js +0 -207
  14. package/dist/accordion-group/readme.md +0 -70
  15. package/dist/alert/Alert.js +0 -304
  16. package/dist/alert/Alert.stories.js +0 -158
  17. package/dist/alert/close.svg +0 -4
  18. package/dist/alert/error.svg +0 -4
  19. package/dist/alert/info.svg +0 -4
  20. package/dist/alert/readme.md +0 -43
  21. package/dist/alert/success.svg +0 -4
  22. package/dist/alert/warning.svg +0 -4
  23. package/dist/box/Box.js +0 -148
  24. package/dist/button/Button.js +0 -202
  25. package/dist/button/Button.stories.js +0 -224
  26. package/dist/button/readme.md +0 -93
  27. package/dist/card/Card.js +0 -217
  28. package/dist/checkbox/Checkbox.js +0 -240
  29. package/dist/checkbox/Checkbox.stories.js +0 -144
  30. package/dist/checkbox/readme.md +0 -116
  31. package/dist/chip/Chip.js +0 -208
  32. package/dist/common/OpenSans.css +0 -81
  33. package/dist/common/RequiredComponent.js +0 -46
  34. package/dist/common/fonts/OpenSans-Bold.ttf +0 -0
  35. package/dist/common/fonts/OpenSans-BoldItalic.ttf +0 -0
  36. package/dist/common/fonts/OpenSans-ExtraBold.ttf +0 -0
  37. package/dist/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  38. package/dist/common/fonts/OpenSans-Italic.ttf +0 -0
  39. package/dist/common/fonts/OpenSans-Light.ttf +0 -0
  40. package/dist/common/fonts/OpenSans-LightItalic.ttf +0 -0
  41. package/dist/common/fonts/OpenSans-Regular.ttf +0 -0
  42. package/dist/common/fonts/OpenSans-SemiBold.ttf +0 -0
  43. package/dist/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  44. package/dist/common/services/example-service.js +0 -10
  45. package/dist/common/services/example-service.test.js +0 -12
  46. package/dist/common/utils.js +0 -42
  47. package/dist/common/variables.js +0 -434
  48. package/dist/date/Date.js +0 -356
  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 -197
  54. package/dist/dialog/Dialog.stories.js +0 -217
  55. package/dist/dialog/readme.md +0 -32
  56. package/dist/dropdown/Dropdown.js +0 -449
  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 -371
  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 -373
  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 -153
  77. package/dist/input-text/InputText.js +0 -570
  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 -335
  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 -189
  86. package/dist/link/readme.md +0 -51
  87. package/dist/main.js +0 -287
  88. package/dist/paginator/Paginator.js +0 -227
  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 -185
  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 -195
  98. package/dist/radio/Radio.stories.js +0 -166
  99. package/dist/radio/readme.md +0 -70
  100. package/dist/resultsetTable/ResultsetTable.js +0 -341
  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 -473
  105. package/dist/select/Select.stories.js +0 -235
  106. package/dist/select/readme.md +0 -72
  107. package/dist/sidenav/Sidenav.js +0 -128
  108. package/dist/slider/Slider.js +0 -266
  109. package/dist/slider/Slider.stories.js +0 -241
  110. package/dist/slider/readme.md +0 -64
  111. package/dist/spinner/Spinner.js +0 -193
  112. package/dist/spinner/Spinner.stories.js +0 -183
  113. package/dist/spinner/readme.md +0 -65
  114. package/dist/switch/Switch.js +0 -199
  115. package/dist/switch/Switch.stories.js +0 -134
  116. package/dist/switch/readme.md +0 -133
  117. package/dist/table/Table.js +0 -105
  118. package/dist/tabs/Tabs.js +0 -185
  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 -249
  124. package/dist/textarea/Textarea.js +0 -227
  125. package/dist/toggle/Toggle.js +0 -223
  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 -226
  129. package/dist/toggle-group/readme.md +0 -82
  130. package/dist/upload/Upload.js +0 -200
  131. package/dist/upload/Upload.stories.js +0 -72
  132. package/dist/upload/buttons-upload/ButtonsUpload.js +0 -122
  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 -279
  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 -158
  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 -155
  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 -120
  157. package/dist/wizard/Wizard.js +0 -340
  158. package/dist/wizard/invalid_icon.svg +0 -6
  159. package/dist/wizard/valid_icon.svg +0 -6
  160. package/dist/wizard/validation-wrong.svg +0 -6
  161. package/test/Accordion.test.js +0 -33
  162. package/test/AccordionGroup.test.js +0 -111
  163. package/test/Alert.test.js +0 -53
  164. package/test/Box.test.js +0 -10
  165. package/test/Button.test.js +0 -18
  166. package/test/Card.test.js +0 -30
  167. package/test/Checkbox.test.js +0 -45
  168. package/test/Chip.test.js +0 -25
  169. package/test/Date.test.js +0 -393
  170. package/test/Dialog.test.js +0 -23
  171. package/test/Dropdown.test.js +0 -130
  172. package/test/Footer.test.js +0 -99
  173. package/test/Header.test.js +0 -39
  174. package/test/Heading.test.js +0 -35
  175. package/test/InputText.test.js +0 -240
  176. package/test/Link.test.js +0 -33
  177. package/test/Paginator.test.js +0 -205
  178. package/test/ProgressBar.test.js +0 -35
  179. package/test/Radio.test.js +0 -37
  180. package/test/ResultsetTable.test.js +0 -293
  181. package/test/Select.test.js +0 -192
  182. package/test/Sidenav.test.js +0 -45
  183. package/test/Slider.test.js +0 -82
  184. package/test/Spinner.test.js +0 -27
  185. package/test/Switch.test.js +0 -45
  186. package/test/Table.test.js +0 -36
  187. package/test/Tabs.test.js +0 -88
  188. package/test/TabsForSections.test.js +0 -34
  189. package/test/Tag.test.js +0 -32
  190. package/test/TextArea.test.js +0 -52
  191. package/test/ToggleGroup.test.js +0 -81
  192. package/test/Upload.test.js +0 -60
  193. package/test/Wizard.test.js +0 -130
  194. package/test/mocks/pngMock.js +0 -1
  195. package/test/mocks/svgMock.js +0 -1
@@ -1,473 +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
- require("../common/OpenSans.css");
41
-
42
- var _variables = require("../common/variables.js");
43
-
44
- var _utils = require("../common/utils.js");
45
-
46
- var _ThemeContext = _interopRequireDefault(require("../ThemeContext.js"));
47
-
48
- var _RequiredComponent = _interopRequireDefault(require("../common/RequiredComponent"));
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: 16px;\n color: ", ";\n margin-top: -3px;\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n height: 22px;\n display: flex;\n align-items: center;\n\n &.Mui-disabled {\n color: ", ";\n opacity: ", ";\n }\n &.Mui-focused {\n font-size: 16px;\n color: ", ";\n }\n }\n .MuiSelect-select.MuiSelect-select {\n padding-right: unset;\n }\n\n .MuiSelect-select {\n width: 100%;\n height: 20px;\n display: flex;\n padding-right: unset;\n color: ", ";\n align-items: center;\n :focus {\n background-color: transparent;\n }\n & > *:last-child::after {\n content: unset;\n }\n & > *:last-child::before {\n content: unset;\n }\n &.Mui-disabled {\n color: ", ";\n cursor: not-allowed;\n }\n }\n .MuiInputBase-root {\n width: 100%;\n &:focus {\n outline: ", " auto 1px;\n }\n &.Mui-disabled {\n opacity: ", ";\n cursor: not-allowed;\n &:focus {\n outline: none;\n }\n }\n }\n .MuiInput-underline {\n &:focus {\n border-bottom: 2px solid;\n border-bottom-color: ", ";\n }\n &.Mui-disabled:before {\n border-bottom-style: solid;\n }\n }\n .MuiInput-underline:hover:not(.Mui-disabled):before {\n border-bottom: 1px solid;\n border-bottom-color: ", ";\n }\n .MuiInput-underline:after {\n border-bottom: 1px solid;\n border-bottom-color: ", ";\n }\n .MuiInput-underline:before {\n border-bottom: 1px solid;\n border-bottom-color: ", "};\n }\n .MuiSelect-icon {\n color: ", ";\n }\n & label {\n text-overflow: ellipsis;\n overflow: hidden;\n width: calc(100% - 24px);\n }\n"]);
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 max-height: 20px;\n max-width: 20px;\n width: 20px;\n height: 20px;\n margin-left: ", ";\n margin-right: ", ";\n overflow: hidden;\n\n img,\n svg {\n height: 100%;\n width: 100%;\n }\n"]);
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 max-height: 20px;\n max-width: 20px;\n width: 20px;\n height: 20px;\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: \"Open Sans\", sans-serif;\n display: flex;\n align-items: center;\n flex-direction: ", ";\n overflow: hidden;\n text-overflow: ellipsis;\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: \"Open Sans\", sans-serif;\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
- }
163
- };
164
- },
165
- itemList: function itemList(props) {
166
- return {
167
- color: props.color,
168
- "&.MuiList-padding": {
169
- paddingBottom: "0px",
170
- paddingTop: "0px"
171
- },
172
- "& li": {
173
- fontSize: "16px",
174
- "&:hover": {
175
- backgroundColor: props.selectedOptionBackgroundColor + props.hoverOptionBackgroundColor,
176
- color: props.color
177
- },
178
- "&:active": {
179
- backgroundColor: props.selectedOptionBackgroundColor + props.hoverOptionBackgroundColor,
180
- color: props.color
181
- },
182
- "&.MuiListItem-root.Mui-selected": {
183
- backgroundColor: props.selectedOptionBackgroundColor,
184
- color: props.color
185
- }
186
- }
187
- };
188
- }
189
- };
190
- });
191
-
192
- var DxcSelect = function DxcSelect(_ref) {
193
- var value = _ref.value,
194
- name = _ref.name,
195
- onChange = _ref.onChange,
196
- label = _ref.label,
197
- _ref$required = _ref.required,
198
- required = _ref$required === void 0 ? false : _ref$required,
199
- _ref$disabled = _ref.disabled,
200
- disabled = _ref$disabled === void 0 ? false : _ref$disabled,
201
- _ref$invalid = _ref.invalid,
202
- invalid = _ref$invalid === void 0 ? false : _ref$invalid,
203
- _ref$options = _ref.options,
204
- options = _ref$options === void 0 ? [] : _ref$options,
205
- _ref$iconPosition = _ref.iconPosition,
206
- iconPosition = _ref$iconPosition === void 0 ? "before" : _ref$iconPosition,
207
- _ref$multiple = _ref.multiple,
208
- multiple = _ref$multiple === void 0 ? false : _ref$multiple,
209
- margin = _ref.margin,
210
- _ref$size = _ref.size,
211
- size = _ref$size === void 0 ? "medium" : _ref$size;
212
- var customTheme = (0, _react.useContext)(_ThemeContext["default"]);
213
- var colorsTheme = (0, _react.useMemo)(function () {
214
- return (0, _utils.getCustomTheme)(_variables.theme, (0, _utils.getCustomTheme)(_variables.defaultTheme, customTheme));
215
- }, [customTheme]);
216
-
217
- var _useState = (0, _react.useState)(multiple && [] || ""),
218
- _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
219
- selectedValue = _useState2[0],
220
- setSelectedValue = _useState2[1];
221
-
222
- var selectValues = _objectSpread({
223
- width: "auto"
224
- }, colorsTheme.select);
225
-
226
- var classes = useStyles(selectValues);
227
-
228
- var handleSelectChange = function handleSelectChange(selectedOption) {
229
- if (multiple) {
230
- setSelectedValue(selectedOption.target.value);
231
-
232
- if (typeof onChange === "function") {
233
- onChange(selectedOption.target.value);
234
- }
235
- } else {
236
- setSelectedValue(selectedOption.target.value);
237
-
238
- if (typeof onChange === "function") {
239
- onChange(selectedOption.target.value);
240
- }
241
- }
242
- };
243
-
244
- var getLabelForSingleSelect = function getLabelForSingleSelect(selected) {
245
- var selectedItem = options.filter(function (option) {
246
- return option.value === selected;
247
- })[0];
248
- return _react["default"].createElement(SelectedIconContainer, {
249
- iconPosition: iconPosition,
250
- multiple: multiple,
251
- label: selectedItem && selectedItem.label,
252
- key: selectedItem && selectedItem.label
253
- }, selectedItem && selectedItem.icon ? _react["default"].createElement(ListIconContainer, null, (0, _typeof2["default"])(selectedItem.icon) === "object" ? selectedItem.icon : _react["default"].createElement(selectedItem.icon)) : selectedItem && selectedItem.iconSrc && _react["default"].createElement(ListIcon, {
254
- src: selectedItem && selectedItem.iconSrc
255
- }), selectedItem && selectedItem.label && _react["default"].createElement(SelectedLabelContainer, {
256
- iconSrc: selectedItem && selectedItem.iconSrc && selectedItem.icon,
257
- iconPosition: iconPosition,
258
- disabled: disabled
259
- }, selectedItem && selectedItem.label));
260
- };
261
-
262
- var getSelectedValuesWithLabel = function getSelectedValuesWithLabel(optionsList, selected) {
263
- return _react["default"].createElement(MultipleLabelSelected, null, optionsList.filter(function (x) {
264
- return selected.includes(x.value);
265
- }).map(function (optionToRender) {
266
- return optionToRender.label;
267
- }).join(", "));
268
- };
269
-
270
- var getSelectedValuesWithIcons = function getSelectedValuesWithIcons(optionsList, selected) {
271
- return options.filter(function (x) {
272
- return selected.includes(x.value);
273
- }).map(function (optionToRender) {
274
- return getLabelForSingleSelect(optionToRender.value);
275
- });
276
- };
277
-
278
- var labelForMultipleSelect = function labelForMultipleSelect(selected) {
279
- return options.findIndex(function (option) {
280
- return !option.label;
281
- }) !== -1 ? getSelectedValuesWithIcons(options, selected) : getSelectedValuesWithLabel(options, selected);
282
- };
283
-
284
- var getRenderValue = function getRenderValue(selected) {
285
- return multiple && labelForMultipleSelect(selected) || getLabelForSingleSelect(selected);
286
- };
287
-
288
- var isChecked = function isChecked(checkedValue, value, option) {
289
- if (value !== undefined) {
290
- var result = false;
291
- value.map(function (val) {
292
- if (val === option.value) {
293
- result = true;
294
- }
295
- });
296
- return result;
297
- } else if (checkedValue) {
298
- return checkedValue.findIndex(function (element) {
299
- return element === option.value;
300
- }) !== -1 || false;
301
- }
302
- };
303
-
304
- return _react["default"].createElement(_styledComponents.ThemeProvider, {
305
- theme: colorsTheme
306
- }, _react["default"].createElement(SelectContainer, {
307
- margin: margin,
308
- size: size,
309
- invalid: invalid
310
- }, _react["default"].createElement(_FormControl["default"], null, _react["default"].createElement(_InputLabel["default"], {
311
- disabled: disabled
312
- }, required && _react["default"].createElement(_RequiredComponent["default"], null), label), _react["default"].createElement(_Select["default"], {
313
- tabIndex: "0",
314
- name: name,
315
- multiple: multiple,
316
- renderValue: getRenderValue,
317
- onChange: handleSelectChange,
318
- value: value !== undefined ? value : selectedValue,
319
- disabled: disabled,
320
- MenuProps: {
321
- classes: {
322
- paper: classes.dropdownStyle,
323
- list: classes.itemList
324
- },
325
- getContentAnchorEl: null,
326
- anchorOrigin: {
327
- vertical: "bottom",
328
- horizontal: "left"
329
- }
330
- }
331
- }, options.map(function (option) {
332
- return _react["default"].createElement(_MenuItem["default"], {
333
- id: option.value,
334
- value: option.value,
335
- disableRipple: true,
336
- key: option.value
337
- }, multiple && _react["default"].createElement(_Checkbox["default"], {
338
- size: "fitContent",
339
- checked: isChecked(selectedValue, value, option)
340
- }), _react["default"].createElement(OptionContainer, {
341
- iconPosition: iconPosition
342
- }, option.icon ? _react["default"].createElement(ListIconContainer, {
343
- label: option.label,
344
- iconPosition: iconPosition
345
- }, (0, _typeof2["default"])(option.icon) === "object" ? option.icon : _react["default"].createElement(option.icon)) : option.iconSrc && _react["default"].createElement(ListIcon, {
346
- src: option.iconSrc,
347
- label: option.label,
348
- iconPosition: iconPosition
349
- }), " ", _react["default"].createElement(LabelCont, null, option.label)));
350
- })))));
351
- };
352
-
353
- var sizes = {
354
- small: "60px",
355
- medium: "240px",
356
- large: "480px",
357
- fillParent: "100%"
358
- };
359
-
360
- var calculateWidth = function calculateWidth(margin, size) {
361
- if (size === "fillParent") {
362
- return "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")");
363
- }
364
-
365
- return sizes[size];
366
- };
367
-
368
- var MultipleLabelSelected = _styledComponents["default"].div(_templateObject());
369
-
370
- var LabelCont = _styledComponents["default"].span(_templateObject2());
371
-
372
- var SelectedIconContainer = _styledComponents["default"].div(_templateObject3(), function (props) {
373
- return props.iconPosition === "before" && "row" || "row-reverse";
374
- }, function (props) {
375
- return props.iconPosition === "before" && "flex-start" || "flex-end";
376
- }, function (props) {
377
- return props.multiple && props.label && "15px" || "0px";
378
- }, function (props) {
379
- return !props.multiple && "calc(100% - 24px)" || "auto";
380
- }, function (props) {
381
- return props.iconPosition === "after" && (props.label !== "" || props.label === undefined) && "content:','";
382
- }, function (props) {
383
- return props.iconPosition === "before" && (props.label !== "" || props.label === undefined) && "content:','";
384
- });
385
-
386
- var SelectedLabelContainer = _styledComponents["default"].span(_templateObject4(), function (props) {
387
- return (props.iconPosition === "after" || !props.iconSrc) && "0px" || "10px";
388
- }, function (props) {
389
- return (props.iconPosition === "before" || !props.iconSrc) && "0px" || "10px";
390
- });
391
-
392
- var OptionContainer = _styledComponents["default"].div(_templateObject5(), function (props) {
393
- return props.iconPosition === "before" && "row" || "row-reverse";
394
- });
395
-
396
- var ListIcon = _styledComponents["default"].img(_templateObject6(), function (props) {
397
- return props.iconPosition === "after" && props.label !== "" && "10px" || "0px";
398
- }, function (props) {
399
- return props.iconPosition === "before" && props.label !== "" && "10px" || "0px";
400
- });
401
-
402
- var ListIconContainer = _styledComponents["default"].div(_templateObject7(), function (props) {
403
- return props.iconPosition === "after" && props.label !== "" && "10px" || "0px";
404
- }, function (props) {
405
- return props.iconPosition === "before" && props.label !== "" && "10px" || "0px";
406
- });
407
-
408
- var SelectContainer = _styledComponents["default"].div(_templateObject8(), function (props) {
409
- return calculateWidth(props.margin, props.size);
410
- }, function (props) {
411
- return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
412
- }, function (props) {
413
- return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.top ? _variables.spaces[props.margin.top] : "";
414
- }, function (props) {
415
- return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.right ? _variables.spaces[props.margin.right] : "";
416
- }, function (props) {
417
- return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.bottom ? _variables.spaces[props.margin.bottom] : "";
418
- }, function (props) {
419
- return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
420
- }, function (props) {
421
- return props.invalid === true ? props.theme.select.error : props.theme.select.color;
422
- }, function (props) {
423
- return props.theme.select.color;
424
- }, function (props) {
425
- return props.theme.select.disabled;
426
- }, function (props) {
427
- return props.invalid === true ? props.theme.select.error : props.theme.select.color;
428
- }, function (props) {
429
- return props.theme.select.color;
430
- }, function (props) {
431
- return props.theme.select.color;
432
- }, function (props) {
433
- return props.theme.select.focusColor;
434
- }, function (props) {
435
- return props.theme.select.disabled;
436
- }, function (props) {
437
- return props.invalid === true ? props.theme.select.error : props.theme.select.color;
438
- }, function (props) {
439
- return props.invalid === true ? props.theme.select.error : props.theme.select.color;
440
- }, function (props) {
441
- return props.invalid === true ? props.theme.select.error : props.theme.select.color;
442
- }, function (props) {
443
- return props.invalid === true ? props.theme.select.error : props.theme.select.color;
444
- }, function (props) {
445
- return props.theme.select.color;
446
- });
447
-
448
- DxcSelect.propTypes = {
449
- size: _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(sizes))),
450
- label: _propTypes["default"].string,
451
- name: _propTypes["default"].string,
452
- value: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number, _propTypes["default"].arrayOf(_propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number]))]),
453
- disabled: _propTypes["default"].bool,
454
- required: _propTypes["default"].bool,
455
- invalid: _propTypes["default"].bool,
456
- iconPosition: _propTypes["default"].oneOf(["after", "before"]),
457
- onChange: _propTypes["default"].func,
458
- options: _propTypes["default"].arrayOf(_propTypes["default"].shape({
459
- value: _propTypes["default"].any.isRequired,
460
- label: _propTypes["default"].string,
461
- icon: _propTypes["default"].oneOfType([_propTypes["default"].element, _propTypes["default"].func]),
462
- iconSrc: _propTypes["default"].string
463
- })),
464
- multiple: _propTypes["default"].bool,
465
- margin: _propTypes["default"].oneOfType([_propTypes["default"].shape({
466
- top: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
467
- bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
468
- left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
469
- right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
470
- }), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))])
471
- };
472
- var _default = DxcSelect;
473
- exports["default"] = _default;