@dxc-technology/halstack-react 0.0.0-9b45027 → 0.0.0-9bd9511

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (294) hide show
  1. package/BackgroundColorContext.d.ts +2 -2
  2. package/BackgroundColorContext.js +1 -11
  3. package/HalstackContext.d.ts +13 -0
  4. package/HalstackContext.js +318 -0
  5. package/accordion/Accordion.d.ts +1 -1
  6. package/accordion/Accordion.js +124 -179
  7. package/accordion/Accordion.stories.tsx +115 -27
  8. package/accordion/Accordion.test.js +56 -0
  9. package/accordion/types.d.ts +12 -11
  10. package/accordion-group/AccordionGroup.d.ts +1 -1
  11. package/accordion-group/AccordionGroup.js +28 -77
  12. package/accordion-group/AccordionGroup.stories.tsx +28 -2
  13. package/accordion-group/AccordionGroup.test.js +108 -0
  14. package/accordion-group/types.d.ts +19 -12
  15. package/alert/Alert.js +18 -46
  16. package/alert/Alert.stories.tsx +28 -0
  17. package/alert/Alert.test.js +75 -0
  18. package/alert/types.d.ts +3 -3
  19. package/badge/Badge.d.ts +4 -0
  20. package/badge/Badge.js +6 -16
  21. package/badge/types.d.ts +5 -0
  22. package/bleed/Bleed.d.ts +2 -2
  23. package/bleed/Bleed.js +14 -55
  24. package/bleed/Bleed.stories.tsx +94 -95
  25. package/bleed/types.d.ts +26 -2
  26. package/box/Box.js +34 -63
  27. package/box/Box.stories.tsx +15 -0
  28. package/box/Box.test.js +13 -0
  29. package/box/types.d.ts +5 -4
  30. package/bulleted-list/BulletedList.d.ts +7 -0
  31. package/bulleted-list/BulletedList.js +98 -0
  32. package/bulleted-list/BulletedList.stories.tsx +200 -0
  33. package/bulleted-list/types.d.ts +11 -0
  34. package/bulleted-list/types.js +5 -0
  35. package/button/Button.js +61 -100
  36. package/button/Button.stories.tsx +159 -8
  37. package/button/Button.test.js +26 -0
  38. package/button/types.d.ts +8 -8
  39. package/card/Card.js +44 -70
  40. package/card/Card.test.js +39 -0
  41. package/card/types.d.ts +4 -3
  42. package/checkbox/Checkbox.d.ts +2 -2
  43. package/checkbox/Checkbox.js +115 -162
  44. package/checkbox/Checkbox.stories.tsx +198 -130
  45. package/checkbox/Checkbox.test.js +128 -0
  46. package/checkbox/types.d.ts +14 -6
  47. package/chip/Chip.d.ts +1 -1
  48. package/chip/Chip.js +29 -91
  49. package/chip/Chip.stories.tsx +98 -13
  50. package/chip/Chip.test.js +42 -0
  51. package/chip/types.d.ts +8 -16
  52. package/common/utils.js +1 -6
  53. package/common/variables.d.ts +1431 -0
  54. package/common/variables.js +480 -554
  55. package/date-input/Calendar.d.ts +4 -0
  56. package/date-input/Calendar.js +215 -0
  57. package/date-input/DateInput.js +164 -300
  58. package/date-input/DateInput.stories.tsx +199 -33
  59. package/date-input/DateInput.test.js +648 -0
  60. package/date-input/DatePicker.d.ts +4 -0
  61. package/date-input/DatePicker.js +116 -0
  62. package/date-input/Icons.d.ts +6 -0
  63. package/date-input/Icons.js +63 -0
  64. package/date-input/YearPicker.d.ts +4 -0
  65. package/date-input/YearPicker.js +101 -0
  66. package/date-input/types.d.ts +71 -13
  67. package/dialog/Dialog.js +52 -84
  68. package/dialog/Dialog.stories.tsx +99 -22
  69. package/dialog/Dialog.test.js +56 -0
  70. package/dialog/types.d.ts +4 -3
  71. package/dropdown/Dropdown.d.ts +1 -1
  72. package/dropdown/Dropdown.js +240 -323
  73. package/dropdown/Dropdown.stories.tsx +255 -64
  74. package/dropdown/Dropdown.test.js +479 -0
  75. package/dropdown/DropdownMenu.d.ts +4 -0
  76. package/dropdown/DropdownMenu.js +60 -0
  77. package/dropdown/DropdownMenuItem.d.ts +4 -0
  78. package/dropdown/DropdownMenuItem.js +70 -0
  79. package/dropdown/types.d.ts +30 -19
  80. package/file-input/FileInput.d.ts +2 -2
  81. package/file-input/FileInput.js +224 -351
  82. package/file-input/FileInput.stories.tsx +122 -11
  83. package/file-input/FileInput.test.js +445 -0
  84. package/file-input/FileItem.d.ts +4 -14
  85. package/file-input/FileItem.js +48 -97
  86. package/file-input/types.d.ts +24 -7
  87. package/flex/Flex.d.ts +4 -0
  88. package/flex/Flex.js +57 -0
  89. package/flex/Flex.stories.tsx +103 -0
  90. package/flex/types.d.ts +32 -0
  91. package/flex/types.js +5 -0
  92. package/footer/Footer.js +36 -143
  93. package/footer/Footer.stories.tsx +99 -1
  94. package/footer/Footer.test.js +92 -0
  95. package/footer/Icons.js +1 -5
  96. package/footer/types.d.ts +7 -6
  97. package/header/Header.js +112 -177
  98. package/header/Header.stories.tsx +189 -36
  99. package/header/Header.test.js +66 -0
  100. package/header/Icons.js +2 -6
  101. package/header/types.d.ts +4 -3
  102. package/heading/Heading.js +8 -29
  103. package/heading/Heading.test.js +169 -0
  104. package/heading/types.d.ts +3 -3
  105. package/inset/Inset.js +14 -55
  106. package/inset/Inset.stories.tsx +36 -36
  107. package/inset/types.d.ts +26 -2
  108. package/layout/ApplicationLayout.d.ts +16 -6
  109. package/layout/ApplicationLayout.js +71 -164
  110. package/layout/ApplicationLayout.stories.tsx +84 -93
  111. package/layout/Icons.d.ts +5 -0
  112. package/layout/Icons.js +11 -10
  113. package/layout/SidenavContext.d.ts +5 -0
  114. package/layout/SidenavContext.js +15 -0
  115. package/layout/types.d.ts +18 -33
  116. package/link/Link.d.ts +3 -2
  117. package/link/Link.js +61 -106
  118. package/link/Link.stories.tsx +159 -52
  119. package/link/Link.test.js +65 -0
  120. package/link/types.d.ts +9 -29
  121. package/main.d.ts +11 -15
  122. package/main.js +48 -121
  123. package/nav-tabs/NavTabs.d.ts +8 -0
  124. package/nav-tabs/NavTabs.js +95 -0
  125. package/nav-tabs/NavTabs.stories.tsx +260 -0
  126. package/nav-tabs/NavTabs.test.js +75 -0
  127. package/nav-tabs/Tab.d.ts +4 -0
  128. package/nav-tabs/Tab.js +120 -0
  129. package/nav-tabs/types.d.ts +53 -0
  130. package/nav-tabs/types.js +5 -0
  131. package/number-input/NumberInput.js +21 -38
  132. package/number-input/NumberInput.stories.tsx +5 -5
  133. package/number-input/NumberInput.test.js +406 -0
  134. package/number-input/NumberInputContext.js +0 -5
  135. package/number-input/numberInputContextTypes.d.ts +1 -1
  136. package/number-input/types.d.ts +21 -14
  137. package/package.json +22 -25
  138. package/paginator/Icons.d.ts +5 -0
  139. package/paginator/Icons.js +16 -38
  140. package/paginator/Paginator.js +31 -82
  141. package/paginator/Paginator.stories.tsx +24 -0
  142. package/paginator/Paginator.test.js +266 -0
  143. package/paginator/types.d.ts +1 -1
  144. package/paragraph/Paragraph.d.ts +6 -0
  145. package/paragraph/Paragraph.js +28 -0
  146. package/paragraph/Paragraph.stories.tsx +44 -0
  147. package/password-input/PasswordInput.js +28 -54
  148. package/password-input/PasswordInput.test.js +138 -0
  149. package/password-input/types.d.ts +18 -15
  150. package/progress-bar/ProgressBar.d.ts +2 -2
  151. package/progress-bar/ProgressBar.js +65 -84
  152. package/progress-bar/ProgressBar.stories.jsx +47 -12
  153. package/progress-bar/ProgressBar.test.js +93 -0
  154. package/progress-bar/types.d.ts +3 -4
  155. package/quick-nav/QuickNav.d.ts +4 -0
  156. package/quick-nav/QuickNav.js +95 -0
  157. package/quick-nav/QuickNav.stories.tsx +356 -0
  158. package/quick-nav/types.d.ts +21 -0
  159. package/quick-nav/types.js +5 -0
  160. package/radio-group/Radio.d.ts +1 -1
  161. package/radio-group/Radio.js +61 -66
  162. package/radio-group/RadioGroup.js +99 -129
  163. package/radio-group/RadioGroup.stories.tsx +171 -36
  164. package/radio-group/RadioGroup.test.js +620 -0
  165. package/radio-group/types.d.ts +85 -7
  166. package/resultsetTable/Icons.d.ts +7 -0
  167. package/resultsetTable/Icons.js +48 -0
  168. package/resultsetTable/ResultsetTable.js +66 -157
  169. package/resultsetTable/ResultsetTable.stories.tsx +50 -25
  170. package/resultsetTable/ResultsetTable.test.js +292 -0
  171. package/resultsetTable/types.d.ts +5 -5
  172. package/select/Icons.d.ts +10 -0
  173. package/select/Icons.js +90 -0
  174. package/select/Listbox.d.ts +4 -0
  175. package/select/Listbox.js +144 -0
  176. package/select/Option.d.ts +4 -0
  177. package/select/Option.js +81 -0
  178. package/select/Select.js +201 -485
  179. package/select/Select.stories.tsx +600 -201
  180. package/select/Select.test.js +1845 -0
  181. package/select/types.d.ts +62 -22
  182. package/sidenav/Sidenav.d.ts +6 -5
  183. package/sidenav/Sidenav.js +164 -74
  184. package/sidenav/Sidenav.stories.tsx +249 -149
  185. package/sidenav/Sidenav.test.js +37 -0
  186. package/sidenav/types.d.ts +50 -27
  187. package/slider/Slider.d.ts +2 -2
  188. package/slider/Slider.js +143 -164
  189. package/slider/Slider.stories.tsx +72 -9
  190. package/slider/Slider.test.js +222 -0
  191. package/slider/types.d.ts +11 -3
  192. package/spinner/Spinner.js +12 -41
  193. package/spinner/Spinner.stories.jsx +27 -1
  194. package/spinner/Spinner.test.js +55 -0
  195. package/spinner/types.d.ts +3 -3
  196. package/switch/Switch.d.ts +2 -2
  197. package/switch/Switch.js +148 -107
  198. package/switch/Switch.stories.tsx +53 -42
  199. package/switch/Switch.test.js +180 -0
  200. package/switch/types.d.ts +13 -5
  201. package/table/Table.js +5 -23
  202. package/table/Table.stories.jsx +80 -1
  203. package/table/Table.test.js +21 -0
  204. package/table/types.d.ts +3 -3
  205. package/tabs/Tab.d.ts +4 -0
  206. package/tabs/Tab.js +115 -0
  207. package/tabs/Tabs.d.ts +1 -1
  208. package/tabs/Tabs.js +318 -139
  209. package/tabs/Tabs.stories.tsx +119 -13
  210. package/tabs/Tabs.test.js +295 -0
  211. package/tabs/types.d.ts +21 -7
  212. package/tag/Tag.d.ts +1 -1
  213. package/tag/Tag.js +36 -75
  214. package/tag/Tag.stories.tsx +37 -27
  215. package/tag/Tag.test.js +49 -0
  216. package/tag/types.d.ts +25 -16
  217. package/text-input/Icons.d.ts +8 -0
  218. package/text-input/Icons.js +57 -0
  219. package/text-input/Suggestion.d.ts +4 -0
  220. package/text-input/Suggestion.js +68 -0
  221. package/text-input/Suggestions.d.ts +4 -0
  222. package/text-input/Suggestions.js +109 -0
  223. package/text-input/TextInput.js +232 -438
  224. package/text-input/TextInput.stories.tsx +310 -197
  225. package/text-input/TextInput.test.js +1404 -0
  226. package/text-input/types.d.ts +55 -17
  227. package/textarea/Textarea.js +53 -96
  228. package/textarea/Textarea.stories.jsx +93 -13
  229. package/textarea/Textarea.test.js +360 -0
  230. package/textarea/types.d.ts +22 -15
  231. package/toggle-group/ToggleGroup.d.ts +1 -1
  232. package/toggle-group/ToggleGroup.js +23 -57
  233. package/toggle-group/ToggleGroup.stories.tsx +46 -4
  234. package/toggle-group/ToggleGroup.test.js +124 -0
  235. package/toggle-group/types.d.ts +19 -11
  236. package/translatedLabelsType.d.ts +82 -0
  237. package/translatedLabelsType.js +5 -0
  238. package/typography/Typography.d.ts +4 -0
  239. package/typography/Typography.js +119 -0
  240. package/typography/Typography.stories.tsx +198 -0
  241. package/typography/types.d.ts +18 -0
  242. package/typography/types.js +5 -0
  243. package/useTheme.d.ts +1 -1
  244. package/useTheme.js +3 -9
  245. package/useTranslatedLabels.d.ts +3 -0
  246. package/useTranslatedLabels.js +15 -0
  247. package/wizard/Wizard.d.ts +1 -1
  248. package/wizard/Wizard.js +68 -98
  249. package/wizard/Wizard.stories.tsx +48 -19
  250. package/wizard/Wizard.test.js +114 -0
  251. package/wizard/types.d.ts +12 -7
  252. package/ThemeContext.d.ts +0 -15
  253. package/ThemeContext.js +0 -243
  254. package/V3Select/V3Select.js +0 -455
  255. package/V3Select/index.d.ts +0 -27
  256. package/V3Textarea/V3Textarea.js +0 -260
  257. package/V3Textarea/index.d.ts +0 -27
  258. package/common/RequiredComponent.js +0 -32
  259. package/date/Date.js +0 -373
  260. package/date/index.d.ts +0 -27
  261. package/input-text/Icons.js +0 -22
  262. package/input-text/InputText.js +0 -611
  263. package/input-text/index.d.ts +0 -36
  264. package/list/List.d.ts +0 -8
  265. package/list/List.js +0 -47
  266. package/list/List.stories.tsx +0 -95
  267. package/radio/Radio.d.ts +0 -4
  268. package/radio/Radio.js +0 -174
  269. package/radio/Radio.stories.tsx +0 -192
  270. package/radio/types.d.ts +0 -54
  271. package/row/Row.d.ts +0 -11
  272. package/row/Row.js +0 -127
  273. package/row/Row.stories.tsx +0 -239
  274. package/stack/Stack.d.ts +0 -10
  275. package/stack/Stack.js +0 -97
  276. package/stack/Stack.stories.tsx +0 -166
  277. package/text/Text.d.ts +0 -7
  278. package/text/Text.js +0 -30
  279. package/text/Text.stories.tsx +0 -19
  280. package/toggle/Toggle.js +0 -186
  281. package/toggle/index.d.ts +0 -21
  282. package/upload/Upload.js +0 -201
  283. package/upload/buttons-upload/ButtonsUpload.js +0 -111
  284. package/upload/buttons-upload/Icons.js +0 -40
  285. package/upload/dragAndDropArea/DragAndDropArea.js +0 -225
  286. package/upload/dragAndDropArea/Icons.js +0 -39
  287. package/upload/file-upload/FileToUpload.js +0 -115
  288. package/upload/file-upload/Icons.js +0 -66
  289. package/upload/files-upload/FilesToUpload.js +0 -109
  290. package/upload/index.d.ts +0 -15
  291. package/upload/transaction/Icons.js +0 -160
  292. package/upload/transaction/Transaction.js +0 -104
  293. package/upload/transactions/Transactions.js +0 -94
  294. /package/{radio → badge}/types.js +0 -0
