@dxc-technology/halstack-react 0.0.0-b41d935 → 0.0.0-b4aec06

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