@dxc-technology/halstack-react 0.0.0-abb5d48 → 0.0.0-acb1a24

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 (228) hide show
  1. package/README.md +1 -1
  2. package/dist/BackgroundColorContext.js +46 -0
  3. package/dist/ThemeContext.js +171 -106
  4. package/dist/V3Select/V3Select.js +549 -0
  5. package/dist/V3Select/index.d.ts +27 -0
  6. package/dist/V3Textarea/V3Textarea.js +264 -0
  7. package/dist/V3Textarea/index.d.ts +27 -0
  8. package/dist/accordion/Accordion.js +119 -52
  9. package/dist/accordion/index.d.ts +28 -0
  10. package/dist/accordion-group/AccordionGroup.js +34 -4
  11. package/dist/accordion-group/index.d.ts +16 -0
  12. package/dist/alert/Alert.js +170 -83
  13. package/dist/alert/index.d.ts +51 -0
  14. package/dist/badge/Badge.js +28 -7
  15. package/dist/box/Box.js +27 -20
  16. package/dist/box/index.d.ts +25 -0
  17. package/dist/button/Button.js +42 -25
  18. package/dist/button/index.d.ts +24 -0
  19. package/dist/card/Card.js +16 -9
  20. package/dist/card/index.d.ts +22 -0
  21. package/dist/checkbox/Checkbox.js +89 -25
  22. package/dist/checkbox/index.d.ts +24 -0
  23. package/dist/chip/Chip.js +63 -23
  24. package/dist/chip/index.d.ts +22 -0
  25. package/dist/common/utils.js +2 -22
  26. package/dist/common/variables.js +1351 -299
  27. package/dist/date/Date.js +60 -40
  28. package/dist/date/index.d.ts +27 -0
  29. package/dist/date-input/DateInput.js +400 -0
  30. package/dist/date-input/index.d.ts +95 -0
  31. package/dist/dialog/Dialog.js +44 -31
  32. package/dist/dialog/index.d.ts +18 -0
  33. package/dist/dropdown/Dropdown.js +162 -76
  34. package/dist/dropdown/index.d.ts +26 -0
  35. package/dist/file-input/FileInput.js +644 -0
  36. package/dist/file-input/FileItem.js +287 -0
  37. package/dist/file-input/index.d.ts +81 -0
  38. package/dist/footer/Footer.js +79 -39
  39. package/dist/footer/Icons.js +77 -0
  40. package/dist/footer/index.d.ts +25 -0
  41. package/dist/header/Header.js +158 -73
  42. package/dist/header/Icons.js +59 -0
  43. package/dist/header/index.d.ts +25 -0
  44. package/dist/heading/Heading.js +103 -38
  45. package/dist/heading/index.d.ts +17 -0
  46. package/dist/input-text/Icons.js +22 -0
  47. package/dist/input-text/InputText.js +181 -75
  48. package/dist/input-text/index.d.ts +36 -0
  49. package/dist/layout/ApplicationLayout.js +14 -18
  50. package/dist/layout/Icons.js +55 -0
  51. package/dist/link/Link.js +77 -41
  52. package/dist/link/index.d.ts +23 -0
  53. package/dist/main.d.ts +40 -0
  54. package/dist/main.js +72 -16
  55. package/dist/number-input/NumberInput.js +136 -0
  56. package/dist/number-input/NumberInputContext.js +16 -0
  57. package/dist/number-input/index.d.ts +113 -0
  58. package/dist/paginator/Icons.js +66 -0
  59. package/dist/paginator/Paginator.js +85 -43
  60. package/dist/paginator/index.d.ts +20 -0
  61. package/dist/password-input/PasswordInput.js +203 -0
  62. package/dist/password-input/index.d.ts +94 -0
  63. package/dist/progress-bar/ProgressBar.js +88 -40
  64. package/dist/progress-bar/index.d.ts +18 -0
  65. package/dist/radio/Radio.js +28 -11
  66. package/dist/radio/index.d.ts +23 -0
  67. package/dist/resultsetTable/ResultsetTable.js +65 -40
  68. package/dist/resultsetTable/index.d.ts +19 -0
  69. package/dist/select/Select.js +887 -283
  70. package/dist/select/index.d.ts +53 -0
  71. package/dist/sidenav/Sidenav.js +47 -25
  72. package/dist/sidenav/index.d.ts +13 -0
  73. package/dist/slider/Slider.js +204 -69
  74. package/dist/slider/index.d.ts +29 -0
  75. package/dist/spinner/Spinner.js +244 -63
  76. package/dist/spinner/index.d.ts +17 -0
  77. package/dist/switch/Switch.js +42 -16
  78. package/dist/switch/index.d.ts +24 -0
  79. package/dist/table/Table.js +45 -13
  80. package/dist/table/index.d.ts +13 -0
  81. package/dist/tabs/Tabs.js +37 -21
  82. package/dist/tabs/index.d.ts +19 -0
  83. package/dist/tag/Tag.js +50 -36
  84. package/dist/tag/index.d.ts +24 -0
  85. package/dist/text-input/TextInput.js +974 -0
  86. package/dist/text-input/index.d.ts +135 -0
  87. package/dist/textarea/Textarea.js +238 -109
  88. package/dist/textarea/index.d.ts +117 -0
  89. package/dist/toggle/Toggle.js +0 -2
  90. package/dist/toggle/index.d.ts +21 -0
  91. package/dist/toggle-group/ToggleGroup.js +139 -37
  92. package/dist/toggle-group/index.d.ts +21 -0
  93. package/dist/upload/Upload.js +1 -7
  94. package/dist/upload/buttons-upload/ButtonsUpload.js +28 -18
  95. package/dist/upload/buttons-upload/Icons.js +40 -0
  96. package/dist/upload/dragAndDropArea/DragAndDropArea.js +61 -27
  97. package/dist/upload/dragAndDropArea/Icons.js +39 -0
  98. package/dist/upload/file-upload/FileToUpload.js +52 -27
  99. package/dist/upload/file-upload/Icons.js +66 -0
  100. package/dist/upload/files-upload/FilesToUpload.js +3 -5
  101. package/dist/upload/index.d.ts +15 -0
  102. package/dist/upload/transaction/Icons.js +160 -0
  103. package/dist/upload/transaction/Transaction.js +37 -43
  104. package/dist/upload/transactions/Transactions.js +24 -10
  105. package/dist/wizard/Icons.js +65 -0
  106. package/dist/wizard/Wizard.js +106 -58
  107. package/dist/wizard/index.d.ts +18 -0
  108. package/package.json +11 -13
  109. package/test/AccordionGroup.test.js +16 -0
  110. package/test/Date.test.js +15 -13
  111. package/test/DateInput.test.js +242 -0
  112. package/test/Dropdown.test.js +15 -0
  113. package/test/FileInput.test.js +201 -0
  114. package/test/Footer.test.js +2 -7
  115. package/test/Header.test.js +5 -10
  116. package/test/Heading.test.js +60 -12
  117. package/test/Link.test.js +3 -2
  118. package/test/NumberInput.test.js +259 -0
  119. package/test/Paginator.test.js +6 -2
  120. package/test/PasswordInput.test.js +83 -0
  121. package/test/ResultsetTable.test.js +6 -6
  122. package/test/Select.test.js +371 -148
  123. package/test/Slider.test.js +9 -17
  124. package/test/Spinner.test.js +5 -0
  125. package/test/TextInput.test.js +732 -0
  126. package/test/Textarea.test.js +193 -0
  127. package/test/ToggleGroup.test.js +5 -1
  128. package/test/Upload.test.js +1 -1
  129. package/test/V3Select.test.js +212 -0
  130. package/test/{TextArea.test.js → V3TextArea.test.js} +6 -7
  131. package/dist/accordion/Accordion.stories.js +0 -207
  132. package/dist/accordion/readme.md +0 -96
  133. package/dist/accordion-group/AccordionGroup.stories.js +0 -207
  134. package/dist/accordion-group/readme.md +0 -70
  135. package/dist/alert/Alert.stories.js +0 -158
  136. package/dist/alert/close.svg +0 -4
  137. package/dist/alert/error.svg +0 -4
  138. package/dist/alert/info.svg +0 -4
  139. package/dist/alert/readme.md +0 -43
  140. package/dist/alert/success.svg +0 -4
  141. package/dist/alert/warning.svg +0 -4
  142. package/dist/button/Button.stories.js +0 -224
  143. package/dist/button/readme.md +0 -93
  144. package/dist/checkbox/Checkbox.stories.js +0 -144
  145. package/dist/checkbox/readme.md +0 -116
  146. package/dist/common/services/example-service.js +0 -10
  147. package/dist/common/services/example-service.test.js +0 -12
  148. package/dist/date/Date.stories.js +0 -205
  149. package/dist/date/calendar.svg +0 -1
  150. package/dist/date/calendar_dark.svg +0 -1
  151. package/dist/date/readme.md +0 -73
  152. package/dist/dialog/Dialog.stories.js +0 -217
  153. package/dist/dialog/readme.md +0 -32
  154. package/dist/dropdown/Dropdown.stories.js +0 -249
  155. package/dist/dropdown/baseline-arrow_drop_down.svg +0 -1
  156. package/dist/dropdown/baseline-arrow_drop_down_wh.svg +0 -4
  157. package/dist/dropdown/baseline-arrow_drop_up.svg +0 -1
  158. package/dist/dropdown/baseline-arrow_drop_up_wh.svg +0 -4
  159. package/dist/dropdown/readme.md +0 -69
  160. package/dist/footer/Footer.stories.js +0 -94
  161. package/dist/footer/dxc_logo_wht.png +0 -0
  162. package/dist/footer/readme.md +0 -41
  163. package/dist/header/Header.stories.js +0 -176
  164. package/dist/header/close_icon.svg +0 -1
  165. package/dist/header/dxc_logo_black.png +0 -0
  166. package/dist/header/dxc_logo_blk_rgb.svg +0 -6
  167. package/dist/header/dxc_logo_white.png +0 -0
  168. package/dist/header/hamb_menu_black.svg +0 -1
  169. package/dist/header/hamb_menu_white.svg +0 -1
  170. package/dist/header/readme.md +0 -33
  171. package/dist/input-text/InputText.stories.js +0 -209
  172. package/dist/input-text/error.svg +0 -1
  173. package/dist/input-text/readme.md +0 -91
  174. package/dist/layout/facebook.svg +0 -45
  175. package/dist/layout/linkedin.svg +0 -50
  176. package/dist/layout/twitter.svg +0 -53
  177. package/dist/link/readme.md +0 -51
  178. package/dist/paginator/images/next.svg +0 -3
  179. package/dist/paginator/images/nextPage.svg +0 -3
  180. package/dist/paginator/images/previous.svg +0 -3
  181. package/dist/paginator/images/previousPage.svg +0 -3
  182. package/dist/paginator/readme.md +0 -50
  183. package/dist/progress-bar/ProgressBar.stories.js +0 -280
  184. package/dist/progress-bar/readme.md +0 -63
  185. package/dist/radio/Radio.stories.js +0 -166
  186. package/dist/radio/readme.md +0 -70
  187. package/dist/resultsetTable/arrow_downward-24px_wht.svg +0 -1
  188. package/dist/resultsetTable/arrow_upward-24px_wht.svg +0 -1
  189. package/dist/resultsetTable/unfold_more-24px_wht.svg +0 -1
  190. package/dist/select/Select.stories.js +0 -235
  191. package/dist/select/readme.md +0 -72
  192. package/dist/slider/Slider.stories.js +0 -241
  193. package/dist/slider/readme.md +0 -64
  194. package/dist/spinner/Spinner.stories.js +0 -183
  195. package/dist/spinner/readme.md +0 -65
  196. package/dist/switch/Switch.stories.js +0 -134
  197. package/dist/switch/readme.md +0 -133
  198. package/dist/tabs/Tabs.stories.js +0 -130
  199. package/dist/tabs/readme.md +0 -78
  200. package/dist/tabs-for-sections/TabsForSections.js +0 -92
  201. package/dist/tabs-for-sections/readme.md +0 -78
  202. package/dist/toggle/Toggle.stories.js +0 -297
  203. package/dist/toggle/readme.md +0 -80
  204. package/dist/toggle-group/readme.md +0 -82
  205. package/dist/upload/Upload.stories.js +0 -72
  206. package/dist/upload/buttons-upload/drag-drop-icon.svg +0 -4
  207. package/dist/upload/buttons-upload/upload-button.svg +0 -1
  208. package/dist/upload/dragAndDropArea/upload_drop.svg +0 -4
  209. package/dist/upload/dragAndDropArea/upload_file.svg +0 -4
  210. package/dist/upload/file-upload/audio-icon.svg +0 -4
  211. package/dist/upload/file-upload/close.svg +0 -4
  212. package/dist/upload/file-upload/file-icon.svg +0 -4
  213. package/dist/upload/file-upload/video-icon.svg +0 -4
  214. package/dist/upload/readme.md +0 -37
  215. package/dist/upload/transaction/audio-icon-err.svg +0 -4
  216. package/dist/upload/transaction/audio-icon.svg +0 -4
  217. package/dist/upload/transaction/error-icon.svg +0 -4
  218. package/dist/upload/transaction/file-icon-err.svg +0 -4
  219. package/dist/upload/transaction/file-icon.svg +0 -4
  220. package/dist/upload/transaction/image-icon-err.svg +0 -4
  221. package/dist/upload/transaction/image-icon.svg +0 -4
  222. package/dist/upload/transaction/success-icon.svg +0 -4
  223. package/dist/upload/transaction/video-icon-err.svg +0 -4
  224. package/dist/upload/transaction/video-icon.svg +0 -4
  225. package/dist/wizard/invalid_icon.svg +0 -6
  226. package/dist/wizard/valid_icon.svg +0 -6
  227. package/dist/wizard/validation-wrong.svg +0 -6
  228. package/test/TabsForSections.test.js +0 -34
