@dxc-technology/halstack-react 0.0.0-c18d61a → 0.0.0-c1a6e05
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 +13 -24
- package/accordion/Accordion.stories.tsx +102 -13
- package/accordion/Accordion.test.js +1 -1
- package/accordion/types.d.ts +3 -3
- package/accordion-group/AccordionGroup.d.ts +4 -3
- package/accordion-group/AccordionGroup.js +23 -44
- package/accordion-group/AccordionGroup.test.js +1 -1
- package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
- package/accordion-group/AccordionGroupAccordion.js +43 -0
- package/accordion-group/types.d.ts +2 -2
- package/alert/Alert.js +4 -8
- 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 +3 -5
- package/box/Box.stories.tsx +15 -0
- package/box/Box.test.js +1 -1
- 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/checkbox/Checkbox.d.ts +2 -2
- package/checkbox/Checkbox.js +18 -17
- package/checkbox/Checkbox.stories.tsx +131 -59
- package/checkbox/Checkbox.test.js +1 -1
- package/checkbox/types.d.ts +6 -2
- 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 +981 -1129
- 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 +61 -74
- package/dialog/Dialog.stories.tsx +211 -159
- package/dialog/Dialog.test.js +302 -3
- package/dialog/types.d.ts +2 -2
- package/dropdown/Dropdown.js +37 -37
- package/dropdown/Dropdown.stories.tsx +210 -84
- package/dropdown/Dropdown.test.js +20 -24
- package/dropdown/DropdownMenu.js +12 -18
- package/dropdown/DropdownMenuItem.js +4 -17
- package/dropdown/types.d.ts +3 -3
- package/file-input/FileInput.d.ts +2 -2
- package/file-input/FileInput.js +28 -52
- package/file-input/FileInput.stories.tsx +96 -17
- package/file-input/FileInput.test.js +14 -55
- package/file-input/FileItem.d.ts +2 -12
- package/file-input/FileItem.js +29 -41
- package/file-input/types.d.ts +17 -0
- package/flex/Flex.js +4 -2
- package/flex/Flex.stories.tsx +35 -26
- package/flex/types.d.ts +70 -5
- package/footer/Footer.js +6 -8
- package/footer/Footer.stories.tsx +91 -0
- package/footer/Footer.test.js +14 -26
- 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 +149 -6
- package/header/Header.test.js +2 -2
- package/header/types.d.ts +2 -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/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 +37 -17
- package/nav-tabs/types.js +5 -0
- package/number-input/NumberInput.test.js +6 -7
- package/package.json +8 -13
- package/paginator/Icons.d.ts +5 -0
- package/paginator/Icons.js +16 -28
- package/paginator/Paginator.js +6 -14
- package/paginator/Paginator.stories.tsx +24 -0
- package/paginator/Paginator.test.js +44 -47
- package/paragraph/Paragraph.d.ts +3 -4
- package/paragraph/Paragraph.js +5 -5
- package/password-input/PasswordInput.test.js +1 -1
- 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.stories.tsx +14 -0
- package/radio-group/Radio.js +10 -10
- package/radio-group/RadioGroup.js +8 -10
- package/radio-group/RadioGroup.stories.tsx +131 -18
- package/radio-group/RadioGroup.test.js +1 -1
- package/resultsetTable/Icons.d.ts +7 -0
- package/resultsetTable/Icons.js +51 -0
- package/resultsetTable/ResultsetTable.js +49 -106
- 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 -34
- package/select/Option.js +11 -24
- package/select/Select.js +56 -35
- package/select/Select.stories.tsx +494 -150
- package/select/Select.test.js +76 -81
- 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 +11 -11
- package/slider/Slider.stories.tsx +57 -0
- package/slider/Slider.test.js +1 -1
- package/slider/types.d.ts +6 -2
- 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 +7 -6
- package/switch/Switch.stories.tsx +33 -0
- package/switch/Switch.test.js +1 -1
- package/switch/types.d.ts +8 -3
- package/table/Table.js +2 -2
- package/table/Table.stories.jsx +80 -1
- package/table/Table.test.js +2 -2
- package/tabs/Tab.js +12 -15
- package/tabs/Tabs.js +11 -17
- package/tabs/Tabs.stories.tsx +45 -5
- package/tabs/Tabs.test.js +4 -5
- package/tabs/types.d.ts +2 -2
- package/tag/Tag.js +7 -9
- package/tag/Tag.stories.tsx +14 -1
- package/tag/Tag.test.js +1 -1
- package/text-input/Suggestion.js +34 -7
- package/text-input/TextInput.js +11 -15
- package/text-input/TextInput.stories.tsx +93 -5
- package/text-input/TextInput.test.js +587 -635
- 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
|
@@ -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
|
|
|
@@ -99,7 +99,7 @@ var getFilePreview = function getFilePreview(file) {
|
|
|
99
99
|
});else return fileIcon;
|
|
100
100
|
};
|
|
101
101
|
|
|
102
|
-
var DxcFileInput = function
|
|
102
|
+
var DxcFileInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
103
103
|
var _ref$name = _ref.name,
|
|
104
104
|
name = _ref$name === void 0 ? "" : _ref$name,
|
|
105
105
|
_ref$mode = _ref.mode,
|
|
@@ -250,6 +250,7 @@ var DxcFileInput = function DxcFileInput(_ref) {
|
|
|
250
250
|
return selectedFiles[key];
|
|
251
251
|
});
|
|
252
252
|
addFile(filesArray);
|
|
253
|
+
e.target.value = null;
|
|
253
254
|
};
|
|
254
255
|
|
|
255
256
|
var onDelete = (0, _react.useCallback)(function (fileName) {
|
|
@@ -370,25 +371,22 @@ var DxcFileInput = function DxcFileInput(_ref) {
|
|
|
370
371
|
theme: colorsTheme.fileInput
|
|
371
372
|
}, /*#__PURE__*/_react["default"].createElement(FileInputContainer, {
|
|
372
373
|
margin: margin,
|
|
373
|
-
|
|
374
|
+
ref: ref
|
|
374
375
|
}, /*#__PURE__*/_react["default"].createElement(Label, {
|
|
375
376
|
htmlFor: fileInputId,
|
|
376
377
|
disabled: disabled
|
|
377
378
|
}, label), /*#__PURE__*/_react["default"].createElement(HelperText, {
|
|
378
379
|
disabled: disabled
|
|
379
380
|
}, helperText), mode === "file" ? /*#__PURE__*/_react["default"].createElement(FileContainer, {
|
|
380
|
-
|
|
381
|
-
files: files
|
|
381
|
+
singleFileMode: !multiple && files.length === 1
|
|
382
382
|
}, /*#__PURE__*/_react["default"].createElement(ValueInput, {
|
|
383
383
|
id: fileInputId,
|
|
384
384
|
type: "file",
|
|
385
385
|
accept: accept,
|
|
386
386
|
multiple: multiple,
|
|
387
387
|
onChange: selectFiles,
|
|
388
|
-
name: name,
|
|
389
388
|
disabled: disabled,
|
|
390
|
-
readOnly: true
|
|
391
|
-
"aria-hidden": "true"
|
|
389
|
+
readOnly: true
|
|
392
390
|
}), /*#__PURE__*/_react["default"].createElement(_Button["default"], {
|
|
393
391
|
mode: "secondary",
|
|
394
392
|
label: buttonLabel !== null && buttonLabel !== void 0 ? buttonLabel : multiple ? translatedLabels.fileInput.multipleButtonLabelDefault : translatedLabels.fileInput.singleButtonLabelDefault,
|
|
@@ -396,22 +394,17 @@ var DxcFileInput = function DxcFileInput(_ref) {
|
|
|
396
394
|
disabled: disabled,
|
|
397
395
|
size: "fitContent",
|
|
398
396
|
tabIndex: tabIndex
|
|
399
|
-
}), /*#__PURE__*/_react["default"].createElement(FileItemListContainer, {
|
|
400
|
-
mode: mode,
|
|
401
|
-
multiple: multiple,
|
|
402
|
-
files: files
|
|
403
|
-
}, files.map(function (file) {
|
|
397
|
+
}), files.length > 0 && /*#__PURE__*/_react["default"].createElement(FileItemListContainer, null, files.map(function (file, index) {
|
|
404
398
|
return /*#__PURE__*/_react["default"].createElement(_FileItem["default"], {
|
|
405
|
-
|
|
406
|
-
multiple: multiple,
|
|
407
|
-
name: file.file.name,
|
|
399
|
+
fileName: file.file.name,
|
|
408
400
|
error: file.error,
|
|
401
|
+
singleFileMode: !multiple && files.length === 1,
|
|
409
402
|
showPreview: mode === "file" && !multiple ? false : showPreview,
|
|
410
|
-
numFiles: files.length,
|
|
411
403
|
preview: file.preview,
|
|
412
404
|
type: file.file.type,
|
|
413
405
|
onDelete: onDelete,
|
|
414
|
-
tabIndex: tabIndex
|
|
406
|
+
tabIndex: tabIndex,
|
|
407
|
+
key: "file-".concat(index)
|
|
415
408
|
});
|
|
416
409
|
}))) : /*#__PURE__*/_react["default"].createElement(Container, null, /*#__PURE__*/_react["default"].createElement(ValueInput, {
|
|
417
410
|
id: fileInputId,
|
|
@@ -419,10 +412,8 @@ var DxcFileInput = function DxcFileInput(_ref) {
|
|
|
419
412
|
accept: accept,
|
|
420
413
|
multiple: multiple,
|
|
421
414
|
onChange: selectFiles,
|
|
422
|
-
name: name,
|
|
423
415
|
disabled: disabled,
|
|
424
|
-
readOnly: true
|
|
425
|
-
"aria-hidden": "true"
|
|
416
|
+
readOnly: true
|
|
426
417
|
}), /*#__PURE__*/_react["default"].createElement(DragDropArea, {
|
|
427
418
|
isDragging: isDragging,
|
|
428
419
|
disabled: disabled,
|
|
@@ -431,39 +422,30 @@ var DxcFileInput = function DxcFileInput(_ref) {
|
|
|
431
422
|
onDragEnter: handleDragIn,
|
|
432
423
|
onDragOver: handleDrag,
|
|
433
424
|
onDragLeave: handleDragOut
|
|
434
|
-
}, /*#__PURE__*/_react["default"].createElement(ButtonContainer, {
|
|
435
|
-
mode: mode
|
|
436
425
|
}, /*#__PURE__*/_react["default"].createElement(_Button["default"], {
|
|
437
426
|
mode: "secondary",
|
|
438
427
|
label: buttonLabel !== null && buttonLabel !== void 0 ? buttonLabel : translatedLabels.fileInput.dropAreaButtonLabelDefault,
|
|
439
428
|
onClick: handleClick,
|
|
440
429
|
disabled: disabled,
|
|
441
430
|
size: "fitContent"
|
|
442
|
-
})
|
|
431
|
+
}), mode === "dropzone" ? /*#__PURE__*/_react["default"].createElement(DropzoneLabel, {
|
|
443
432
|
disabled: disabled
|
|
444
433
|
}, dropAreaLabel !== null && dropAreaLabel !== void 0 ? dropAreaLabel : multiple ? translatedLabels.fileInput.multipleDropAreaLabelDefault : translatedLabels.fileInput.singleDropAreaLabelDefault) : /*#__PURE__*/_react["default"].createElement(FiledropLabel, {
|
|
445
434
|
disabled: disabled
|
|
446
|
-
}, dropAreaLabel !== null && dropAreaLabel !== void 0 ? dropAreaLabel : multiple ? translatedLabels.fileInput.multipleDropAreaLabelDefault : translatedLabels.fileInput.singleDropAreaLabelDefault)), /*#__PURE__*/_react["default"].createElement(FileItemListContainer, {
|
|
447
|
-
mode: mode,
|
|
448
|
-
multiple: multiple,
|
|
449
|
-
files: files
|
|
450
|
-
}, files.map(function (file) {
|
|
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) {
|
|
451
436
|
return /*#__PURE__*/_react["default"].createElement(_FileItem["default"], {
|
|
452
|
-
|
|
453
|
-
multiple: multiple,
|
|
454
|
-
name: file.file.name,
|
|
437
|
+
fileName: file.file.name,
|
|
455
438
|
error: file.error,
|
|
439
|
+
singleFileMode: false,
|
|
456
440
|
showPreview: showPreview,
|
|
457
|
-
numFiles: files.length,
|
|
458
441
|
preview: file.preview,
|
|
459
442
|
type: file.file.type,
|
|
460
443
|
onDelete: onDelete,
|
|
461
|
-
tabIndex: tabIndex
|
|
444
|
+
tabIndex: tabIndex,
|
|
445
|
+
key: "file-".concat(index)
|
|
462
446
|
});
|
|
463
|
-
}))), files.length === 1 && files.
|
|
464
|
-
|
|
465
|
-
})));
|
|
466
|
-
};
|
|
447
|
+
}))), mode === "file" && !multiple && files.length === 1 && files[0].error && /*#__PURE__*/_react["default"].createElement(ErrorMessage, null, files[0].error)));
|
|
448
|
+
});
|
|
467
449
|
|
|
468
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) {
|
|
469
451
|
return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
|
|
@@ -502,7 +484,7 @@ var HelperText = _styledComponents["default"].span(_templateObject3 || (_templat
|
|
|
502
484
|
});
|
|
503
485
|
|
|
504
486
|
var FileContainer = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n ", "\n margin-top: 0.25rem;\n"])), function (props) {
|
|
505
|
-
return props.
|
|
487
|
+
return props.singleFileMode ? "flex-direction: row; column-gap: 0.25rem;" : "flex-direction: column; row-gap: 0.25rem;";
|
|
506
488
|
});
|
|
507
489
|
|
|
508
490
|
var ValueInput = _styledComponents["default"].input(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: none;\n"])));
|
|
@@ -511,12 +493,10 @@ var FileItemListContainer = _styledComponents["default"].div(_templateObject6 ||
|
|
|
511
493
|
|
|
512
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"])));
|
|
513
495
|
|
|
514
|
-
var DragDropArea = _styledComponents["default"].div(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n box-sizing: border-box;\n display: flex;\n
|
|
515
|
-
return props.mode === "filedrop" ? "row" : "column";
|
|
516
|
-
}, function (props) {
|
|
517
|
-
return props.mode === "dropzone" && "justify-content: center; padding: 1rem;";
|
|
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;";
|
|
518
498
|
}, function (props) {
|
|
519
|
-
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";
|
|
520
500
|
}, function (props) {
|
|
521
501
|
return props.theme.dropBorderRadius;
|
|
522
502
|
}, function (props) {
|
|
@@ -531,11 +511,7 @@ var DragDropArea = _styledComponents["default"].div(_templateObject8 || (_templa
|
|
|
531
511
|
return props.disabled && "not-allowed";
|
|
532
512
|
});
|
|
533
513
|
|
|
534
|
-
var
|
|
535
|
-
return props.mode === "filedrop" && "padding: 2px 12px 2px 3px";
|
|
536
|
-
});
|
|
537
|
-
|
|
538
|
-
var DropzoneLabel = _styledComponents["default"].div(_templateObject10 || (_templateObject10 = (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) {
|
|
539
515
|
return props.disabled ? props.theme.disabledDropLabelFontColor : props.theme.dropLabelFontColor;
|
|
540
516
|
}, function (props) {
|
|
541
517
|
return props.theme.dropLabelFontFamily;
|
|
@@ -545,7 +521,7 @@ var DropzoneLabel = _styledComponents["default"].div(_templateObject10 || (_temp
|
|
|
545
521
|
return props.theme.dropLabelFontWeight;
|
|
546
522
|
});
|
|
547
523
|
|
|
548
|
-
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) {
|
|
549
525
|
return props.disabled ? props.theme.disabledDropLabelFontColor : props.theme.dropLabelFontColor;
|
|
550
526
|
}, function (props) {
|
|
551
527
|
return props.theme.dropLabelFontFamily;
|
|
@@ -555,7 +531,7 @@ var FiledropLabel = _styledComponents["default"].span(_templateObject11 || (_tem
|
|
|
555
531
|
return props.theme.dropLabelFontWeight;
|
|
556
532
|
});
|
|
557
533
|
|
|
558
|
-
var ErrorMessage = _styledComponents["default"].div(
|
|
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) {
|
|
559
535
|
return props.theme.errorMessageFontColor;
|
|
560
536
|
}, function (props) {
|
|
561
537
|
return props.theme.errorMessageFontFamily;
|
|
@@ -3,14 +3,14 @@ import DxcFileInput from "./FileInput";
|
|
|
3
3
|
import Title from "../../.storybook/components/Title";
|
|
4
4
|
import ExampleContainer from "../../.storybook/components/ExampleContainer";
|
|
5
5
|
import FileItem from "./FileItem";
|
|
6
|
+
import { HalstackProvider } from "../HalstackContext";
|
|
6
7
|
|
|
7
8
|
export default {
|
|
8
9
|
title: "File input",
|
|
9
10
|
component: DxcFileInput,
|
|
10
11
|
};
|
|
11
12
|
|
|
12
|
-
const picPreview =
|
|
13
|
-
"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAABmJLR0QA/wD/AP+gvaeTAAAEDklEQVRogdXaXaxcUxQH8J/etloajVT1I9qgCbdIUB8PXPeKBJHgsV5ExAuVivBUgtSDxgNBVMVHxEeRUhIhkpJ40BYhoTShaQglQtA2VR+ttjMe1j45c6cztzNnzszc+09Ocs/Za+39/++zzt5rr7l0D1diA35P14b0bMJgAE+g2uR6FpP7xq4NZCL2YjlOSNdt6VkVj/eNXYu4VhD9G+c3aL8gtVWS7bjEsfhRCFk2ht2yZPNT8hl3WCUIfoZJY9gdhY+T7QM94NUWFmEfDuHCFuyXJNv9OL2LvNrGO2KGn2rD55nks6ErjAog+8B3YXYbfrPwR/Lt+4d/NLYLMrcW8F+efL/DtBJ5tY17EpEvxEbYLgawJfVxXxObRZhbiF2LWCjfE4Y66OeS1Mc/OLnm+Uw8ggP4oYP+j4hHxUy+VEJfL6e+3hTL8/X4RZ7W/FvCGE1xOdZp7wNvhvny9CULtSo+1QMhZWImPpQL+A03YbouCpkqXn8ZqA+jg1iD41P7NF0QMiAy2N0ipDrFWUa/hU9wXp1N6UIuEktsNug3HfY3gD2pr4rYTxrlZ6UJmY3n0mBZ7JYhhDi3ZP1+i6sb2HQsZBJuEEfUqljjV+Ic5QkhzifZylTF+xisae9IyBIRr1nnb+PU1DaoXCHkk5blXfvxGGYoKGQWnhbpdZb/XFNn0w0hGebgBXm4fY/rtClkOn6Wz8j96Vk9uikkw5DRm2JLQrKV4hB2pr+niJznuPI5toRN4rx/u1jZiLfUMqZiBf4Ss7Bb7Bu1WW0v3kgt5mA17i7iPB8vymN1Cy5Obb0W0jFm4Fd5jFbEfjJsggl5UBDeiLvk4bZP/4RcJj76W1p1OE2sXAfFBkgcotYrL0UpghF5BfOkVhzeTQ5rGrRdIXbiVWWxaxNvCG6vHckwq4jsFPXa8YYF8gPYVc2MaisiN/eGVyGsEBy3C86H4d5k8LliFZFeYSq+FlwP218WiJWpIpbY8Y5heeXllNqGdcqriPQKrwrO67MHZwh1ezGvT6SKIKu8VLCYWGareKgPZEZECrS5oP/Dgvtq2Jpuzi6FWmuYh7XyfK5asJ9zk++X5EWARuePsjEZd9SM+afOhBwjz9TtSDeDY3mUgBH526/gFRHnnQhZLD9NejLdvG7sn8yKoj6MtuLSmvaiQibJ8781RNl+V3rwEZaKpGxKQeIZ6sNoD+5s0G87QqYkbksT1yydWpQZDMl/kS16bawb9AN5GK3VfGnvZMwd0qEv+w+ETTgTN4rEcRAninSgVdTP6oE2fFvFf6JIuA1v4XmRkXQVk+UFhGoacKXDJ6eTj72nmGt0DWCbONdkmDBCMgzjK6MrmAtNQCGUvyH2HfXhNmGFZBgRNYD3Ou3ofwlpcfptqgzTAAAAAElFTkSuQmCC";
|
|
13
|
+
const picPreview = "https://cdn.mos.cms.futurecdn.net/CAZ6JXi6huSuN4QGE627NR.jpg";
|
|
14
14
|
|
|
15
15
|
const file1 = new File(["file1"], "file.pdf", { type: "text/plain" });
|
|
16
16
|
const file2 = new File(["file2"], "file2.mp3", {
|
|
@@ -22,7 +22,7 @@ const file3 = new File(["file3"], "file3.png", {
|
|
|
22
22
|
const file4 = new File(["file4"], "file4file4file4file4file4file4file4file4file4.mp4", {
|
|
23
23
|
type: "video",
|
|
24
24
|
});
|
|
25
|
-
const file5 = new File(["
|
|
25
|
+
const file5 = new File(["file5"], "file5file5file5file5file5file5file5file5file5.mp4", {
|
|
26
26
|
type: "video",
|
|
27
27
|
});
|
|
28
28
|
|
|
@@ -54,7 +54,7 @@ const filesExamples = [
|
|
|
54
54
|
file: file4,
|
|
55
55
|
},
|
|
56
56
|
{
|
|
57
|
-
error: "
|
|
57
|
+
error: "This error message is a multiline paragraph for testing.",
|
|
58
58
|
file: file5,
|
|
59
59
|
},
|
|
60
60
|
{
|
|
@@ -64,17 +64,22 @@ const filesExamples = [
|
|
|
64
64
|
},
|
|
65
65
|
];
|
|
66
66
|
|
|
67
|
+
const opinionatedTheme = {
|
|
68
|
+
fileInput: {
|
|
69
|
+
fontColor: "#000000",
|
|
70
|
+
},
|
|
71
|
+
};
|
|
72
|
+
|
|
67
73
|
export const Chromatic = () => (
|
|
68
74
|
<>
|
|
69
75
|
<Title title="File item states" theme="light" level={2} />
|
|
70
76
|
<ExampleContainer pseudoState="pseudo-hover">
|
|
71
77
|
<Title title="Hovered" theme="light" level={4} />
|
|
72
78
|
<FileItem
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
79
|
+
fileName="file"
|
|
80
|
+
error=""
|
|
81
|
+
singleFileMode={false}
|
|
76
82
|
showPreview={false}
|
|
77
|
-
numFiles={1}
|
|
78
83
|
preview={picPreview}
|
|
79
84
|
type="image/png"
|
|
80
85
|
onDelete={() => {}}
|
|
@@ -84,11 +89,10 @@ export const Chromatic = () => (
|
|
|
84
89
|
<ExampleContainer pseudoState="pseudo-focus">
|
|
85
90
|
<Title title="Focused" theme="light" level={4} />
|
|
86
91
|
<FileItem
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
92
|
+
fileName="file"
|
|
93
|
+
error=""
|
|
94
|
+
singleFileMode={false}
|
|
90
95
|
showPreview={false}
|
|
91
|
-
numFiles={1}
|
|
92
96
|
preview={picPreview}
|
|
93
97
|
type="image/png"
|
|
94
98
|
onDelete={() => {}}
|
|
@@ -98,11 +102,10 @@ export const Chromatic = () => (
|
|
|
98
102
|
<ExampleContainer pseudoState="pseudo-active">
|
|
99
103
|
<Title title="Actived" theme="light" level={4} />
|
|
100
104
|
<FileItem
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
105
|
+
fileName="file"
|
|
106
|
+
error=""
|
|
107
|
+
singleFileMode={false}
|
|
104
108
|
showPreview={false}
|
|
105
|
-
numFiles={1}
|
|
106
109
|
preview={picPreview}
|
|
107
110
|
type="image/png"
|
|
108
111
|
onDelete={() => {}}
|
|
@@ -533,7 +536,83 @@ export const Chromatic = () => (
|
|
|
533
536
|
mode="dropzone"
|
|
534
537
|
margin="xxlarge"
|
|
535
538
|
/>
|
|
536
|
-
|
|
539
|
+
</ExampleContainer>
|
|
540
|
+
<Title title="Opinionated theme" theme="light" level={2} />
|
|
541
|
+
<ExampleContainer>
|
|
542
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
543
|
+
<Title title="Single file" theme="light" level={4} />
|
|
544
|
+
<DxcFileInput
|
|
545
|
+
label="File input"
|
|
546
|
+
helperText="Please select files"
|
|
547
|
+
value={fileExample}
|
|
548
|
+
multiple={false}
|
|
549
|
+
callbackFile={() => {}}
|
|
550
|
+
/>
|
|
551
|
+
</HalstackProvider>
|
|
552
|
+
</ExampleContainer>
|
|
553
|
+
<ExampleContainer>
|
|
554
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
555
|
+
<Title title="Invalid single file" theme="light" level={4} />
|
|
556
|
+
<DxcFileInput
|
|
557
|
+
label="File input"
|
|
558
|
+
helperText="Please select files"
|
|
559
|
+
value={fileExampleError}
|
|
560
|
+
multiple={false}
|
|
561
|
+
callbackFile={() => {}}
|
|
562
|
+
/>
|
|
563
|
+
</HalstackProvider>
|
|
564
|
+
</ExampleContainer>
|
|
565
|
+
<ExampleContainer>
|
|
566
|
+
<Title title="Single file" theme="light" level={4} />
|
|
567
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
568
|
+
<DxcFileInput
|
|
569
|
+
mode="filedrop"
|
|
570
|
+
label="File input"
|
|
571
|
+
helperText="Please select files"
|
|
572
|
+
value={fileExample}
|
|
573
|
+
multiple={false}
|
|
574
|
+
callbackFile={() => {}}
|
|
575
|
+
/>
|
|
576
|
+
</HalstackProvider>
|
|
577
|
+
</ExampleContainer>
|
|
578
|
+
<ExampleContainer>
|
|
579
|
+
<Title title="Invalid single file" theme="light" level={4} />
|
|
580
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
581
|
+
<DxcFileInput
|
|
582
|
+
mode="filedrop"
|
|
583
|
+
label="File input"
|
|
584
|
+
helperText="Please select files"
|
|
585
|
+
value={fileExampleError}
|
|
586
|
+
multiple={false}
|
|
587
|
+
callbackFile={() => {}}
|
|
588
|
+
/>
|
|
589
|
+
</HalstackProvider>
|
|
590
|
+
</ExampleContainer>
|
|
591
|
+
<ExampleContainer>
|
|
592
|
+
<Title title="Single file" theme="light" level={4} />
|
|
593
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
594
|
+
<DxcFileInput
|
|
595
|
+
label="File input"
|
|
596
|
+
helperText="Please select files"
|
|
597
|
+
mode="dropzone"
|
|
598
|
+
value={fileExample}
|
|
599
|
+
callbackFile={() => {}}
|
|
600
|
+
multiple={false}
|
|
601
|
+
/>
|
|
602
|
+
</HalstackProvider>
|
|
603
|
+
</ExampleContainer>
|
|
604
|
+
<ExampleContainer>
|
|
605
|
+
<Title title="Invalid single file" theme="light" level={4} />{" "}
|
|
606
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
607
|
+
<DxcFileInput
|
|
608
|
+
label="File input"
|
|
609
|
+
helperText="Please select files"
|
|
610
|
+
mode="dropzone"
|
|
611
|
+
value={fileExampleError}
|
|
612
|
+
callbackFile={() => {}}
|
|
613
|
+
multiple={false}
|
|
614
|
+
/>
|
|
615
|
+
</HalstackProvider>
|
|
537
616
|
</ExampleContainer>
|
|
538
617
|
</>
|
|
539
618
|
);
|
|
@@ -12,21 +12,21 @@ var _react2 = require("@testing-library/react");
|
|
|
12
12
|
|
|
13
13
|
var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
|
|
14
14
|
|
|
15
|
-
var _FileInput = _interopRequireDefault(require("./FileInput"));
|
|
16
|
-
|
|
15
|
+
var _FileInput = _interopRequireDefault(require("./FileInput.tsx"));
|
|
16
|
+
|
|
17
|
+
var file1 = new File(["file1"], "file1.png", {
|
|
18
|
+
type: "image/png"
|
|
19
|
+
});
|
|
20
|
+
var file2 = new File(["file2"], "file2.txt", {
|
|
21
|
+
type: "text/plain"
|
|
22
|
+
});
|
|
23
|
+
var allFiles = [{
|
|
24
|
+
file: file1
|
|
25
|
+
}, {
|
|
26
|
+
error: "Error message",
|
|
27
|
+
file: file2
|
|
28
|
+
}];
|
|
17
29
|
describe("FileInput component tests", function () {
|
|
18
|
-
var file1 = new File(["file1"], "file1.png", {
|
|
19
|
-
type: "image/png"
|
|
20
|
-
});
|
|
21
|
-
var file2 = new File(["file2"], "file2.txt", {
|
|
22
|
-
type: "text/plain"
|
|
23
|
-
});
|
|
24
|
-
var allFiles = [{
|
|
25
|
-
file: file1
|
|
26
|
-
}, {
|
|
27
|
-
error: "Error message",
|
|
28
|
-
file: file2
|
|
29
|
-
}];
|
|
30
30
|
test("Renders with correct labels and helper text in file mode", function () {
|
|
31
31
|
var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_FileInput["default"], {
|
|
32
32
|
label: "File input label",
|
|
@@ -454,45 +454,4 @@ describe("FileInput component tests", function () {
|
|
|
454
454
|
}
|
|
455
455
|
}, _callee6);
|
|
456
456
|
})));
|
|
457
|
-
test("File input sends value when submitted in a form", function () {
|
|
458
|
-
var newFile = new File(["newFile"], "newFile.pdf", {
|
|
459
|
-
type: "pdf"
|
|
460
|
-
});
|
|
461
|
-
var handlerOnSubmit = jest.fn(function (e) {
|
|
462
|
-
e.preventDefault();
|
|
463
|
-
var formData = new FormData(e.target);
|
|
464
|
-
var formProps = Object.fromEntries(formData);
|
|
465
|
-
expect(formProps).toStrictEqual({
|
|
466
|
-
file: newFile
|
|
467
|
-
});
|
|
468
|
-
});
|
|
469
|
-
|
|
470
|
-
var _render17 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement("form", {
|
|
471
|
-
onSubmit: handlerOnSubmit
|
|
472
|
-
}, /*#__PURE__*/_react["default"].createElement(_FileInput["default"], {
|
|
473
|
-
label: "File input label",
|
|
474
|
-
name: "file",
|
|
475
|
-
helperText: "File input helper text",
|
|
476
|
-
mode: "filedrop",
|
|
477
|
-
buttonLabel: "Choose",
|
|
478
|
-
dropAreaLabel: "(or drop the files)"
|
|
479
|
-
}), /*#__PURE__*/_react["default"].createElement("button", {
|
|
480
|
-
type: "submit"
|
|
481
|
-
}, "Submit"))),
|
|
482
|
-
getByText = _render17.getByText,
|
|
483
|
-
getByLabelText = _render17.getByLabelText;
|
|
484
|
-
|
|
485
|
-
var inputFile = getByLabelText("File input label", {
|
|
486
|
-
hidden: true
|
|
487
|
-
});
|
|
488
|
-
var submit = getByText("Submit");
|
|
489
|
-
|
|
490
|
-
_react2.fireEvent.change(inputFile, {
|
|
491
|
-
target: {
|
|
492
|
-
files: [newFile]
|
|
493
|
-
}
|
|
494
|
-
});
|
|
495
|
-
|
|
496
|
-
_userEvent["default"].click(submit);
|
|
497
|
-
});
|
|
498
457
|
});
|
package/file-input/FileItem.d.ts
CHANGED
|
@@ -1,14 +1,4 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
multiple: any;
|
|
5
|
-
name?: string;
|
|
6
|
-
error?: string;
|
|
7
|
-
showPreview: any;
|
|
8
|
-
preview: any;
|
|
9
|
-
type: any;
|
|
10
|
-
numFiles: any;
|
|
11
|
-
onDelete: any;
|
|
12
|
-
tabIndex: any;
|
|
13
|
-
}) => JSX.Element>;
|
|
2
|
+
import { FileItemProps } from "./types";
|
|
3
|
+
declare const _default: React.MemoExoticComponent<({ fileName, error, singleFileMode, showPreview, preview, type, onDelete, tabIndex, }: FileItemProps) => JSX.Element>;
|
|
14
4
|
export default _default;
|
package/file-input/FileItem.js
CHANGED
|
@@ -15,11 +15,13 @@ var _react = _interopRequireDefault(require("react"));
|
|
|
15
15
|
|
|
16
16
|
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
17
17
|
|
|
18
|
+
var _main = require("../main");
|
|
19
|
+
|
|
18
20
|
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
19
21
|
|
|
20
22
|
var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
|
|
21
23
|
|
|
22
|
-
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8
|
|
24
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8;
|
|
23
25
|
|
|
24
26
|
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); }
|
|
25
27
|
|
|
@@ -49,16 +51,14 @@ var errorIcon = /*#__PURE__*/_react["default"].createElement("svg", {
|
|
|
49
51
|
}));
|
|
50
52
|
|
|
51
53
|
var FileItem = function FileItem(_ref) {
|
|
52
|
-
var
|
|
53
|
-
|
|
54
|
-
_ref$name = _ref.name,
|
|
55
|
-
name = _ref$name === void 0 ? "" : _ref$name,
|
|
54
|
+
var _ref$fileName = _ref.fileName,
|
|
55
|
+
fileName = _ref$fileName === void 0 ? "" : _ref$fileName,
|
|
56
56
|
_ref$error = _ref.error,
|
|
57
57
|
error = _ref$error === void 0 ? "" : _ref$error,
|
|
58
|
+
singleFileMode = _ref.singleFileMode,
|
|
58
59
|
showPreview = _ref.showPreview,
|
|
59
60
|
preview = _ref.preview,
|
|
60
61
|
type = _ref.type,
|
|
61
|
-
numFiles = _ref.numFiles,
|
|
62
62
|
onDelete = _ref.onDelete,
|
|
63
63
|
tabIndex = _ref.tabIndex;
|
|
64
64
|
var colorsTheme = (0, _useTheme["default"])();
|
|
@@ -70,43 +70,35 @@ var FileItem = function FileItem(_ref) {
|
|
|
70
70
|
|
|
71
71
|
return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
72
72
|
theme: colorsTheme.fileInput
|
|
73
|
-
}, /*#__PURE__*/_react["default"].createElement(
|
|
74
|
-
mode: mode,
|
|
75
|
-
multiple: multiple,
|
|
73
|
+
}, /*#__PURE__*/_react["default"].createElement(MainContainer, {
|
|
76
74
|
error: error,
|
|
77
|
-
|
|
78
|
-
|
|
75
|
+
singleFileMode: singleFileMode,
|
|
76
|
+
showPreview: showPreview
|
|
79
77
|
}, showPreview && (type.includes("image") ? /*#__PURE__*/_react["default"].createElement(ImagePreview, {
|
|
80
78
|
src: preview,
|
|
81
|
-
alt:
|
|
82
|
-
}) : /*#__PURE__*/_react["default"].createElement(
|
|
79
|
+
alt: fileName
|
|
80
|
+
}) : /*#__PURE__*/_react["default"].createElement(IconPreview, {
|
|
83
81
|
error: error,
|
|
84
82
|
"aria-label": getIconAriaLabel()
|
|
85
|
-
}, preview)), /*#__PURE__*/_react["default"].createElement(FileItemContent, null, /*#__PURE__*/_react["default"].createElement(
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
error: error,
|
|
89
|
-
showPreview: showPreview,
|
|
90
|
-
numFiles: numFiles
|
|
91
|
-
}, name), error && /*#__PURE__*/_react["default"].createElement(ErrorIcon, null, errorIcon), /*#__PURE__*/_react["default"].createElement(DeleteFileAction, {
|
|
92
|
-
error: error,
|
|
83
|
+
}, preview)), /*#__PURE__*/_react["default"].createElement(FileItemContent, null, /*#__PURE__*/_react["default"].createElement(FileName, null, fileName), /*#__PURE__*/_react["default"].createElement(_main.DxcFlex, {
|
|
84
|
+
gap: "0.25rem"
|
|
85
|
+
}, error && /*#__PURE__*/_react["default"].createElement(ErrorIcon, null, errorIcon), /*#__PURE__*/_react["default"].createElement(DeleteFileAction, {
|
|
93
86
|
onClick: function onClick() {
|
|
94
|
-
onDelete(
|
|
87
|
+
onDelete(fileName);
|
|
95
88
|
},
|
|
89
|
+
type: "button",
|
|
96
90
|
title: translatedLabels.fileInput.deleteFileActionTitle,
|
|
97
91
|
"aria-label": translatedLabels.fileInput.deleteFileActionTitle,
|
|
98
92
|
tabIndex: tabIndex
|
|
99
|
-
}, deleteIcon)), error &&
|
|
93
|
+
}, deleteIcon)), error && !singleFileMode && /*#__PURE__*/_react["default"].createElement(ErrorMessage, null, error))));
|
|
100
94
|
};
|
|
101
95
|
|
|
102
|
-
var
|
|
103
|
-
return props.
|
|
104
|
-
}, function (props) {
|
|
105
|
-
return props.mode === "file" && !props.multiple && props.numFiles === 1 ? "calc(230px - 26px)" : !props.showPreview ? "calc(320px - 26px)" : props.showPreview && "calc(320px - 18px)";
|
|
96
|
+
var MainContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n box-sizing: border-box;\n display: flex;\n justify-content: center;\n gap: 0.75rem;\n width: ", ";\n padding: ", ";\n ", ";\n border-color: ", ";\n border-width: ", ";\n border-style: ", ";\n border-radius: ", ";\n"])), function (props) {
|
|
97
|
+
return props.singleFileMode ? "230px" : "320px";
|
|
106
98
|
}, function (props) {
|
|
107
|
-
return props.
|
|
99
|
+
return props.showPreview ? "calc(8px - ".concat(props.theme.fileItemBorderThickness, ")") : "calc(8px - ".concat(props.theme.fileItemBorderThickness, ") calc(8px - ").concat(props.theme.fileItemBorderThickness, ") calc(8px - ").concat(props.theme.fileItemBorderThickness, ") 16px");
|
|
108
100
|
}, function (props) {
|
|
109
|
-
return props.error
|
|
101
|
+
return props.error ? "background-color: ".concat(props.theme.errorFileItemBackgroundColor, ";") : "";
|
|
110
102
|
}, function (props) {
|
|
111
103
|
return props.error ? props.theme.errorFileItemBorderColor : props.theme.fileItemBorderColor;
|
|
112
104
|
}, function (props) {
|
|
@@ -117,22 +109,18 @@ var Container = _styledComponents["default"].div(_templateObject || (_templateOb
|
|
|
117
109
|
return props.theme.fileItemBorderRadius;
|
|
118
110
|
});
|
|
119
111
|
|
|
120
|
-
var
|
|
112
|
+
var ImagePreview = _styledComponents["default"].img(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n width: 48px;\n height: 48px;\n border-radius: 2px;\n object-fit: contain;\n"])));
|
|
121
113
|
|
|
122
|
-
var
|
|
123
|
-
|
|
124
|
-
var ImagePreview = _styledComponents["default"].img(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n width: 48px;\n height: 48px;\n object-fit: contain;\n border-radius: 2px;\n"])));
|
|
125
|
-
|
|
126
|
-
var IconPreviewContainer = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n justify-content: center;\n background-color: ", ";\n width: 48px;\n height: 48px;\n border-radius: 2px;\n color: ", ";\n"])), function (props) {
|
|
114
|
+
var IconPreview = _styledComponents["default"].span(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n box-sizing: border-box;\n display: flex;\n align-items: center;\n justify-content: center;\n background-color: ", ";\n width: 48px;\n height: 48px;\n padding: 15px;\n border-radius: 2px;\n color: ", ";\n\n svg {\n height: 18px;\n width: 18px;\n }\n"])), function (props) {
|
|
127
115
|
return props.error ? props.theme.errorFilePreviewBackgroundColor : props.theme.filePreviewBackgroundColor;
|
|
128
116
|
}, function (props) {
|
|
129
117
|
return props.error ? props.theme.errorFilePreviewIconColor : props.theme.filePreviewIconColor;
|
|
130
118
|
});
|
|
131
119
|
|
|
132
|
-
var
|
|
120
|
+
var FileItemContent = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n flex-grow: 1;\n display: grid;\n grid-template-columns: auto min-content;\n grid-template-rows: min-content auto;\n column-gap: 0.25rem;\n"])));
|
|
121
|
+
|
|
122
|
+
var FileName = _styledComponents["default"].span(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n align-self: center;\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-weight: ", ";\n line-height: ", ";\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n"])), function (props) {
|
|
133
123
|
return props.theme.fileNameFontColor;
|
|
134
|
-
}, function (props) {
|
|
135
|
-
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)";
|
|
136
124
|
}, function (props) {
|
|
137
125
|
return props.theme.fileItemFontFamily;
|
|
138
126
|
}, function (props) {
|
|
@@ -143,9 +131,9 @@ var FileName = _styledComponents["default"].span(_templateObject6 || (_templateO
|
|
|
143
131
|
return props.theme.fileItemLineHeight;
|
|
144
132
|
});
|
|
145
133
|
|
|
146
|
-
var ErrorIcon = _styledComponents["default"].span(
|
|
134
|
+
var ErrorIcon = _styledComponents["default"].span(_templateObject6 || (_templateObject6 = (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"])));
|
|
147
135
|
|
|
148
|
-
var DeleteFileAction = _styledComponents["default"].button(
|
|
136
|
+
var DeleteFileAction = _styledComponents["default"].button(_templateObject7 || (_templateObject7 = (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: 2px;\n background-color: transparent;\n box-shadow: 0 0 0 2px transparent;\n padding: 3px;\n cursor: pointer;\n color: ", ";\n\n svg {\n line-height: 18px;\n }\n &:hover {\n background-color: ", ";\n }\n &:focus,\n &:focus-visible {\n outline: none;\n box-shadow: 0 0 0 2px ", ";\n }\n &:active {\n background-color: ", ";\n }\n"])), function (props) {
|
|
149
137
|
return props.theme.fontFamily;
|
|
150
138
|
}, function (props) {
|
|
151
139
|
return props.theme.deleteFileItemColor;
|
|
@@ -157,7 +145,7 @@ var DeleteFileAction = _styledComponents["default"].button(_templateObject8 || (
|
|
|
157
145
|
return props.theme.activeDeleteFileItemBackgroundColor;
|
|
158
146
|
});
|
|
159
147
|
|
|
160
|
-
var ErrorMessage = _styledComponents["default"].span(
|
|
148
|
+
var ErrorMessage = _styledComponents["default"].span(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-weight: ", ";\n line-height: ", ";\n"])), function (props) {
|
|
161
149
|
return props.theme.errorMessageFontColor;
|
|
162
150
|
}, function (props) {
|
|
163
151
|
return props.theme.errorMessageFontFamily;
|