@dxc-technology/halstack-react 0.0.0-c4ba791 → 0.0.0-c7ec4d1

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 (197) hide show
  1. package/README.md +1 -1
  2. package/babel.config.js +6 -2
  3. package/dist/BackgroundColorContext.js +46 -0
  4. package/dist/ThemeContext.js +218 -22
  5. package/dist/V3Select/V3Select.js +549 -0
  6. package/dist/V3Textarea/V3Textarea.js +264 -0
  7. package/dist/accordion/Accordion.js +134 -54
  8. package/dist/accordion-group/AccordionGroup.js +36 -9
  9. package/dist/alert/Alert.js +183 -84
  10. package/dist/alert/index.d.ts +51 -0
  11. package/dist/badge/Badge.js +23 -18
  12. package/dist/box/Box.js +31 -23
  13. package/dist/button/Button.js +63 -27
  14. package/dist/card/Card.js +72 -35
  15. package/dist/checkbox/Checkbox.js +98 -39
  16. package/dist/chip/Chip.js +97 -40
  17. package/dist/common/utils.js +2 -22
  18. package/dist/common/variables.js +1428 -282
  19. package/dist/date/Date.js +74 -52
  20. package/dist/date-input/DateInput.js +400 -0
  21. package/dist/date-input/index.d.ts +95 -0
  22. package/dist/dialog/Dialog.js +58 -37
  23. package/dist/dropdown/Dropdown.js +176 -81
  24. package/dist/file-input/FileInput.js +644 -0
  25. package/dist/file-input/FileItem.js +287 -0
  26. package/dist/file-input/index.d.ts +81 -0
  27. package/dist/footer/Footer.js +90 -40
  28. package/dist/footer/Icons.js +77 -0
  29. package/dist/header/Header.js +192 -95
  30. package/dist/header/Icons.js +59 -0
  31. package/dist/heading/Heading.js +93 -16
  32. package/dist/input-text/Icons.js +22 -0
  33. package/dist/input-text/InputText.js +251 -116
  34. package/dist/layout/ApplicationLayout.js +18 -26
  35. package/dist/layout/Icons.js +55 -0
  36. package/dist/link/Link.js +86 -41
  37. package/dist/main.d.ts +8 -0
  38. package/dist/main.js +74 -18
  39. package/dist/number-input/NumberInput.js +136 -0
  40. package/dist/number-input/NumberInputContext.js +16 -0
  41. package/dist/number-input/index.d.ts +113 -0
  42. package/dist/paginator/Icons.js +66 -0
  43. package/dist/paginator/Paginator.js +116 -65
  44. package/dist/password-input/PasswordInput.js +203 -0
  45. package/dist/password-input/index.d.ts +94 -0
  46. package/dist/progress-bar/ProgressBar.js +95 -38
  47. package/dist/radio/Radio.js +31 -17
  48. package/dist/resultsetTable/ResultsetTable.js +82 -65
  49. package/dist/select/Select.js +896 -284
  50. package/dist/select/index.d.ts +53 -0
  51. package/dist/sidenav/Sidenav.js +66 -15
  52. package/dist/slider/Slider.js +211 -73
  53. package/dist/spinner/Spinner.js +247 -59
  54. package/dist/switch/Switch.js +50 -27
  55. package/dist/table/Table.js +51 -24
  56. package/dist/tabs/Tabs.js +88 -37
  57. package/dist/tag/Tag.js +68 -35
  58. package/dist/text-input/TextInput.js +974 -0
  59. package/dist/text-input/index.d.ts +135 -0
  60. package/dist/textarea/Textarea.js +248 -106
  61. package/dist/textarea/index.d.ts +117 -0
  62. package/dist/toggle/Toggle.js +16 -19
  63. package/dist/toggle-group/ToggleGroup.js +142 -41
  64. package/dist/upload/Upload.js +16 -11
  65. package/dist/upload/buttons-upload/ButtonsUpload.js +32 -19
  66. package/dist/upload/buttons-upload/Icons.js +40 -0
  67. package/dist/upload/dragAndDropArea/DragAndDropArea.js +84 -34
  68. package/dist/upload/dragAndDropArea/Icons.js +39 -0
  69. package/dist/upload/file-upload/FileToUpload.js +64 -33
  70. package/dist/upload/file-upload/Icons.js +66 -0
  71. package/dist/upload/files-upload/FilesToUpload.js +16 -16
  72. package/dist/upload/transaction/Icons.js +160 -0
  73. package/dist/upload/transaction/Transaction.js +42 -49
  74. package/dist/upload/transactions/Transactions.js +38 -20
  75. package/dist/wizard/Icons.js +65 -0
  76. package/dist/wizard/Wizard.js +126 -52
  77. package/package.json +10 -9
  78. package/test/AccordionGroup.test.js +16 -0
  79. package/test/Date.test.js +49 -45
  80. package/test/DateInput.test.js +242 -0
  81. package/test/Dropdown.test.js +15 -0
  82. package/test/FileInput.test.js +201 -0
  83. package/test/Footer.test.js +2 -7
  84. package/test/Header.test.js +5 -10
  85. package/test/Heading.test.js +60 -12
  86. package/test/InputText.test.js +25 -17
  87. package/test/Link.test.js +3 -2
  88. package/test/NumberInput.test.js +259 -0
  89. package/test/Paginator.test.js +40 -57
  90. package/test/PasswordInput.test.js +83 -0
  91. package/test/ResultsetTable.test.js +33 -8
  92. package/test/Slider.test.js +9 -17
  93. package/test/Spinner.test.js +5 -0
  94. package/test/TextInput.test.js +732 -0
  95. package/test/Textarea.test.js +193 -0
  96. package/test/ToggleGroup.test.js +5 -1
  97. package/test/Upload.test.js +5 -5
  98. package/test/{Select.test.js → V3Select.test.js} +56 -36
  99. package/test/{TextArea.test.js → V3TextArea.test.js} +6 -7
  100. package/dist/accordion/Accordion.stories.js +0 -207
  101. package/dist/accordion/readme.md +0 -96
  102. package/dist/accordion-group/AccordionGroup.stories.js +0 -207
  103. package/dist/accordion-group/readme.md +0 -70
  104. package/dist/alert/Alert.stories.js +0 -158
  105. package/dist/alert/close.svg +0 -4
  106. package/dist/alert/error.svg +0 -4
  107. package/dist/alert/info.svg +0 -4
  108. package/dist/alert/readme.md +0 -43
  109. package/dist/alert/success.svg +0 -4
  110. package/dist/alert/warning.svg +0 -4
  111. package/dist/button/Button.stories.js +0 -224
  112. package/dist/button/readme.md +0 -93
  113. package/dist/checkbox/Checkbox.stories.js +0 -144
  114. package/dist/checkbox/readme.md +0 -116
  115. package/dist/common/services/example-service.js +0 -10
  116. package/dist/common/services/example-service.test.js +0 -12
  117. package/dist/date/Date.stories.js +0 -205
  118. package/dist/date/calendar.svg +0 -1
  119. package/dist/date/calendar_dark.svg +0 -1
  120. package/dist/date/readme.md +0 -73
  121. package/dist/dialog/Dialog.stories.js +0 -217
  122. package/dist/dialog/readme.md +0 -32
  123. package/dist/dropdown/Dropdown.stories.js +0 -249
  124. package/dist/dropdown/baseline-arrow_drop_down.svg +0 -1
  125. package/dist/dropdown/baseline-arrow_drop_down_wh.svg +0 -4
  126. package/dist/dropdown/baseline-arrow_drop_up.svg +0 -1
  127. package/dist/dropdown/baseline-arrow_drop_up_wh.svg +0 -4
  128. package/dist/dropdown/readme.md +0 -69
  129. package/dist/footer/Footer.stories.js +0 -94
  130. package/dist/footer/dxc_logo_wht.png +0 -0
  131. package/dist/footer/readme.md +0 -41
  132. package/dist/header/Header.stories.js +0 -176
  133. package/dist/header/close_icon.svg +0 -1
  134. package/dist/header/dxc_logo_black.png +0 -0
  135. package/dist/header/dxc_logo_blk_rgb.svg +0 -6
  136. package/dist/header/dxc_logo_white.png +0 -0
  137. package/dist/header/hamb_menu_black.svg +0 -1
  138. package/dist/header/hamb_menu_white.svg +0 -1
  139. package/dist/header/readme.md +0 -33
  140. package/dist/input-text/InputText.stories.js +0 -209
  141. package/dist/input-text/error.svg +0 -1
  142. package/dist/input-text/readme.md +0 -91
  143. package/dist/layout/facebook.svg +0 -45
  144. package/dist/layout/linkedin.svg +0 -50
  145. package/dist/layout/twitter.svg +0 -53
  146. package/dist/link/readme.md +0 -51
  147. package/dist/paginator/images/next.svg +0 -3
  148. package/dist/paginator/images/nextPage.svg +0 -3
  149. package/dist/paginator/images/previous.svg +0 -3
  150. package/dist/paginator/images/previousPage.svg +0 -3
  151. package/dist/paginator/readme.md +0 -50
  152. package/dist/progress-bar/ProgressBar.stories.js +0 -280
  153. package/dist/progress-bar/readme.md +0 -63
  154. package/dist/radio/Radio.stories.js +0 -166
  155. package/dist/radio/readme.md +0 -70
  156. package/dist/resultsetTable/arrow_downward-24px_wht.svg +0 -1
  157. package/dist/resultsetTable/arrow_upward-24px_wht.svg +0 -1
  158. package/dist/resultsetTable/unfold_more-24px_wht.svg +0 -1
  159. package/dist/select/Select.stories.js +0 -235
  160. package/dist/select/readme.md +0 -72
  161. package/dist/slider/Slider.stories.js +0 -241
  162. package/dist/slider/readme.md +0 -64
  163. package/dist/spinner/Spinner.stories.js +0 -183
  164. package/dist/spinner/readme.md +0 -65
  165. package/dist/switch/Switch.stories.js +0 -134
  166. package/dist/switch/readme.md +0 -133
  167. package/dist/tabs/Tabs.stories.js +0 -130
  168. package/dist/tabs/readme.md +0 -78
  169. package/dist/tabs-for-sections/TabsForSections.js +0 -92
  170. package/dist/tabs-for-sections/readme.md +0 -78
  171. package/dist/toggle/Toggle.stories.js +0 -297
  172. package/dist/toggle/readme.md +0 -80
  173. package/dist/toggle-group/readme.md +0 -82
  174. package/dist/upload/Upload.stories.js +0 -72
  175. package/dist/upload/buttons-upload/drag-drop-icon.svg +0 -4
  176. package/dist/upload/buttons-upload/upload-button.svg +0 -1
  177. package/dist/upload/dragAndDropArea/upload_drop.svg +0 -4
  178. package/dist/upload/dragAndDropArea/upload_file.svg +0 -4
  179. package/dist/upload/file-upload/audio-icon.svg +0 -4
  180. package/dist/upload/file-upload/close.svg +0 -4
  181. package/dist/upload/file-upload/file-icon.svg +0 -4
  182. package/dist/upload/file-upload/video-icon.svg +0 -4
  183. package/dist/upload/readme.md +0 -37
  184. package/dist/upload/transaction/audio-icon-err.svg +0 -4
  185. package/dist/upload/transaction/audio-icon.svg +0 -4
  186. package/dist/upload/transaction/error-icon.svg +0 -4
  187. package/dist/upload/transaction/file-icon-err.svg +0 -4
  188. package/dist/upload/transaction/file-icon.svg +0 -4
  189. package/dist/upload/transaction/image-icon-err.svg +0 -4
  190. package/dist/upload/transaction/image-icon.svg +0 -4
  191. package/dist/upload/transaction/success-icon.svg +0 -4
  192. package/dist/upload/transaction/video-icon-err.svg +0 -4
  193. package/dist/upload/transaction/video-icon.svg +0 -4
  194. package/dist/wizard/invalid_icon.svg +0 -6
  195. package/dist/wizard/valid_icon.svg +0 -6
  196. package/dist/wizard/validation-wrong.svg +0 -6
  197. 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 DxcTextInput(props: Props): JSX.Element;
