@dxc-technology/halstack-react 3.4.1 → 4.0.0

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 (233) hide show
  1. package/{dist/BackgroundColorContext.js → BackgroundColorContext.js} +0 -0
  2. package/{dist/ThemeContext.js → ThemeContext.js} +74 -64
  3. package/{dist/select/Select.js → V3Select/V3Select.js} +127 -163
  4. package/V3Select/index.d.ts +27 -0
  5. package/{dist/textarea/Textarea.js → V3Textarea/V3Textarea.js} +4 -4
  6. package/V3Textarea/index.d.ts +27 -0
  7. package/{dist/accordion → accordion}/Accordion.js +0 -0
  8. package/accordion/index.d.ts +28 -0
  9. package/{dist/accordion-group → accordion-group}/AccordionGroup.js +0 -0
  10. package/accordion-group/index.d.ts +16 -0
  11. package/{dist/alert → alert}/Alert.js +6 -6
  12. package/alert/index.d.ts +51 -0
  13. package/{dist/badge → badge}/Badge.js +0 -0
  14. package/{dist/box → box}/Box.js +0 -0
  15. package/box/index.d.ts +25 -0
  16. package/{dist/button → button}/Button.js +3 -3
  17. package/button/Button.stories.js +27 -0
  18. package/button/index.d.ts +24 -0
  19. package/{dist/card → card}/Card.js +0 -0
  20. package/card/index.d.ts +22 -0
  21. package/{dist/checkbox → checkbox}/Checkbox.js +4 -5
  22. package/checkbox/index.d.ts +24 -0
  23. package/{dist/chip → chip}/Chip.js +0 -0
  24. package/chip/index.d.ts +22 -0
  25. package/{dist/common → common}/OpenSans.css +0 -0
  26. package/{dist/common → common}/RequiredComponent.js +0 -0
  27. package/{dist/common → common}/fonts/OpenSans-Bold.ttf +0 -0
  28. package/{dist/common → common}/fonts/OpenSans-BoldItalic.ttf +0 -0
  29. package/{dist/common → common}/fonts/OpenSans-ExtraBold.ttf +0 -0
  30. package/{dist/common → common}/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  31. package/{dist/common → common}/fonts/OpenSans-Italic.ttf +0 -0
  32. package/{dist/common → common}/fonts/OpenSans-Light.ttf +0 -0
  33. package/{dist/common → common}/fonts/OpenSans-LightItalic.ttf +0 -0
  34. package/{dist/common → common}/fonts/OpenSans-Regular.ttf +0 -0
  35. package/{dist/common → common}/fonts/OpenSans-SemiBold.ttf +0 -0
  36. package/{dist/common → common}/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  37. package/{dist/common → common}/utils.js +0 -0
  38. package/{dist/common → common}/variables.js +344 -138
  39. package/{dist/date → date}/Date.js +4 -6
  40. package/date/index.d.ts +27 -0
  41. package/{dist/new-date/NewDate.js → date-input/DateInput.js} +69 -72
  42. package/date-input/index.d.ts +95 -0
  43. package/{dist/dialog → dialog}/Dialog.js +0 -0
  44. package/dialog/index.d.ts +18 -0
  45. package/{dist/dropdown → dropdown}/Dropdown.js +0 -0
  46. package/dropdown/index.d.ts +26 -0
  47. package/file-input/FileInput.js +644 -0
  48. package/file-input/FileItem.js +287 -0
  49. package/file-input/index.d.ts +81 -0
  50. package/{dist/footer → footer}/Footer.js +44 -18
  51. package/footer/Icons.js +77 -0
  52. package/footer/index.d.ts +25 -0
  53. package/{dist/header → header}/Header.js +122 -55
  54. package/header/Icons.js +59 -0
  55. package/header/index.d.ts +25 -0
  56. package/{dist/heading → heading}/Heading.js +12 -0
  57. package/heading/index.d.ts +17 -0
  58. package/input-text/Icons.js +22 -0
  59. package/{dist/input-text → input-text}/InputText.js +7 -9
  60. package/input-text/index.d.ts +36 -0
  61. package/{dist/layout → layout}/ApplicationLayout.js +5 -9
  62. package/layout/Icons.js +55 -0
  63. package/{dist/link → link}/Link.js +4 -8
  64. package/link/index.d.ts +23 -0
  65. package/main.d.ts +40 -0
  66. package/{dist/main.js → main.js} +37 -29
  67. package/{dist/number/Number.js → number-input/NumberInput.js} +9 -11
  68. package/{dist/number/NumberContext.js → number-input/NumberInputContext.js} +2 -2
  69. package/number-input/index.d.ts +113 -0
  70. package/package.json +21 -16
  71. package/paginator/Icons.js +66 -0
  72. package/{dist/paginator → paginator}/Paginator.js +53 -37
  73. package/paginator/index.d.ts +20 -0
  74. package/{dist/password/Password.js → password-input/PasswordInput.js} +17 -14
  75. package/password-input/index.d.ts +94 -0
  76. package/{dist/progress-bar → progress-bar}/ProgressBar.js +1 -1
  77. package/progress-bar/index.d.ts +18 -0
  78. package/{dist/radio → radio}/Radio.js +0 -0
  79. package/radio/index.d.ts +23 -0
  80. package/{dist/resultsetTable → resultsetTable}/ResultsetTable.js +1 -1
  81. package/resultsetTable/index.d.ts +19 -0
  82. package/select/Select.js +1138 -0
  83. package/select/index.d.ts +131 -0
  84. package/{dist/sidenav → sidenav}/Sidenav.js +6 -4
  85. package/sidenav/index.d.ts +13 -0
  86. package/{dist/slider → slider}/Slider.js +104 -19
  87. package/slider/index.d.ts +29 -0
  88. package/{dist/spinner → spinner}/Spinner.js +0 -0
  89. package/spinner/index.d.ts +17 -0
  90. package/{dist/switch → switch}/Switch.js +0 -0
  91. package/switch/index.d.ts +24 -0
  92. package/{dist/table → table}/Table.js +0 -0
  93. package/table/index.d.ts +13 -0
  94. package/{dist/tabs → tabs}/Tabs.js +0 -0
  95. package/tabs/index.d.ts +19 -0
  96. package/{dist/tag → tag}/Tag.js +26 -32
  97. package/tag/index.d.ts +24 -0
  98. package/{dist/new-input-text/NewInputText.js → text-input/TextInput.js} +343 -312
  99. package/text-input/index.d.ts +135 -0
  100. package/{dist/new-textarea/NewTextarea.js → textarea/Textarea.js} +68 -45
  101. package/textarea/index.d.ts +117 -0
  102. package/{dist/toggle → toggle}/Toggle.js +0 -0
  103. package/toggle/index.d.ts +21 -0
  104. package/{dist/toggle-group → toggle-group}/ToggleGroup.js +132 -28
  105. package/toggle-group/index.d.ts +21 -0
  106. package/{dist/upload → upload}/Upload.js +0 -0
  107. package/{dist/upload → upload}/buttons-upload/ButtonsUpload.js +7 -11
  108. package/upload/buttons-upload/Icons.js +40 -0
  109. package/{dist/upload → upload}/dragAndDropArea/DragAndDropArea.js +14 -14
  110. package/upload/dragAndDropArea/Icons.js +39 -0
  111. package/{dist/upload → upload}/file-upload/FileToUpload.js +26 -21
  112. package/upload/file-upload/Icons.js +66 -0
  113. package/{dist/upload → upload}/files-upload/FilesToUpload.js +0 -0
  114. package/upload/index.d.ts +15 -0
  115. package/upload/transaction/Icons.js +160 -0
  116. package/{dist/upload → upload}/transaction/Transaction.js +11 -38
  117. package/{dist/upload → upload}/transactions/Transactions.js +0 -0
  118. package/{dist/useTheme.js → useTheme.js} +0 -0
  119. package/wizard/Icons.js +65 -0
  120. package/{dist/wizard → wizard}/Wizard.js +3 -9
  121. package/wizard/index.d.ts +18 -0
  122. package/README.md +0 -66
  123. package/babel.config.js +0 -8
  124. package/dist/checkbox/Checkbox.stories.js +0 -144
  125. package/dist/checkbox/readme.md +0 -116
  126. package/dist/date/Date.stories.js +0 -205
  127. package/dist/date/readme.md +0 -73
  128. package/dist/footer/Footer.stories.js +0 -94
  129. package/dist/footer/dxc_logo.svg +0 -15
  130. package/dist/footer/readme.md +0 -41
  131. package/dist/header/Header.stories.js +0 -176
  132. package/dist/header/close_icon.svg +0 -1
  133. package/dist/header/dxc_logo_black.svg +0 -8
  134. package/dist/header/hamb_menu_black.svg +0 -1
  135. package/dist/header/hamb_menu_white.svg +0 -1
  136. package/dist/header/readme.md +0 -33
  137. package/dist/input-text/InputText.stories.js +0 -209
  138. package/dist/input-text/error.svg +0 -1
  139. package/dist/input-text/readme.md +0 -91
  140. package/dist/layout/facebook.svg +0 -45
  141. package/dist/layout/linkedin.svg +0 -50
  142. package/dist/layout/twitter.svg +0 -53
  143. package/dist/link/readme.md +0 -51
  144. package/dist/paginator/images/next.svg +0 -3
  145. package/dist/paginator/images/nextPage.svg +0 -3
  146. package/dist/paginator/images/previous.svg +0 -3
  147. package/dist/paginator/images/previousPage.svg +0 -3
  148. package/dist/paginator/readme.md +0 -50
  149. package/dist/password/styles.css +0 -3
  150. package/dist/progress-bar/ProgressBar.stories.js +0 -280
  151. package/dist/progress-bar/readme.md +0 -63
  152. package/dist/radio/Radio.stories.js +0 -166
  153. package/dist/radio/readme.md +0 -70
  154. package/dist/resultsetTable/arrow_downward-24px_wht.svg +0 -1
  155. package/dist/resultsetTable/arrow_upward-24px_wht.svg +0 -1
  156. package/dist/resultsetTable/unfold_more-24px_wht.svg +0 -1
  157. package/dist/select/Select.stories.js +0 -235
  158. package/dist/select/readme.md +0 -72
  159. package/dist/slider/Slider.stories.js +0 -241
  160. package/dist/slider/readme.md +0 -64
  161. package/dist/spinner/Spinner.stories.js +0 -183
  162. package/dist/spinner/readme.md +0 -65
  163. package/dist/switch/Switch.stories.js +0 -134
  164. package/dist/switch/readme.md +0 -133
  165. package/dist/tabs/Tabs.stories.js +0 -130
  166. package/dist/tabs/readme.md +0 -78
  167. package/dist/tabs-for-sections/TabsForSections.js +0 -92
  168. package/dist/tabs-for-sections/readme.md +0 -78
  169. package/dist/toggle/Toggle.stories.js +0 -297
  170. package/dist/toggle/readme.md +0 -80
  171. package/dist/upload/Upload.stories.js +0 -72
  172. package/dist/upload/buttons-upload/drag-drop-icon.svg +0 -4
  173. package/dist/upload/buttons-upload/upload-button.svg +0 -1
  174. package/dist/upload/dragAndDropArea/upload_drop.svg +0 -4
  175. package/dist/upload/dragAndDropArea/upload_file.svg +0 -4
  176. package/dist/upload/file-upload/audio-icon.svg +0 -4
  177. package/dist/upload/file-upload/close.svg +0 -4
  178. package/dist/upload/file-upload/file-icon.svg +0 -4
  179. package/dist/upload/file-upload/video-icon.svg +0 -4
  180. package/dist/upload/readme.md +0 -37
  181. package/dist/upload/transaction/audio-icon-err.svg +0 -4
  182. package/dist/upload/transaction/audio-icon.svg +0 -4
  183. package/dist/upload/transaction/error-icon.svg +0 -4
  184. package/dist/upload/transaction/file-icon-err.svg +0 -4
  185. package/dist/upload/transaction/file-icon.svg +0 -4
  186. package/dist/upload/transaction/image-icon-err.svg +0 -4
  187. package/dist/upload/transaction/image-icon.svg +0 -4
  188. package/dist/upload/transaction/success-icon.svg +0 -4
  189. package/dist/upload/transaction/video-icon-err.svg +0 -4
  190. package/dist/upload/transaction/video-icon.svg +0 -4
  191. package/dist/wizard/invalid_icon.svg +0 -5
  192. package/dist/wizard/valid_icon.svg +0 -5
  193. package/dist/wizard/validation-wrong.svg +0 -6
  194. package/test/Accordion.test.js +0 -33
  195. package/test/AccordionGroup.test.js +0 -125
  196. package/test/Alert.test.js +0 -53
  197. package/test/Box.test.js +0 -10
  198. package/test/Button.test.js +0 -18
  199. package/test/Card.test.js +0 -30
  200. package/test/Checkbox.test.js +0 -45
  201. package/test/Chip.test.js +0 -25
  202. package/test/Date.test.js +0 -393
  203. package/test/Dialog.test.js +0 -23
  204. package/test/Dropdown.test.js +0 -145
  205. package/test/Footer.test.js +0 -99
  206. package/test/Header.test.js +0 -39
  207. package/test/Heading.test.js +0 -35
  208. package/test/InputText.test.js +0 -240
  209. package/test/Link.test.js +0 -43
  210. package/test/NewDate.test.js +0 -203
  211. package/test/NewInputText.test.js +0 -817
  212. package/test/NewTextarea.test.js +0 -201
  213. package/test/Number.test.js +0 -241
  214. package/test/Paginator.test.js +0 -177
  215. package/test/Password.test.js +0 -76
  216. package/test/ProgressBar.test.js +0 -35
  217. package/test/Radio.test.js +0 -37
  218. package/test/ResultsetTable.test.js +0 -330
  219. package/test/Select.test.js +0 -189
  220. package/test/Sidenav.test.js +0 -45
  221. package/test/Slider.test.js +0 -82
  222. package/test/Spinner.test.js +0 -32
  223. package/test/Switch.test.js +0 -45
  224. package/test/Table.test.js +0 -36
  225. package/test/Tabs.test.js +0 -109
  226. package/test/TabsForSections.test.js +0 -34
  227. package/test/Tag.test.js +0 -32
  228. package/test/TextArea.test.js +0 -52
  229. package/test/ToggleGroup.test.js +0 -81
  230. package/test/Upload.test.js +0 -60
  231. package/test/Wizard.test.js +0 -130
  232. package/test/mocks/pngMock.js +0 -1
  233. package/test/mocks/svgMock.js +0 -1