@@ -1,52 +1,31 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  var _typeof3 = require("@babel/runtime/helpers/typeof");
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
8
  exports["default"] = void 0;
11
-
12
9
  var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
13
-
14
10
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
15
-
16
11
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
17
-
18
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
19
-
20
12
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
21
-
13
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
22
14
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
23
-
24
15
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
25
-
26
16
  var _react = _interopRequireWildcard(require("react"));
27
-
28
17
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
29
-
30
18
  var _uuid = require("uuid");
31
-
32
- var _variables = require("../common/variables.js");
33
-
19
+ var _variables = require("../common/variables");
34
20
  var _useTheme = _interopRequireDefault(require("../useTheme"));
35
-
21
+ var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
36
22
  var _Button = _interopRequireDefault(require("../button/Button"));
37
-
38
23
  var _FileItem = _interopRequireDefault(require("./FileItem"));
39
-
40
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12;
41
-
24
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11;
42
25
  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); }
43
-
44
26
  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; }
45
-
46
27
  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; }
47
-
48
28
  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; }
49
-
50
29
  var audioIcon = /*#__PURE__*/_react["default"].createElement("svg", {
51
30
  xmlns: "http://www.w3.org/2000/svg",
52
31
  width: "24",
@@ -59,7 +38,6 @@ var audioIcon = /*#__PURE__*/_react["default"].createElement("svg", {
59
38
  }), /*#__PURE__*/_react["default"].createElement("path", {
60
39
  d: "M21 3H3c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h18c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16H3V5h18v14zM8 15c0-1.66 1.34-3 3-3 .35 0 .69.07 1 .18V6h5v2h-3v7.03c-.02 1.64-1.35 2.97-3 2.97-1.66 0-3-1.34-3-3z"
61
40
  }));
62
-
63
41
  var videoIcon = /*#__PURE__*/_react["default"].createElement("svg", {
64
42
  xmlns: "http://www.w3.org/2000/svg",
65
43
  width: "24",
@@ -72,7 +50,6 @@ var videoIcon = /*#__PURE__*/_react["default"].createElement("svg", {
72
50
  d: "M0 0h24v24H0z",
73
51
  fill: "none"
74
52
  }));
75
-
76
53
  var fileIcon = /*#__PURE__*/_react["default"].createElement("svg", {
77
54
  xmlns: "http://www.w3.org/2000/svg",
78
55
  width: "24",
@@ -85,261 +62,135 @@ var fileIcon = /*#__PURE__*/_react["default"].createElement("svg", {
85
62
  }), /*#__PURE__*/_react["default"].createElement("path", {
86
63
  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"
87
64
  }));
88
-
89
- var DxcFileInput = function DxcFileInput(_ref) {
65
+ var getFilePreview = function getFilePreview(file) {
66
+ 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) {
67
+ var reader = new FileReader();
68
+ reader.readAsDataURL(file);
69
+ reader.onload = function (e) {
70
+ resolve(e.target.result);
71
+ };
72
+ });else return fileIcon;
73
+ };
74
+ var DxcFileInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
90
75
  var _ref$name = _ref.name,
91
- name = _ref$name === void 0 ? "" : _ref$name,
92
- _ref$mode = _ref.mode,
93
- mode = _ref$mode === void 0 ? "file" : _ref$mode,
94
- _ref$label = _ref.label,
95
- label = _ref$label === void 0 ? "" : _ref$label,
96
- buttonLabel = _ref.buttonLabel,
97
- dropAreaLabel = _ref.dropAreaLabel,
98
- _ref$helperText = _ref.helperText,
99
- helperText = _ref$helperText === void 0 ? "" : _ref$helperText,
100
- accept = _ref.accept,
101
- minSize = _ref.minSize,
102
- maxSize = _ref.maxSize,
103
- _ref$showPreview = _ref.showPreview,
104
- showPreview = _ref$showPreview === void 0 ? false : _ref$showPreview,
105
- _ref$multiple = _ref.multiple,
106
- multiple = _ref$multiple === void 0 ? true : _ref$multiple,
107
- _ref$disabled = _ref.disabled,
108
- disabled = _ref$disabled === void 0 ? false : _ref$disabled,
109
- callbackFile = _ref.callbackFile,
110
- value = _ref.value,
111
- margin = _ref.margin,
112
- _ref$tabIndex = _ref.tabIndex,
113
- tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
114
-
76
+ name = _ref$name === void 0 ? "" : _ref$name,
77
+ _ref$mode = _ref.mode,
78
+ mode = _ref$mode === void 0 ? "file" : _ref$mode,
79
+ _ref$label = _ref.label,
80
+ label = _ref$label === void 0 ? "" : _ref$label,
81
+ buttonLabel = _ref.buttonLabel,
82
+ dropAreaLabel = _ref.dropAreaLabel,
83
+ _ref$helperText = _ref.helperText,
84
+ helperText = _ref$helperText === void 0 ? "" : _ref$helperText,
85
+ accept = _ref.accept,
86
+ minSize = _ref.minSize,
87
+ maxSize = _ref.maxSize,
88
+ _ref$showPreview = _ref.showPreview,
89
+ showPreview = _ref$showPreview === void 0 ? false : _ref$showPreview,
90
+ _ref$multiple = _ref.multiple,
91
+ multiple = _ref$multiple === void 0 ? true : _ref$multiple,
92
+ _ref$disabled = _ref.disabled,
93
+ disabled = _ref$disabled === void 0 ? false : _ref$disabled,
94
+ callbackFile = _ref.callbackFile,
95
+ value = _ref.value,
96
+ margin = _ref.margin,
97
+ _ref$tabIndex = _ref.tabIndex,
98
+ tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
115
99
  var _useState = (0, _react.useState)(false),
116
- _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
117
- isDragging = _useState2[0],
118
- setIsDragging = _useState2[1];
119
-
100
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
101
+ isDragging = _useState2[0],
102
+ setIsDragging = _useState2[1];
120
103
  var _useState3 = (0, _react.useState)([]),
121
- _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
122
- files = _useState4[0],
123
- setFiles = _useState4[1];
124
-
104
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
105
+ files = _useState4[0],
106
+ setFiles = _useState4[1];
125
107
  var _useState5 = (0, _react.useState)("file-input-".concat((0, _uuid.v4)())),
126
- _useState6 = (0, _slicedToArray2["default"])(_useState5, 1),
127
- fileInputId = _useState6[0];
128
-
108
+ _useState6 = (0, _slicedToArray2["default"])(_useState5, 1),
109
+ fileInputId = _useState6[0];
129
110
  var colorsTheme = (0, _useTheme["default"])();
130
- (0, _react.useEffect)(function () {
131
- var getFiles = /*#__PURE__*/function () {
132
- var _ref2 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
133
- var valueFiles;
134
- return _regenerator["default"].wrap(function _callee2$(_context2) {
135
- while (1) {
136
- switch (_context2.prev = _context2.next) {
137
- case 0:
138
- if (!value) {
139
- _context2.next = 5;
140
- break;
141
- }
142
-
143
- _context2.next = 3;
144
- return Promise.all(value.map( /*#__PURE__*/function () {
145
- var _ref3 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(file) {
146
- var preview;
147
- return _regenerator["default"].wrap(function _callee$(_context) {
148
- while (1) {
149
- switch (_context.prev = _context.next) {
150
- case 0:
151
- if (!file.preview) {
152
- _context.next = 4;
153
- break;
154
- }
155
-
156
- return _context.abrupt("return", file);
157
-
158
- case 4:
159
- _context.next = 6;
160
- return getFilePreview(file.file);
161
-
162
- case 6:
163
- preview = _context.sent;
164
- return _context.abrupt("return", _objectSpread(_objectSpread({}, file), {}, {
165
- preview: preview
166
- }));
167
-
168
- case 8:
169
- case "end":
170
- return _context.stop();
171
- }
172
- }
173
- }, _callee);
174
- }));
175
-
176
- return function (_x) {
177
- return _ref3.apply(this, arguments);
178
- };
179
- }()));
180
-
181
- case 3:
182
- valueFiles = _context2.sent;
183
- setFiles(valueFiles);
184
-
185
- case 5:
186
- case "end":
187
- return _context2.stop();
188
- }
189
- }
190
- }, _callee2);
191
- }));
192
-
193
- return function getFiles() {
194
- return _ref2.apply(this, arguments);
195
- };
196
- }();
197
-
198
- getFiles();
199
- }, [value]);
200
-
201
- var handleClick = function handleClick() {
202
- document.getElementById(fileInputId).click();
203
- };
204
-
111
+ var translatedLabels = (0, _useTranslatedLabels["default"])();
205
112
  var checkFileSize = function checkFileSize(file) {
206
- if (file.size < minSize) {
207
- return "File size must be greater than min size.";
208
- }
209
-
210
- if (file.size > maxSize) {
211
- return "File size must be less than max size.";
212
- }
113
+ if (file.size < minSize) return translatedLabels.fileInput.fileSizeGreaterThanErrorMessage;else if (file.size > maxSize) return translatedLabels.fileInput.fileSizeLessThanErrorMessage;
213
114
  };
