@dxc-technology/halstack-react 0.0.0-ecc45e2 → 0.0.0-ede733c
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.
- package/BackgroundColorContext.d.ts +2 -2
- package/BackgroundColorContext.js +1 -1
- package/HalstackContext.d.ts +1329 -5
- package/HalstackContext.js +117 -77
- package/accordion/Accordion.js +118 -110
- package/accordion/Accordion.stories.tsx +103 -15
- package/accordion/Accordion.test.js +10 -11
- package/accordion/types.d.ts +1 -0
- package/accordion-group/AccordionGroup.d.ts +4 -3
- package/accordion-group/AccordionGroup.js +24 -65
- package/accordion-group/AccordionGroup.stories.tsx +27 -1
- package/accordion-group/AccordionGroup.test.js +21 -46
- package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
- package/accordion-group/AccordionGroupAccordion.js +43 -0
- package/accordion-group/types.d.ts +7 -0
- package/alert/Alert.js +5 -9
- package/alert/Alert.stories.tsx +28 -0
- package/alert/Alert.test.js +1 -1
- package/bleed/Bleed.stories.tsx +1 -0
- package/box/Box.js +4 -6
- package/box/Box.stories.tsx +15 -0
- package/box/Box.test.js +1 -1
- package/box/types.d.ts +1 -0
- package/bulleted-list/BulletedList.js +4 -2
- package/bulleted-list/BulletedList.stories.tsx +7 -1
- package/bulleted-list/types.d.ts +31 -4
- package/button/Button.js +13 -16
- package/button/Button.stories.tsx +151 -9
- package/button/Button.test.js +1 -1
- package/button/types.d.ts +3 -3
- package/card/Card.js +12 -13
- package/card/Card.stories.tsx +12 -13
- package/card/Card.test.js +1 -1
- package/card/types.d.ts +1 -0
- package/checkbox/Checkbox.d.ts +2 -2
- package/checkbox/Checkbox.js +94 -101
- package/checkbox/Checkbox.stories.tsx +131 -59
- package/checkbox/Checkbox.test.js +94 -17
- package/checkbox/types.d.ts +4 -0
- package/chip/Chip.js +28 -49
- package/chip/Chip.stories.tsx +121 -26
- package/chip/Chip.test.js +3 -5
- package/common/OpenSans.css +68 -80
- package/common/coreTokens.d.ts +146 -0
- package/common/coreTokens.js +167 -0
- package/common/utils.d.ts +1 -0
- package/common/utils.js +4 -4
- package/common/variables.d.ts +1482 -0
- package/common/variables.js +994 -1137
- package/date-input/Calendar.d.ts +4 -0
- package/date-input/Calendar.js +258 -0
- package/date-input/DateInput.js +134 -237
- package/date-input/DateInput.stories.tsx +199 -33
- package/date-input/DateInput.test.js +494 -138
- package/date-input/DatePicker.d.ts +4 -0
- package/date-input/DatePicker.js +146 -0
- package/date-input/Icons.d.ts +6 -0
- package/date-input/Icons.js +75 -0
- package/date-input/YearPicker.d.ts +4 -0
- package/date-input/YearPicker.js +126 -0
- package/date-input/types.d.ts +51 -0
- package/dialog/Dialog.js +60 -73
- package/dialog/Dialog.stories.tsx +229 -121
- package/dialog/Dialog.test.js +302 -3
- package/dialog/types.d.ts +3 -2
- package/dropdown/Dropdown.js +43 -42
- package/dropdown/Dropdown.stories.tsx +210 -84
- package/dropdown/Dropdown.test.js +22 -27
- package/dropdown/DropdownMenu.js +12 -18
- package/dropdown/DropdownMenuItem.js +5 -18
- package/dropdown/types.d.ts +3 -3
- package/file-input/FileInput.d.ts +2 -2
- package/file-input/FileInput.js +174 -220
- package/file-input/FileInput.stories.tsx +122 -11
- package/file-input/FileInput.test.js +14 -14
- package/file-input/FileItem.d.ts +4 -14
- package/file-input/FileItem.js +39 -63
- package/file-input/types.d.ts +17 -0
- package/flex/Flex.d.ts +1 -1
- package/flex/Flex.js +33 -19
- package/flex/Flex.stories.tsx +35 -26
- package/flex/types.d.ts +83 -7
- package/footer/Footer.js +6 -8
- package/footer/Footer.stories.tsx +99 -1
- package/footer/Footer.test.js +14 -26
- package/footer/types.d.ts +1 -0
- package/grid/Grid.d.ts +7 -0
- package/grid/Grid.js +91 -0
- package/grid/Grid.stories.tsx +219 -0
- package/grid/types.d.ts +115 -0
- package/header/Header.d.ts +3 -2
- package/header/Header.js +21 -23
- package/header/Header.stories.tsx +152 -9
- package/header/Header.test.js +2 -2
- package/header/types.d.ts +3 -2
- package/heading/Heading.js +1 -1
- package/heading/Heading.test.js +1 -1
- package/inset/Inset.stories.tsx +2 -1
- package/layout/ApplicationLayout.d.ts +3 -3
- package/layout/ApplicationLayout.js +1 -1
- package/layout/ApplicationLayout.stories.tsx +1 -0
- package/layout/types.d.ts +2 -3
- package/link/Link.js +4 -4
- package/link/Link.stories.tsx +60 -0
- package/link/Link.test.js +2 -4
- package/link/types.d.ts +2 -2
- package/main.d.ts +3 -2
- package/main.js +9 -1
- package/{tabs-nav → nav-tabs}/NavTabs.js +1 -1
- package/{tabs-nav → nav-tabs}/NavTabs.stories.tsx +96 -6
- package/{tabs-nav → nav-tabs}/NavTabs.test.js +1 -1
- package/{tabs-nav → nav-tabs}/Tab.js +38 -18
- package/nav-tabs/types.js +5 -0
- package/number-input/NumberInput.test.js +44 -8
- package/package.json +15 -20
- package/paginator/Icons.d.ts +5 -0
- package/paginator/Icons.js +16 -28
- package/paginator/Paginator.js +7 -15
- package/paginator/Paginator.stories.tsx +24 -0
- package/paginator/Paginator.test.js +45 -48
- package/paragraph/Paragraph.d.ts +3 -4
- package/paragraph/Paragraph.js +5 -5
- package/password-input/PasswordInput.test.js +14 -13
- package/progress-bar/ProgressBar.d.ts +2 -2
- package/progress-bar/ProgressBar.js +5 -5
- package/progress-bar/ProgressBar.stories.jsx +35 -2
- package/progress-bar/ProgressBar.test.js +1 -1
- package/progress-bar/types.d.ts +4 -3
- package/quick-nav/QuickNav.js +11 -12
- package/quick-nav/QuickNav.stories.tsx +111 -19
- package/radio-group/Radio.d.ts +1 -1
- package/radio-group/Radio.js +43 -28
- package/radio-group/RadioGroup.js +15 -13
- package/radio-group/RadioGroup.stories.tsx +132 -18
- package/radio-group/RadioGroup.test.js +124 -97
- package/radio-group/types.d.ts +2 -2
- package/resultsetTable/Icons.d.ts +7 -0
- package/resultsetTable/Icons.js +51 -0
- package/resultsetTable/ResultsetTable.js +49 -108
- package/resultsetTable/ResultsetTable.stories.tsx +50 -25
- package/resultsetTable/ResultsetTable.test.js +41 -64
- package/resultsetTable/types.d.ts +1 -1
- package/select/Listbox.d.ts +1 -1
- package/select/Listbox.js +5 -35
- package/select/Option.js +11 -24
- package/select/Select.js +59 -36
- package/select/Select.stories.tsx +494 -150
- package/select/Select.test.js +341 -288
- package/select/types.d.ts +2 -2
- package/sidenav/Icons.d.ts +7 -0
- package/sidenav/Icons.js +51 -0
- package/sidenav/Sidenav.d.ts +2 -2
- package/sidenav/Sidenav.js +66 -96
- package/sidenav/Sidenav.stories.tsx +165 -63
- package/sidenav/types.d.ts +21 -18
- package/slider/Slider.d.ts +2 -2
- package/slider/Slider.js +119 -95
- package/slider/Slider.stories.tsx +64 -1
- package/slider/Slider.test.js +88 -25
- package/slider/types.d.ts +4 -0
- package/spinner/Spinner.js +17 -23
- package/spinner/Spinner.stories.jsx +53 -27
- package/spinner/Spinner.test.js +1 -1
- package/switch/Switch.d.ts +3 -3
- package/switch/Switch.js +96 -85
- package/switch/Switch.stories.tsx +33 -0
- package/switch/Switch.test.js +27 -14
- package/switch/types.d.ts +8 -3
- package/table/Table.js +3 -3
- package/table/Table.stories.jsx +80 -1
- package/table/Table.test.js +2 -2
- package/tabs/Tab.d.ts +4 -0
- package/tabs/Tab.js +132 -0
- package/tabs/Tabs.js +358 -108
- package/tabs/Tabs.stories.tsx +119 -5
- package/tabs/Tabs.test.js +220 -10
- package/tabs/types.d.ts +12 -2
- package/tag/Tag.js +8 -10
- package/tag/Tag.stories.tsx +14 -1
- package/tag/Tag.test.js +1 -1
- package/text-input/Icons.d.ts +8 -0
- package/text-input/Icons.js +60 -0
- package/text-input/Suggestion.js +40 -11
- package/text-input/Suggestions.d.ts +4 -0
- package/text-input/Suggestions.js +134 -0
- package/text-input/TextInput.js +189 -277
- package/text-input/TextInput.stories.tsx +280 -184
- package/text-input/TextInput.test.js +736 -725
- package/text-input/types.d.ts +21 -2
- package/textarea/Textarea.js +3 -4
- package/textarea/Textarea.stories.jsx +60 -1
- package/textarea/Textarea.test.js +2 -4
- package/toggle-group/ToggleGroup.d.ts +2 -2
- package/toggle-group/ToggleGroup.js +7 -4
- package/toggle-group/ToggleGroup.stories.tsx +42 -0
- package/toggle-group/ToggleGroup.test.js +1 -1
- package/toggle-group/types.d.ts +1 -1
- package/typography/Typography.d.ts +2 -2
- package/typography/Typography.js +14 -113
- package/typography/Typography.stories.tsx +1 -1
- package/useTheme.d.ts +1234 -1
- package/useTheme.js +1 -1
- package/useTranslatedLabels.d.ts +84 -1
- package/utils/BaseTypography.d.ts +21 -0
- package/utils/BaseTypography.js +108 -0
- package/utils/FocusLock.d.ts +13 -0
- package/utils/FocusLock.js +138 -0
- package/wizard/Wizard.js +2 -2
- package/wizard/Wizard.stories.tsx +20 -0
- package/wizard/Wizard.test.js +1 -1
- package/wizard/types.d.ts +5 -6
- package/common/RequiredComponent.js +0 -32
- /package/{tabs-nav → grid}/types.js +0 -0
- /package/{tabs-nav → nav-tabs}/NavTabs.d.ts +0 -0
- /package/{tabs-nav → nav-tabs}/Tab.d.ts +0 -0
- /package/{tabs-nav → nav-tabs}/types.d.ts +0 -0
package/file-input/FileInput.js
CHANGED
|
@@ -15,10 +15,10 @@ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/hel
|
|
|
15
15
|
|
|
16
16
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
17
17
|
|
|
18
|
-
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
19
|
-
|
|
20
18
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
21
19
|
|
|
20
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
21
|
+
|
|
22
22
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
23
23
|
|
|
24
24
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
@@ -29,7 +29,7 @@ var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
|
29
29
|
|
|
30
30
|
var _uuid = require("uuid");
|
|
31
31
|
|
|
32
|
-
var _variables = require("../common/variables
|
|
32
|
+
var _variables = require("../common/variables");
|
|
33
33
|
|
|
34
34
|
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
35
35
|
|
|
@@ -39,7 +39,7 @@ var _Button = _interopRequireDefault(require("../button/Button"));
|
|
|
39
39
|
|
|
40
40
|
var _FileItem = _interopRequireDefault(require("./FileItem"));
|
|
41
41
|
|
|
42
|
-
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11
|
|
42
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11;
|
|
43
43
|
|
|
44
44
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
45
45
|
|
|
@@ -88,7 +88,18 @@ var fileIcon = /*#__PURE__*/_react["default"].createElement("svg", {
|
|
|
88
88
|
d: "M14 2H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6zM6 20V4h7v5h5v11H6z"
|
|
89
89
|
}));
|
|
90
90
|
|
|
91
|
-
var
|
|
91
|
+
var getFilePreview = function getFilePreview(file) {
|
|
92
|
+
if (file.type.includes("video")) return videoIcon;else if (file.type.includes("audio")) return audioIcon;else if (file.type.includes("image")) return new Promise(function (resolve) {
|
|
93
|
+
var reader = new FileReader();
|
|
94
|
+
reader.readAsDataURL(file);
|
|
95
|
+
|
|
96
|
+
reader.onload = function (e) {
|
|
97
|
+
resolve(e.target.result);
|
|
98
|
+
};
|
|
99
|
+
});else return fileIcon;
|
|
100
|
+
};
|
|
101
|
+
|
|
102
|
+
var DxcFileInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
92
103
|
var _ref$name = _ref.name,
|
|
93
104
|
name = _ref$name === void 0 ? "" : _ref$name,
|
|
94
105
|
_ref$mode = _ref.mode,
|
|
@@ -130,129 +141,26 @@ var DxcFileInput = function DxcFileInput(_ref) {
|
|
|
130
141
|
|
|
131
142
|
var colorsTheme = (0, _useTheme["default"])();
|
|
132
143
|
var translatedLabels = (0, _useTranslatedLabels["default"])();
|
|
133
|
-
(0, _react.useEffect)(function () {
|
|
134
|
-
var getFiles = /*#__PURE__*/function () {
|
|
135
|
-
var _ref2 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
|
|
136
|
-
var valueFiles;
|
|
137
|
-
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
|
138
|
-
while (1) {
|
|
139
|
-
switch (_context2.prev = _context2.next) {
|
|
140
|
-
case 0:
|
|
141
|
-
if (!value) {
|
|
142
|
-
_context2.next = 5;
|
|
143
|
-
break;
|
|
144
|
-
}
|
|
145
|
-
|
|
146
|
-
_context2.next = 3;
|
|
147
|
-
return Promise.all(value.map( /*#__PURE__*/function () {
|
|
148
|
-
var _ref3 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(file) {
|
|
149
|
-
var preview;
|
|
150
|
-
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
151
|
-
while (1) {
|
|
152
|
-
switch (_context.prev = _context.next) {
|
|
153
|
-
case 0:
|
|
154
|
-
if (!file.preview) {
|
|
155
|
-
_context.next = 4;
|
|
156
|
-
break;
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
return _context.abrupt("return", file);
|
|
160
|
-
|
|
161
|
-
case 4:
|
|
162
|
-
_context.next = 6;
|
|
163
|
-
return getFilePreview(file.file);
|
|
164
|
-
|
|
165
|
-
case 6:
|
|
166
|
-
preview = _context.sent;
|
|
167
|
-
return _context.abrupt("return", _objectSpread(_objectSpread({}, file), {}, {
|
|
168
|
-
preview: preview
|
|
169
|
-
}));
|
|
170
|
-
|
|
171
|
-
case 8:
|
|
172
|
-
case "end":
|
|
173
|
-
return _context.stop();
|
|
174
|
-
}
|
|
175
|
-
}
|
|
176
|
-
}, _callee);
|
|
177
|
-
}));
|
|
178
|
-
|
|
179
|
-
return function (_x) {
|
|
180
|
-
return _ref3.apply(this, arguments);
|
|
181
|
-
};
|
|
182
|
-
}()));
|
|
183
|
-
|
|
184
|
-
case 3:
|
|
185
|
-
valueFiles = _context2.sent;
|
|
186
|
-
setFiles(valueFiles);
|
|
187
|
-
|
|
188
|
-
case 5:
|
|
189
|
-
case "end":
|
|
190
|
-
return _context2.stop();
|
|
191
|
-
}
|
|
192
|
-
}
|
|
193
|
-
}, _callee2);
|
|
194
|
-
}));
|
|
195
|
-
|
|
196
|
-
return function getFiles() {
|
|
197
|
-
return _ref2.apply(this, arguments);
|
|
198
|
-
};
|
|
199
|
-
}();
|
|
200
|
-
|
|
201
|
-
getFiles();
|
|
202
|
-
}, [value]);
|
|
203
|
-
|
|
204
|
-
var handleClick = function handleClick() {
|
|
205
|
-
document.getElementById(fileInputId).click();
|
|
206
|
-
};
|
|
207
144
|
|
|
208
145
|
var checkFileSize = function checkFileSize(file) {
|
|
209
|
-
if (file.size < minSize)
|
|
210
|
-
return translatedLabels.fileInput.fileSizeGreaterThanErrorMessage;
|
|
211
|
-
}
|
|
212
|
-
|
|
213
|
-
if (file.size > maxSize) {
|
|
214
|
-
return translatedLabels.fileInput.fileSizeLessThanErrorMessage;
|
|
215
|
-
}
|
|
216
|
-
};
|
|
217
|
-
|
|
218
|
-
var getFilePreview = function getFilePreview(file) {
|
|
219
|
-
if (file.type.includes("video")) {
|
|
220
|
-
return videoIcon;
|
|
221
|
-
}
|
|
222
|
-
|
|
223
|
-
if (file.type.includes("audio")) {
|
|
224
|
-
return audioIcon;
|
|
225
|
-
}
|
|
226
|
-
|
|
227
|
-
if (file.type.includes("image")) {
|
|
228
|
-
return new Promise(function (resolve) {
|
|
229
|
-
var reader = new FileReader();
|
|
230
|
-
reader.readAsDataURL(file);
|
|
231
|
-
|
|
232
|
-
reader.onload = function (e) {
|
|
233
|
-
resolve(e.target.result);
|
|
234
|
-
};
|
|
235
|
-
});
|
|
236
|
-
}
|
|
237
|
-
|
|
238
|
-
return fileIcon;
|
|
146
|
+
if (file.size < minSize) return translatedLabels.fileInput.fileSizeGreaterThanErrorMessage;else if (file.size > maxSize) return translatedLabels.fileInput.fileSizeLessThanErrorMessage;
|
|
239
147
|
};
|
|
240
148
|
|
|
241
149
|
var getFilesToAdd = /*#__PURE__*/function () {
|
|
242
|
-
var
|
|
150
|
+
var _ref2 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(selectedFiles) {
|
|
243
151
|
var filesToAdd;
|
|
244
|
-
return _regenerator["default"].wrap(function
|
|
152
|
+
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
245
153
|
while (1) {
|
|
246
|
-
switch (
|
|
154
|
+
switch (_context.prev = _context.next) {
|
|
247
155
|
case 0:
|
|
248
|
-
|
|
156
|
+
_context.next = 2;
|
|
249
157
|
return Promise.all(selectedFiles.map(function (selectedFile) {
|
|
250
158
|
return getFilePreview(selectedFile);
|
|
251
159
|
})).then(function (previews) {
|
|
252
|
-
return selectedFiles.map(function (
|
|
160
|
+
return selectedFiles.map(function (file, index) {
|
|
253
161
|
var fileInfo = {
|
|
254
|
-
file:
|
|
255
|
-
error: checkFileSize(
|
|
162
|
+
file: file,
|
|
163
|
+
error: checkFileSize(file),
|
|
256
164
|
preview: previews[index]
|
|
257
165
|
};
|
|
258
166
|
return fileInfo;
|
|
@@ -260,86 +168,79 @@ var DxcFileInput = function DxcFileInput(_ref) {
|
|
|
260
168
|
});
|
|
261
169
|
|
|
262
170
|
case 2:
|
|
263
|
-
filesToAdd =
|
|
264
|
-
return
|
|
171
|
+
filesToAdd = _context.sent;
|
|
172
|
+
return _context.abrupt("return", filesToAdd);
|
|
265
173
|
|
|
266
174
|
case 4:
|
|
267
175
|
case "end":
|
|
268
|
-
return
|
|
176
|
+
return _context.stop();
|
|
269
177
|
}
|
|
270
178
|
}
|
|
271
|
-
},
|
|
179
|
+
}, _callee);
|
|
272
180
|
}));
|
|
273
181
|
|
|
274
|
-
return function getFilesToAdd(
|
|
275
|
-
return
|
|
182
|
+
return function getFilesToAdd(_x) {
|
|
183
|
+
return _ref2.apply(this, arguments);
|
|
276
184
|
};
|
|
277
185
|
}();
|
|
278
186
|
|
|
279
187
|
var addFile = /*#__PURE__*/function () {
|
|
280
|
-
var
|
|
188
|
+
var _ref3 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(selectedFiles) {
|
|
281
189
|
var filesToAdd, finalFiles, fileToAdd;
|
|
282
|
-
return _regenerator["default"].wrap(function
|
|
190
|
+
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
|
283
191
|
while (1) {
|
|
284
|
-
switch (
|
|
192
|
+
switch (_context2.prev = _context2.next) {
|
|
285
193
|
case 0:
|
|
286
194
|
if (!multiple) {
|
|
287
|
-
|
|
195
|
+
_context2.next = 8;
|
|
288
196
|
break;
|
|
289
197
|
}
|
|
290
198
|
|
|
291
|
-
|
|
199
|
+
_context2.next = 3;
|
|
292
200
|
return getFilesToAdd(selectedFiles);
|
|
293
201
|
|
|
294
202
|
case 3:
|
|
295
|
-
filesToAdd =
|
|
203
|
+
filesToAdd = _context2.sent;
|
|
296
204
|
finalFiles = [].concat((0, _toConsumableArray2["default"])(files), (0, _toConsumableArray2["default"])(filesToAdd));
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
callbackFile(finalFiles);
|
|
300
|
-
}
|
|
301
|
-
|
|
302
|
-
_context4.next = 19;
|
|
205
|
+
callbackFile === null || callbackFile === void 0 ? void 0 : callbackFile(finalFiles);
|
|
206
|
+
_context2.next = 19;
|
|
303
207
|
break;
|
|
304
208
|
|
|
305
209
|
case 8:
|
|
306
210
|
if (!(selectedFiles.length === 1)) {
|
|
307
|
-
|
|
211
|
+
_context2.next = 14;
|
|
308
212
|
break;
|
|
309
213
|
}
|
|
310
214
|
|
|
311
|
-
|
|
215
|
+
_context2.next = 11;
|
|
312
216
|
return getFilesToAdd(selectedFiles);
|
|
313
217
|
|
|
314
218
|
case 11:
|
|
315
|
-
|
|
316
|
-
|
|
219
|
+
_context2.t0 = _context2.sent;
|
|
220
|
+
_context2.next = 17;
|
|
317
221
|
break;
|
|
318
222
|
|
|
319
223
|
case 14:
|
|
320
|
-
|
|
224
|
+
_context2.next = 16;
|
|
321
225
|
return getFilesToAdd([selectedFiles[0]]);
|
|
322
226
|
|
|
323
227
|
case 16:
|
|
324
|
-
|
|
228
|
+
_context2.t0 = _context2.sent;
|
|
325
229
|
|
|
326
230
|
case 17:
|
|
327
|
-
fileToAdd =
|
|
328
|
-
|
|
329
|
-
if (typeof callbackFile === "function") {
|
|
330
|
-
callbackFile(fileToAdd);
|
|
331
|
-
}
|
|
231
|
+
fileToAdd = _context2.t0;
|
|
232
|
+
callbackFile === null || callbackFile === void 0 ? void 0 : callbackFile(fileToAdd);
|
|
332
233
|
|
|
333
234
|
case 19:
|
|
334
235
|
case "end":
|
|
335
|
-
return
|
|
236
|
+
return _context2.stop();
|
|
336
237
|
}
|
|
337
238
|
}
|
|
338
|
-
},
|
|
239
|
+
}, _callee2);
|
|
339
240
|
}));
|
|
340
241
|
|
|
341
|
-
return function addFile(
|
|
342
|
-
return
|
|
242
|
+
return function addFile(_x2) {
|
|
243
|
+
return _ref3.apply(this, arguments);
|
|
343
244
|
};
|
|
344
245
|
}();
|
|
345
246
|
|
|
@@ -349,19 +250,21 @@ var DxcFileInput = function DxcFileInput(_ref) {
|
|
|
349
250
|
return selectedFiles[key];
|
|
350
251
|
});
|
|
351
252
|
addFile(filesArray);
|
|
253
|
+
e.target.value = null;
|
|
352
254
|
};
|
|
353
255
|
|
|
354
|
-
var onDelete = function
|
|
256
|
+
var onDelete = (0, _react.useCallback)(function (fileName) {
|
|
355
257
|
var filesCopy = (0, _toConsumableArray2["default"])(files);
|
|
356
258
|
var fileToRemove = filesCopy.find(function (file) {
|
|
357
259
|
return file.file.name === fileName;
|
|
358
260
|
});
|
|
359
261
|
var fileIndex = filesCopy.indexOf(fileToRemove);
|
|
360
262
|
filesCopy.splice(fileIndex, 1);
|
|
263
|
+
callbackFile === null || callbackFile === void 0 ? void 0 : callbackFile(filesCopy);
|
|
264
|
+
}, [files, callbackFile]);
|
|
361
265
|
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
}
|
|
266
|
+
var handleClick = function handleClick() {
|
|
267
|
+
document.getElementById(fileInputId).click();
|
|
365
268
|
};
|
|
366
269
|
|
|
367
270
|
var handleDrag = function handleDrag(e) {
|
|
@@ -370,7 +273,9 @@ var DxcFileInput = function DxcFileInput(_ref) {
|
|
|
370
273
|
};
|
|
371
274
|
|
|
372
275
|
var handleDragIn = function handleDragIn(e) {
|
|
373
|
-
|
|
276
|
+
var _e$dataTransfer$items;
|
|
277
|
+
|
|
278
|
+
if (((_e$dataTransfer$items = e.dataTransfer.items) === null || _e$dataTransfer$items === void 0 ? void 0 : _e$dataTransfer$items.length) > 0) setIsDragging(true);
|
|
374
279
|
};
|
|
375
280
|
|
|
376
281
|
var handleDragOut = function handleDragOut(e) {
|
|
@@ -384,7 +289,7 @@ var DxcFileInput = function DxcFileInput(_ref) {
|
|
|
384
289
|
setIsDragging(false);
|
|
385
290
|
var filesObject = e.dataTransfer.files;
|
|
386
291
|
|
|
387
|
-
if (filesObject
|
|
292
|
+
if ((filesObject === null || filesObject === void 0 ? void 0 : filesObject.length) > 0) {
|
|
388
293
|
var filesArray = Object.keys(filesObject).map(function (key) {
|
|
389
294
|
return filesObject[key];
|
|
390
295
|
});
|
|
@@ -392,55 +297,123 @@ var DxcFileInput = function DxcFileInput(_ref) {
|
|
|
392
297
|
}
|
|
393
298
|
};
|
|
394
299
|
|
|
300
|
+
(0, _react.useEffect)(function () {
|
|
301
|
+
var getFiles = /*#__PURE__*/function () {
|
|
302
|
+
var _ref4 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4() {
|
|
303
|
+
var valueFiles;
|
|
304
|
+
return _regenerator["default"].wrap(function _callee4$(_context4) {
|
|
305
|
+
while (1) {
|
|
306
|
+
switch (_context4.prev = _context4.next) {
|
|
307
|
+
case 0:
|
|
308
|
+
if (!value) {
|
|
309
|
+
_context4.next = 5;
|
|
310
|
+
break;
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
_context4.next = 3;
|
|
314
|
+
return Promise.all(value.map( /*#__PURE__*/function () {
|
|
315
|
+
var _ref5 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3(file) {
|
|
316
|
+
var preview;
|
|
317
|
+
return _regenerator["default"].wrap(function _callee3$(_context3) {
|
|
318
|
+
while (1) {
|
|
319
|
+
switch (_context3.prev = _context3.next) {
|
|
320
|
+
case 0:
|
|
321
|
+
if (!file.preview) {
|
|
322
|
+
_context3.next = 4;
|
|
323
|
+
break;
|
|
324
|
+
}
|
|
325
|
+
|
|
326
|
+
return _context3.abrupt("return", file);
|
|
327
|
+
|
|
328
|
+
case 4:
|
|
329
|
+
_context3.next = 6;
|
|
330
|
+
return getFilePreview(file.file);
|
|
331
|
+
|
|
332
|
+
case 6:
|
|
333
|
+
preview = _context3.sent;
|
|
334
|
+
return _context3.abrupt("return", _objectSpread(_objectSpread({}, file), {}, {
|
|
335
|
+
preview: preview
|
|
336
|
+
}));
|
|
337
|
+
|
|
338
|
+
case 8:
|
|
339
|
+
case "end":
|
|
340
|
+
return _context3.stop();
|
|
341
|
+
}
|
|
342
|
+
}
|
|
343
|
+
}, _callee3);
|
|
344
|
+
}));
|
|
345
|
+
|
|
346
|
+
return function (_x3) {
|
|
347
|
+
return _ref5.apply(this, arguments);
|
|
348
|
+
};
|
|
349
|
+
}()));
|
|
350
|
+
|
|
351
|
+
case 3:
|
|
352
|
+
valueFiles = _context4.sent;
|
|
353
|
+
setFiles(valueFiles);
|
|
354
|
+
|
|
355
|
+
case 5:
|
|
356
|
+
case "end":
|
|
357
|
+
return _context4.stop();
|
|
358
|
+
}
|
|
359
|
+
}
|
|
360
|
+
}, _callee4);
|
|
361
|
+
}));
|
|
362
|
+
|
|
363
|
+
return function getFiles() {
|
|
364
|
+
return _ref4.apply(this, arguments);
|
|
365
|
+
};
|
|
366
|
+
}();
|
|
367
|
+
|
|
368
|
+
getFiles();
|
|
369
|
+
}, [value]);
|
|
395
370
|
return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
396
371
|
theme: colorsTheme.fileInput
|
|
397
372
|
}, /*#__PURE__*/_react["default"].createElement(FileInputContainer, {
|
|
398
373
|
margin: margin,
|
|
399
|
-
|
|
374
|
+
ref: ref
|
|
400
375
|
}, /*#__PURE__*/_react["default"].createElement(Label, {
|
|
401
376
|
htmlFor: fileInputId,
|
|
402
377
|
disabled: disabled
|
|
403
378
|
}, label), /*#__PURE__*/_react["default"].createElement(HelperText, {
|
|
404
379
|
disabled: disabled
|
|
405
380
|
}, helperText), mode === "file" ? /*#__PURE__*/_react["default"].createElement(FileContainer, {
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
}, /*#__PURE__*/_react["default"].createElement(HiddenInputFile, {
|
|
381
|
+
singleFileMode: !multiple && files.length === 1
|
|
382
|
+
}, /*#__PURE__*/_react["default"].createElement(ValueInput, {
|
|
409
383
|
id: fileInputId,
|
|
410
384
|
type: "file",
|
|
411
385
|
accept: accept,
|
|
412
386
|
multiple: multiple,
|
|
413
|
-
onChange: selectFiles
|
|
387
|
+
onChange: selectFiles,
|
|
388
|
+
disabled: disabled,
|
|
389
|
+
readOnly: true
|
|
414
390
|
}), /*#__PURE__*/_react["default"].createElement(_Button["default"], {
|
|
415
391
|
mode: "secondary",
|
|
416
392
|
label: buttonLabel !== null && buttonLabel !== void 0 ? buttonLabel : multiple ? translatedLabels.fileInput.multipleButtonLabelDefault : translatedLabels.fileInput.singleButtonLabelDefault,
|
|
417
393
|
onClick: handleClick,
|
|
418
394
|
disabled: disabled,
|
|
419
|
-
size: "
|
|
395
|
+
size: "fitContent",
|
|
420
396
|
tabIndex: tabIndex
|
|
421
|
-
}), files.map(function (file) {
|
|
422
|
-
return /*#__PURE__*/_react["default"].createElement(
|
|
423
|
-
|
|
424
|
-
multiple: multiple,
|
|
425
|
-
files: files
|
|
426
|
-
}, /*#__PURE__*/_react["default"].createElement(_FileItem["default"], {
|
|
427
|
-
mode: mode,
|
|
428
|
-
multiple: multiple,
|
|
429
|
-
name: file.file.name,
|
|
397
|
+
}), files.length > 0 && /*#__PURE__*/_react["default"].createElement(FileItemListContainer, null, files.map(function (file, index) {
|
|
398
|
+
return /*#__PURE__*/_react["default"].createElement(_FileItem["default"], {
|
|
399
|
+
fileName: file.file.name,
|
|
430
400
|
error: file.error,
|
|
401
|
+
singleFileMode: !multiple && files.length === 1,
|
|
431
402
|
showPreview: mode === "file" && !multiple ? false : showPreview,
|
|
432
|
-
numFiles: files.length,
|
|
433
403
|
preview: file.preview,
|
|
434
404
|
type: file.file.type,
|
|
435
405
|
onDelete: onDelete,
|
|
436
|
-
tabIndex: tabIndex
|
|
437
|
-
|
|
438
|
-
|
|
406
|
+
tabIndex: tabIndex,
|
|
407
|
+
key: "file-".concat(index)
|
|
408
|
+
});
|
|
409
|
+
}))) : /*#__PURE__*/_react["default"].createElement(Container, null, /*#__PURE__*/_react["default"].createElement(ValueInput, {
|
|
439
410
|
id: fileInputId,
|
|
440
411
|
type: "file",
|
|
441
412
|
accept: accept,
|
|
442
413
|
multiple: multiple,
|
|
443
|
-
onChange: selectFiles
|
|
414
|
+
onChange: selectFiles,
|
|
415
|
+
disabled: disabled,
|
|
416
|
+
readOnly: true
|
|
444
417
|
}), /*#__PURE__*/_react["default"].createElement(DragDropArea, {
|
|
445
418
|
isDragging: isDragging,
|
|
446
419
|
disabled: disabled,
|
|
@@ -449,39 +422,30 @@ var DxcFileInput = function DxcFileInput(_ref) {
|
|
|
449
422
|
onDragEnter: handleDragIn,
|
|
450
423
|
onDragOver: handleDrag,
|
|
451
424
|
onDragLeave: handleDragOut
|
|
452
|
-
}, /*#__PURE__*/_react["default"].createElement(ButtonContainer, {
|
|
453
|
-
mode: mode
|
|
454
425
|
}, /*#__PURE__*/_react["default"].createElement(_Button["default"], {
|
|
455
426
|
mode: "secondary",
|
|
456
427
|
label: buttonLabel !== null && buttonLabel !== void 0 ? buttonLabel : translatedLabels.fileInput.dropAreaButtonLabelDefault,
|
|
457
428
|
onClick: handleClick,
|
|
458
429
|
disabled: disabled,
|
|
459
430
|
size: "fitContent"
|
|
460
|
-
})
|
|
431
|
+
}), mode === "dropzone" ? /*#__PURE__*/_react["default"].createElement(DropzoneLabel, {
|
|
461
432
|
disabled: disabled
|
|
462
433
|
}, dropAreaLabel !== null && dropAreaLabel !== void 0 ? dropAreaLabel : multiple ? translatedLabels.fileInput.multipleDropAreaLabelDefault : translatedLabels.fileInput.singleDropAreaLabelDefault) : /*#__PURE__*/_react["default"].createElement(FiledropLabel, {
|
|
463
434
|
disabled: disabled
|
|
464
|
-
}, dropAreaLabel !== null && dropAreaLabel !== void 0 ? dropAreaLabel : multiple ? translatedLabels.fileInput.multipleDropAreaLabelDefault : translatedLabels.fileInput.singleDropAreaLabelDefault)), files.map(function (file) {
|
|
465
|
-
return /*#__PURE__*/_react["default"].createElement(
|
|
466
|
-
|
|
467
|
-
multiple: multiple,
|
|
468
|
-
files: files
|
|
469
|
-
}, /*#__PURE__*/_react["default"].createElement(_FileItem["default"], {
|
|
470
|
-
mode: mode,
|
|
471
|
-
multiple: multiple,
|
|
472
|
-
name: file.file.name,
|
|
435
|
+
}, dropAreaLabel !== null && dropAreaLabel !== void 0 ? dropAreaLabel : multiple ? translatedLabels.fileInput.multipleDropAreaLabelDefault : translatedLabels.fileInput.singleDropAreaLabelDefault)), files.length > 0 && /*#__PURE__*/_react["default"].createElement(FileItemListContainer, null, files.map(function (file, index) {
|
|
436
|
+
return /*#__PURE__*/_react["default"].createElement(_FileItem["default"], {
|
|
437
|
+
fileName: file.file.name,
|
|
473
438
|
error: file.error,
|
|
439
|
+
singleFileMode: false,
|
|
474
440
|
showPreview: showPreview,
|
|
475
|
-
numFiles: files.length,
|
|
476
441
|
preview: file.preview,
|
|
477
442
|
type: file.file.type,
|
|
478
443
|
onDelete: onDelete,
|
|
479
|
-
tabIndex: tabIndex
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
};
|
|
444
|
+
tabIndex: tabIndex,
|
|
445
|
+
key: "file-".concat(index)
|
|
446
|
+
});
|
|
447
|
+
}))), mode === "file" && !multiple && files.length === 1 && files[0].error && /*#__PURE__*/_react["default"].createElement(ErrorMessage, null, files[0].error)));
|
|
448
|
+
});
|
|
485
449
|
|
|
486
450
|
var FileInputContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n width: fit-content;\n"])), function (props) {
|
|
487
451
|
return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
|
|
@@ -519,12 +483,20 @@ var HelperText = _styledComponents["default"].span(_templateObject3 || (_templat
|
|
|
519
483
|
return props.theme.helperTextLineHeight;
|
|
520
484
|
});
|
|
521
485
|
|
|
522
|
-
var
|
|
523
|
-
return props.
|
|
524
|
-
}
|
|
525
|
-
|
|
486
|
+
var FileContainer = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n ", "\n margin-top: 0.25rem;\n"])), function (props) {
|
|
487
|
+
return props.singleFileMode ? "flex-direction: row; column-gap: 0.25rem;" : "flex-direction: column; row-gap: 0.25rem;";
|
|
488
|
+
});
|
|
489
|
+
|
|
490
|
+
var ValueInput = _styledComponents["default"].input(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: none;\n"])));
|
|
491
|
+
|
|
492
|
+
var FileItemListContainer = _styledComponents["default"].div(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n row-gap: 0.25rem;\n"])));
|
|
493
|
+
|
|
494
|
+
var Container = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n row-gap: 0.25rem;\n margin-top: 0.25rem;\n"])));
|
|
495
|
+
|
|
496
|
+
var DragDropArea = _styledComponents["default"].div(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n box-sizing: border-box;\n display: flex;\n ", "\n align-items: center;\n width: 320px;\n padding: ", ";\n overflow: hidden;\n box-shadow: 0 0 0 2px transparent;\n border-radius: ", ";\n border-width: ", ";\n border-style: ", ";\n border-color: ", ";\n ", "\n cursor: ", ";\n"])), function (props) {
|
|
497
|
+
return props.mode === "filedrop" ? "flex-direction: row; column-gap: 0.75rem; height: 48px;" : "justify-content: center; flex-direction: column; row-gap: 0.5rem; height: 160px;";
|
|
526
498
|
}, function (props) {
|
|
527
|
-
return props.mode === "filedrop" ? "
|
|
499
|
+
return props.mode === "filedrop" ? "calc(4px - ".concat(props.theme.dropBorderThickness, ") 1rem calc(4px - ").concat(props.theme.dropBorderThickness, ") calc(4px - ").concat(props.theme.dropBorderThickness, ")") : "1rem";
|
|
528
500
|
}, function (props) {
|
|
529
501
|
return props.theme.dropBorderRadius;
|
|
530
502
|
}, function (props) {
|
|
@@ -539,17 +511,7 @@ var DragDropArea = _styledComponents["default"].div(_templateObject4 || (_templa
|
|
|
539
511
|
return props.disabled && "not-allowed";
|
|
540
512
|
});
|
|
541
513
|
|
|
542
|
-
var
|
|
543
|
-
return props.multiple || props.files.length > 1 ? "column" : "row";
|
|
544
|
-
});
|
|
545
|
-
|
|
546
|
-
var HiddenInputFile = _styledComponents["default"].input(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n visibility: hidden;\n position: absolute;\n width: 0px;\n height: 0px;\n"])));
|
|
547
|
-
|
|
548
|
-
var ButtonContainer = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n ", ";\n"])), function (props) {
|
|
549
|
-
return props.mode === "filedrop" && "padding: 2px 12px 2px 3px";
|
|
550
|
-
});
|
|
551
|
-
|
|
552
|
-
var DropzoneLabel = _styledComponents["default"].div(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n display: -webkit-box;\n -webkit-box-orient: vertical;\n overflow: hidden;\n text-overflow: ellipsis;\n -webkit-line-clamp: 3;\n text-align: center;\n margin-top: 0.5rem;\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-weight: ", ";\n"])), function (props) {
|
|
514
|
+
var DropzoneLabel = _styledComponents["default"].div(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n display: -webkit-box;\n -webkit-box-orient: vertical;\n overflow: hidden;\n text-overflow: ellipsis;\n -webkit-line-clamp: 3;\n text-align: center;\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-weight: ", ";\n"])), function (props) {
|
|
553
515
|
return props.disabled ? props.theme.disabledDropLabelFontColor : props.theme.dropLabelFontColor;
|
|
554
516
|
}, function (props) {
|
|
555
517
|
return props.theme.dropLabelFontFamily;
|
|
@@ -559,7 +521,7 @@ var DropzoneLabel = _styledComponents["default"].div(_templateObject8 || (_templ
|
|
|
559
521
|
return props.theme.dropLabelFontWeight;
|
|
560
522
|
});
|
|
561
523
|
|
|
562
|
-
var FiledropLabel = _styledComponents["default"].span(
|
|
524
|
+
var FiledropLabel = _styledComponents["default"].span(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2["default"])(["\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-weight: ", ";\n"])), function (props) {
|
|
563
525
|
return props.disabled ? props.theme.disabledDropLabelFontColor : props.theme.dropLabelFontColor;
|
|
564
526
|
}, function (props) {
|
|
565
527
|
return props.theme.dropLabelFontFamily;
|
|
@@ -569,15 +531,7 @@ var FiledropLabel = _styledComponents["default"].span(_templateObject9 || (_temp
|
|
|
569
531
|
return props.theme.dropLabelFontWeight;
|
|
570
532
|
});
|
|
571
533
|
|
|
572
|
-
var
|
|
573
|
-
|
|
574
|
-
var FileItemContainer = _styledComponents["default"].div(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2["default"])(["\n margin-top: ", ";\n margin-left: ", ";\n"])), function (props) {
|
|
575
|
-
return (props.multiple || props.files.length > 1 || props.mode !== "file") && "4px";
|
|
576
|
-
}, function (props) {
|
|
577
|
-
return props.mode === "file" && props.files.length === 1 && !props.multiple && "4px";
|
|
578
|
-
});
|
|
579
|
-
|
|
580
|
-
var ErrorMessage = _styledComponents["default"].div(_templateObject12 || (_templateObject12 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-weight: ", ";\n line-height: ", ";\n margin-top: 0.25rem;\n"])), function (props) {
|
|
534
|
+
var ErrorMessage = _styledComponents["default"].div(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-weight: ", ";\n line-height: ", ";\n margin-top: 0.25rem;\n"])), function (props) {
|
|
581
535
|
return props.theme.errorMessageFontColor;
|
|
582
536
|
}, function (props) {
|
|
583
537
|
return props.theme.errorMessageFontFamily;
|