@dxc-technology/halstack-react 0.0.0-1d5e7bf → 0.0.0-1da0f40
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/HalstackContext.js +98 -50
- package/accordion/Accordion.js +117 -104
- package/accordion/Accordion.stories.tsx +103 -15
- package/accordion/Accordion.test.js +10 -11
- package/accordion/types.d.ts +5 -4
- package/accordion-group/AccordionGroup.js +1 -21
- package/accordion-group/AccordionGroup.stories.tsx +27 -1
- package/accordion-group/AccordionGroup.test.js +21 -46
- package/accordion-group/types.d.ts +10 -3
- package/alert/Alert.js +1 -1
- package/alert/Alert.stories.tsx +28 -0
- package/alert/Alert.test.js +1 -1
- package/bleed/Bleed.stories.tsx +63 -63
- package/box/Box.js +2 -4
- 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.d.ts +7 -0
- package/bulleted-list/BulletedList.js +123 -0
- package/bulleted-list/BulletedList.stories.tsx +200 -0
- package/bulleted-list/types.d.ts +11 -0
- package/button/Button.js +50 -70
- package/button/Button.stories.tsx +159 -8
- package/button/Button.test.js +1 -1
- package/button/types.d.ts +7 -7
- 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 +92 -99
- package/checkbox/Checkbox.stories.tsx +131 -59
- package/checkbox/Checkbox.test.js +94 -17
- package/checkbox/types.d.ts +6 -2
- package/chip/Chip.js +16 -22
- package/chip/Chip.stories.tsx +96 -9
- package/chip/Chip.test.js +3 -5
- package/chip/types.d.ts +1 -1
- package/common/variables.js +333 -299
- 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 +79 -68
- package/dialog/Dialog.stories.tsx +230 -123
- package/dialog/Dialog.test.js +334 -5
- package/dialog/types.d.ts +3 -2
- package/dropdown/Dropdown.d.ts +1 -1
- package/dropdown/Dropdown.js +246 -249
- package/dropdown/Dropdown.stories.tsx +245 -56
- package/dropdown/Dropdown.test.js +507 -110
- package/dropdown/DropdownMenu.d.ts +4 -0
- package/dropdown/DropdownMenu.js +70 -0
- package/dropdown/DropdownMenuItem.d.ts +4 -0
- package/dropdown/DropdownMenuItem.js +81 -0
- package/dropdown/types.d.ts +25 -5
- package/file-input/FileInput.d.ts +2 -2
- package/file-input/FileInput.js +174 -219
- 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 +4 -0
- package/flex/Flex.js +69 -0
- package/flex/Flex.stories.tsx +103 -0
- package/flex/types.d.ts +32 -0
- package/footer/Footer.stories.tsx +99 -1
- package/footer/Footer.test.js +14 -26
- package/footer/types.d.ts +2 -1
- package/header/Header.js +87 -87
- package/header/Header.stories.tsx +152 -9
- package/header/Header.test.js +2 -2
- package/header/Icons.js +2 -2
- package/header/types.d.ts +3 -2
- package/heading/Heading.test.js +1 -1
- package/inset/Inset.stories.tsx +4 -4
- package/layout/ApplicationLayout.d.ts +15 -6
- package/layout/ApplicationLayout.js +36 -64
- package/layout/ApplicationLayout.stories.tsx +80 -44
- package/layout/types.d.ts +17 -27
- package/link/Link.js +2 -2
- package/link/Link.stories.tsx +72 -5
- package/link/Link.test.js +2 -4
- package/link/types.d.ts +1 -1
- package/main.d.ts +6 -10
- package/main.js +28 -60
- package/{tabs-nav → nav-tabs}/NavTabs.js +6 -6
- 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 -20
- package/{tabs-nav → nav-tabs}/types.d.ts +1 -1
- package/number-input/NumberInput.test.js +44 -8
- package/package.json +16 -21
- package/paginator/Icons.d.ts +5 -0
- package/paginator/Icons.js +16 -28
- package/paginator/Paginator.js +6 -12
- package/paginator/Paginator.stories.tsx +24 -0
- package/paginator/Paginator.test.js +45 -48
- package/paragraph/Paragraph.d.ts +6 -0
- package/paragraph/Paragraph.js +38 -0
- package/paragraph/Paragraph.stories.tsx +44 -0
- package/password-input/PasswordInput.test.js +14 -13
- package/progress-bar/ProgressBar.d.ts +2 -2
- package/progress-bar/ProgressBar.js +59 -53
- package/progress-bar/ProgressBar.stories.jsx +38 -3
- package/progress-bar/ProgressBar.test.js +68 -23
- package/progress-bar/types.d.ts +3 -4
- package/quick-nav/QuickNav.js +17 -16
- package/quick-nav/QuickNav.stories.tsx +124 -32
- package/radio-group/Radio.d.ts +1 -1
- package/radio-group/Radio.js +43 -28
- package/radio-group/RadioGroup.js +24 -24
- 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 +48 -107
- package/resultsetTable/ResultsetTable.stories.tsx +50 -25
- package/resultsetTable/ResultsetTable.test.js +41 -64
- package/resultsetTable/types.d.ts +2 -2
- package/select/Listbox.js +4 -10
- package/select/Option.js +11 -24
- package/select/Select.js +54 -50
- package/select/Select.stories.tsx +494 -149
- package/select/Select.test.js +393 -327
- package/select/types.d.ts +3 -5
- package/sidenav/Sidenav.d.ts +6 -5
- package/sidenav/Sidenav.js +174 -55
- package/sidenav/Sidenav.stories.tsx +249 -149
- package/sidenav/Sidenav.test.js +25 -37
- package/sidenav/types.d.ts +50 -27
- package/slider/Slider.d.ts +2 -2
- package/slider/Slider.js +120 -95
- package/slider/Slider.stories.tsx +64 -1
- package/slider/Slider.test.js +122 -22
- package/slider/types.d.ts +6 -2
- package/spinner/Spinner.js +2 -2
- package/spinner/Spinner.stories.jsx +27 -1
- package/spinner/Spinner.test.js +1 -1
- package/switch/Switch.d.ts +2 -2
- package/switch/Switch.js +135 -68
- package/switch/Switch.stories.tsx +41 -30
- package/switch/Switch.test.js +145 -18
- package/switch/types.d.ts +6 -2
- package/table/Table.js +1 -1
- 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 +133 -0
- package/tabs/Tabs.js +360 -104
- package/tabs/Tabs.stories.tsx +119 -5
- package/tabs/Tabs.test.js +217 -7
- package/tabs/types.d.ts +15 -5
- package/tag/Tag.js +1 -1
- package/tag/Tag.stories.tsx +14 -1
- package/tag/Tag.test.js +1 -1
- package/tag/types.d.ts +1 -1
- package/text-input/Icons.d.ts +8 -0
- package/text-input/Icons.js +60 -0
- package/text-input/Suggestion.js +38 -9
- package/text-input/Suggestions.d.ts +4 -0
- package/text-input/Suggestions.js +134 -0
- package/text-input/TextInput.js +195 -292
- package/text-input/TextInput.stories.tsx +280 -185
- package/text-input/TextInput.test.js +736 -725
- package/text-input/types.d.ts +22 -3
- package/textarea/Textarea.stories.jsx +60 -1
- package/textarea/Textarea.test.js +1 -1
- 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 +4 -0
- package/typography/Typography.js +131 -0
- package/typography/Typography.stories.tsx +198 -0
- package/typography/types.d.ts +18 -0
- package/utils/FocusLock.d.ts +13 -0
- package/utils/FocusLock.js +139 -0
- package/wizard/Wizard.js +9 -16
- package/wizard/Wizard.stories.tsx +40 -1
- package/wizard/Wizard.test.js +1 -1
- package/wizard/types.d.ts +5 -4
- package/common/RequiredComponent.js +0 -32
- package/inline/Inline.d.ts +0 -4
- package/inline/Inline.js +0 -60
- package/inline/Inline.stories.tsx +0 -319
- package/inline/types.d.ts +0 -36
- package/list/List.d.ts +0 -4
- package/list/List.js +0 -47
- package/list/List.stories.tsx +0 -89
- package/list/types.d.ts +0 -7
- package/row/Row.d.ts +0 -3
- package/row/Row.js +0 -127
- package/row/Row.stories.tsx +0 -237
- package/row/types.d.ts +0 -28
- package/stack/Stack.d.ts +0 -4
- package/stack/Stack.js +0 -56
- package/stack/Stack.stories.tsx +0 -263
- package/stack/types.d.ts +0 -32
- package/tabs-nav/types.js +0 -5
- package/text/Text.d.ts +0 -7
- package/text/Text.js +0 -30
- package/text/Text.stories.tsx +0 -19
- /package/{inline → bulleted-list}/types.js +0 -0
- /package/{list → flex}/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/{row → nav-tabs}/types.js +0 -0
- /package/{stack → typography}/types.js +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"));
|
|
@@ -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,124 @@ 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
|
-
name: name
|
|
374
|
+
name: name,
|
|
375
|
+
ref: ref
|
|
400
376
|
}, /*#__PURE__*/_react["default"].createElement(Label, {
|
|
401
377
|
htmlFor: fileInputId,
|
|
402
378
|
disabled: disabled
|
|
403
379
|
}, label), /*#__PURE__*/_react["default"].createElement(HelperText, {
|
|
404
380
|
disabled: disabled
|
|
405
381
|
}, helperText), mode === "file" ? /*#__PURE__*/_react["default"].createElement(FileContainer, {
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
}, /*#__PURE__*/_react["default"].createElement(HiddenInputFile, {
|
|
382
|
+
singleFileMode: !multiple && files.length === 1
|
|
383
|
+
}, /*#__PURE__*/_react["default"].createElement(ValueInput, {
|
|
409
384
|
id: fileInputId,
|
|
410
385
|
type: "file",
|
|
411
386
|
accept: accept,
|
|
412
387
|
multiple: multiple,
|
|
413
|
-
onChange: selectFiles
|
|
388
|
+
onChange: selectFiles,
|
|
389
|
+
disabled: disabled,
|
|
390
|
+
readOnly: true
|
|
414
391
|
}), /*#__PURE__*/_react["default"].createElement(_Button["default"], {
|
|
415
392
|
mode: "secondary",
|
|
416
393
|
label: buttonLabel !== null && buttonLabel !== void 0 ? buttonLabel : multiple ? translatedLabels.fileInput.multipleButtonLabelDefault : translatedLabels.fileInput.singleButtonLabelDefault,
|
|
417
394
|
onClick: handleClick,
|
|
418
395
|
disabled: disabled,
|
|
419
|
-
size: "
|
|
396
|
+
size: "fitContent",
|
|
420
397
|
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,
|
|
398
|
+
}), files.length > 0 && /*#__PURE__*/_react["default"].createElement(FileItemListContainer, null, files.map(function (file, index) {
|
|
399
|
+
return /*#__PURE__*/_react["default"].createElement(_FileItem["default"], {
|
|
400
|
+
fileName: file.file.name,
|
|
430
401
|
error: file.error,
|
|
402
|
+
singleFileMode: !multiple && files.length === 1,
|
|
431
403
|
showPreview: mode === "file" && !multiple ? false : showPreview,
|
|
432
|
-
numFiles: files.length,
|
|
433
404
|
preview: file.preview,
|
|
434
405
|
type: file.file.type,
|
|
435
406
|
onDelete: onDelete,
|
|
436
|
-
tabIndex: tabIndex
|
|
437
|
-
|
|
438
|
-
|
|
407
|
+
tabIndex: tabIndex,
|
|
408
|
+
key: "file-".concat(index)
|
|
409
|
+
});
|
|
410
|
+
}))) : /*#__PURE__*/_react["default"].createElement(Container, null, /*#__PURE__*/_react["default"].createElement(ValueInput, {
|
|
439
411
|
id: fileInputId,
|
|
440
412
|
type: "file",
|
|
441
413
|
accept: accept,
|
|
442
414
|
multiple: multiple,
|
|
443
|
-
onChange: selectFiles
|
|
415
|
+
onChange: selectFiles,
|
|
416
|
+
disabled: disabled,
|
|
417
|
+
readOnly: true
|
|
444
418
|
}), /*#__PURE__*/_react["default"].createElement(DragDropArea, {
|
|
445
419
|
isDragging: isDragging,
|
|
446
420
|
disabled: disabled,
|
|
@@ -449,39 +423,30 @@ var DxcFileInput = function DxcFileInput(_ref) {
|
|
|
449
423
|
onDragEnter: handleDragIn,
|
|
450
424
|
onDragOver: handleDrag,
|
|
451
425
|
onDragLeave: handleDragOut
|
|
452
|
-
}, /*#__PURE__*/_react["default"].createElement(ButtonContainer, {
|
|
453
|
-
mode: mode
|
|
454
426
|
}, /*#__PURE__*/_react["default"].createElement(_Button["default"], {
|
|
455
427
|
mode: "secondary",
|
|
456
428
|
label: buttonLabel !== null && buttonLabel !== void 0 ? buttonLabel : translatedLabels.fileInput.dropAreaButtonLabelDefault,
|
|
457
429
|
onClick: handleClick,
|
|
458
430
|
disabled: disabled,
|
|
459
431
|
size: "fitContent"
|
|
460
|
-
})
|
|
432
|
+
}), mode === "dropzone" ? /*#__PURE__*/_react["default"].createElement(DropzoneLabel, {
|
|
461
433
|
disabled: disabled
|
|
462
434
|
}, dropAreaLabel !== null && dropAreaLabel !== void 0 ? dropAreaLabel : multiple ? translatedLabels.fileInput.multipleDropAreaLabelDefault : translatedLabels.fileInput.singleDropAreaLabelDefault) : /*#__PURE__*/_react["default"].createElement(FiledropLabel, {
|
|
463
435
|
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,
|
|
436
|
+
}, 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) {
|
|
437
|
+
return /*#__PURE__*/_react["default"].createElement(_FileItem["default"], {
|
|
438
|
+
fileName: file.file.name,
|
|
473
439
|
error: file.error,
|
|
440
|
+
singleFileMode: false,
|
|
474
441
|
showPreview: showPreview,
|
|
475
|
-
numFiles: files.length,
|
|
476
442
|
preview: file.preview,
|
|
477
443
|
type: file.file.type,
|
|
478
444
|
onDelete: onDelete,
|
|
479
|
-
tabIndex: tabIndex
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
};
|
|
445
|
+
tabIndex: tabIndex,
|
|
446
|
+
key: "file-".concat(index)
|
|
447
|
+
});
|
|
448
|
+
}))), mode === "file" && !multiple && files.length === 1 && files[0].error && /*#__PURE__*/_react["default"].createElement(ErrorMessage, null, files[0].error)));
|
|
449
|
+
});
|
|
485
450
|
|
|
486
451
|
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
452
|
return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
|
|
@@ -519,12 +484,20 @@ var HelperText = _styledComponents["default"].span(_templateObject3 || (_templat
|
|
|
519
484
|
return props.theme.helperTextLineHeight;
|
|
520
485
|
});
|
|
521
486
|
|
|
522
|
-
var
|
|
523
|
-
return props.
|
|
524
|
-
}
|
|
525
|
-
|
|
487
|
+
var FileContainer = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n ", "\n margin-top: 0.25rem;\n"])), function (props) {
|
|
488
|
+
return props.singleFileMode ? "flex-direction: row; column-gap: 0.25rem;" : "flex-direction: column; row-gap: 0.25rem;";
|
|
489
|
+
});
|
|
490
|
+
|
|
491
|
+
var ValueInput = _styledComponents["default"].input(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: none;\n"])));
|
|
492
|
+
|
|
493
|
+
var FileItemListContainer = _styledComponents["default"].div(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n row-gap: 0.25rem;\n"])));
|
|
494
|
+
|
|
495
|
+
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"])));
|
|
496
|
+
|
|
497
|
+
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) {
|
|
498
|
+
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
499
|
}, function (props) {
|
|
527
|
-
return props.mode === "filedrop" ? "
|
|
500
|
+
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
501
|
}, function (props) {
|
|
529
502
|
return props.theme.dropBorderRadius;
|
|
530
503
|
}, function (props) {
|
|
@@ -539,17 +512,7 @@ var DragDropArea = _styledComponents["default"].div(_templateObject4 || (_templa
|
|
|
539
512
|
return props.disabled && "not-allowed";
|
|
540
513
|
});
|
|
541
514
|
|
|
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) {
|
|
515
|
+
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
516
|
return props.disabled ? props.theme.disabledDropLabelFontColor : props.theme.dropLabelFontColor;
|
|
554
517
|
}, function (props) {
|
|
555
518
|
return props.theme.dropLabelFontFamily;
|
|
@@ -559,7 +522,7 @@ var DropzoneLabel = _styledComponents["default"].div(_templateObject8 || (_templ
|
|
|
559
522
|
return props.theme.dropLabelFontWeight;
|
|
560
523
|
});
|
|
561
524
|
|
|
562
|
-
var FiledropLabel = _styledComponents["default"].span(
|
|
525
|
+
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
526
|
return props.disabled ? props.theme.disabledDropLabelFontColor : props.theme.dropLabelFontColor;
|
|
564
527
|
}, function (props) {
|
|
565
528
|
return props.theme.dropLabelFontFamily;
|
|
@@ -569,15 +532,7 @@ var FiledropLabel = _styledComponents["default"].span(_templateObject9 || (_temp
|
|
|
569
532
|
return props.theme.dropLabelFontWeight;
|
|
570
533
|
});
|
|
571
534
|
|
|
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) {
|
|
535
|
+
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
536
|
return props.theme.errorMessageFontColor;
|
|
582
537
|
}, function (props) {
|
|
583
538
|
return props.theme.errorMessageFontFamily;
|