@@ -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;
@@ -29,9 +29,21 @@ var _useTheme = _interopRequireDefault(require("../useTheme.js"));
29
29
 
30
30
  var _BackgroundColorContext = require("../BackgroundColorContext.js");
31
31
 
32
- function _templateObject12() {
32
+ var _Icons = _interopRequireDefault(require("./Icons"));
33
+
34
+ function _templateObject13() {
33
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
 
37
+ _templateObject13 = function _templateObject13() {
38
+ return data;
39
+ };
40
+
41
+ return data;
42
+ }
43
+
44
+ function _templateObject12() {
45
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n margin: 0px 10px;\n color: ", ";\n"]);
46
+
35
47
  _templateObject12 = function _templateObject12() {
36
48
  return data;
37
49
  };
@@ -40,7 +52,7 @@ function _templateObject12() {
40
52
  }
41
53
 
42
54
  function _templateObject11() {
43
- var data = (0, _taggedTemplateLiteral2["default"])(["\n margin: 0px 10px;\n color: ", ";\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"]);
44
56
 
45
57
  _templateObject11 = function _templateObject11() {
46
58
  return data;
@@ -50,7 +62,7 @@ function _templateObject11() {
50
62
  }
51
63
 
52
64
  function _templateObject10() {
53
- 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"]);
65
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n & {\n display: inline-flex;\n height: ", ";\n width: ", ";\n fill: ", ";\n }\n"]);
54
66
 
55
67
  _templateObject10 = function _templateObject10() {
56
68
  return data;
@@ -60,7 +72,7 @@ function _templateObject10() {
60
72
  }
61
73
 
62
74
  function _templateObject9() {
63
- var data = (0, _taggedTemplateLiteral2["default"])(["\n & {\n display: inline-flex;\n height: ", ";\n width: ", ";\n fill: ", ";\n }\n"]);
75
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n & {\n display: inline-flex;\n margin-left: ", ";\n }\n"]);
64
76
 
65
77
  _templateObject9 = function _templateObject9() {
66
78
  return data;
@@ -70,7 +82,7 @@ function _templateObject9() {
70
82
  }
71
83
 
72
84
  function _templateObject8() {
73
- var data = (0, _taggedTemplateLiteral2["default"])(["\n & {\n display: inline-flex;\n margin-left: ", ";\n }\n"]);
85
+ var data = (0, _taggedTemplateLiteral2["default"])(["\n max-height: ", ";\n width: ", ";\n"]);
74
86
 
75
87
  _templateObject8 = function _templateObject8() {
76
88
  return data;
@@ -156,8 +168,6 @@ var DxcFooter = function DxcFooter(_ref) {
156
168
  bottomLinks = _ref$bottomLinks === void 0 ? [] : _ref$bottomLinks,
157
169
  _ref$copyright = _ref.copyright,
158
170
  copyright = _ref$copyright === void 0 ? "" : _ref$copyright,
159
- _ref$logoSrc = _ref.logoSrc,
160
- logoSrc = _ref$logoSrc === void 0 ? "default" : _ref$logoSrc,
161
171
  children = _ref.children,
162
172
  padding = _ref.padding,
163
173
  margin = _ref.margin,
@@ -181,6 +191,20 @@ var DxcFooter = function DxcFooter(_ref) {
181
191
  setIsResponsivePhone = _useState6[1];
182
192
 
183
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]);
184
208
 
185
209
  var handleResize = function handleResize(refWidth) {
186
210
  if (ref.current) {
@@ -236,10 +260,7 @@ var DxcFooter = function DxcFooter(_ref) {
236
260
  margin: margin,
237
261
  refSize: refSize,
238
262
  ref: ref
239
- }, _react["default"].createElement(FooterHeader, null, _react["default"].createElement(LogoIcon, {
240
- logoSrc: logoSrc,
241
- src: logoSrc === "default" ? colorsTheme.footer.logo : logoSrc
242
- }), _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, {
243
264
  className: "footerFooter",
244
265
  refSize: refSize
245
266
  }, _react["default"].createElement(BottomLinks, {
@@ -321,17 +342,23 @@ var Copyright = _styledComponents["default"].div(_templateObject6(), function (p
321
342
  return props.theme.bottomLinksDividerSpacing;
322
343
  });
323
344
 
324
- var LogoIcon = _styledComponents["default"].img(_templateObject7(), function (props) {
345
+ var LogoContainer = _styledComponents["default"].div(_templateObject7(), function (props) {
346
+ return props.theme.logoHeight;
347
+ }, function (props) {
348
+ return props.theme.logoWidth;
349
+ });
350
+
351
+ var LogoImg = _styledComponents["default"].img(_templateObject8(), function (props) {
325
352
  return props.theme.logoHeight;
326
353
  }, function (props) {
327
354
  return props.theme.logoWidth;
328
355
  });
329
356
 
330
- var SocialAnchor = _styledComponents["default"].a(_templateObject8(), function (props) {
357
+ var SocialAnchor = _styledComponents["default"].a(_templateObject9(), function (props) {
331
358
  return props.index === 0 ? "0px" : props.theme.socialLinksGutter;
332
359
  });
333
360
 
334
- var SocialIcon = _styledComponents["default"].img(_templateObject9(), function (props) {
361
+ var SocialIcon = _styledComponents["default"].img(_templateObject10(), function (props) {
335
362
  return props.theme.socialLinksSize;
336
363
  }, function (props) {
337
364
  return props.theme.socialLinksSize;
@@ -339,7 +366,7 @@ var SocialIcon = _styledComponents["default"].img(_templateObject9(), function (
339
366
  return props.theme.socialLinksColor;
340
367
  });
341
368
 
342
- var SocialIconContainer = _styledComponents["default"].div(_templateObject10(), function (props) {
369
+ var SocialIconContainer = _styledComponents["default"].div(_templateObject11(), function (props) {
343
370
  return props.theme.socialLinksSize;
344
371
  }, function (props) {
345
372
  return props.theme.socialLinksSize;
@@ -347,11 +374,11 @@ var SocialIconContainer = _styledComponents["default"].div(_templateObject10(),
347
374
  return props.theme.socialLinksColor;
348
375
  });
349
376
 
350
- var Point = _styledComponents["default"].span(_templateObject11(), function (props) {
377
+ var Point = _styledComponents["default"].span(_templateObject12(), function (props) {
351
378
  return props.theme.bottomLinksFontColor;
352
379
  });
353
380
 
354
- var BottomLink = _styledComponents["default"].a(_templateObject12(), function (props) {
381
+ var BottomLink = _styledComponents["default"].a(_templateObject13(), function (props) {
355
382
  return props.theme.bottomLinksTextDecoration;
356
383
  }, function (props) {
357
384
  return props.theme.bottomLinksFontColor;
@@ -366,7 +393,6 @@ var BottomLink = _styledComponents["default"].a(_templateObject12(), function (p
366
393
  });
367
394
 
368
395
  DxcFooter.propTypes = {
369
- logoSrc: _propTypes["default"].string,
370
396
  socialLinks: _propTypes["default"].arrayOf(_propTypes["default"].shape({
371
397
  logo: _propTypes["default"].oneOfType([_propTypes["default"].element, _propTypes["default"].func]),
372
398
  logoSrc: _propTypes["default"].string.isRequired,
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = void 0;
9
+
10
+ var _react = _interopRequireDefault(require("react"));
11
+
12
+ var _default = _react["default"].createElement("svg", {
13
+ id: "g10",
14
+ xmlns: "http://www.w3.org/2000/svg",
15
+ width: "280.781",
16
+ height: "32",
17
+ viewBox: "0 0 280.781 32"
18
+ }, _react["default"].createElement("title", null, "DXC Logo"), _react["default"].createElement("g", {
19
+ id: "g12"
20
+ }, _react["default"].createElement("path", {
21
+ id: "path14",
22
+ d: "M171.5-54.124v12.539h-3.6V-54.124h-4.973v-3.191h13.54v3.191H171.5",
23
+ transform: "translate(-68.528 65.45)",
24
+ fill: "#fff"
25
+ }), _react["default"].createElement("path", {
26
+ id: "path16",
27
+ d: "M189.96-41.585V-57.315h12.326v3.079h-8.753v3.191h7.7v3.078h-7.7v3.3h8.87v3.078H189.96",
28
+ transform: "translate(-77.56 65.45)",
29
+ fill: "#fff"
30
+ }), _react["default"].createElement("path", {
31
+ id: "path18",
32
+ d: "M223.558-41.438a8.1,8.1,0,0,1-8.382-8.1v-.045a8.161,8.161,0,0,1,8.522-8.146,8.6,8.6,0,0,1,6.444,2.431l-2.289,2.543a6.133,6.133,0,0,0-4.178-1.778,4.743,4.743,0,0,0-4.738,4.905v.045a4.752,4.752,0,0,0,4.738,4.95,6,6,0,0,0,4.295-1.845l2.288,2.228a8.491,8.491,0,0,1-6.7,2.813",
33
+ transform: "translate(-86.019 65.583)",
34
+ fill: "#fff"
35
+ }), _react["default"].createElement("path", {
36
+ id: "path20",
37
+ d: "M254.988-41.585V-47.9h-6.63v6.315h-3.6V-57.315h3.6v6.225h6.63v-6.225h3.594v15.731h-3.594",
38
+ transform: "translate(-95.903 65.45)",
39
+ fill: "#fff"
40
+ }), _react["default"].createElement("path", {
41
+ id: "path22",
42
+ d: "M285.991-41.585l-7.914-10v10h-3.549V-57.315h3.316l7.657,9.685v-9.685h3.549v15.731h-3.058",
43
+ transform: "translate(-105.869 65.45)",
44
+ fill: "#fff"
45
+ }), _react["default"].createElement("path", {
46
+ id: "path24",
47
+ d: "M317.2-49.583a4.869,4.869,0,0,0-4.949-4.95,4.793,4.793,0,0,0-4.9,4.905v.045a4.869,4.869,0,0,0,4.949,4.95,4.793,4.793,0,0,0,4.9-4.905Zm-4.949,8.145c-5.043,0-8.661-3.623-8.661-8.1v-.045c0-4.478,3.666-8.146,8.708-8.146s8.66,3.623,8.66,8.1v.045c0,4.477-3.664,8.145-8.708,8.145",
48
+ transform: "translate(-115.631 65.583)",
49
+ fill: "#fff"
50
+ }), _react["default"].createElement("path", {
51
+ id: "path26",
52
+ d: "M336.786-41.585V-57.315h3.6v12.584h8.148v3.146H336.786",
53
+ transform: "translate(-126.654 65.45)",
54
+ fill: "#fff"
55
+ }), _react["default"].createElement("path", {
56
+ id: "path28",
57
+ d: "M372.78-49.583a4.87,4.87,0,0,0-4.949-4.95,4.794,4.794,0,0,0-4.9,4.905v.045a4.869,4.869,0,0,0,4.949,4.95,4.794,4.794,0,0,0,4.9-4.905Zm-4.949,8.145c-5.043,0-8.662-3.623-8.662-8.1v-.045c0-4.478,3.666-8.146,8.708-8.146s8.661,3.623,8.661,8.1v.045c0,4.477-3.666,8.145-8.708,8.145",
58
+ transform: "translate(-135.016 65.583)",
59
+ fill: "#fff"
60
+ }), _react["default"].createElement("path", {
61
+ id: "path30",
62
+ d: "M399.735-41.438c-5.09,0-8.592-3.443-8.592-8.1v-.045a8.243,8.243,0,0,1,8.568-8.146,9.18,9.18,0,0,1,6.42,2.16l-2.265,2.634a6.141,6.141,0,0,0-4.272-1.6,4.807,4.807,0,0,0-4.692,4.905v.045a4.8,4.8,0,0,0,4.949,4.995,5.89,5.89,0,0,0,3.384-.945v-2.25h-3.618v-2.992h7.1v6.841a10.837,10.837,0,0,1-6.98,2.5",
63
+ transform: "translate(-145.284 65.583)",
64
+ fill: "#fff"
65
+ }), _react["default"].createElement("path", {
66
+ id: "path32",
67
+ d: "M428.664-47.855v6.27h-3.6v-6.2l-6.28-9.528h4.2L426.89-51l3.968-6.315h4.085l-6.28,9.46",
68
+ transform: "translate(-154.162 65.45)",
69
+ fill: "#fff"
70
+ }), _react["default"].createElement("path", {
71
+ id: "path34",
72
+ d: "M84.218-55.737a10.063,10.063,0,0,1,2.589-4.4,9.792,9.792,0,0,1,6.985-2.77h11.328V-69.3H93.792a17.041,17.041,0,0,0-11.8,4.759,16.344,16.344,0,0,0-3.547,5.115,13.247,13.247,0,0,0-1.122,3.688Zm0,4.877a10.065,10.065,0,0,0,2.589,4.4,9.793,9.793,0,0,0,6.985,2.77h11.328V-37.3H93.792a17.042,17.042,0,0,1-11.8-4.759,16.339,16.339,0,0,1-3.547-5.114,13.251,13.251,0,0,1-1.122-3.688ZM63.1-47.98,54.45-37.3H45.873l12.957-16-12.957-16H54.45L63.1-58.619l8.65-10.68h8.578l-12.957,16,12.957,16H71.749ZM48.875-55.737a13.212,13.212,0,0,0-1.122-3.688,16.359,16.359,0,0,0-3.546-5.115,17.043,17.043,0,0,0-11.8-4.759H21.08v6.393H32.408a9.79,9.79,0,0,1,6.985,2.77,10.072,10.072,0,0,1,2.59,4.4Zm0,4.877a13.215,13.215,0,0,1-1.122,3.688,16.353,16.353,0,0,1-3.546,5.114,17.044,17.044,0,0,1-11.8,4.759H21.08v-6.393H32.408a9.791,9.791,0,0,0,6.985-2.77,10.074,10.074,0,0,0,2.59-4.4h6.892",
73
+ transform: "translate(-21.08 69.298)",
74
+ fill: "#fff"
75
+ })));
76
+
77
+ exports["default"] = _default;
@@ -0,0 +1,25 @@
1
+ type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
2
+ type Margin = {
3
+ top?: Space;
4
+ bottom?: Space;
5
+ left?: Space;
6
+ right?: Space;
7
+ };
8
+ type Padding = {
9
+ top?: Space;
10
+ bottom?: Space;
11
+ left?: Space;
12
+ right?: Space;
13
+ };
14
+
15
+ type Props = {
16
+ socialLinks?: any;
17
+ bottomLinks?: any;
18
+ copyright?: string;
19
+ padding?: Space | Padding;
20
+ margin?: Space | Margin;
21
+ tabIndex?: number;
22
+
23
+ };
24
+
25
+ export default function DxcFooter(props: Props): JSX.Element;