214
-
215
- var getFilePreview = function getFilePreview(file) {
216
- if (file.type.includes("video")) {
217
- return videoIcon;
218
- }
219
-
220
- if (file.type.includes("audio")) {
221
- return audioIcon;
222
- }
223
-
224
- if (file.type.includes("image")) {
225
- return new Promise(function (resolve) {
226
- var reader = new FileReader();
227
- reader.readAsDataURL(file);
228
-
229
- reader.onload = function (e) {
230
- resolve(e.target.result);
231
- };
232
- });
233
- }
234
-
235
- return fileIcon;
236
- };
237
-
238
115
  var getFilesToAdd = /*#__PURE__*/function () {
239
- var _ref4 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3(selectedFiles) {
116
+ var _ref2 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(selectedFiles) {
240
117
  var filesToAdd;
241
- return _regenerator["default"].wrap(function _callee3$(_context3) {
242
- while (1) {
243
- switch (_context3.prev = _context3.next) {
244
- case 0:
245
- _context3.next = 2;
246
- return Promise.all(selectedFiles.map(function (selectedFile) {
247
- return getFilePreview(selectedFile);
248
- })).then(function (previews) {
249
- return selectedFiles.map(function (selectedFile, index) {
250
- var fileInfo = {
251
- file: selectedFile,
252
- error: checkFileSize(selectedFile),
253
- preview: previews[index]
254
- };
255
- return fileInfo;
256
- });
118
+ return _regenerator["default"].wrap(function _callee$(_context) {
119
+ while (1) switch (_context.prev = _context.next) {
120
+ case 0:
121
+ _context.next = 2;
122
+ return Promise.all(selectedFiles.map(function (selectedFile) {
123
+ return getFilePreview(selectedFile);
124
+ })).then(function (previews) {
125
+ return selectedFiles.map(function (file, index) {
126
+ var fileInfo = {
127
+ file: file,
128
+ error: checkFileSize(file),
129
+ preview: previews[index]
130
+ };
131
+ return fileInfo;
257
132
  });
258
-
259
- case 2:
260
- filesToAdd = _context3.sent;
261
- return _context3.abrupt("return", filesToAdd);
262
-
263
- case 4:
264
- case "end":
265
- return _context3.stop();
266
- }
133
+ });
134
+ case 2:
135
+ filesToAdd = _context.sent;
136
+ return _context.abrupt("return", filesToAdd);
137
+ case 4:
138
+ case "end":
139
+ return _context.stop();
267
140
  }
268
- }, _callee3);
141
+ }, _callee);
269
142
  }));
270
-
271
- return function getFilesToAdd(_x2) {
272
- return _ref4.apply(this, arguments);
143
+ return function getFilesToAdd(_x) {
144
+ return _ref2.apply(this, arguments);
273
145
  };
274
146
  }();
275
-
276
147
  var addFile = /*#__PURE__*/function () {
277
- var _ref5 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4(selectedFiles) {
148
+ var _ref3 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(selectedFiles) {
278
149
  var filesToAdd, finalFiles, fileToAdd;
279
- return _regenerator["default"].wrap(function _callee4$(_context4) {
280
- while (1) {
281
- switch (_context4.prev = _context4.next) {
282
- case 0:
283
- if (!multiple) {
284
- _context4.next = 8;
285
- break;
286
- }
287
-
288
- _context4.next = 3;
289
- return getFilesToAdd(selectedFiles);
290
-
291
- case 3:
292
- filesToAdd = _context4.sent;
293
- finalFiles = [].concat((0, _toConsumableArray2["default"])(files), (0, _toConsumableArray2["default"])(filesToAdd));
294
-
295
- if (typeof callbackFile === "function") {
296
- callbackFile(finalFiles);
297
- }
298
-
299
- _context4.next = 19;
150
+ return _regenerator["default"].wrap(function _callee2$(_context2) {
151
+ while (1) switch (_context2.prev = _context2.next) {
152
+ case 0:
153
+ if (!multiple) {
154
+ _context2.next = 8;
300
155
  break;
301
-
302
- case 8:
303
- if (!(selectedFiles.length === 1)) {
304
- _context4.next = 14;
305
- break;
306
- }
307
-
308
- _context4.next = 11;
309
- return getFilesToAdd(selectedFiles);
310
-
311
- case 11:
312
- _context4.t0 = _context4.sent;
313
- _context4.next = 17;
156
+ }
157
+ _context2.next = 3;
158
+ return getFilesToAdd(selectedFiles);
159
+ case 3:
160
+ filesToAdd = _context2.sent;
161
+ finalFiles = [].concat((0, _toConsumableArray2["default"])(files), (0, _toConsumableArray2["default"])(filesToAdd));
162
+ callbackFile === null || callbackFile === void 0 ? void 0 : callbackFile(finalFiles);
163
+ _context2.next = 19;
164
+ break;
165
+ case 8:
166
+ if (!(selectedFiles.length === 1)) {
167
+ _context2.next = 14;
314
168
  break;
315
-
316
- case 14:
317
- _context4.next = 16;
318
- return getFilesToAdd([selectedFiles[0]]);
319
-
320
- case 16:
321
- _context4.t0 = _context4.sent;
322
-
323
- case 17:
324
- fileToAdd = _context4.t0;
325
-
326
- if (typeof callbackFile === "function") {
327
- callbackFile(fileToAdd);
328
- }
329
-
330
- case 19:
331
- case "end":
332
- return _context4.stop();
333
- }
169
+ }
170
+ _context2.next = 11;
171
+ return getFilesToAdd(selectedFiles);
172
+ case 11:
173
+ _context2.t0 = _context2.sent;
174
+ _context2.next = 17;
175
+ break;
176
+ case 14:
177
+ _context2.next = 16;
178
+ return getFilesToAdd([selectedFiles[0]]);
179
+ case 16:
180
+ _context2.t0 = _context2.sent;
181
+ case 17:
182
+ fileToAdd = _context2.t0;
183
+ callbackFile === null || callbackFile === void 0 ? void 0 : callbackFile(fileToAdd);
184
+ case 19:
185
+ case "end":
186
+ return _context2.stop();
334
187
  }
335
- }, _callee4);
188
+ }, _callee2);
336
189
  }));
337
-
338
- return function addFile(_x3) {
339
- return _ref5.apply(this, arguments);
190
+ return function addFile(_x2) {
191
+ return _ref3.apply(this, arguments);
340
192
  };
341
193
  }();
342
-
343
194
  var selectFiles = function selectFiles(e) {
344
195
  var selectedFiles = e.target.files;
345
196
  var filesArray = Object.keys(selectedFiles).map(function (key) {
@@ -347,97 +198,150 @@ var DxcFileInput = function DxcFileInput(_ref) {
347
198
  });
348
199
  addFile(filesArray);
349
200
  };
350
-
351
- var onDelete = function onDelete(fileName) {
201
+ var onDelete = (0, _react.useCallback)(function (fileName) {
352
202
  var filesCopy = (0, _toConsumableArray2["default"])(files);
353
203
  var fileToRemove = filesCopy.find(function (file) {
354
204
  return file.file.name === fileName;
355
205
  });
356
206
  var fileIndex = filesCopy.indexOf(fileToRemove);
357
207
  filesCopy.splice(fileIndex, 1);
358
-
359
- if (typeof callbackFile === "function") {
360
- callbackFile(filesCopy);
361
- }
208
+ callbackFile === null || callbackFile === void 0 ? void 0 : callbackFile(filesCopy);
209
+ }, [files, callbackFile]);
210
+ var handleClick = function handleClick() {
211
+ document.getElementById(fileInputId).click();
362
212
  };
363
-
364
213
  var handleDrag = function handleDrag(e) {
365
214
  e.preventDefault();
366
215
  e.stopPropagation();
367
216
  };
368
-
369
217
  var handleDragIn = function handleDragIn(e) {
370
- if (e.dataTransfer.items && e.dataTransfer.items.length > 0) setIsDragging(true);
218
+ var _e$dataTransfer$items;
219
+ if (((_e$dataTransfer$items = e.dataTransfer.items) === null || _e$dataTransfer$items === void 0 ? void 0 : _e$dataTransfer$items.length) > 0) setIsDragging(true);
371
220
  };
372
-
373
221
  var handleDragOut = function handleDragOut(e) {
374
222
  // only if dragged items leave container (outside, not to childs)
375
223
  if (!e.currentTarget.contains(e.relatedTarget)) setIsDragging(false);
376
224
  };
377
-
378
225
  var handleDrop = function handleDrop(e) {
379
226
  e.preventDefault();
380
227
  e.stopPropagation();
381
228
  setIsDragging(false);
382
229
  var filesObject = e.dataTransfer.files;
383
-
384
- if (filesObject && filesObject.length > 0) {
230
+ if ((filesObject === null || filesObject === void 0 ? void 0 : filesObject.length) > 0) {
385
231
  var filesArray = Object.keys(filesObject).map(function (key) {
386
232
  return filesObject[key];
387
233
  });
388
234
  addFile(filesArray);
389
235
  }
390
236
  };
391
-
237
+ (0, _react.useEffect)(function () {
238
+ var getFiles = /*#__PURE__*/function () {
239
+ var _ref4 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4() {
240
+ var valueFiles;
241
+ return _regenerator["default"].wrap(function _callee4$(_context4) {
242
+ while (1) switch (_context4.prev = _context4.next) {
243
+ case 0:
244
+ if (!value) {
245
+ _context4.next = 5;
246
+ break;
247
+ }
248
+ _context4.next = 3;
249
+ return Promise.all(value.map( /*#__PURE__*/function () {
250
+ var _ref5 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3(file) {
251
+ var preview;
252
+ return _regenerator["default"].wrap(function _callee3$(_context3) {
253
+ while (1) switch (_context3.prev = _context3.next) {
254
+ case 0:
255
+ if (!file.preview) {
256
+ _context3.next = 4;
257
+ break;
258
+ }
259
+ return _context3.abrupt("return", file);
260
+ case 4:
261
+ _context3.next = 6;
262
+ return getFilePreview(file.file);
263
+ case 6:
264
+ preview = _context3.sent;
265
+ return _context3.abrupt("return", _objectSpread(_objectSpread({}, file), {}, {
266
+ preview: preview
267
+ }));
268
+ case 8:
269
+ case "end":
270
+ return _context3.stop();
271
+ }
272
+ }, _callee3);
273
+ }));
274
+ return function (_x3) {
275
+ return _ref5.apply(this, arguments);
276
+ };
277
+ }()));
278
+ case 3:
279
+ valueFiles = _context4.sent;
280
+ setFiles(valueFiles);
281
+ case 5:
282
+ case "end":
283
+ return _context4.stop();
284
+ }
285
+ }, _callee4);
286
+ }));
287
+ return function getFiles() {
288
+ return _ref4.apply(this, arguments);
289
+ };
290
+ }();
291
+ getFiles();
292
+ }, [value]);
392
293
  return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
393
- theme: colorsTheme.fileInput
294
+ theme: colorsTheme["fileInput"]
394
295
  }, /*#__PURE__*/_react["default"].createElement(FileInputContainer, {
395
296
  margin: margin,
396
- name: name
297
+ name: name,
298
+ ref: ref
397
299
  }, /*#__PURE__*/_react["default"].createElement(Label, {
398
300
  htmlFor: fileInputId,
399
301
  disabled: disabled
400
302
  }, label), /*#__PURE__*/_react["default"].createElement(HelperText, {
401
303
  disabled: disabled
402
304
  }, helperText), mode === "file" ? /*#__PURE__*/_react["default"].createElement(FileContainer, {
403
- multiple: multiple,
404
- files: files
405
- }, /*#__PURE__*/_react["default"].createElement(HiddenInputFile, {
305
+ singleFileMode: !multiple && files.length === 1
306
+ }, /*#__PURE__*/_react["default"].createElement(ValueInput, {
406
307
  id: fileInputId,
407
308
  type: "file",
408
309
  accept: accept,
409
310
  multiple: multiple,
410
- onChange: selectFiles
311
+ onChange: selectFiles,
312
+ name: name,
313
+ disabled: disabled,
314
+ readOnly: true,
315
+ "aria-hidden": "true"
411
316
  }), /*#__PURE__*/_react["default"].createElement(_Button["default"], {
412
317
  mode: "secondary",
413
- label: buttonLabel !== null && buttonLabel !== void 0 ? buttonLabel : multiple ? "Select files" : "Select file",
318
+ label: buttonLabel !== null && buttonLabel !== void 0 ? buttonLabel : multiple ? translatedLabels.fileInput.multipleButtonLabelDefault : translatedLabels.fileInput.singleButtonLabelDefault,
414
319
  onClick: handleClick,
415
320
  disabled: disabled,
416
- size: "medium",
321
+ size: "fitContent",
417
322
  tabIndex: tabIndex
418
- }), files.map(function (file) {
419
- return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(FileItemContainer, {
420
- mode: mode,
421
- multiple: multiple,
422
- files: files
423
- }, /*#__PURE__*/_react["default"].createElement(_FileItem["default"], {
424
- mode: mode,
425
- multiple: multiple,
426
- name: file.file.name,
323
+ }), files.length > 0 && /*#__PURE__*/_react["default"].createElement(FileItemListContainer, null, files.map(function (file, index) {
324
+ return /*#__PURE__*/_react["default"].createElement(_FileItem["default"], {
325
+ fileName: file.file.name,
427
326
  error: file.error,
327
+ singleFileMode: !multiple && files.length === 1,
428
328
  showPreview: mode === "file" && !multiple ? false : showPreview,
429
- numFiles: files.length,
430
329
  preview: file.preview,
431
330
  type: file.file.type,
432
331
  onDelete: onDelete,
433
- tabIndex: tabIndex
434
- })));
435
- })) : /*#__PURE__*/_react["default"].createElement(Container, null, /*#__PURE__*/_react["default"].createElement(HiddenInputFile, {
332
+ tabIndex: tabIndex,
333
+ key: "file-".concat(index)
334
+ });
335
+ }))) : /*#__PURE__*/_react["default"].createElement(Container, null, /*#__PURE__*/_react["default"].createElement(ValueInput, {
436
336
  id: fileInputId,
437
337
  type: "file",
438
338
  accept: accept,
439
339
  multiple: multiple,
440
- onChange: selectFiles
340
+ onChange: selectFiles,
341
+ name: name,
342
+ disabled: disabled,
343
+ readOnly: true,
344
+ "aria-hidden": "true"
441
345
  }), /*#__PURE__*/_react["default"].createElement(DragDropArea, {
442
346
  isDragging: isDragging,
443
347
  disabled: disabled,
@@ -446,40 +350,30 @@ var DxcFileInput = function DxcFileInput(_ref) {
446
350
  onDragEnter: handleDragIn,
447
351
  onDragOver: handleDrag,
448
352
  onDragLeave: handleDragOut
449
- }, /*#__PURE__*/_react["default"].createElement(ButtonContainer, {
450
- mode: mode
451
353
  }, /*#__PURE__*/_react["default"].createElement(_Button["default"], {
452
354
  mode: "secondary",
453
- label: buttonLabel !== null && buttonLabel !== void 0 ? buttonLabel : "Select",
355
+ label: buttonLabel !== null && buttonLabel !== void 0 ? buttonLabel : translatedLabels.fileInput.dropAreaButtonLabelDefault,
454
356
  onClick: handleClick,
455
357
  disabled: disabled,
456
358
  size: "fitContent"
457
- })), mode === "dropzone" ? /*#__PURE__*/_react["default"].createElement(DropzoneLabel, {
359
+ }), mode === "dropzone" ? /*#__PURE__*/_react["default"].createElement(DropzoneLabel, {
458
360
  disabled: disabled
459
- }, dropAreaLabel !== null && dropAreaLabel !== void 0 ? dropAreaLabel : multiple ? "or drop files" : "or drop a file") : /*#__PURE__*/_react["default"].createElement(FiledropLabel, {
361
+ }, dropAreaLabel !== null && dropAreaLabel !== void 0 ? dropAreaLabel : multiple ? translatedLabels.fileInput.multipleDropAreaLabelDefault : translatedLabels.fileInput.singleDropAreaLabelDefault) : /*#__PURE__*/_react["default"].createElement(FiledropLabel, {
460
362
  disabled: disabled
461
- }, dropAreaLabel !== null && dropAreaLabel !== void 0 ? dropAreaLabel : multiple ? "or drop files" : "or drop a file")), files.map(function (file) {
462
- return /*#__PURE__*/_react["default"].createElement(FileItemContainer, {
463
- mode: mode,
464
- multiple: multiple,
465
- files: files
466
- }, /*#__PURE__*/_react["default"].createElement(_FileItem["default"], {
467
- mode: mode,
468
- multiple: multiple,
469
- name: file.file.name,
363
+ }, 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) {
364
+ return /*#__PURE__*/_react["default"].createElement(_FileItem["default"], {
365
+ fileName: file.file.name,
470
366
  error: file.error,
367
+ singleFileMode: false,
471
368
  showPreview: showPreview,
472
- numFiles: files.length,
473
369
  preview: file.preview,
474
370
  type: file.file.type,
475
371
  onDelete: onDelete,
476
- tabIndex: tabIndex
477
- }));
478
- })), files.length === 1 && files.map(function (file) {
479
- return file.error && mode === "file" && !multiple && /*#__PURE__*/_react["default"].createElement(ErrorMessage, null, file.error);
480
- })));
481
- };
482
-
372
+ tabIndex: tabIndex,
373
+ key: "file-".concat(index)
374
+ });
375
+ }))), mode === "file" && !multiple && files.length === 1 && files[0].error && /*#__PURE__*/_react["default"].createElement(ErrorMessage, null, files[0].error)));
376
+ });
483
377
  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) {
484
378
  return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
485
379
  }, function (props) {
@@ -491,7 +385,6 @@ var FileInputContainer = _styledComponents["default"].div(_templateObject || (_t
491
385
  }, function (props) {
492
386
  return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
493
387
  });
494
-
495
388
  var Label = _styledComponents["default"].label(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-weight: ", ";\n line-height: ", ";\n"])), function (props) {
496
389
  return props.disabled ? props.theme.disabledLabelFontColor : props.theme.labelFontColor;
497
390
  }, function (props) {
@@ -503,7 +396,6 @@ var Label = _styledComponents["default"].label(_templateObject2 || (_templateObj
503
396
  }, function (props) {
504
397
  return props.theme.labelLineHeight;
505
398
  });
506
-
507
399
  var HelperText = _styledComponents["default"].span(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-weight: ", ";\n line-height: ", ";\n"])), function (props) {
508
400
  return props.disabled ? props.theme.disabledHelperTextFontcolor : props.theme.helperTextFontColor;
509
401
  }, function (props) {
@@ -515,13 +407,16 @@ var HelperText = _styledComponents["default"].span(_templateObject3 || (_templat
515
407
  }, function (props) {
516
408
  return props.theme.helperTextLineHeight;
517
409
  });
518
-
519
- var DragDropArea = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n overflow: hidden;\n box-sizing: border-box;\n flex-direction: ", ";\n ", ";\n align-items: center;\n height: ", ";\n width: 320px;\n\n box-shadow: 0 0 0 2px transparent;\n border-radius: ", ";\n border-width: ", ";\n border-style: ", ";\n border-color: ", ";\n\n ", "\n\n cursor: ", ";\n"])), function (props) {
520
- return props.mode === "filedrop" ? "row" : "column";
521
- }, function (props) {
522
- return props.mode === "dropzone" && "justify-content: center; padding: 1rem;";
410
+ var FileContainer = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n ", "\n margin-top: 0.25rem;\n"])), function (props) {
411
+ return props.singleFileMode ? "flex-direction: row; column-gap: 0.25rem;" : "flex-direction: column; row-gap: 0.25rem;";
412
+ });
413
+ var ValueInput = _styledComponents["default"].input(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: none;\n"])));
414
+ var FileItemListContainer = _styledComponents["default"].div(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n row-gap: 0.25rem;\n"])));
415
+ 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"])));
416
+ 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) {
417
+ 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;";
523
418
  }, function (props) {
524
- return props.mode === "filedrop" ? "48px" : "160px";
419
+ return props.mode === "filedrop" ? "calc(4px - ".concat(props.theme.dropBorderThickness, ") 1rem calc(4px - ").concat(props.theme.dropBorderThickness, ") calc(4px - ").concat(props.theme.dropBorderThickness, ")") : "1rem";
525
420
  }, function (props) {
526
421
  return props.theme.dropBorderRadius;
527
422
  }, function (props) {
@@ -535,18 +430,7 @@ var DragDropArea = _styledComponents["default"].div(_templateObject4 || (_templa
535
430
  }, function (props) {
536
431
  return props.disabled && "not-allowed";
537
432
  });
538
-
539
- var FileContainer = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: ", ";\n margin-top: 0.25rem;\n"])), function (props) {
540
- return props.multiple || props.files.length > 1 ? "column" : "row";
541
- });
542
-
543
- var HiddenInputFile = _styledComponents["default"].input(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n visibility: hidden;\n position: absolute;\n width: 0px;\n height: 0px;\n"])));
544
-
545
- var ButtonContainer = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n ", ";\n"])), function (props) {
546
- return props.mode === "filedrop" && "padding: 2px 12px 2px 3px";
547
- });
548
-
549
- 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) {
433
+ 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) {
550
434
  return props.disabled ? props.theme.disabledDropLabelFontColor : props.theme.dropLabelFontColor;
551
435
  }, function (props) {
552
436
  return props.theme.dropLabelFontFamily;
@@ -555,8 +439,7 @@ var DropzoneLabel = _styledComponents["default"].div(_templateObject8 || (_templ
555
439
  }, function (props) {
556
440
  return props.theme.dropLabelFontWeight;
557
441
  });
558
-
559
- var FiledropLabel = _styledComponents["default"].span(_templateObject9 || (_templateObject9 = (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 margin-right: 1rem;\n"])), function (props) {
442
+ 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) {
560
443
  return props.disabled ? props.theme.disabledDropLabelFontColor : props.theme.dropLabelFontColor;
561
444
  }, function (props) {
562
445
  return props.theme.dropLabelFontFamily;
@@ -565,16 +448,7 @@ var FiledropLabel = _styledComponents["default"].span(_templateObject9 || (_temp
565
448
  }, function (props) {
566
449
  return props.theme.dropLabelFontWeight;
567
450
  });
568
-
569
- var Container = _styledComponents["default"].div(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n margin-top: 0.25rem;\n"])));
570
-
571
- var FileItemContainer = _styledComponents["default"].div(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2["default"])(["\n margin-top: ", ";\n margin-left: ", ";\n"])), function (props) {
572
- return (props.multiple || props.files.length > 1 || props.mode !== "file") && "4px";
573
- }, function (props) {
574
- return props.mode === "file" && props.files.length === 1 && !props.multiple && "4px";
575
- });
576
-
577
- 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) {
451
+ 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) {
578
452
  return props.theme.errorMessageFontColor;
579
453
  }, function (props) {
580
454
  return props.theme.errorMessageFontFamily;
@@ -585,6 +459,5 @@ var ErrorMessage = _styledComponents["default"].div(_templateObject12 || (_templ
585
459
  }, function (props) {
586
460
  return props.theme.errorMessageLineHeight;
587
461
  });
588
-
589
462
  var _default = DxcFileInput;
590
463
  exports["default"] = _default;