@dxc-technology/halstack-react 0.0.0-4e9134c → 0.0.0-4ec9163

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