@dxc-technology/halstack-react 0.0.0-65612cd → 0.0.0-65c8e88

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