@dxc-technology/halstack-react 0.0.0-d3554d7 → 0.0.0-d3df47e

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