@dxc-technology/halstack-react 0.0.0-b22e2a8 → 0.0.0-b230d97
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 +10 -0
- package/BackgroundColorContext.js +1 -4
- package/HalstackContext.d.ts +12 -0
- package/HalstackContext.js +300 -0
- package/accordion/Accordion.d.ts +1 -1
- package/accordion/Accordion.js +119 -138
- package/accordion/Accordion.stories.tsx +395 -0
- package/accordion/Accordion.test.js +71 -0
- package/accordion/types.d.ts +12 -11
- package/accordion-group/AccordionGroup.d.ts +1 -1
- package/accordion-group/AccordionGroup.js +16 -37
- package/accordion-group/AccordionGroup.stories.tsx +251 -0
- package/accordion-group/AccordionGroup.test.js +126 -0
- package/accordion-group/types.d.ts +17 -10
- package/alert/Alert.js +7 -4
- package/alert/Alert.test.js +92 -0
- package/badge/Badge.d.ts +4 -0
- package/badge/Badge.js +6 -4
- package/badge/types.d.ts +5 -0
- package/{radio → badge}/types.js +0 -0
- package/bleed/Bleed.d.ts +3 -0
- package/bleed/Bleed.js +51 -0
- package/bleed/Bleed.stories.tsx +341 -0
- package/bleed/types.d.ts +37 -0
- package/bleed/types.js +5 -0
- package/box/Box.js +25 -35
- package/box/Box.test.js +18 -0
- 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/bulleted-list/types.js +5 -0
- package/button/Button.d.ts +1 -1
- package/button/Button.js +59 -82
- package/button/Button.stories.tsx +163 -14
- package/button/Button.test.js +35 -0
- package/button/types.d.ts +10 -14
- package/card/Card.js +25 -28
- package/card/Card.stories.tsx +1 -1
- package/card/Card.test.js +50 -0
- package/card/types.d.ts +1 -0
- package/checkbox/Checkbox.d.ts +2 -2
- package/checkbox/Checkbox.js +108 -111
- package/checkbox/Checkbox.stories.tsx +198 -130
- package/checkbox/Checkbox.test.js +155 -0
- package/checkbox/types.d.ts +14 -6
- package/chip/Chip.d.ts +4 -0
- package/chip/Chip.js +22 -88
- package/chip/Chip.stories.tsx +98 -13
- package/chip/Chip.test.js +56 -0
- package/chip/types.d.ts +45 -0
- package/chip/types.js +5 -0
- package/common/variables.js +511 -569
- package/date-input/Calendar.d.ts +4 -0
- package/date-input/Calendar.js +258 -0
- package/date-input/DateInput.js +174 -266
- package/date-input/DateInput.stories.tsx +137 -38
- package/date-input/DateInput.test.js +835 -0
- 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 +67 -9
- package/dialog/Dialog.js +50 -53
- package/dialog/Dialog.stories.tsx +57 -2
- package/dialog/Dialog.test.js +70 -0
- package/dialog/types.d.ts +3 -2
- package/dropdown/Dropdown.d.ts +1 -1
- package/dropdown/Dropdown.js +248 -277
- package/dropdown/Dropdown.stories.tsx +438 -0
- package/dropdown/Dropdown.test.js +585 -0
- 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 +30 -19
- package/file-input/FileInput.d.ts +2 -2
- package/file-input/FileInput.js +182 -142
- package/file-input/FileInput.stories.tsx +618 -0
- package/file-input/FileInput.test.js +498 -0
- package/file-input/FileItem.d.ts +4 -14
- package/file-input/FileItem.js +46 -67
- package/file-input/types.d.ts +49 -7
- 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/flex/types.js +5 -0
- package/footer/Footer.d.ts +1 -1
- package/footer/Footer.js +32 -113
- package/footer/Footer.stories.tsx +228 -0
- package/footer/Footer.test.js +109 -0
- package/footer/Icons.d.ts +2 -0
- package/footer/Icons.js +4 -4
- package/footer/types.d.ts +22 -17
- package/header/Header.js +109 -130
- package/header/Header.stories.tsx +167 -36
- package/header/Header.test.js +79 -0
- package/header/Icons.d.ts +2 -0
- package/header/Icons.js +2 -2
- package/header/types.d.ts +3 -2
- package/heading/Heading.js +1 -1
- package/heading/Heading.stories.tsx +3 -2
- package/heading/Heading.test.js +186 -0
- package/inset/Inset.d.ts +3 -0
- package/inset/Inset.js +51 -0
- package/inset/Inset.stories.tsx +229 -0
- package/inset/types.d.ts +37 -0
- package/inset/types.js +5 -0
- package/layout/ApplicationLayout.d.ts +20 -0
- package/layout/ApplicationLayout.js +71 -135
- package/layout/ApplicationLayout.stories.tsx +162 -0
- package/layout/Icons.d.ts +5 -0
- package/layout/Icons.js +13 -2
- package/layout/SidenavContext.d.ts +5 -0
- package/layout/SidenavContext.js +19 -0
- package/layout/types.d.ts +42 -0
- package/layout/types.js +5 -0
- package/link/Link.d.ts +3 -2
- package/link/Link.js +62 -87
- package/link/Link.stories.tsx +99 -52
- package/link/Link.test.js +83 -0
- package/link/types.d.ts +9 -29
- package/main.d.ts +12 -12
- package/main.js +64 -58
- package/number-input/NumberInput.js +14 -24
- package/number-input/NumberInput.stories.tsx +5 -5
- package/number-input/NumberInput.test.js +542 -0
- package/number-input/types.d.ts +17 -10
- package/package.json +21 -22
- package/paginator/Icons.d.ts +5 -0
- package/paginator/Icons.js +16 -28
- package/paginator/Paginator.js +21 -54
- package/paginator/Paginator.stories.tsx +24 -0
- package/paginator/Paginator.test.js +315 -0
- package/paragraph/Paragraph.d.ts +6 -0
- package/paragraph/Paragraph.js +38 -0
- package/paragraph/Paragraph.stories.tsx +44 -0
- package/password-input/PasswordInput.js +23 -19
- package/password-input/PasswordInput.stories.tsx +3 -3
- package/password-input/PasswordInput.test.js +181 -0
- package/password-input/types.d.ts +26 -21
- package/progress-bar/ProgressBar.d.ts +2 -2
- package/progress-bar/ProgressBar.js +59 -53
- package/progress-bar/ProgressBar.stories.jsx +45 -12
- package/progress-bar/ProgressBar.test.js +110 -0
- package/progress-bar/types.d.ts +3 -4
- package/quick-nav/QuickNav.d.ts +4 -0
- package/quick-nav/QuickNav.js +117 -0
- package/quick-nav/QuickNav.stories.tsx +356 -0
- package/quick-nav/types.d.ts +21 -0
- package/quick-nav/types.js +5 -0
- package/radio-group/Radio.d.ts +4 -0
- package/radio-group/Radio.js +156 -0
- package/radio-group/RadioGroup.d.ts +4 -0
- package/radio-group/RadioGroup.js +283 -0
- package/radio-group/RadioGroup.stories.tsx +214 -0
- package/radio-group/RadioGroup.test.js +722 -0
- package/radio-group/types.d.ts +114 -0
- package/radio-group/types.js +5 -0
- package/resultsetTable/Icons.d.ts +7 -0
- package/resultsetTable/Icons.js +51 -0
- package/resultsetTable/ResultsetTable.d.ts +1 -1
- package/resultsetTable/ResultsetTable.js +53 -107
- package/resultsetTable/ResultsetTable.stories.tsx +300 -0
- package/resultsetTable/ResultsetTable.test.js +325 -0
- package/resultsetTable/types.d.ts +8 -4
- package/select/Icons.d.ts +10 -0
- package/select/Icons.js +93 -0
- package/select/Listbox.d.ts +4 -0
- package/select/Listbox.js +169 -0
- package/select/Option.d.ts +4 -0
- package/select/Option.js +97 -0
- package/select/Select.d.ts +4 -0
- package/select/Select.js +196 -397
- package/select/Select.stories.tsx +600 -201
- package/select/Select.test.js +2228 -0
- package/select/types.d.ts +210 -0
- package/select/types.js +5 -0
- package/sidenav/Sidenav.d.ts +6 -5
- package/sidenav/Sidenav.js +184 -54
- package/sidenav/Sidenav.stories.tsx +249 -132
- package/sidenav/Sidenav.test.js +44 -0
- package/sidenav/types.d.ts +50 -27
- package/slider/Slider.d.ts +2 -2
- package/slider/Slider.js +124 -98
- package/slider/Slider.stories.tsx +72 -9
- package/slider/Slider.test.js +250 -0
- package/slider/types.d.ts +10 -2
- package/spinner/Spinner.js +5 -5
- package/spinner/Spinner.stories.jsx +27 -0
- package/spinner/Spinner.test.js +64 -0
- package/switch/Switch.d.ts +2 -2
- package/switch/Switch.js +152 -69
- package/switch/Switch.stories.tsx +54 -43
- package/switch/Switch.test.js +225 -0
- package/switch/types.d.ts +12 -4
- package/table/Table.js +3 -3
- package/table/Table.stories.jsx +81 -1
- package/table/Table.test.js +26 -0
- package/tabs/Tab.d.ts +4 -0
- package/tabs/Tab.js +133 -0
- package/tabs/Tabs.d.ts +1 -1
- package/tabs/Tabs.js +364 -110
- package/tabs/Tabs.stories.tsx +226 -0
- package/tabs/Tabs.test.js +351 -0
- package/tabs/types.d.ts +39 -17
- package/tabs-nav/NavTabs.d.ts +8 -0
- package/tabs-nav/NavTabs.js +125 -0
- package/tabs-nav/NavTabs.stories.tsx +172 -0
- package/tabs-nav/NavTabs.test.js +82 -0
- package/tabs-nav/Tab.d.ts +4 -0
- package/tabs-nav/Tab.js +128 -0
- package/tabs-nav/types.d.ts +53 -0
- package/tabs-nav/types.js +5 -0
- package/tag/Tag.d.ts +1 -1
- package/tag/Tag.js +19 -29
- package/tag/Tag.stories.tsx +26 -29
- package/tag/Tag.test.js +60 -0
- package/tag/types.d.ts +23 -14
- package/text-input/Icons.d.ts +8 -0
- package/text-input/Icons.js +60 -0
- package/text-input/Suggestion.d.ts +4 -0
- package/text-input/Suggestion.js +84 -0
- package/text-input/Suggestions.d.ts +4 -0
- package/text-input/Suggestions.js +134 -0
- package/text-input/TextInput.js +231 -343
- package/text-input/TextInput.stories.tsx +569 -0
- package/text-input/TextInput.test.js +1724 -0
- package/text-input/types.d.ts +63 -23
- package/textarea/Textarea.d.ts +4 -0
- package/textarea/Textarea.js +39 -79
- package/textarea/Textarea.stories.jsx +37 -15
- package/textarea/Textarea.test.js +437 -0
- package/textarea/types.d.ts +137 -0
- package/textarea/types.js +5 -0
- package/toggle-group/ToggleGroup.d.ts +4 -0
- package/toggle-group/ToggleGroup.js +18 -46
- package/toggle-group/ToggleGroup.stories.tsx +69 -32
- package/toggle-group/ToggleGroup.test.js +156 -0
- package/toggle-group/types.d.ts +105 -0
- package/toggle-group/types.js +5 -0
- 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/typography/types.js +5 -0
- package/useTheme.d.ts +2 -0
- package/useTheme.js +2 -2
- package/useTranslatedLabels.d.ts +2 -0
- package/useTranslatedLabels.js +20 -0
- package/wizard/Wizard.d.ts +1 -1
- package/wizard/Wizard.js +112 -58
- package/wizard/{Wizard.stories.jsx → Wizard.stories.tsx} +48 -19
- package/wizard/Wizard.test.js +141 -0
- package/wizard/types.d.ts +13 -12
- package/ThemeContext.js +0 -246
- package/V3Select/V3Select.js +0 -455
- package/V3Select/index.d.ts +0 -27
- package/V3Textarea/V3Textarea.js +0 -260
- package/V3Textarea/index.d.ts +0 -27
- package/chip/index.d.ts +0 -22
- package/common/RequiredComponent.js +0 -32
- package/date/Date.js +0 -373
- package/date/index.d.ts +0 -27
- package/footer/Footer.stories.jsx +0 -151
- package/input-text/Icons.js +0 -22
- package/input-text/InputText.js +0 -611
- package/input-text/index.d.ts +0 -36
- package/radio/Radio.d.ts +0 -4
- package/radio/Radio.js +0 -174
- package/radio/Radio.stories.tsx +0 -192
- package/radio/types.d.ts +0 -54
- package/select/index.d.ts +0 -131
- package/textarea/index.d.ts +0 -117
- package/toggle/Toggle.js +0 -186
- package/toggle/index.d.ts +0 -21
- package/toggle-group/index.d.ts +0 -21
- package/upload/Upload.js +0 -201
- package/upload/buttons-upload/ButtonsUpload.js +0 -111
- package/upload/buttons-upload/Icons.js +0 -40
- package/upload/dragAndDropArea/DragAndDropArea.js +0 -225
- package/upload/dragAndDropArea/Icons.js +0 -39
- package/upload/file-upload/FileToUpload.js +0 -115
- package/upload/file-upload/Icons.js +0 -66
- package/upload/files-upload/FilesToUpload.js +0 -109
- package/upload/index.d.ts +0 -15
- package/upload/transaction/Icons.js +0 -160
- package/upload/transaction/Transaction.js +0 -104
- package/upload/transactions/Transactions.js +0 -94
- package/wizard/Icons.js +0 -65
package/file-input/FileInput.js
CHANGED
|
@@ -15,6 +15,8 @@ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/hel
|
|
|
15
15
|
|
|
16
16
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
17
17
|
|
|
18
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
19
|
+
|
|
18
20
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
19
21
|
|
|
20
22
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
@@ -29,7 +31,9 @@ var _uuid = require("uuid");
|
|
|
29
31
|
|
|
30
32
|
var _variables = require("../common/variables.js");
|
|
31
33
|
|
|
32
|
-
var _useTheme = _interopRequireDefault(require("../useTheme
|
|
34
|
+
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
35
|
+
|
|
36
|
+
var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
|
|
33
37
|
|
|
34
38
|
var _Button = _interopRequireDefault(require("../button/Button"));
|
|
35
39
|
|
|
@@ -41,6 +45,10 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
|
|
|
41
45
|
|
|
42
46
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof3(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
43
47
|
|
|
48
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
49
|
+
|
|
50
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
51
|
+
|
|
44
52
|
var audioIcon = /*#__PURE__*/_react["default"].createElement("svg", {
|
|
45
53
|
xmlns: "http://www.w3.org/2000/svg",
|
|
46
54
|
width: "24",
|
|
@@ -80,13 +88,26 @@ var fileIcon = /*#__PURE__*/_react["default"].createElement("svg", {
|
|
|
80
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"
|
|
81
89
|
}));
|
|
82
90
|
|
|
83
|
-
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) {
|
|
84
103
|
var _ref$name = _ref.name,
|
|
85
104
|
name = _ref$name === void 0 ? "" : _ref$name,
|
|
86
105
|
_ref$mode = _ref.mode,
|
|
87
106
|
mode = _ref$mode === void 0 ? "file" : _ref$mode,
|
|
88
107
|
_ref$label = _ref.label,
|
|
89
108
|
label = _ref$label === void 0 ? "" : _ref$label,
|
|
109
|
+
buttonLabel = _ref.buttonLabel,
|
|
110
|
+
dropAreaLabel = _ref.dropAreaLabel,
|
|
90
111
|
_ref$helperText = _ref.helperText,
|
|
91
112
|
helperText = _ref$helperText === void 0 ? "" : _ref$helperText,
|
|
92
113
|
accept = _ref.accept,
|
|
@@ -119,49 +140,10 @@ var DxcFileInput = function DxcFileInput(_ref) {
|
|
|
119
140
|
fileInputId = _useState6[0];
|
|
120
141
|
|
|
121
142
|
var colorsTheme = (0, _useTheme["default"])();
|
|
122
|
-
(0,
|
|
123
|
-
if (value) {
|
|
124
|
-
setFiles(value);
|
|
125
|
-
} else {
|
|
126
|
-
setFiles([]);
|
|
127
|
-
}
|
|
128
|
-
}, [value]);
|
|
129
|
-
|
|
130
|
-
var handleClick = function handleClick() {
|
|
131
|
-
document.getElementById(fileInputId).click();
|
|
132
|
-
};
|
|
143
|
+
var translatedLabels = (0, _useTranslatedLabels["default"])();
|
|
133
144
|
|
|
134
145
|
var checkFileSize = function checkFileSize(file) {
|
|
135
|
-
if (file.size < minSize)
|
|
136
|
-
return "File size must be greater than min size.";
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
if (file.size > maxSize) {
|
|
140
|
-
return "File size must be less than max size.";
|
|
141
|
-
}
|
|
142
|
-
};
|
|
143
|
-
|
|
144
|
-
var getFilePreview = function getFilePreview(file) {
|
|
145
|
-
if (file.type.includes("video")) {
|
|
146
|
-
return videoIcon;
|
|
147
|
-
}
|
|
148
|
-
|
|
149
|
-
if (file.type.includes("audio")) {
|
|
150
|
-
return audioIcon;
|
|
151
|
-
}
|
|
152
|
-
|
|
153
|
-
if (file.type.includes("image")) {
|
|
154
|
-
return new Promise(function (resolve) {
|
|
155
|
-
var reader = new FileReader();
|
|
156
|
-
reader.readAsDataURL(file);
|
|
157
|
-
|
|
158
|
-
reader.onload = function (e) {
|
|
159
|
-
resolve(e.target.result);
|
|
160
|
-
};
|
|
161
|
-
});
|
|
162
|
-
}
|
|
163
|
-
|
|
164
|
-
return fileIcon;
|
|
146
|
+
if (file.size < minSize) return translatedLabels.fileInput.fileSizeGreaterThanErrorMessage;else if (file.size > maxSize) return translatedLabels.fileInput.fileSizeLessThanErrorMessage;
|
|
165
147
|
};
|
|
166
148
|
|
|
167
149
|
var getFilesToAdd = /*#__PURE__*/function () {
|
|
@@ -175,10 +157,10 @@ var DxcFileInput = function DxcFileInput(_ref) {
|
|
|
175
157
|
return Promise.all(selectedFiles.map(function (selectedFile) {
|
|
176
158
|
return getFilePreview(selectedFile);
|
|
177
159
|
})).then(function (previews) {
|
|
178
|
-
return selectedFiles.map(function (
|
|
160
|
+
return selectedFiles.map(function (file, index) {
|
|
179
161
|
var fileInfo = {
|
|
180
|
-
file:
|
|
181
|
-
error: checkFileSize(
|
|
162
|
+
file: file,
|
|
163
|
+
error: checkFileSize(file),
|
|
182
164
|
preview: previews[index]
|
|
183
165
|
};
|
|
184
166
|
return fileInfo;
|
|
@@ -220,11 +202,7 @@ var DxcFileInput = function DxcFileInput(_ref) {
|
|
|
220
202
|
case 3:
|
|
221
203
|
filesToAdd = _context2.sent;
|
|
222
204
|
finalFiles = [].concat((0, _toConsumableArray2["default"])(files), (0, _toConsumableArray2["default"])(filesToAdd));
|
|
223
|
-
|
|
224
|
-
if (typeof callbackFile === "function") {
|
|
225
|
-
callbackFile(finalFiles);
|
|
226
|
-
}
|
|
227
|
-
|
|
205
|
+
callbackFile === null || callbackFile === void 0 ? void 0 : callbackFile(finalFiles);
|
|
228
206
|
_context2.next = 19;
|
|
229
207
|
break;
|
|
230
208
|
|
|
@@ -251,10 +229,7 @@ var DxcFileInput = function DxcFileInput(_ref) {
|
|
|
251
229
|
|
|
252
230
|
case 17:
|
|
253
231
|
fileToAdd = _context2.t0;
|
|
254
|
-
|
|
255
|
-
if (typeof callbackFile === "function") {
|
|
256
|
-
callbackFile(fileToAdd);
|
|
257
|
-
}
|
|
232
|
+
callbackFile === null || callbackFile === void 0 ? void 0 : callbackFile(fileToAdd);
|
|
258
233
|
|
|
259
234
|
case 19:
|
|
260
235
|
case "end":
|
|
@@ -277,17 +252,18 @@ var DxcFileInput = function DxcFileInput(_ref) {
|
|
|
277
252
|
addFile(filesArray);
|
|
278
253
|
};
|
|
279
254
|
|
|
280
|
-
var onDelete = function
|
|
255
|
+
var onDelete = (0, _react.useCallback)(function (fileName) {
|
|
281
256
|
var filesCopy = (0, _toConsumableArray2["default"])(files);
|
|
282
257
|
var fileToRemove = filesCopy.find(function (file) {
|
|
283
258
|
return file.file.name === fileName;
|
|
284
259
|
});
|
|
285
260
|
var fileIndex = filesCopy.indexOf(fileToRemove);
|
|
286
261
|
filesCopy.splice(fileIndex, 1);
|
|
262
|
+
callbackFile === null || callbackFile === void 0 ? void 0 : callbackFile(filesCopy);
|
|
263
|
+
}, [files, callbackFile]);
|
|
287
264
|
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
}
|
|
265
|
+
var handleClick = function handleClick() {
|
|
266
|
+
document.getElementById(fileInputId).click();
|
|
291
267
|
};
|
|
292
268
|
|
|
293
269
|
var handleDrag = function handleDrag(e) {
|
|
@@ -296,18 +272,14 @@ var DxcFileInput = function DxcFileInput(_ref) {
|
|
|
296
272
|
};
|
|
297
273
|
|
|
298
274
|
var handleDragIn = function handleDragIn(e) {
|
|
299
|
-
|
|
300
|
-
e.stopPropagation();
|
|
275
|
+
var _e$dataTransfer$items;
|
|
301
276
|
|
|
302
|
-
if (
|
|
303
|
-
setIsDragging(true);
|
|
304
|
-
}
|
|
277
|
+
if (((_e$dataTransfer$items = e.dataTransfer.items) === null || _e$dataTransfer$items === void 0 ? void 0 : _e$dataTransfer$items.length) > 0) setIsDragging(true);
|
|
305
278
|
};
|
|
306
279
|
|
|
307
280
|
var handleDragOut = function handleDragOut(e) {
|
|
308
|
-
|
|
309
|
-
e.
|
|
310
|
-
setIsDragging(false);
|
|
281
|
+
// only if dragged items leave container (outside, not to childs)
|
|
282
|
+
if (!e.currentTarget.contains(e.relatedTarget)) setIsDragging(false);
|
|
311
283
|
};
|
|
312
284
|
|
|
313
285
|
var handleDrop = function handleDrop(e) {
|
|
@@ -316,7 +288,7 @@ var DxcFileInput = function DxcFileInput(_ref) {
|
|
|
316
288
|
setIsDragging(false);
|
|
317
289
|
var filesObject = e.dataTransfer.files;
|
|
318
290
|
|
|
319
|
-
if (filesObject
|
|
291
|
+
if ((filesObject === null || filesObject === void 0 ? void 0 : filesObject.length) > 0) {
|
|
320
292
|
var filesArray = Object.keys(filesObject).map(function (key) {
|
|
321
293
|
return filesObject[key];
|
|
322
294
|
});
|
|
@@ -324,52 +296,129 @@ var DxcFileInput = function DxcFileInput(_ref) {
|
|
|
324
296
|
}
|
|
325
297
|
};
|
|
326
298
|
|
|
299
|
+
(0, _react.useEffect)(function () {
|
|
300
|
+
var getFiles = /*#__PURE__*/function () {
|
|
301
|
+
var _ref4 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4() {
|
|
302
|
+
var valueFiles;
|
|
303
|
+
return _regenerator["default"].wrap(function _callee4$(_context4) {
|
|
304
|
+
while (1) {
|
|
305
|
+
switch (_context4.prev = _context4.next) {
|
|
306
|
+
case 0:
|
|
307
|
+
if (!value) {
|
|
308
|
+
_context4.next = 5;
|
|
309
|
+
break;
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
_context4.next = 3;
|
|
313
|
+
return Promise.all(value.map( /*#__PURE__*/function () {
|
|
314
|
+
var _ref5 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3(file) {
|
|
315
|
+
var preview;
|
|
316
|
+
return _regenerator["default"].wrap(function _callee3$(_context3) {
|
|
317
|
+
while (1) {
|
|
318
|
+
switch (_context3.prev = _context3.next) {
|
|
319
|
+
case 0:
|
|
320
|
+
if (!file.preview) {
|
|
321
|
+
_context3.next = 4;
|
|
322
|
+
break;
|
|
323
|
+
}
|
|
324
|
+
|
|
325
|
+
return _context3.abrupt("return", file);
|
|
326
|
+
|
|
327
|
+
case 4:
|
|
328
|
+
_context3.next = 6;
|
|
329
|
+
return getFilePreview(file.file);
|
|
330
|
+
|
|
331
|
+
case 6:
|
|
332
|
+
preview = _context3.sent;
|
|
333
|
+
return _context3.abrupt("return", _objectSpread(_objectSpread({}, file), {}, {
|
|
334
|
+
preview: preview
|
|
335
|
+
}));
|
|
336
|
+
|
|
337
|
+
case 8:
|
|
338
|
+
case "end":
|
|
339
|
+
return _context3.stop();
|
|
340
|
+
}
|
|
341
|
+
}
|
|
342
|
+
}, _callee3);
|
|
343
|
+
}));
|
|
344
|
+
|
|
345
|
+
return function (_x3) {
|
|
346
|
+
return _ref5.apply(this, arguments);
|
|
347
|
+
};
|
|
348
|
+
}()));
|
|
349
|
+
|
|
350
|
+
case 3:
|
|
351
|
+
valueFiles = _context4.sent;
|
|
352
|
+
setFiles(valueFiles);
|
|
353
|
+
|
|
354
|
+
case 5:
|
|
355
|
+
case "end":
|
|
356
|
+
return _context4.stop();
|
|
357
|
+
}
|
|
358
|
+
}
|
|
359
|
+
}, _callee4);
|
|
360
|
+
}));
|
|
361
|
+
|
|
362
|
+
return function getFiles() {
|
|
363
|
+
return _ref4.apply(this, arguments);
|
|
364
|
+
};
|
|
365
|
+
}();
|
|
366
|
+
|
|
367
|
+
getFiles();
|
|
368
|
+
}, [value]);
|
|
327
369
|
return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
328
370
|
theme: colorsTheme.fileInput
|
|
329
371
|
}, /*#__PURE__*/_react["default"].createElement(FileInputContainer, {
|
|
330
372
|
margin: margin,
|
|
331
|
-
name: name
|
|
373
|
+
name: name,
|
|
374
|
+
ref: ref
|
|
332
375
|
}, /*#__PURE__*/_react["default"].createElement(Label, {
|
|
333
376
|
htmlFor: fileInputId,
|
|
334
377
|
disabled: disabled
|
|
335
378
|
}, label), /*#__PURE__*/_react["default"].createElement(HelperText, {
|
|
336
379
|
disabled: disabled
|
|
337
380
|
}, helperText), mode === "file" ? /*#__PURE__*/_react["default"].createElement(FileContainer, {
|
|
381
|
+
singleFileMode: !multiple && files.length === 1
|
|
382
|
+
}, /*#__PURE__*/_react["default"].createElement(ValueInput, {
|
|
383
|
+
id: fileInputId,
|
|
384
|
+
type: "file",
|
|
385
|
+
accept: accept,
|
|
338
386
|
multiple: multiple,
|
|
339
|
-
|
|
340
|
-
|
|
387
|
+
onChange: selectFiles,
|
|
388
|
+
name: name,
|
|
389
|
+
disabled: disabled,
|
|
390
|
+
readOnly: true,
|
|
391
|
+
"aria-hidden": "true"
|
|
392
|
+
}), /*#__PURE__*/_react["default"].createElement(_Button["default"], {
|
|
341
393
|
mode: "secondary",
|
|
342
|
-
label:
|
|
394
|
+
label: buttonLabel !== null && buttonLabel !== void 0 ? buttonLabel : multiple ? translatedLabels.fileInput.multipleButtonLabelDefault : translatedLabels.fileInput.singleButtonLabelDefault,
|
|
343
395
|
onClick: handleClick,
|
|
344
396
|
disabled: disabled,
|
|
345
|
-
size: "
|
|
397
|
+
size: "fitContent",
|
|
346
398
|
tabIndex: tabIndex
|
|
347
|
-
}), /*#__PURE__*/_react["default"].createElement(
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
accept: accept,
|
|
351
|
-
multiple: multiple,
|
|
352
|
-
onChange: selectFiles
|
|
353
|
-
}), files.length === 1 && files.map(function (file) {
|
|
354
|
-
return file.error && mode === "file" && !multiple && /*#__PURE__*/_react["default"].createElement(ErrorMessage, null, file.error);
|
|
355
|
-
})), files.map(function (file) {
|
|
356
|
-
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(FileItemContainer, {
|
|
357
|
-
mode: mode,
|
|
358
|
-
multiple: multiple,
|
|
359
|
-
files: files
|
|
360
|
-
}, /*#__PURE__*/_react["default"].createElement(_FileItem["default"], {
|
|
361
|
-
mode: mode,
|
|
362
|
-
multiple: multiple,
|
|
363
|
-
name: file.file.name,
|
|
399
|
+
}), files.length > 0 && /*#__PURE__*/_react["default"].createElement(FileItemListContainer, null, files.map(function (file, index) {
|
|
400
|
+
return /*#__PURE__*/_react["default"].createElement(_FileItem["default"], {
|
|
401
|
+
fileName: file.file.name,
|
|
364
402
|
error: file.error,
|
|
403
|
+
singleFileMode: !multiple && files.length === 1,
|
|
365
404
|
showPreview: mode === "file" && !multiple ? false : showPreview,
|
|
366
|
-
numFiles: files.length,
|
|
367
405
|
preview: file.preview,
|
|
368
406
|
type: file.file.type,
|
|
369
407
|
onDelete: onDelete,
|
|
370
|
-
tabIndex: tabIndex
|
|
371
|
-
|
|
372
|
-
|
|
408
|
+
tabIndex: tabIndex,
|
|
409
|
+
key: "file-".concat(index)
|
|
410
|
+
});
|
|
411
|
+
}))) : /*#__PURE__*/_react["default"].createElement(Container, null, /*#__PURE__*/_react["default"].createElement(ValueInput, {
|
|
412
|
+
id: fileInputId,
|
|
413
|
+
type: "file",
|
|
414
|
+
accept: accept,
|
|
415
|
+
multiple: multiple,
|
|
416
|
+
onChange: selectFiles,
|
|
417
|
+
name: name,
|
|
418
|
+
disabled: disabled,
|
|
419
|
+
readOnly: true,
|
|
420
|
+
"aria-hidden": "true"
|
|
421
|
+
}), /*#__PURE__*/_react["default"].createElement(DragDropArea, {
|
|
373
422
|
isDragging: isDragging,
|
|
374
423
|
disabled: disabled,
|
|
375
424
|
mode: mode,
|
|
@@ -377,41 +426,30 @@ var DxcFileInput = function DxcFileInput(_ref) {
|
|
|
377
426
|
onDragEnter: handleDragIn,
|
|
378
427
|
onDragOver: handleDrag,
|
|
379
428
|
onDragLeave: handleDragOut
|
|
380
|
-
}, /*#__PURE__*/_react["default"].createElement(ButtonContainer, {
|
|
381
|
-
mode: mode
|
|
382
429
|
}, /*#__PURE__*/_react["default"].createElement(_Button["default"], {
|
|
383
430
|
mode: "secondary",
|
|
384
|
-
label:
|
|
431
|
+
label: buttonLabel !== null && buttonLabel !== void 0 ? buttonLabel : translatedLabels.fileInput.dropAreaButtonLabelDefault,
|
|
385
432
|
onClick: handleClick,
|
|
386
433
|
disabled: disabled,
|
|
387
434
|
size: "fitContent"
|
|
388
|
-
}), /*#__PURE__*/_react["default"].createElement(
|
|
389
|
-
id: fileInputId,
|
|
390
|
-
type: "file",
|
|
391
|
-
accept: accept,
|
|
392
|
-
multiple: multiple,
|
|
393
|
-
onChange: selectFiles
|
|
394
|
-
})), /*#__PURE__*/_react["default"].createElement(DropLabel, {
|
|
435
|
+
}), mode === "dropzone" ? /*#__PURE__*/_react["default"].createElement(DropzoneLabel, {
|
|
395
436
|
disabled: disabled
|
|
396
|
-
},
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
}, /*#__PURE__*/_react["default"].createElement(_FileItem["default"], {
|
|
402
|
-
mode: mode,
|
|
403
|
-
multiple: multiple,
|
|
404
|
-
name: file.file.name,
|
|
437
|
+
}, dropAreaLabel !== null && dropAreaLabel !== void 0 ? dropAreaLabel : multiple ? translatedLabels.fileInput.multipleDropAreaLabelDefault : translatedLabels.fileInput.singleDropAreaLabelDefault) : /*#__PURE__*/_react["default"].createElement(FiledropLabel, {
|
|
438
|
+
disabled: disabled
|
|
439
|
+
}, 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) {
|
|
440
|
+
return /*#__PURE__*/_react["default"].createElement(_FileItem["default"], {
|
|
441
|
+
fileName: file.file.name,
|
|
405
442
|
error: file.error,
|
|
443
|
+
singleFileMode: false,
|
|
406
444
|
showPreview: showPreview,
|
|
407
|
-
numFiles: files.length,
|
|
408
445
|
preview: file.preview,
|
|
409
446
|
type: file.file.type,
|
|
410
447
|
onDelete: onDelete,
|
|
411
|
-
tabIndex: tabIndex
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
};
|
|
448
|
+
tabIndex: tabIndex,
|
|
449
|
+
key: "file-".concat(index)
|
|
450
|
+
});
|
|
451
|
+
}))), mode === "file" && !multiple && files.length === 1 && files[0].error && /*#__PURE__*/_react["default"].createElement(ErrorMessage, null, files[0].error)));
|
|
452
|
+
});
|
|
415
453
|
|
|
416
454
|
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) {
|
|
417
455
|
return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
|
|
@@ -449,35 +487,35 @@ var HelperText = _styledComponents["default"].span(_templateObject3 || (_templat
|
|
|
449
487
|
return props.theme.helperTextLineHeight;
|
|
450
488
|
});
|
|
451
489
|
|
|
452
|
-
var
|
|
453
|
-
return props.
|
|
490
|
+
var FileContainer = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n ", "\n margin-top: 0.25rem;\n"])), function (props) {
|
|
491
|
+
return props.singleFileMode ? "flex-direction: row; column-gap: 0.25rem;" : "flex-direction: column; row-gap: 0.25rem;";
|
|
492
|
+
});
|
|
493
|
+
|
|
494
|
+
var ValueInput = _styledComponents["default"].input(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: none;\n"])));
|
|
495
|
+
|
|
496
|
+
var FileItemListContainer = _styledComponents["default"].div(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n row-gap: 0.25rem;\n"])));
|
|
497
|
+
|
|
498
|
+
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"])));
|
|
499
|
+
|
|
500
|
+
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) {
|
|
501
|
+
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;";
|
|
454
502
|
}, function (props) {
|
|
455
|
-
return props.mode === "filedrop" ? "
|
|
503
|
+
return props.mode === "filedrop" ? "calc(4px - ".concat(props.theme.dropBorderThickness, ") 1rem calc(4px - ").concat(props.theme.dropBorderThickness, ") calc(4px - ").concat(props.theme.dropBorderThickness, ")") : "1rem";
|
|
456
504
|
}, function (props) {
|
|
457
505
|
return props.theme.dropBorderRadius;
|
|
458
506
|
}, function (props) {
|
|
459
|
-
return
|
|
507
|
+
return props.theme.dropBorderThickness;
|
|
460
508
|
}, function (props) {
|
|
461
|
-
return
|
|
509
|
+
return props.theme.dropBorderStyle;
|
|
462
510
|
}, function (props) {
|
|
463
|
-
return props.
|
|
511
|
+
return props.disabled ? props.theme.disabledDropBorderColor : props.theme.dropBorderColor;
|
|
464
512
|
}, function (props) {
|
|
465
|
-
return props.
|
|
513
|
+
return props.isDragging && "\n background-color: ".concat(props.theme.dragoverDropBackgroundColor, ";\n border-color: transparent;\n box-shadow: 0 0 0 2px ").concat(props.theme.focusDropBorderColor, ";\n ");
|
|
466
514
|
}, function (props) {
|
|
467
515
|
return props.disabled && "not-allowed";
|
|
468
516
|
});
|
|
469
517
|
|
|
470
|
-
var
|
|
471
|
-
return props.multiple || props.files.length > 1 ? "column" : "row";
|
|
472
|
-
});
|
|
473
|
-
|
|
474
|
-
var ButtonErrorContainer = _styledComponents["default"].div(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n margin-top: 0.25rem;\n\n input[type=\"file\"] {\n visibility: hidden;\n position: absolute;\n width: 0px;\n height: 0px;\n }\n"])));
|
|
475
|
-
|
|
476
|
-
var ButtonContainer = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n padding: ", ";\n input[type=\"file\"] {\n visibility: hidden;\n position: absolute;\n width: 0px;\n height: 0px;\n }\n"])), function (props) {
|
|
477
|
-
return props.mode === "filedrop" ? "2px 12px 2px 2px" : "47px 122px 8px 122px";
|
|
478
|
-
});
|
|
479
|
-
|
|
480
|
-
var DropLabel = _styledComponents["default"].span(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-weight: ", ";\n"])), function (props) {
|
|
518
|
+
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) {
|
|
481
519
|
return props.disabled ? props.theme.disabledDropLabelFontColor : props.theme.dropLabelFontColor;
|
|
482
520
|
}, function (props) {
|
|
483
521
|
return props.theme.dropLabelFontFamily;
|
|
@@ -487,15 +525,17 @@ var DropLabel = _styledComponents["default"].span(_templateObject8 || (_template
|
|
|
487
525
|
return props.theme.dropLabelFontWeight;
|
|
488
526
|
});
|
|
489
527
|
|
|
490
|
-
var
|
|
491
|
-
|
|
492
|
-
var FileItemContainer = _styledComponents["default"].div(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2["default"])(["\n margin-top: ", ";\n margin-left: ", ";\n"])), function (props) {
|
|
493
|
-
return (props.multiple || props.files.length > 1 || props.mode !== "file") && "4px";
|
|
528
|
+
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) {
|
|
529
|
+
return props.disabled ? props.theme.disabledDropLabelFontColor : props.theme.dropLabelFontColor;
|
|
494
530
|
}, function (props) {
|
|
495
|
-
return props.
|
|
531
|
+
return props.theme.dropLabelFontFamily;
|
|
532
|
+
}, function (props) {
|
|
533
|
+
return props.theme.dropLabelFontSize;
|
|
534
|
+
}, function (props) {
|
|
535
|
+
return props.theme.dropLabelFontWeight;
|
|
496
536
|
});
|
|
497
537
|
|
|
498
|
-
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"])), function (props) {
|
|
538
|
+
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) {
|
|
499
539
|
return props.theme.errorMessageFontColor;
|
|
500
540
|
}, function (props) {
|
|
501
541
|
return props.theme.errorMessageFontFamily;
|