@@ -23,16 +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
- var _ThemeContext = _interopRequireDefault(require("../ThemeContext.js"));
28
+ var _useTheme = _interopRequireDefault(require("../useTheme.js"));
29
+
30
+ var _BackgroundColorContext = require("../BackgroundColorContext.js");
31
31
 
32
- var _utils = require("../common/utils.js");
32
+ var _Icons = _interopRequireDefault(require("./Icons"));
33
33
 
34
34
  function _templateObject13() {
35
- var data = (0, _taggedTemplateLiteral2["default"])(["\n text-decoration: none;\n color: ", ";\n font-size: 12px;\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"]);
36
36
 
37
37
  _templateObject13 = function _templateObject13() {
38
38
  return data;
@@ -52,7 +52,7 @@ function _templateObject12() {
52
52
  }
53
53
 
54
54
  function _templateObject11() {
55
- 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"]);
56
56
 
57
57
  _templateObject11 = function _templateObject11() {
58
58
  return data;
@@ -62,7 +62,7 @@ function _templateObject11() {
62
62
  }
63
63
 
64
64
  function _templateObject10() {
65
- 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"]);
66
66
 
67
67
  _templateObject10 = function _templateObject10() {
68
68
  return data;
@@ -82,7 +82,7 @@ function _templateObject9() {
82
82
  }
83
83
 
84
84
  function _templateObject8() {
85
- 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"]);
86
86
 
87
87
  _templateObject8 = function _templateObject8() {
88
88
  return data;
@@ -92,7 +92,7 @@ function _templateObject8() {
92
92
  }
93
93
 
94
94
  function _templateObject7() {
95
- var data = (0, _taggedTemplateLiteral2["default"])(["\n height: 34px;\n width: auto;\n"]);
95
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n max-height: ", ";\n width: ", ";\n"]);
96
96
 
97
97
  _templateObject7 = function _templateObject7() {
98
98
  return data;
@@ -102,7 +102,7 @@ function _templateObject7() {
102
102
  }
103
103
 
104
104
  function _templateObject6() {
105
- var data = (0, _taggedTemplateLiteral2["default"])(["\n font-size: 12px;\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"]);
106
106
 
107
107
  _templateObject6 = function _templateObject6() {
108
108
  return data;
@@ -112,7 +112,7 @@ function _templateObject6() {
112
112
  }
113
113
 
114
114
  function _templateObject5() {
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 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"]);
116
116
 
117
117
  _templateObject5 = function _templateObject5() {
118
118
  return data;
@@ -122,7 +122,7 @@ function _templateObject5() {
122
122
  }
123
123
 
124
124
  function _templateObject4() {
125
- 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"]);
126
126
 
127
127
  _templateObject4 = function _templateObject4() {
128
128
  return data;
@@ -132,7 +132,7 @@ function _templateObject4() {
132
132
  }
133
133
 
134
134
  function _templateObject3() {
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"]);
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"]);
136
136
 
137
137
  _templateObject3 = function _templateObject3() {
138
138
  return data;
@@ -152,7 +152,7 @@ function _templateObject2() {
152
152
  }
153
153
 
154
154
  function _templateObject() {
155
- var data = (0, _taggedTemplateLiteral2["default"])(["\n padding: ", ";\n font-family: \"Open Sans\", sans-serif;\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"]);
156
156
 
157
157
  _templateObject = function _templateObject() {
158
158
  return data;
@@ -168,11 +168,11 @@ var DxcFooter = function DxcFooter(_ref) {
168
168
  bottomLinks = _ref$bottomLinks === void 0 ? [] : _ref$bottomLinks,
169
169
  _ref$copyright = _ref.copyright,
170
170
  copyright = _ref$copyright === void 0 ? "" : _ref$copyright,
171
- _ref$logoSrc = _ref.logoSrc,
172
- logoSrc = _ref$logoSrc === void 0 ? "default" : _ref$logoSrc,
173
171
  children = _ref.children,
174
172
  padding = _ref.padding,
175
- margin = _ref.margin;
173
+ margin = _ref.margin,
174
+ _ref$tabIndex = _ref.tabIndex,
175
+ tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
176
176
  var ref = (0, _react.useRef)(null);
177
177
 
178
178
  var _useState = (0, _react.useState)(),
@@ -190,10 +190,21 @@ var DxcFooter = function DxcFooter(_ref) {
190
190
  isResponsivePhone = _useState6[0],
191
191
  setIsResponsivePhone = _useState6[1];
192
192
 
193
- var customTheme = (0, _react.useContext)(_ThemeContext["default"]);
194
- var colorsTheme = (0, _react.useMemo)(function () {
195
- return (0, _utils.getCustomTheme)(_variables.componentTokens, (0, _utils.getCustomTheme)(_variables.defaultTheme, customTheme));
196
- }, [customTheme]);
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]);
197
208
 
198
209
  var handleResize = function handleResize(refWidth) {
199
210
  if (ref.current) {
@@ -225,6 +236,7 @@ var DxcFooter = function DxcFooter(_ref) {
225
236
  }, []);
226
237
  var socialLink = socialLinks.map(function (link, index) {
227
238
  return _react["default"].createElement(SocialAnchor, {
239
+ tabIndex: tabIndex,
228
240
  key: "social".concat(index).concat(link.href),
229
241
  index: index,
230
242
  href: link && link.href ? link.href : ""
@@ -236,6 +248,7 @@ var DxcFooter = function DxcFooter(_ref) {
236
248
  return _react["default"].createElement("span", {
237
249
  key: "bottom".concat(index).concat(link.text)
238
250
  }, _react["default"].createElement(BottomLink, {
251
+ tabIndex: tabIndex,
239
252
  href: link && link.href ? link.href : ""
240
253
  }, link && link.text ? link.text : ""), _react["default"].createElement(Point, {
241
254
  index: index
@@ -247,10 +260,7 @@ var DxcFooter = function DxcFooter(_ref) {
247
260
  margin: margin,
248
261
  refSize: refSize,
249
262
  ref: ref
250
- }, _react["default"].createElement(FooterHeader, null, _react["default"].createElement(LogoIcon, {
251
- logoSrc: logoSrc,
252
- src: logoSrc === "default" ? colorsTheme.footer.logo : logoSrc
253
- }), _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, {
254
264
  className: "footerFooter",
255
265
  refSize: refSize
256
266
  }, _react["default"].createElement(BottomLinks, {
@@ -259,7 +269,9 @@ var DxcFooter = function DxcFooter(_ref) {
259
269
  refSize: refSize
260
270
  }, copyright))), (!isResponsiveTablet && !isResponsivePhone || isResponsiveTablet) && _react["default"].createElement("div", null, _react["default"].createElement(ChildComponents, {
261
271
  padding: padding
262
- }, children), _react["default"].createElement(FooterFooter, {
272
+ }, _react["default"].createElement(_BackgroundColorContext.BackgroundColorProvider, {
273
+ color: colorsTheme.footer.backgroundColor
274
+ }, children)), _react["default"].createElement(FooterFooter, {
263
275
  className: "footerFooter"
264
276
  }, _react["default"].createElement(BottomLinks, {
265
277
  refSize: refSize
@@ -269,11 +281,13 @@ var DxcFooter = function DxcFooter(_ref) {
269
281
  };
270
282
 
271
283
  var FooterContainer = _styledComponents["default"].footer(_templateObject(), function (props) {
272
- return props.refSize <= _variables.responsiveSizes.mobileLarge ? "20px 20px 20px 20px" : "20px 60px 20px 20px";
284
+ return props.refSize <= _variables.responsiveSizes.mobileLarge ? "20px 20px 20px 20px" : "24px 36px 24px 36px";
273
285
  }, function (props) {
274
286
  return props.theme.backgroundColor;
275
287
  }, function (props) {
276
288
  return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
289
+ }, function (props) {
290
+ return props.theme.height;
277
291
  });
278
292
 
279
293
  var FooterHeader = _styledComponents["default"].div(_templateObject2());
@@ -282,10 +296,12 @@ var FooterFooter = _styledComponents["default"].div(_templateObject3(), function
282
296
  return props.refSize <= _variables.responsiveSizes.mobileLarge ? "column" : "row";
283
297
  }, function (props) {
284
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);
285
301
  });
286
302
 
287
303
  var BottomLinks = _styledComponents["default"].div(_templateObject4(), function (props) {
288
- return props.theme.lineColor;
304
+ return props.theme.bottomLinksDividerSpacing;
289
305
  }, function (props) {
290
306
  return props.refSize <= _variables.responsiveSizes.mobileLarge ? "100%" : "60%";
291
307
  }, function (props) {
@@ -304,46 +320,79 @@ var ChildComponents = _styledComponents["default"].div(_templateObject5(), funct
304
320
  return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.bottom ? _variables.spaces[props.padding.bottom] : "";
305
321
  }, function (props) {
306
322
  return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.left ? _variables.spaces[props.padding.left] : "";
307
- }, function (props) {
308
- return props.theme.fontColor;
309
323
  });
310
324
 
311
325
  var Copyright = _styledComponents["default"].div(_templateObject6(), function (props) {
312
- return props.theme.fontColor;
326
+ return props.theme.copyrightFontFamily;
327
+ }, function (props) {
328
+ return props.theme.copyrightFontSize;
329
+ }, function (props) {
330
+ return props.theme.copyrightFontStyle;
331
+ }, function (props) {
332
+ return props.theme.copyrightFontWeight;
333
+ }, function (props) {
334
+ return props.theme.copyrightFontColor;
313
335
  }, function (props) {
314
336
  return props.refSize <= _variables.responsiveSizes.mobileLarge ? "100%" : "40%";
315
337
  }, function (props) {
316
338
  return props.refSize <= _variables.responsiveSizes.mobileLarge ? "100%" : "";
317
339
  }, function (props) {
318
340
  return props.refSize <= _variables.responsiveSizes.mobileLarge ? "center" : "right";
341
+ }, function (props) {
342
+ return props.theme.bottomLinksDividerSpacing;
319
343
  });
320
344
 
321
- 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
+ });
322
350
 
323
- 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
+ });
324
356
 
325
357
  var SocialAnchor = _styledComponents["default"].a(_templateObject9(), function (props) {
326
- return props.index === 0 ? "0px" : "15px";
358
+ return props.index === 0 ? "0px" : props.theme.socialLinksGutter;
327
359
  });
328
360
 
329
361
  var SocialIcon = _styledComponents["default"].img(_templateObject10(), function (props) {
330
- 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;
331
367
  });
332
368
 
333
369
  var SocialIconContainer = _styledComponents["default"].div(_templateObject11(), function (props) {
334
- 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;
335
375
  });
336
376
 
337
377
  var Point = _styledComponents["default"].span(_templateObject12(), function (props) {
338
- return props.theme.fontColor;
378
+ return props.theme.bottomLinksFontColor;
339
379
  });
340
380
 
341
381
  var BottomLink = _styledComponents["default"].a(_templateObject13(), function (props) {
342
- return props.theme.fontColor;
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;
389
+ }, function (props) {
390
+ return props.theme.bottomLinksFontStyle;
391
+ }, function (props) {
392
+ return props.theme.bottomLinksFontWeight;
343
393
  });
344
394
 
345
395
  DxcFooter.propTypes = {
346
- logoSrc: _propTypes["default"].string,
347
396
  socialLinks: _propTypes["default"].arrayOf(_propTypes["default"].shape({
348
397
  logo: _propTypes["default"].oneOfType([_propTypes["default"].element, _propTypes["default"].func]),
349
398
  logoSrc: _propTypes["default"].string.isRequired,
@@ -365,7 +414,8 @@ DxcFooter.propTypes = {
365
414
  bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
366
415
  left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
367
416
  right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
368
- }), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))])
417
+ }), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))]),
418
+ tabIndex: _propTypes["default"].number
369
419
  };
370
420
  var _default = DxcFooter;
371
421
  exports["default"] = _default;