@dxc-technology/halstack-react 0.0.0-ff5083e → 0.0.0-ff6c8bf

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