@@ -0,0 +1,287 @@
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 _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
13
+
14
+ var _react = _interopRequireDefault(require("react"));
15
+
16
+ var _propTypes = _interopRequireDefault(require("prop-types"));
17
+
18
+ var _styledComponents = _interopRequireWildcard(require("styled-components"));
19
+
20
+ var _useTheme = _interopRequireDefault(require("../useTheme.js"));
21
+
22
+ function _templateObject10() {
23
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-weight: ", ";\n line-height: ", ";\n"]);
24
+
25
+ _templateObject10 = function _templateObject10() {
26
+ return data;
27
+ };
28
+
29
+ return data;
30
+ }
31
+
32
+ function _templateObject9() {
33
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n height: 24px;\n width: 24px;\n font-size: 1rem;\n font-family: ", ";\n border: 1px solid transparent;\n border-radius: 4px;\n margin-left: 4px;\n background-color: transparent;\n padding: 3px;\n cursor: pointer;\n svg {\n line-height: 18px;\n }\n &:hover {\n background-color: ", ";\n }\n &:focus {\n background-color: ", ";\n }\n &:active {\n background-color: ", ";\n }\n"]);
34
+
35
+ _templateObject9 = function _templateObject9() {
36
+ return data;
37
+ };
38
+
39
+ return data;
40
+ }
41
+
42
+ function _templateObject8() {
43
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n padding: 3px;\n height: 18px;\n width: 18px;\n color: #d0011b;\n"]);
44
+
45
+ _templateObject8 = function _templateObject8() {
46
+ return data;
47
+ };
48
+
49
+ return data;
50
+ }
51
+
52
+ function _templateObject7() {
53
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n width: ", ";\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n font-family: ", ";\n font-size: ", ";\n font-weight: ", ";\n line-height: ", ";\n"]);
54
+
55
+ _templateObject7 = function _templateObject7() {
56
+ return data;
57
+ };
58
+
59
+ return data;
60
+ }
61
+
62
+ function _templateObject6() {
63
+ var data = (0, _taggedTemplateLiteral2["default"])([""]);
64
+
65
+ _templateObject6 = function _templateObject6() {
66
+ return data;
67
+ };
68
+
69
+ return data;
70
+ }
71
+
72
+ function _templateObject5() {
73
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n justify-content: center;\n margin-right: 12px;\n background-color: ", ";\n width: 48px;\n height: 48px;\n border-radius: 2px;\n color: ", ";\n"]);
74
+
75
+ _templateObject5 = function _templateObject5() {
76
+ return data;
77
+ };
78
+
79
+ return data;
80
+ }
81
+
82
+ function _templateObject4() {
83
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n width: 48px;\n height: 48px;\n object-fit: contain;\n margin-right: 12px;\n border-radius: 2px;\n"]);
84
+
85
+ _templateObject4 = function _templateObject4() {
86
+ return data;
87
+ };
88
+
89
+ return data;
90
+ }
91
+
92
+ function _templateObject3() {
93
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: row;\n align-items: center;\n"]);
94
+
95
+ _templateObject3 = function _templateObject3() {
96
+ return data;
97
+ };
98
+
99
+ return data;
100
+ }
101
+
102
+ function _templateObject2() {
103
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n"]);
104
+
105
+ _templateObject2 = function _templateObject2() {
106
+ return data;
107
+ };
108
+
109
+ return data;
110
+ }
111
+
112
+ function _templateObject() {
113
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: row;\n padding: ", ";\n background-color: ", ";\n border-radius: ", ";\n width: ", ";\n min-height: ", ";\n border-color: ", ";\n border-width: ", ";\n border-style: ", ";\n display: flex;\n justify-content: center;\n"]);
114
+
115
+ _templateObject = function _templateObject() {
116
+ return data;
117
+ };
118
+
119
+ return data;
120
+ }
121
+
122
+ var deleteIcon = _react["default"].createElement("svg", {
123
+ xmlns: "http://www.w3.org/2000/svg",
124
+ width: "24",
125
+ height: "24",
126
+ viewBox: "0 0 24 24",
127
+ fill: "currentColor"
128
+ }, _react["default"].createElement("path", {
129
+ d: "M0 0h24v24H0V0z",
130
+ fill: "none"
131
+ }), _react["default"].createElement("path", {
132
+ d: "M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41z"
133
+ }));
134
+
135
+ var errorIcon = _react["default"].createElement("svg", {
136
+ xmlns: "http://www.w3.org/2000/svg",
137
+ height: "24px",
138
+ viewBox: "0 0 24 24",
139
+ width: "24px",
140
+ fill: "currentColor"
141
+ }, _react["default"].createElement("path", {
142
+ d: "M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z"
143
+ }));
144
+
145
+ var FileItem = function FileItem(_ref) {
146
+ var mode = _ref.mode,
147
+ multiple = _ref.multiple,
148
+ _ref$name = _ref.name,
149
+ name = _ref$name === void 0 ? "" : _ref$name,
150
+ _ref$error = _ref.error,
151
+ error = _ref$error === void 0 ? "" : _ref$error,
152
+ showPreview = _ref.showPreview,
153
+ preview = _ref.preview,
154
+ type = _ref.type,
155
+ numFiles = _ref.numFiles,
156
+ onDelete = _ref.onDelete;
157
+ var colorsTheme = (0, _useTheme["default"])();
158
+ var isImage = type.includes("image");
159
+
160
+ var getIconAriaLabel = function getIconAriaLabel() {
161
+ if (type.includes("video")) {
162
+ return "video";
163
+ }
164
+
165
+ if (type.includes("audio")) {
166
+ return "audio";
167
+ }
168
+
169
+ return "file";
170
+ };
171
+
172
+ return _react["default"].createElement(_styledComponents.ThemeProvider, {
173
+ theme: colorsTheme.fileInput
174
+ }, _react["default"].createElement(Container, {
175
+ mode: mode,
176
+ multiple: multiple,
177
+ error: error,
178
+ showPreview: showPreview,
179
+ numFiles: numFiles
180
+ }, showPreview && (isImage ? _react["default"].createElement(ImagePreview, {
181
+ src: preview,
182
+ alt: name
183
+ }) : _react["default"].createElement(IconPreviewContainer, {
184
+ error: error,
185
+ "aria-label": getIconAriaLabel()
186
+ }, _react["default"].createElement(IconPreview, {
187
+ error: error
188
+ }, preview))), _react["default"].createElement(FileItemContent, null, _react["default"].createElement(FileItemContainer, null, _react["default"].createElement(FileName, {
189
+ mode: mode,
190
+ multiple: multiple,
191
+ error: error,
192
+ showPreview: showPreview,
193
+ numFiles: numFiles
194
+ }, name), error && _react["default"].createElement(ErrorIcon, {
195
+ "aria-label": "Error"
196
+ }, errorIcon), _react["default"].createElement(DeleteIcon, {
197
+ error: error,
198
+ onClick: function onClick() {
199
+ return onDelete(name);
200
+ },
201
+ "aria-label": "Remove ".concat(name)
202
+ }, deleteIcon)), error && (multiple || numFiles > 1) && _react["default"].createElement(ErrorMessage, null, error))));
203
+ };
204
+
205
+ var Container = _styledComponents["default"].div(_templateObject(), function (props) {
206
+ return props.showPreview ? "8px" : "8px 8px 8px 16px";
207
+ }, function (props) {
208
+ return props.error && props.theme.errorFileItemBackgroundColor;
209
+ }, function (props) {
210
+ return props.theme.fileItemBorderRadius;
211
+ }, function (props) {
212
+ return props.mode === "file" && !props.multiple && props.numFiles === 1 ? "calc(230px - 26px)" : !props.showPreview ? "calc(320px - 26px)" : props.showPreview && "calc(320px - 18px)";
213
+ }, function (props) {
214
+ return props.mode === "file" && !props.multiple && props.numFiles === 1 || !props.showPreview && !props.error ? "calc(40px - 18px)" : !props.showPreview && props.error ? "calc(59px - 18px)" : "calc(64px - 18px)";
215
+ }, function (props) {
216
+ return props.error ? props.theme.errorFileItemBorderColor : props.theme.fileItemBorderColor;
217
+ }, function (props) {
218
+ return props.theme.fileItemBorderThickness;
219
+ }, function (props) {
220
+ return props.theme.fileItemBorderStyle;
221
+ });
222
+
223
+ var FileItemContent = _styledComponents["default"].div(_templateObject2());
224
+
225
+ var FileItemContainer = _styledComponents["default"].div(_templateObject3());
226
+
227
+ var ImagePreview = _styledComponents["default"].img(_templateObject4());
228
+
229
+ var IconPreviewContainer = _styledComponents["default"].div(_templateObject5(), function (props) {
230
+ return props.error ? props.theme.errorFileItemIconBackgroundColor : props.theme.fileItemIconBackgroundColor;
231
+ }, function (props) {
232
+ return props.error ? props.theme.errorFileItemIconColor : props.theme.fileItemIconColor;
233
+ });
234
+
235
+ var IconPreview = _styledComponents["default"].div(_templateObject6());
236
+
237
+ var FileName = _styledComponents["default"].span(_templateObject7(), function (props) {
238
+ return props.theme.fileNameFontColor;
239
+ }, function (props) {
240
+ return props.mode === "file" && !props.multiple && props.error && props.numFiles === 1 ? "calc(230px - 76px)" : props.mode === "file" && !props.multiple && !props.error && props.numFiles === 1 ? "calc(230px - 50px)" : !props.showPreview && !props.error ? "calc(320px - 52px)" : !props.showPreview && props.error ? "calc(320px - 76px)" : props.showPreview && props.error ? "calc(320px - 128px)" : props.showPreview && !props.error && "calc(320px - 102px)";
241
+ }, function (props) {
242
+ return props.theme.fileItemFontFamily;
243
+ }, function (props) {
244
+ return props.theme.fileItemFontSize;
245
+ }, function (props) {
246
+ return props.theme.fileItemFontWeight;
247
+ }, function (props) {
248
+ return props.theme.fileItemLineHeight;
249
+ });
250
+
251
+ var ErrorIcon = _styledComponents["default"].span(_templateObject8());
252
+
253
+ var DeleteIcon = _styledComponents["default"].button(_templateObject9(), function (props) {
254
+ return props.theme.fontFamily;
255
+ }, function (props) {
256
+ return props.error ? props.theme.errorHoverDeleteFileItemBackgroundColor : props.theme.hoverDeleteFileItemBackgroundColor;
257
+ }, function (props) {
258
+ return props.error ? props.theme.errorHoverDeleteFileItemBackgroundColor : props.theme.hoverDeleteFileItemBackgroundColor;
259
+ }, function (props) {
260
+ return props.error ? props.theme.errorActiveDeleteFileItemBackgroundColor : props.theme.activeDeleteFileItemBackgroundColor;
261
+ });
262
+
263
+ var ErrorMessage = _styledComponents["default"].span(_templateObject10(), function (props) {
264
+ return props.theme.errorMessageFontColor;
265
+ }, function (props) {
266
+ return props.theme.errorMessageFontFamily;
267
+ }, function (props) {
268
+ return props.theme.errorMessageFontSize;
269
+ }, function (props) {
270
+ return props.theme.errorMessageFontWeight;
271
+ }, function (props) {
272
+ return props.theme.errorMessageLineHeight;
273
+ });
274
+
275
+ FileItem.propTypes = {
276
+ mode: _propTypes["default"].string,
277
+ multiple: _propTypes["default"].bool,
278
+ name: _propTypes["default"].string,
279
+ type: _propTypes["default"].string,
280
+ showPreview: _propTypes["default"]["boolean"],
281
+ numFiles: _propTypes["default"].number,
282
+ preview: _propTypes["default"].string,
283
+ error: _propTypes["default"].string,
284
+ onDelete: _propTypes["default"].func
285
+ };
286
+ var _default = FileItem;
287
+ exports["default"] = _default;
@@ -0,0 +1,81 @@
1
+ type Size = "small" | "medium" | "large" | "fillParent";
2
+ type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
3
+ type Margin = {
4
+ top?: Space;
5
+ bottom?: Space;
6
+ left?: Space;
7
+ right?: Space;
8
+ };
9
+ type FileData = {
10
+ error?: string;
11
+ file?: File;
12
+ preview?: string;
13
+ };
14
+
15
+ type Props = {
16
+ /**
17
+ * Name attribute of the file input element.
18
+ */
19
+ name?: string;
20
+ /**
21
+ * Text to be placed above the file input.
22
+ */
23
+ label?: string;
24
+ /**
25
+ * Uses one of the available file input modes:
26
+ * 'file': Files are selected by clicking the button and selecting it through the file explorer.
27
+ * 'filedrop': Files can be selected by clicking the button and selecting it through the file explorer or by dropping them inside the drag and drop area.
28
+ * 'dropzone': Files can be selected by clicking the button and selecting it through the file explorer or by dropping them inside the drag and drop area.
29
+ * The drag and drop area of this mode is bigger than the one of the filedrop mode.
30
+ */
31
+ mode?: "file" | "filedrop" | "dropzone";
32
+ /**
33
+ * Helper text to be placed above the file input.
34
+ */
35
+ helperText?: string;
36
+ /**
37
+ * Defines the file types accepted by the component. It is not possible to select a file with a non valid type.
38
+ */
39
+ accept?: string;
40
+ /**
41
+ * An array of FileData representing the selected files.
42
+ */
43
+ value?: FileData[];
44
+ /**
45
+ * Minimum file size allowed (in bytes). If the file size does not comply the minSize, an error will be passed to the FileData.
46
+ */
47
+ minSize?: number;
48
+ /**
49
+ * Maximum file size allowed (in bytes). If the file size does not comply the maxSize, an error will be passed to the FileData.
50
+ */
51
+ maxSize?: number;
52
+ /**
53
+ * If true and if the file is an image, a preview of it will be shown. If it is not an image, an icon refering to the file's type will be shown.
54
+ * If mode is not multiple and there is one file already selected, the file will be replaced by the last selected one.
55
+ */
56
+ showPreview?: boolean;
57
+ /**
58
+ * If true, more than one file can be selected. If false, only one file can be selected.
59
+ */
60
+ multiple?: boolean;
61
+ /**
62
+ * If true, the component will be disabled.
63
+ */
64
+ disabled?: boolean;
65
+ /**
66
+ * This function will be called when the user selects or drops a file. The list of files will be sent as a parameter.
67
+ * In this function, the files can be updated or returned as they come. These files must be passed to the value in order to be shown.
68
+ */
69
+ callbackFile?: (files: FileData[]) => void;
70
+ /**
71
+ * Size of the margin to be applied to the component ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
72
+ * You can pass an object with 'top', 'bottom', 'left' and 'right' properties in order to specify different margin sizes.
73
+ */
74
+ margin?: Space | Margin;
75
+ /**
76
+ * Value of the tabindex attribute.
77
+ */
78
+ tabIndex?: number;
79
+ };
80
+
81
+ export default function DxcFileInput(props: Props): JSX.Element;
@@ -23,14 +23,16 @@ var _styledComponents = _interopRequireWildcard(require("styled-components"));
23
23
 
