@dxc-technology/halstack-react 0.0.0-dfcca07 → 0.0.0-e01c6f9

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