@dxc-technology/halstack-react 0.0.0-5fd247d → 0.0.0-6083a54

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