24
24
  var _propTypes = _interopRequireDefault(require("prop-types"));
25
25
 
26
- require("../common/OpenSans.css");
27
-
28
26
  var _variables = require("../common/variables.js");
29
27
 
30
28
  var _useTheme = _interopRequireDefault(require("../useTheme.js"));
31
29
 
30
+ var _BackgroundColorContext = require("../BackgroundColorContext.js");
31
+
32
+ var _Icons = _interopRequireDefault(require("./Icons"));
33
+
32
34
  function _templateObject13() {
33
- var data = (0, _taggedTemplateLiteral2["default"])(["\n text-decoration: ", ";\n color: ", ";\n font-size: ", ";\n"]);
35
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n text-decoration: ", ";\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n"]);
34
36
 
35
37
  _templateObject13 = function _templateObject13() {
36
38
  return data;
@@ -50,7 +52,7 @@ function _templateObject12() {
50
52
  }
51
53
 
52
54
  function _templateObject11() {
53
- var data = (0, _taggedTemplateLiteral2["default"])(["\n & {\n display: inline-flex;\n height: 25px;\n width: 25px;\n color: ", ";\n }\n\n overflow: hidden;\n\n img,\n svg {\n height: 100%;\n width: 100%;\n }\n"]);
55
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n & {\n display: inline-flex;\n height: ", ";\n width: ", ";\n color: ", ";\n }\n\n overflow: hidden;\n\n img,\n svg {\n height: 100%;\n width: 100%;\n }\n"]);
54
56
 
55
57
  _templateObject11 = function _templateObject11() {
56
58
  return data;
@@ -60,7 +62,7 @@ function _templateObject11() {
60
62
  }
61
63
 
62
64
  function _templateObject10() {
63
- var data = (0, _taggedTemplateLiteral2["default"])(["\n & {\n display: inline-flex;\n height: 25px;\n width: 25px;\n fill: ", ";\n }\n"]);
65
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n & {\n display: inline-flex;\n height: ", ";\n width: ", ";\n fill: ", ";\n }\n"]);
64
66
 
65
67
  _templateObject10 = function _templateObject10() {
66
68
  return data;
@@ -80,7 +82,7 @@ function _templateObject9() {
80
82
  }
81
83
 
82
84
  function _templateObject8() {
83
- var data = (0, _taggedTemplateLiteral2["default"])(["\n height: 34px;\n width: auto;\n\n img,\n svg:not(:root) {\n height: 100%;\n }\n"]);
85
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n max-height: ", ";\n width: ", ";\n"]);
84
86
 
85
87
  _templateObject8 = function _templateObject8() {
86
88
  return data;
@@ -90,7 +92,7 @@ function _templateObject8() {
90
92
  }
91
93
 
92
94
  function _templateObject7() {
93
- var data = (0, _taggedTemplateLiteral2["default"])(["\n height: 34px;\n width: auto;\n"]);
95
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n max-height: ", ";\n width: ", ";\n"]);
94
96
 
95
97
  _templateObject7 = function _templateObject7() {
96
98
  return data;
@@ -100,7 +102,7 @@ function _templateObject7() {
100
102
  }
101
103
 
102
104
  function _templateObject6() {
103
- var data = (0, _taggedTemplateLiteral2["default"])(["\n font-size: ", ";\n color: ", ";\n max-width: ", ";\n width: ", ";\n text-align: ", ";\n"]);
105
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n color: ", ";\n max-width: ", ";\n width: ", ";\n text-align: ", ";\n padding-top: ", ";\n"]);
104
106
 
105
107
  _templateObject6 = function _templateObject6() {
106
108
  return data;
@@ -110,7 +112,7 @@ function _templateObject6() {
110
112
  }
111
113
 
112
114
  function _templateObject5() {
113
- var data = (0, _taggedTemplateLiteral2["default"])(["\n min-height: 15px;\n padding: ", ";\n padding-top: ", ";\n padding-right: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n color: ", ";\n overflow: hidden;\n"]);
115
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n min-height: 15px;\n padding: ", ";\n padding-top: ", ";\n padding-right: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n overflow: hidden;\n"]);
114
116
 
115
117
  _templateObject5 = function _templateObject5() {
116
118
  return data;
@@ -120,7 +122,7 @@ function _templateObject5() {
120
122
  }
121
123
 
122
124
  function _templateObject4() {
123
- var data = (0, _taggedTemplateLiteral2["default"])(["\n padding-top: 6px;\n border-top: 2px solid ", ";\n display: inline-flex;\n flex-wrap: wrap;\n max-width: ", ";\n width: ", ";\n & > span:last-child span {\n display: none;\n }\n margin: ", ";\n"]);
125
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n padding-top: ", ";\n display: inline-flex;\n flex-wrap: wrap;\n max-width: ", ";\n width: ", ";\n & > span:last-child span {\n display: none;\n }\n margin: ", ";\n"]);
124
126
 
125
127
  _templateObject4 = function _templateObject4() {
126
128
  return data;
@@ -130,7 +132,7 @@ function _templateObject4() {
130
132
  }
131
133
 
132
134
  function _templateObject3() {
133
- var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n justify-content: space-between;\n align-items: flex-end;\n flex-direction: ", ";\n align-items: ", ";\n"]);
135
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n justify-content: space-between;\n align-items: flex-end;\n flex-direction: ", ";\n align-items: ", ";\n border-top: ", ";\n"]);
134
136
 
135
137
  _templateObject3 = function _templateObject3() {
136
138
  return data;
@@ -150,7 +152,7 @@ function _templateObject2() {
150
152
  }
151
153
 
152
154
  function _templateObject() {
153
- var data = (0, _taggedTemplateLiteral2["default"])(["\n font-size: ", ";\n padding: ", ";\n font-family: ", ";\n background-color: ", ";\n margin-top: ", ";\n width: 100%;\n box-sizing: border-box;\n min-height: 120px;\n"]);
155
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n padding: ", ";\n background-color: ", ";\n margin-top: ", ";\n width: 100%;\n box-sizing: border-box;\n min-height: ", ";\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n"]);
154
156
 
155
157
  _templateObject = function _templateObject() {
156
158
  return data;
@@ -166,8 +168,6 @@ var DxcFooter = function DxcFooter(_ref) {
166
168
  bottomLinks = _ref$bottomLinks === void 0 ? [] : _ref$bottomLinks,
167
169
  _ref$copyright = _ref.copyright,
168
170
  copyright = _ref$copyright === void 0 ? "" : _ref$copyright,
169
- _ref$logoSrc = _ref.logoSrc,
170
- logoSrc = _ref$logoSrc === void 0 ? "default" : _ref$logoSrc,
171
171
  children = _ref.children,
172
172
  padding = _ref.padding,
173
173
  margin = _ref.margin,
@@ -191,6 +191,20 @@ var DxcFooter = function DxcFooter(_ref) {
191
191
  setIsResponsivePhone = _useState6[1];
192
192
 
193
193
  var colorsTheme = (0, _useTheme["default"])();
194
+ var footerLogo = (0, _react.useMemo)(function () {
195
+ if (!colorsTheme.footer.logo) {
196
+ return _Icons["default"];
197
+ }
198
+
199
+ if (typeof colorsTheme.footer.logo === "string") {
200
+ return _react["default"].createElement(LogoImg, {
201
+ alt: "Logo",
202
+ src: colorsTheme.footer.logo
203
+ });
204
+ }
205
+
206
+ return colorsTheme.footer.logo;
207
+ }, [colorsTheme.footer.logo]);
194
208
 
195
209
  var handleResize = function handleResize(refWidth) {
196
210
  if (ref.current) {
@@ -246,10 +260,7 @@ var DxcFooter = function DxcFooter(_ref) {
246
260
  margin: margin,
247
261
  refSize: refSize,
248
262
  ref: ref
249
- }, _react["default"].createElement(FooterHeader, null, _react["default"].createElement(LogoIcon, {
250
- logoSrc: logoSrc,
251
- src: logoSrc === "default" ? colorsTheme.footer.logo : logoSrc
252
- }), _react["default"].createElement("div", null, socialLink)), isResponsivePhone && _react["default"].createElement("div", null, _react["default"].createElement(FooterFooter, {
263
+ }, _react["default"].createElement(FooterHeader, null, _react["default"].createElement(LogoContainer, null, footerLogo), _react["default"].createElement("div", null, socialLink)), isResponsivePhone && _react["default"].createElement("div", null, _react["default"].createElement(FooterFooter, {
253
264
  className: "footerFooter",
254
265
  refSize: refSize
255
266
  }, _react["default"].createElement(BottomLinks, {
@@ -258,7 +269,9 @@ var DxcFooter = function DxcFooter(_ref) {
258
269
  refSize: refSize
259
270
  }, copyright))), (!isResponsiveTablet && !isResponsivePhone || isResponsiveTablet) && _react["default"].createElement("div", null, _react["default"].createElement(ChildComponents, {
260
271
  padding: padding
261
- }, children), _react["default"].createElement(FooterFooter, {
272
+ }, _react["default"].createElement(_BackgroundColorContext.BackgroundColorProvider, {
273
+ color: colorsTheme.footer.backgroundColor
274
+ }, children)), _react["default"].createElement(FooterFooter, {
262
275
  className: "footerFooter"
263
276
  }, _react["default"].createElement(BottomLinks, {
264
277
  refSize: refSize
@@ -268,15 +281,13 @@ var DxcFooter = function DxcFooter(_ref) {
268
281
  };
269
282
 
270
283
  var FooterContainer = _styledComponents["default"].footer(_templateObject(), function (props) {
271
- return props.theme.fontSizeBase;
272
- }, function (props) {
273
- return props.refSize <= _variables.responsiveSizes.mobileLarge ? "20px 20px 20px 20px" : "20px 60px 20px 20px";
274
- }, function (props) {
275
- return props.theme.fontFamily;
284
+ return props.refSize <= _variables.responsiveSizes.mobileLarge ? "20px 20px 20px 20px" : "24px 36px 24px 36px";
276
285
  }, function (props) {
277
286
  return props.theme.backgroundColor;
278
287
  }, function (props) {
279
288
  return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
289
+ }, function (props) {
290
+ return props.theme.height;
280
291
  });
281
292
 
282
293
  var FooterHeader = _styledComponents["default"].div(_templateObject2());
@@ -285,10 +296,12 @@ var FooterFooter = _styledComponents["default"].div(_templateObject3(), function
285
296
  return props.refSize <= _variables.responsiveSizes.mobileLarge ? "column" : "row";
286
297
  }, function (props) {
287
298
  return props.refSize <= _variables.responsiveSizes.mobileLarge ? "center" : "";
299
+ }, function (props) {
300
+ return "".concat(props.theme.bottomLinksDividerThickness, " ").concat(props.theme.bottomLinksDividerStyle, " ").concat(props.theme.bottomLinksDividerColor);
288
301
  });
289
302
 
290
303
  var BottomLinks = _styledComponents["default"].div(_templateObject4(), function (props) {
291
- return props.theme.lineColor;
304
+ return props.theme.bottomLinksDividerSpacing;
292
305
  }, function (props) {
293
306
  return props.refSize <= _variables.responsiveSizes.mobileLarge ? "100%" : "60%";
294
307
  }, function (props) {
@@ -307,52 +320,79 @@ var ChildComponents = _styledComponents["default"].div(_templateObject5(), funct
307
320
  return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.bottom ? _variables.spaces[props.padding.bottom] : "";
308
321
  }, function (props) {
309
322
  return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.left ? _variables.spaces[props.padding.left] : "";
310
- }, function (props) {
311
- return props.theme.fontColor;
312
323
  });
313
324
 
314
325
  var Copyright = _styledComponents["default"].div(_templateObject6(), function (props) {
315
- return props.theme.fontSize;
326
+ return props.theme.copyrightFontFamily;
327
+ }, function (props) {
328
+ return props.theme.copyrightFontSize;
329
+ }, function (props) {
330
+ return props.theme.copyrightFontStyle;
316
331
  }, function (props) {
317
- return props.theme.fontColor;
332
+ return props.theme.copyrightFontWeight;
333
+ }, function (props) {
334
+ return props.theme.copyrightFontColor;
318
335
  }, function (props) {
319
336
  return props.refSize <= _variables.responsiveSizes.mobileLarge ? "100%" : "40%";
320
337
  }, function (props) {
321
338
  return props.refSize <= _variables.responsiveSizes.mobileLarge ? "100%" : "";
322
339
  }, function (props) {
323
340
  return props.refSize <= _variables.responsiveSizes.mobileLarge ? "center" : "right";
341
+ }, function (props) {
342
+ return props.theme.bottomLinksDividerSpacing;
324
343
  });
325
344
 
326
- var LogoIcon = _styledComponents["default"].img(_templateObject7());
345
+ var LogoContainer = _styledComponents["default"].div(_templateObject7(), function (props) {
346
+ return props.theme.logoHeight;
347
+ }, function (props) {
348
+ return props.theme.logoWidth;
349
+ });
327
350
 
328
- var LogoIconContainer = _styledComponents["default"].div(_templateObject8());
351
+ var LogoImg = _styledComponents["default"].img(_templateObject8(), function (props) {
352
+ return props.theme.logoHeight;
353
+ }, function (props) {
354
+ return props.theme.logoWidth;
355
+ });
329
356
 
330
357
  var SocialAnchor = _styledComponents["default"].a(_templateObject9(), function (props) {
331
- return props.index === 0 ? "0px" : "15px";
358
+ return props.index === 0 ? "0px" : props.theme.socialLinksGutter;
332
359
  });
333
360
 
334
361
  var SocialIcon = _styledComponents["default"].img(_templateObject10(), function (props) {
335
- return props.theme.fontColor;
362
+ return props.theme.socialLinksSize;
363
+ }, function (props) {
364
+ return props.theme.socialLinksSize;
365
+ }, function (props) {
366
+ return props.theme.socialLinksColor;
336
367
  });
337
368
 
338
369
  var SocialIconContainer = _styledComponents["default"].div(_templateObject11(), function (props) {
339
- return props.theme.fontColor;
370
+ return props.theme.socialLinksSize;
371
+ }, function (props) {
372
+ return props.theme.socialLinksSize;
373
+ }, function (props) {
374
+ return props.theme.socialLinksColor;
340
375
  });
341
376
 
342
377
  var Point = _styledComponents["default"].span(_templateObject12(), function (props) {
343
- return props.theme.fontColor;
378
+ return props.theme.bottomLinksFontColor;
344
379
  });
345
380
 
346
381
  var BottomLink = _styledComponents["default"].a(_templateObject13(), function (props) {
347
- return props.theme.textDecoration;
382
+ return props.theme.bottomLinksTextDecoration;
383
+ }, function (props) {
384
+ return props.theme.bottomLinksFontColor;
385
+ }, function (props) {
386
+ return props.theme.bottomLinksFontFamily;
387
+ }, function (props) {
388
+ return props.theme.bottomLinksFontSize;
348
389
  }, function (props) {
349
- return props.theme.fontColor;
390
+ return props.theme.bottomLinksFontStyle;
350
391
  }, function (props) {
351
- return props.theme.fontSize;
392
+ return props.theme.bottomLinksFontWeight;
352
393
  });
353
394
 
354
395
  DxcFooter.propTypes = {
355
- logoSrc: _propTypes["default"].string,
356
396
  socialLinks: _propTypes["default"].arrayOf(_propTypes["default"].shape({
357
397
  logo: _propTypes["default"].oneOfType([_propTypes["default"].element, _propTypes["default"].func]),
358
398
  logoSrc: _propTypes["default"].string.isRequired,