@dxc-technology/halstack-react 0.0.0-701a4a3 → 0.0.0-73f82b7

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 (355) hide show
  1. package/BackgroundColorContext.js +50 -0
  2. package/ThemeContext.js +246 -0
  3. package/V3Select/V3Select.js +455 -0
  4. package/V3Select/index.d.ts +27 -0
  5. package/V3Textarea/V3Textarea.js +260 -0
  6. package/V3Textarea/index.d.ts +27 -0
  7. package/accordion/Accordion.d.ts +4 -0
  8. package/accordion/Accordion.js +258 -0
  9. package/accordion/types.d.ts +68 -0
  10. package/accordion/types.js +5 -0
  11. package/accordion-group/AccordionGroup.d.ts +7 -0
  12. package/accordion-group/AccordionGroup.js +170 -0
  13. package/accordion-group/types.d.ts +72 -0
  14. package/accordion-group/types.js +5 -0
  15. package/alert/Alert.d.ts +4 -0
  16. package/alert/Alert.js +290 -0
  17. package/alert/Alert.stories.tsx +170 -0
  18. package/alert/types.d.ts +49 -0
  19. package/alert/types.js +5 -0
  20. package/badge/Badge.js +59 -0
  21. package/box/Box.d.ts +4 -0
  22. package/{dist/box → box}/Box.js +18 -53
  23. package/box/Box.stories.tsx +132 -0
  24. package/box/types.d.ts +47 -0
  25. package/box/types.js +5 -0
  26. package/button/Button.d.ts +4 -0
  27. package/button/Button.js +177 -0
  28. package/button/Button.stories.tsx +276 -0
  29. package/button/types.d.ts +57 -0
  30. package/button/types.js +5 -0
  31. package/card/Card.d.ts +4 -0
  32. package/{dist/card → card}/Card.js +42 -124
  33. package/card/types.d.ts +69 -0
  34. package/card/types.js +5 -0
  35. package/checkbox/Checkbox.d.ts +4 -0
  36. package/checkbox/Checkbox.js +253 -0
  37. package/checkbox/Checkbox.stories.tsx +192 -0
  38. package/checkbox/types.d.ts +60 -0
  39. package/checkbox/types.js +5 -0
  40. package/{dist/chip → chip}/Chip.js +48 -104
  41. package/chip/index.d.ts +22 -0
  42. package/{dist/common → common}/OpenSans.css +0 -0
  43. package/{dist/common → common}/RequiredComponent.js +3 -11
  44. package/{dist/common → common}/fonts/OpenSans-Bold.ttf +0 -0
  45. package/{dist/common → common}/fonts/OpenSans-BoldItalic.ttf +0 -0
  46. package/{dist/common → common}/fonts/OpenSans-ExtraBold.ttf +0 -0
  47. package/{dist/common → common}/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  48. package/{dist/common → common}/fonts/OpenSans-Italic.ttf +0 -0
  49. package/{dist/common → common}/fonts/OpenSans-Light.ttf +0 -0
  50. package/{dist/common → common}/fonts/OpenSans-LightItalic.ttf +0 -0
  51. package/{dist/common → common}/fonts/OpenSans-Regular.ttf +0 -0
  52. package/{dist/common → common}/fonts/OpenSans-SemiBold.ttf +0 -0
  53. package/{dist/common → common}/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  54. package/{dist/common → common}/utils.js +0 -0
  55. package/common/variables.js +1577 -0
  56. package/{dist/date → date}/Date.js +71 -57
  57. package/date/index.d.ts +27 -0
  58. package/date-input/DateInput.d.ts +4 -0
  59. package/date-input/DateInput.js +361 -0
  60. package/date-input/DateInput.stories.tsx +138 -0
  61. package/date-input/types.d.ts +100 -0
  62. package/date-input/types.js +5 -0
  63. package/dialog/Dialog.d.ts +4 -0
  64. package/dialog/Dialog.js +165 -0
  65. package/dialog/types.d.ts +43 -0
  66. package/dialog/types.js +5 -0
  67. package/dropdown/Dropdown.d.ts +4 -0
  68. package/dropdown/Dropdown.js +417 -0
  69. package/dropdown/types.d.ts +89 -0
  70. package/dropdown/types.js +5 -0
  71. package/file-input/FileInput.js +532 -0
  72. package/file-input/FileItem.js +193 -0
  73. package/file-input/index.d.ts +81 -0
  74. package/footer/Footer.d.ts +4 -0
  75. package/footer/Footer.js +266 -0
  76. package/footer/Footer.stories.jsx +151 -0
  77. package/footer/Icons.js +77 -0
  78. package/footer/types.d.ts +61 -0
  79. package/footer/types.js +5 -0
  80. package/header/Header.d.ts +7 -0
  81. package/header/Header.js +324 -0
  82. package/header/Icons.js +34 -0
  83. package/header/types.d.ts +45 -0
  84. package/header/types.js +5 -0
  85. package/{dist/heading → heading}/Heading.js +30 -76
  86. package/heading/index.d.ts +17 -0
  87. package/input-text/Icons.js +22 -0
  88. package/{dist/input-text → input-text}/InputText.js +151 -171
  89. package/input-text/index.d.ts +36 -0
  90. package/{dist/layout → layout}/ApplicationLayout.js +35 -131
  91. package/layout/Icons.js +55 -0
  92. package/link/Link.d.ts +3 -0
  93. package/link/Link.js +161 -0
  94. package/link/Link.stories.tsx +70 -0
  95. package/link/types.d.ts +74 -0
  96. package/link/types.js +5 -0
  97. package/main.d.ts +44 -0
  98. package/{dist/main.js → main.js} +121 -69
  99. package/number-input/NumberInput.d.ts +4 -0
  100. package/number-input/NumberInput.js +86 -0
  101. package/number-input/NumberInput.stories.tsx +115 -0
  102. package/number-input/NumberInputContext.js +16 -0
  103. package/number-input/types.d.ts +117 -0
  104. package/number-input/types.js +5 -0
  105. package/package.json +34 -25
  106. package/paginator/Icons.js +66 -0
  107. package/paginator/Paginator.d.ts +4 -0
  108. package/paginator/Paginator.js +198 -0
  109. package/paginator/Paginator.stories.tsx +63 -0
  110. package/paginator/types.d.ts +38 -0
  111. package/paginator/types.js +5 -0
  112. package/password-input/PasswordInput.d.ts +4 -0
  113. package/password-input/PasswordInput.js +162 -0
  114. package/password-input/PasswordInput.stories.tsx +131 -0
  115. package/password-input/types.d.ts +100 -0
  116. package/password-input/types.js +5 -0
  117. package/progress-bar/ProgressBar.d.ts +4 -0
  118. package/progress-bar/ProgressBar.js +170 -0
  119. package/progress-bar/ProgressBar.stories.jsx +58 -0
  120. package/progress-bar/types.d.ts +37 -0
  121. package/progress-bar/types.js +5 -0
  122. package/radio/Radio.d.ts +4 -0
  123. package/radio/Radio.js +174 -0
  124. package/radio/Radio.stories.tsx +192 -0
  125. package/radio/types.d.ts +54 -0
  126. package/radio/types.js +5 -0
  127. package/{dist/resultsetTable → resultsetTable}/ResultsetTable.js +77 -135
  128. package/resultsetTable/index.d.ts +19 -0
  129. package/select/Select.js +865 -0
  130. package/select/index.d.ts +131 -0
  131. package/sidenav/Sidenav.d.ts +9 -0
  132. package/sidenav/Sidenav.js +136 -0
  133. package/sidenav/types.d.ts +50 -0
  134. package/sidenav/types.js +5 -0
  135. package/slider/Slider.d.ts +4 -0
  136. package/slider/Slider.js +317 -0
  137. package/slider/Slider.stories.tsx +172 -0
  138. package/slider/types.d.ts +78 -0
  139. package/slider/types.js +5 -0
  140. package/spinner/Spinner.d.ts +4 -0
  141. package/spinner/Spinner.js +250 -0
  142. package/spinner/Spinner.stories.jsx +102 -0
  143. package/spinner/types.d.ts +32 -0
  144. package/spinner/types.js +5 -0
  145. package/switch/Switch.d.ts +4 -0
  146. package/{dist/switch → switch}/Switch.js +28 -71
  147. package/switch/Switch.stories.tsx +160 -0
  148. package/switch/types.d.ts +58 -0
  149. package/switch/types.js +5 -0
  150. package/table/Table.d.ts +4 -0
  151. package/table/Table.js +118 -0
  152. package/table/Table.stories.jsx +276 -0
  153. package/table/types.d.ts +21 -0
  154. package/table/types.js +5 -0
  155. package/tabs/Tabs.d.ts +4 -0
  156. package/tabs/Tabs.js +211 -0
  157. package/tabs/types.d.ts +71 -0
  158. package/tabs/types.js +5 -0
  159. package/tag/Tag.d.ts +4 -0
  160. package/tag/Tag.js +193 -0
  161. package/tag/Tag.stories.tsx +145 -0
  162. package/tag/types.d.ts +60 -0
  163. package/tag/types.js +5 -0
  164. package/text-input/TextInput.js +825 -0
  165. package/text-input/index.d.ts +135 -0
  166. package/textarea/Textarea.js +317 -0
  167. package/textarea/Textarea.stories.jsx +135 -0
  168. package/textarea/index.d.ts +117 -0
  169. package/{dist/toggle → toggle}/Toggle.js +15 -49
  170. package/toggle/index.d.ts +21 -0
  171. package/toggle-group/ToggleGroup.js +243 -0
  172. package/toggle-group/ToggleGroup.stories.tsx +178 -0
  173. package/toggle-group/index.d.ts +21 -0
  174. package/{dist/upload → upload}/Upload.js +11 -19
  175. package/upload/buttons-upload/ButtonsUpload.js +111 -0
  176. package/upload/buttons-upload/Icons.js +40 -0
  177. package/upload/dragAndDropArea/DragAndDropArea.js +225 -0
  178. package/upload/dragAndDropArea/Icons.js +39 -0
  179. package/upload/file-upload/FileToUpload.js +115 -0
  180. package/upload/file-upload/Icons.js +66 -0
  181. package/{dist/upload → upload}/files-upload/FilesToUpload.js +14 -28
  182. package/upload/index.d.ts +15 -0
  183. package/upload/transaction/Icons.js +160 -0
  184. package/upload/transaction/Transaction.js +104 -0
  185. package/upload/transactions/Transactions.js +94 -0
  186. package/{dist/useTheme.js → useTheme.js} +0 -0
  187. package/wizard/Icons.js +65 -0
  188. package/wizard/Wizard.d.ts +4 -0
  189. package/wizard/Wizard.js +231 -0
  190. package/wizard/types.d.ts +64 -0
  191. package/wizard/types.js +5 -0
  192. package/README.md +0 -66
  193. package/babel.config.js +0 -8
  194. package/dist/BackgroundColorContext.js +0 -46
  195. package/dist/ThemeContext.js +0 -216
  196. package/dist/accordion/Accordion.js +0 -356
  197. package/dist/accordion/Accordion.stories.js +0 -207
  198. package/dist/accordion/readme.md +0 -96
  199. package/dist/accordion-group/AccordionGroup.js +0 -188
  200. package/dist/accordion-group/AccordionGroup.stories.js +0 -207
  201. package/dist/accordion-group/readme.md +0 -70
  202. package/dist/alert/Alert.js +0 -388
  203. package/dist/alert/Alert.stories.js +0 -158
  204. package/dist/alert/close.svg +0 -4
  205. package/dist/alert/error.svg +0 -4
  206. package/dist/alert/info.svg +0 -4
  207. package/dist/alert/readme.md +0 -43
  208. package/dist/alert/success.svg +0 -4
  209. package/dist/alert/warning.svg +0 -4
  210. package/dist/badge/Badge.js +0 -61
  211. package/dist/button/Button.js +0 -228
  212. package/dist/button/Button.stories.js +0 -224
  213. package/dist/button/readme.md +0 -93
  214. package/dist/checkbox/Checkbox.js +0 -233
  215. package/dist/checkbox/Checkbox.stories.js +0 -144
  216. package/dist/checkbox/readme.md +0 -116
  217. package/dist/common/variables.js +0 -938
  218. package/dist/date/Date.stories.js +0 -205
  219. package/dist/date/calendar.svg +0 -1
  220. package/dist/date/calendar_dark.svg +0 -1
  221. package/dist/date/readme.md +0 -73
  222. package/dist/dialog/Dialog.js +0 -203
  223. package/dist/dialog/Dialog.stories.js +0 -217
  224. package/dist/dialog/readme.md +0 -32
  225. package/dist/dropdown/Dropdown.js +0 -456
  226. package/dist/dropdown/Dropdown.stories.js +0 -249
  227. package/dist/dropdown/baseline-arrow_drop_down.svg +0 -1
  228. package/dist/dropdown/baseline-arrow_drop_down_wh.svg +0 -4
  229. package/dist/dropdown/baseline-arrow_drop_up.svg +0 -1
  230. package/dist/dropdown/baseline-arrow_drop_up_wh.svg +0 -4
  231. package/dist/dropdown/readme.md +0 -69
  232. package/dist/footer/Footer.js +0 -405
  233. package/dist/footer/Footer.stories.js +0 -94
  234. package/dist/footer/dxc_logo_wht.png +0 -0
  235. package/dist/footer/readme.md +0 -41
  236. package/dist/header/Header.js +0 -431
  237. package/dist/header/Header.stories.js +0 -176
  238. package/dist/header/close_icon.svg +0 -1
  239. package/dist/header/dxc_logo_black.png +0 -0
  240. package/dist/header/dxc_logo_blk_rgb.svg +0 -6
  241. package/dist/header/dxc_logo_white.png +0 -0
  242. package/dist/header/hamb_menu_black.svg +0 -1
  243. package/dist/header/hamb_menu_white.svg +0 -1
  244. package/dist/header/readme.md +0 -33
  245. package/dist/input-text/InputText.stories.js +0 -209
  246. package/dist/input-text/error.svg +0 -1
  247. package/dist/input-text/readme.md +0 -91
  248. package/dist/layout/facebook.svg +0 -45
  249. package/dist/layout/linkedin.svg +0 -50
  250. package/dist/layout/twitter.svg +0 -53
  251. package/dist/link/Link.js +0 -212
  252. package/dist/link/readme.md +0 -51
  253. package/dist/paginator/Paginator.js +0 -283
  254. package/dist/paginator/images/next.svg +0 -3
  255. package/dist/paginator/images/nextPage.svg +0 -3
  256. package/dist/paginator/images/previous.svg +0 -3
  257. package/dist/paginator/images/previousPage.svg +0 -3
  258. package/dist/paginator/readme.md +0 -50
  259. package/dist/progress-bar/ProgressBar.js +0 -206
  260. package/dist/progress-bar/ProgressBar.stories.js +0 -280
  261. package/dist/progress-bar/readme.md +0 -63
  262. package/dist/radio/Radio.js +0 -190
  263. package/dist/radio/Radio.stories.js +0 -166
  264. package/dist/radio/readme.md +0 -70
  265. package/dist/resultsetTable/arrow_downward-24px_wht.svg +0 -1
  266. package/dist/resultsetTable/arrow_upward-24px_wht.svg +0 -1
  267. package/dist/resultsetTable/unfold_more-24px_wht.svg +0 -1
  268. package/dist/select/Select.js +0 -490
  269. package/dist/select/Select.stories.js +0 -235
  270. package/dist/select/readme.md +0 -72
  271. package/dist/sidenav/Sidenav.js +0 -183
  272. package/dist/slider/Slider.js +0 -267
  273. package/dist/slider/Slider.stories.js +0 -241
  274. package/dist/slider/readme.md +0 -64
  275. package/dist/spinner/Spinner.js +0 -214
  276. package/dist/spinner/Spinner.stories.js +0 -183
  277. package/dist/spinner/readme.md +0 -65
  278. package/dist/switch/Switch.stories.js +0 -134
  279. package/dist/switch/readme.md +0 -133
  280. package/dist/table/Table.js +0 -118
  281. package/dist/tabs/Tabs.js +0 -347
  282. package/dist/tabs/Tabs.stories.js +0 -130
  283. package/dist/tabs/readme.md +0 -78
  284. package/dist/tabs-for-sections/TabsForSections.js +0 -92
  285. package/dist/tabs-for-sections/readme.md +0 -78
  286. package/dist/tag/Tag.js +0 -268
  287. package/dist/textarea/Textarea.js +0 -238
  288. package/dist/toggle/Toggle.stories.js +0 -297
  289. package/dist/toggle/readme.md +0 -80
  290. package/dist/toggle-group/ToggleGroup.js +0 -241
  291. package/dist/toggle-group/readme.md +0 -82
  292. package/dist/upload/Upload.stories.js +0 -72
  293. package/dist/upload/buttons-upload/ButtonsUpload.js +0 -123
  294. package/dist/upload/buttons-upload/drag-drop-icon.svg +0 -4
  295. package/dist/upload/buttons-upload/upload-button.svg +0 -1
  296. package/dist/upload/dragAndDropArea/DragAndDropArea.js +0 -293
  297. package/dist/upload/dragAndDropArea/upload_drop.svg +0 -4
  298. package/dist/upload/dragAndDropArea/upload_file.svg +0 -4
  299. package/dist/upload/file-upload/FileToUpload.js +0 -162
  300. package/dist/upload/file-upload/audio-icon.svg +0 -4
  301. package/dist/upload/file-upload/close.svg +0 -4
  302. package/dist/upload/file-upload/file-icon.svg +0 -4
  303. package/dist/upload/file-upload/video-icon.svg +0 -4
  304. package/dist/upload/readme.md +0 -37
  305. package/dist/upload/transaction/Transaction.js +0 -152
  306. package/dist/upload/transaction/audio-icon-err.svg +0 -4
  307. package/dist/upload/transaction/audio-icon.svg +0 -4
  308. package/dist/upload/transaction/error-icon.svg +0 -4
  309. package/dist/upload/transaction/file-icon-err.svg +0 -4
  310. package/dist/upload/transaction/file-icon.svg +0 -4
  311. package/dist/upload/transaction/image-icon-err.svg +0 -4
  312. package/dist/upload/transaction/image-icon.svg +0 -4
  313. package/dist/upload/transaction/success-icon.svg +0 -4
  314. package/dist/upload/transaction/video-icon-err.svg +0 -4
  315. package/dist/upload/transaction/video-icon.svg +0 -4
  316. package/dist/upload/transactions/Transactions.js +0 -122
  317. package/dist/wizard/Wizard.js +0 -383
  318. package/dist/wizard/invalid_icon.svg +0 -6
  319. package/dist/wizard/valid_icon.svg +0 -6
  320. package/dist/wizard/validation-wrong.svg +0 -6
  321. package/test/Accordion.test.js +0 -33
  322. package/test/AccordionGroup.test.js +0 -125
  323. package/test/Alert.test.js +0 -53
  324. package/test/Box.test.js +0 -10
  325. package/test/Button.test.js +0 -18
  326. package/test/Card.test.js +0 -30
  327. package/test/Checkbox.test.js +0 -45
  328. package/test/Chip.test.js +0 -25
  329. package/test/Date.test.js +0 -393
  330. package/test/Dialog.test.js +0 -23
  331. package/test/Dropdown.test.js +0 -130
  332. package/test/Footer.test.js +0 -99
  333. package/test/Header.test.js +0 -39
  334. package/test/Heading.test.js +0 -35
  335. package/test/InputText.test.js +0 -240
  336. package/test/Link.test.js +0 -42
  337. package/test/Paginator.test.js +0 -177
  338. package/test/ProgressBar.test.js +0 -35
  339. package/test/Radio.test.js +0 -37
  340. package/test/ResultsetTable.test.js +0 -330
  341. package/test/Select.test.js +0 -192
  342. package/test/Sidenav.test.js +0 -45
  343. package/test/Slider.test.js +0 -82
  344. package/test/Spinner.test.js +0 -27
  345. package/test/Switch.test.js +0 -45
  346. package/test/Table.test.js +0 -36
  347. package/test/Tabs.test.js +0 -109
  348. package/test/TabsForSections.test.js +0 -34
  349. package/test/Tag.test.js +0 -32
  350. package/test/TextArea.test.js +0 -52
  351. package/test/ToggleGroup.test.js +0 -81
  352. package/test/Upload.test.js +0 -60
  353. package/test/Wizard.test.js +0 -130
  354. package/test/mocks/pngMock.js +0 -1
  355. package/test/mocks/svgMock.js +0 -1
@@ -0,0 +1,178 @@
1
+ import React from "react";
2
+ import { userEvent, within } from "@storybook/testing-library";
3
+ import DxcToggleGroup from "./ToggleGroup";
4
+ import Title from "../../.storybook/components/Title";
5
+ import ExampleContainer from "../../.storybook/components/ExampleContainer";
6
+
7
+ export default {
8
+ title: "ToggleGroup",
9
+ component: DxcToggleGroup,
10
+ };
11
+
12
+ const ethernetSVG = () => {
13
+ return (
14
+ <svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
15
+ <path d="M0 0h24v24H0V0z" fill="none" />
16
+ <path d="M7.77 6.76L6.23 5.48.82 12l5.41 6.52 1.54-1.28L3.42 12l4.35-5.24zM7 13h2v-2H7v2zm10-2h-2v2h2v-2zm-6 2h2v-2h-2v2zm6.77-7.52l-1.54 1.28L20.58 12l-4.35 5.24 1.54 1.28L23.18 12l-5.41-6.52z" />
17
+ </svg>
18
+ );
19
+ };
20
+ const gMobileSVG = () => {
21
+ return (
22
+ <svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
23
+ <g>
24
+ <path d="M0,0h24v24H0V0z" fill="none" />
25
+ </g>
26
+ <g>
27
+ <g>
28
+ <path d="M3,7v2h5v2H4v2h4v2H3v2h5c1.1,0,2-0.9,2-2v-1.5c0-0.83-0.67-1.5-1.5-1.5c0.83,0,1.5-0.67,1.5-1.5V9c0-1.1-0.9-2-2-2H3z M21,11v4c0,1.1-0.9,2-2,2h-5c-1.1,0-2-0.9-2-2V9c0-1.1,0.9-2,2-2h5c1.1,0,2,0.9,2,2h-7v6h5v-2h-2.5v-2H21z" />
29
+ </g>
30
+ </g>
31
+ </svg>
32
+ );
33
+ };
34
+ const wifiSVG = () => {
35
+ return (
36
+ <svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
37
+ <path d="M0 0h24v24H0V0zm0 0h24v24H0V0z" fill="none" />
38
+ <path d="M1 9l2 2c4.97-4.97 13.03-4.97 18 0l2-2C16.93 2.93 7.08 2.93 1 9zm8 8l3 3 3-3c-1.65-1.66-4.34-1.66-6 0zm-4-4l2 2c2.76-2.76 7.24-2.76 10 0l2-2C15.14 9.14 8.87 9.14 5 13z" />
39
+ </svg>
40
+ );
41
+ };
42
+ const options = [
43
+ {
44
+ value: 1,
45
+ label: "Facebook",
46
+ },
47
+ {
48
+ value: 2,
49
+ label: "Twitter",
50
+ },
51
+ {
52
+ value: 3,
53
+ label: "Linkedin",
54
+ },
55
+ ];
56
+ const optionsWithIcon = [
57
+ {
58
+ value: 1,
59
+ icon: wifiSVG,
60
+ },
61
+ {
62
+ value: 2,
63
+ icon: ethernetSVG,
64
+ },
65
+ {
66
+ value: 3,
67
+ icon: gMobileSVG,
68
+ },
69
+ ];
70
+ const optionsWithIconAndLabel = [
71
+ {
72
+ value: 1,
73
+ label: "Wi-fi",
74
+ icon: wifiSVG,
75
+ },
76
+ {
77
+ value: 2,
78
+ label: "Ethernet",
79
+ icon: ethernetSVG,
80
+ },
81
+ {
82
+ value: 3,
83
+ label: "3G Mobile",
84
+ icon: gMobileSVG,
85
+ },
86
+ ];
87
+ const twoOptions = [
88
+ {
89
+ value: 1,
90
+ label: "Facebook",
91
+ },
92
+ {
93
+ value: 2,
94
+ label: "Twitter",
95
+ },
96
+ ];
97
+ export const Chromatic = () => (
98
+ <>
99
+ <ExampleContainer>
100
+ <Title title="Basic toggle group" theme="light" level={4} />
101
+ <DxcToggleGroup label="Toggle group" helperText="HelperText" options={options} />
102
+ </ExampleContainer>
103
+ <ExampleContainer>
104
+ <Title title="Selected" theme="light" level={4} />
105
+ <DxcToggleGroup label="Selected" helperText="HelperText" value={2} options={options} />
106
+ </ExampleContainer>
107
+ <ExampleContainer>
108
+ <Title title="Icons toggle group" theme="light" level={4} />
109
+ <DxcToggleGroup label="Icons group" options={optionsWithIcon} />
110
+ </ExampleContainer>
111
+ <ExampleContainer>
112
+ <Title title="Icons & label toggle group" theme="light" level={4} />
113
+ <DxcToggleGroup label="Icons & label" options={optionsWithIconAndLabel} />
114
+ </ExampleContainer>
115
+ <ExampleContainer>
116
+ <Title title="Disabled" theme="light" level={4} />
117
+ <DxcToggleGroup label="Disabled" value={2} options={options} disabled />
118
+ </ExampleContainer>
119
+ <ExampleContainer pseudoState="pseudo-hover">
120
+ <Title title="Hovered" theme="light" level={4} />
121
+ <DxcToggleGroup label="Hovered" options={twoOptions} value={2} />
122
+ </ExampleContainer>
123
+ <ExampleContainer>
124
+ <Title title="Multiple toggleGroup" theme="light" level={4} />
125
+ <DxcToggleGroup
126
+ label="Toggle group"
127
+ helperText="Please select one or more"
128
+ options={options}
129
+ value={[1, 3]}
130
+ multiple
131
+ ></DxcToggleGroup>
132
+ </ExampleContainer>
133
+ <Title title="Margins" theme="light" level={2} />
134
+ <ExampleContainer>
135
+ <Title title="xxSmall" theme="light" level={4} />
136
+ <DxcToggleGroup label="xxSmall margin" options={options} margin="xxsmall" />
137
+ </ExampleContainer>
138
+ <ExampleContainer>
139
+ <Title title="xSmall" theme="light" level={4} />
140
+ <DxcToggleGroup label="xSmall margin" options={options} margin="xsmall" />
141
+ </ExampleContainer>
142
+ <ExampleContainer>
143
+ <Title title="Small" theme="light" level={4} />
144
+ <DxcToggleGroup label="Small margin" options={options} margin="small" />
145
+ </ExampleContainer>
146
+ <ExampleContainer>
147
+ <Title title="Medium" theme="light" level={4} />
148
+ <DxcToggleGroup label="Medium margin" options={options} margin="medium" />
149
+ </ExampleContainer>
150
+ <ExampleContainer>
151
+ <Title title="Large" theme="light" level={4} />
152
+ <DxcToggleGroup label="Large margin" options={options} margin="large" />
153
+ </ExampleContainer>
154
+ <ExampleContainer>
155
+ <Title title="xLarge" theme="light" level={4} />
156
+ <DxcToggleGroup label="xLarge margin" options={options} margin="xlarge" />
157
+ </ExampleContainer>
158
+ <ExampleContainer>
159
+ <Title title="xxLarge" theme="light" level={4} />
160
+ <DxcToggleGroup label="xxLarge margin" options={options} margin="xxlarge" />
161
+ </ExampleContainer>
162
+ </>
163
+ );
164
+ const OptionSelected = () => <DxcToggleGroup label="Toggle group" helperText="HelperText" options={options} />;
165
+
166
+ export const ToggleGroupSelectedActived = OptionSelected.bind({});
167
+ ToggleGroupSelectedActived.play = async ({ canvasElement }) => {
168
+ const canvas = within(canvasElement);
169
+ const option = canvas.getByText("Linkedin");
170
+ await userEvent.click(option);
171
+ };
172
+ export const ToggleGroupUnselectedActived = OptionSelected.bind({});
173
+ ToggleGroupUnselectedActived.play = async ({ canvasElement }) => {
174
+ const canvas = within(canvasElement);
175
+ const option = canvas.getByText("Twitter");
176
+ await userEvent.click(option);
177
+ userEvent.tab();
178
+ };
@@ -0,0 +1,21 @@
1
+ type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
2
+ type Margin = {
3
+ top?: Space;
4
+ bottom?: Space;
5
+ left?: Space;
6
+ right?: Space;
7
+ };
8
+
9
+ type Props = {
10
+ label?: string;
11
+ helperText?: string;
12
+ value?: any;
13
+ onChange?: void;
14
+ disabled?: boolean;
15
+ options?: any;
16
+ multiple?: boolean;
17
+ margin?: Space | Margin;
18
+ tabIndex?: number;
19
+ };
20
+
21
+ export default function DxcToggleGroup(props: Props): JSX.Element;
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
-
5
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
4
 
5
+ var _typeof3 = require("@babel/runtime/helpers/typeof");
6
+
7
7
  Object.defineProperty(exports, "__esModule", {
8
8
  value: true
9
9
  });
@@ -31,15 +31,11 @@ var _Transactions = _interopRequireDefault(require("./transactions/Transactions"
31
31
 
32
32
  var _variables = require("../common/variables.js");
33
33
 
34
- function _templateObject() {
35
- var data = (0, _taggedTemplateLiteral2["default"])(["\n font-size: ", ";\n font-family: ", ";\n max-width: 100%;\n height: 400px;\n box-shadow: 0px 3px 6px #00000029;\n border-radius: 4px;\n display: flex;\n flex-direction: row;\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n"]);
34
+ var _templateObject;
36
35
 
37
- _templateObject = function _templateObject() {
38
- return data;
39
- };
36
+ 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); }
40
37
 
41
- return data;
42
- }
38
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof3(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
43
39
 
44
40
  var DxcUpload = function DxcUpload(_ref) {
45
41
  var callbackUpload = _ref.callbackUpload,
@@ -157,20 +153,20 @@ var DxcUpload = function DxcUpload(_ref) {
157
153
 
158
154
  var filesToUpload = getFilesToUpload();
159
155
  var transactionFiles = getTransactionsFiles();
160
- return _react["default"].createElement(DXCUpload, {
156
+ return /*#__PURE__*/_react["default"].createElement(DXCUpload, {
161
157
  margin: margin
162
- }, transactionFiles && transactionFiles.length !== 0 && _react["default"].createElement(_Transactions["default"], {
158
+ }, transactionFiles && transactionFiles.length !== 0 && /*#__PURE__*/_react["default"].createElement(_Transactions["default"], {
163
159
  tabIndexValue: tabIndex,
164
160
  transactions: transactionFiles
165
- }), filesToUpload && filesToUpload.length === 0 && transactionFiles && transactionFiles.length === 0 && _react["default"].createElement(_DragAndDropArea["default"], {
161
+ }), filesToUpload && filesToUpload.length === 0 && transactionFiles && transactionFiles.length === 0 && /*#__PURE__*/_react["default"].createElement(_DragAndDropArea["default"], {
166
162
  dashed: false,
167
163
  addFile: onDragHandler,
168
164
  tabIndexValue: tabIndex
169
- }) || filesToUpload && filesToUpload.length === 0 && transactionFiles && transactionFiles.length !== 0 && _react["default"].createElement(_DragAndDropArea["default"], {
165
+ }) || filesToUpload && filesToUpload.length === 0 && transactionFiles && transactionFiles.length !== 0 && /*#__PURE__*/_react["default"].createElement(_DragAndDropArea["default"], {
170
166
  dashed: true,
171
167
  addFile: onDragHandler,
172
168
  tabIndexValue: tabIndex
173
- }), filesToUpload && filesToUpload.length !== 0 && _react["default"].createElement(_FilesToUpload["default"], {
169
+ }), filesToUpload && filesToUpload.length !== 0 && /*#__PURE__*/_react["default"].createElement(_FilesToUpload["default"], {
174
170
  filesToUpload: filesToUpload,
175
171
  addFile: onDragHandler,
176
172
  onUpload: onUploadHandler,
@@ -189,11 +185,7 @@ DxcUpload.propTypes = {
189
185
  tabIndex: _propTypes["default"].number
190
186
  };
191
187
 
192
- var DXCUpload = _styledComponents["default"].div(_templateObject(), function (props) {
193
- return props.theme.fontSizeBase;
194
- }, function (props) {
195
- return props.theme.fontFamily;
196
- }, function (props) {
188
+ var DXCUpload = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n max-width: 100%;\n height: 400px;\n box-shadow: 0px 3px 6px #00000029;\n border-radius: 4px;\n display: flex;\n flex-direction: row;\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n"])), function (props) {
197
189
  return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
198
190
  }, function (props) {
199
191
  return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.top ? _variables.spaces[props.margin.top] : "";
@@ -0,0 +1,111 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports["default"] = void 0;
11
+
12
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
13
+
14
+ var _react = _interopRequireDefault(require("react"));
15
+
16
+ var _propTypes = _interopRequireDefault(require("prop-types"));
17
+
18
+ var _styledComponents = _interopRequireWildcard(require("styled-components"));
19
+
20
+ var _Button = _interopRequireDefault(require("../../button/Button"));
21
+
22
+ var _Icons = require("./Icons");
23
+
24
+ var _useTheme = _interopRequireDefault(require("../../useTheme.js"));
25
+
26
+ var _BackgroundColorContext = require("../../BackgroundColorContext.js");
27
+
28
+ var _templateObject, _templateObject2, _templateObject3;
29
+
30
+ 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); }
31
+
32
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(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; }
33
+
34
+ var DxcButtonsUpload = function DxcButtonsUpload(_ref) {
35
+ var addFile = _ref.addFile,
36
+ onUpload = _ref.onUpload;
37
+ var colorsTheme = (0, _useTheme["default"])();
38
+
39
+ var selectFile = function selectFile(e) {
40
+ var filesObject = e.target.files;
41
+
42
+ if (filesObject && filesObject.length > 0) {
43
+ var filesArray = Object.keys(filesObject).map(function (key) {
44
+ return filesObject[key];
45
+ });
46
+ addFile(filesArray);
47
+ }
48
+ };
49
+
50
+ var handleClick = function handleClick() {
51
+ document.getElementById("chooseFiles").click();
52
+ };
53
+
54
+ return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
55
+ theme: colorsTheme.upload
56
+ }, /*#__PURE__*/_react["default"].createElement(_BackgroundColorContext.BackgroundColorProvider, {
57
+ color: colorsTheme.upload.backgroundColor
58
+ }, /*#__PURE__*/_react["default"].createElement(DXCButtonsUpload, null, /*#__PURE__*/_react["default"].createElement(DragAndDropLabel, null, /*#__PURE__*/_react["default"].createElement(DragAndDropIconContainer, null, _Icons.dragAndDropIcon), "Drag and Drop area"), /*#__PURE__*/_react["default"].createElement(_Button["default"], {
59
+ margin: {
60
+ right: "small"
61
+ },
62
+ mode: "text",
63
+ label: "CHOOSE FILES",
64
+ onClick: handleClick
65
+ }), /*#__PURE__*/_react["default"].createElement("input", {
66
+ id: "chooseFiles",
67
+ type: "file",
68
+ multiple: true,
69
+ onChange: selectFile,
70
+ style: {
71
+ display: "none"
72
+ }
73
+ }), /*#__PURE__*/_react["default"].createElement(_Button["default"], {
74
+ label: "UPLOAD",
75
+ iconPosition: "after",
76
+ icon: _Icons.uploadIcon,
77
+ onClick: onUpload
78
+ }))));
79
+ };
80
+
81
+ DxcButtonsUpload.propTypes = {
82
+ addFile: _propTypes["default"].func,
83
+ onUpload: _propTypes["default"].func
84
+ };
85
+
86
+ var DXCButtonsUpload = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n margin-right: 80px;\n display: flex;\n flex-direction: row;\n justify-content: flex-end;\n"])));
87
+
88
+ var DragAndDropLabel = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: row;\n align-items: center;\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n text-transform: ", ";\n color: ", ";\n margin-right: 50px;\n"])), function (props) {
89
+ return props.theme.fontFamily;
90
+ }, function (props) {
91
+ return props.theme.dragAndDropAreaTextFontSize;
92
+ }, function (props) {
93
+ return props.theme.dragAndDropAreaTextFontStyle;
94
+ }, function (props) {
95
+ return props.theme.dragAndDropAreaTextFontWeight;
96
+ }, function (props) {
97
+ return props.theme.dragAndDropAreaTextFontTextTransform;
98
+ }, function (props) {
99
+ return props.theme.dragAndDropAreaTextFontColor;
100
+ });
101
+
102
+ var DragAndDropIconContainer = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n height: ", ";\n width: ", ";\n margin-right: 5px;\n & svg {\n fill: ", ";\n }\n"])), function (props) {
103
+ return props.theme.dragAndDropAreaIconSize;
104
+ }, function (props) {
105
+ return props.theme.dragAndDropAreaIconSize;
106
+ }, function (props) {
107
+ return props.theme.dragAndDropAreaIconColor;
108
+ });
109
+
110
+ var _default = DxcButtonsUpload;
111
+ exports["default"] = _default;
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.uploadIcon = exports.dragAndDropIcon = void 0;
9
+
10
+ var _react = _interopRequireDefault(require("react"));
11
+
12
+ var uploadIcon = /*#__PURE__*/_react["default"].createElement("svg", {
13
+ xmlns: "http://www.w3.org/2000/svg",
14
+ width: "24",
15
+ height: "24",
16
+ viewBox: "0 0 24 24",
17
+ fill: "#FFFFFF"
18
+ }, /*#__PURE__*/_react["default"].createElement("path", {
19
+ d: "M0 0h24v24H0z",
20
+ fill: "none"
21
+ }), /*#__PURE__*/_react["default"].createElement("path", {
22
+ d: "M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96zM14 13v4h-4v-4H7l5-5 5 5h-3z"
23
+ }));
24
+
25
+ exports.uploadIcon = uploadIcon;
26
+
27
+ var dragAndDropIcon = /*#__PURE__*/_react["default"].createElement("svg", {
28
+ xmlns: "http://www.w3.org/2000/svg",
29
+ width: "24",
30
+ height: "24",
31
+ viewBox: "0 0 24 24",
32
+ fill: "#666666"
33
+ }, /*#__PURE__*/_react["default"].createElement("path", {
34
+ fill: "none",
35
+ d: "M0 0h24v24H0V0z"
36
+ }), /*#__PURE__*/_react["default"].createElement("path", {
37
+ d: "M3 13h2v-2H3v2zm0 4h2v-2H3v2zm2 4v-2H3c0 1.1.89 2 2 2zM3 9h2V7H3v2zm12 12h2v-2h-2v2zm4-18H9c-1.11 0-2 .9-2 2v10c0 1.1.89 2 2 2h10c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 12H9V5h10v10zm-8 6h2v-2h-2v2zm-4 0h2v-2H7v2z"
38
+ }));
39
+
40
+ exports.dragAndDropIcon = dragAndDropIcon;
@@ -0,0 +1,225 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports["default"] = void 0;
11
+
12
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
13
+
14
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
15
+
16
+ var _react = _interopRequireDefault(require("react"));
17
+
18
+ var _styledComponents = _interopRequireWildcard(require("styled-components"));
19
+
20
+ var _propTypes = _interopRequireDefault(require("prop-types"));
21
+
22
+ var _Icons = require("./Icons");
23
+
24
+ var _Button = _interopRequireDefault(require("../../button/Button"));
25
+
26
+ var _useTheme = _interopRequireDefault(require("../../useTheme.js"));
27
+
28
+ var _BackgroundColorContext = require("../../BackgroundColorContext.js");
29
+
30
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11;
31
+
32
+ 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); }
33
+
34
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(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; }
35
+
36
+ var DxcDragAndDropArea = function DxcDragAndDropArea(_ref) {
37
+ var _ref$dashed = _ref.dashed,
38
+ dashed = _ref$dashed === void 0 ? false : _ref$dashed,
39
+ addFile = _ref.addFile,
40
+ tabIndexValue = _ref.tabIndexValue;
41
+
42
+ var _React$useState = _react["default"].useState(false),
43
+ _React$useState2 = (0, _slicedToArray2["default"])(_React$useState, 2),
44
+ dragging = _React$useState2[0],
45
+ setDragging = _React$useState2[1];
46
+
47
+ var colorsTheme = (0, _useTheme["default"])();
48
+ var text = "There are no files to upload";
49
+ var description = "Drag and drop your files here or choose one from your computer";
50
+ var textHover = "Drag your file here";
51
+
52
+ var handleDrag = function handleDrag(e) {
53
+ e.preventDefault();
54
+ e.stopPropagation();
55
+ };
56
+
57
+ var handleDragIn = function handleDragIn(e) {
58
+ e.preventDefault();
59
+ e.stopPropagation();
60
+
61
+ if (e.dataTransfer.items && e.dataTransfer.items.length > 0) {
62
+ setDragging(true);
63
+ }
64
+ };
65
+
66
+ var handleDragOut = function handleDragOut(e) {
67
+ e.preventDefault();
68
+ e.stopPropagation();
69
+ setDragging(false);
70
+ };
71
+
72
+ var handleDrop = function handleDrop(e) {
73
+ e.preventDefault();
74
+ e.stopPropagation();
75
+ var filesObject = e.dataTransfer.files;
76
+
77
+ if (filesObject && filesObject.length > 0) {
78
+ var filesArray = Object.keys(filesObject).map(function (key) {
79
+ return filesObject[key];
80
+ });
81
+ addFile(filesArray);
82
+ e.dataTransfer.clearData();
83
+ }
84
+ };
85
+
86
+ var selectFile = function selectFile(e) {
87
+ var filesObject = e.target.files;
88
+
89
+ if (filesObject && filesObject.length > 0) {
90
+ var filesArray = Object.keys(filesObject).map(function (key) {
91
+ return filesObject[key];
92
+ });
93
+ addFile(filesArray);
94
+ }
95
+ };
96
+
97
+ var handleClick = function handleClick() {
98
+ document.getElementById("chooseFiles").click();
99
+ };
100
+
101
+ return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
102
+ theme: colorsTheme.upload
103
+ }, /*#__PURE__*/_react["default"].createElement(_BackgroundColorContext.BackgroundColorProvider, {
104
+ color: colorsTheme.upload.backgroundColor
105
+ }, /*#__PURE__*/_react["default"].createElement(DXCDragAndDrop, {
106
+ onDrop: handleDrop,
107
+ onDragEnter: handleDragIn,
108
+ onDragOver: handleDrag,
109
+ onDragLeave: handleDragOut,
110
+ dashed: dashed
111
+ }, !dragging && !dashed && /*#__PURE__*/_react["default"].createElement(DXCDragAndDropArea, null, /*#__PURE__*/_react["default"].createElement(DragAndDropContent, null, /*#__PURE__*/_react["default"].createElement(DragAndDropIcon, null, _Icons.uploadFileIcon), /*#__PURE__*/_react["default"].createElement(DragAndDropText, null, /*#__PURE__*/_react["default"].createElement(DragAndDropTitle, null, text), /*#__PURE__*/_react["default"].createElement(DragAndDropDescription, null, description)), /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(_Button["default"], {
112
+ label: "CHOOSE FILES",
113
+ onClick: handleClick,
114
+ tabIndex: tabIndexValue
115
+ }), /*#__PURE__*/_react["default"].createElement("input", {
116
+ id: "chooseFiles",
117
+ type: "file",
118
+ multiple: true,
119
+ onChange: selectFile,
120
+ style: {
121
+ display: "none"
122
+ }
123
+ })))), !dragging && dashed && /*#__PURE__*/_react["default"].createElement(DragAndDropContentHover, null, /*#__PURE__*/_react["default"].createElement(DragAndDropContent, null, /*#__PURE__*/_react["default"].createElement(DragAndDropIcon, null, _Icons.uploadFileIcon), /*#__PURE__*/_react["default"].createElement(DragAndDropText, null, /*#__PURE__*/_react["default"].createElement(DragAndDropTitle, null, text), /*#__PURE__*/_react["default"].createElement(DragAndDropDescription, null, description)), /*#__PURE__*/_react["default"].createElement(ButtonChooseFiles, null, /*#__PURE__*/_react["default"].createElement(_Button["default"], {
124
+ theme: "light",
125
+ label: "CHOOSE FILES",
126
+ onClick: handleClick,
127
+ tabIndex: tabIndexValue
128
+ }), /*#__PURE__*/_react["default"].createElement("input", {
129
+ id: "chooseFiles",
130
+ type: "file",
131
+ multiple: true,
132
+ onChange: selectFile,
133
+ style: {
134
+ display: "none"
135
+ }
136
+ })))), dragging && /*#__PURE__*/_react["default"].createElement(DragAndDropContentHover, null, /*#__PURE__*/_react["default"].createElement(DragAndDropTextHover, null, textHover), /*#__PURE__*/_react["default"].createElement(DragAndDropIconHover, null, _Icons.dropFileIcon)))));
137
+ };
138
+
139
+ DxcDragAndDropArea.propTypes = {
140
+ dashed: _propTypes["default"].bool,
141
+ addFile: _propTypes["default"].func
142
+ };
143
+
144
+ var DXCDragAndDrop = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n font-family: ", ";\n background-color: ", ";\n width: 100%;\n height: 100%;\n"])), function (props) {
145
+ return props.theme.fontFamily;
146
+ }, function (props) {
147
+ return props.theme.backgroundColor;
148
+ });
149
+
150
+ var DXCDragAndDropArea = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n width: 100%;\n height: 100%;\n display: flex;\n justify-content: center;\n border-radius: 4px;\n box-shadow: 0px 3px 6px ", ";\n"])), function (props) {
151
+ return props.theme.shadowColor;
152
+ });
153
+
154
+ var DragAndDropContent = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n"])));
155
+
156
+ var DragAndDropIcon = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n height: ", ";\n width: ", ";\n margin-bottom: 20px;\n & svg {\n fill: ", ";\n height: ", ";\n width: ", ";\n }\n"])), function (props) {
157
+ return props.theme.dragAndDropIconSize;
158
+ }, function (props) {
159
+ return props.theme.dragAndDropIconSize;
160
+ }, function (props) {
161
+ return props.theme.dragAndDropIconColor;
162
+ }, function (props) {
163
+ return props.theme.dragAndDropIconSize;
164
+ }, function (props) {
165
+ return props.theme.dragAndDropIconSize;
166
+ });
167
+
168
+ var DragAndDropText = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n align-items: center;\n"])));
169
+
170
+ var DragAndDropTitle = _styledComponents["default"].div(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n text-transform: ", ";\n color: ", ";\n margin-bottom: 10px;\n"])), function (props) {
171
+ return props.theme.dragAndDropTitleFontSize;
172
+ }, function (props) {
173
+ return props.theme.dragAndDropTitleFontStyle;
174
+ }, function (props) {
175
+ return props.theme.dragAndDropTitleFontWeight;
176
+ }, function (props) {
177
+ return props.theme.dragAndDropTitleFontTextTransform;
178
+ }, function (props) {
179
+ return props.theme.dragAndDropTitleFontColor;
180
+ });
181
+
182
+ var DragAndDropDescription = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n text-transform: ", ";\n color: ", ";\n margin-bottom: 40px;\n"])), function (props) {
183
+ return props.theme.dragAndDropDescriptionFontSize;
184
+ }, function (props) {
185
+ return props.theme.dragAndDropDescriptionFontStyle;
186
+ }, function (props) {
187
+ return props.theme.dragAndDropDescriptionFontWeight;
188
+ }, function (props) {
189
+ return props.theme.dragAndDropDescriptionFontTextTransform;
190
+ }, function (props) {
191
+ return props.theme.dragAndDropDescriptionFontColor;
192
+ });
193
+
194
+ var ButtonChooseFiles = _styledComponents["default"].div(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])([""])));
195
+
196
+ var DragAndDropContentHover = _styledComponents["default"].div(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n --border-color: #666666;\n --border-weight: 1px;\n --dash-size: 8px;\n --gap-size: 8px;\n background: linear-gradient(90deg, var(--border-color) 100%, transparent 100%) top left no-repeat,\n linear-gradient(\n 90deg,\n transparent calc(var(--gap-size) / 2),\n var(--border-color) calc(var(--gap-size) / 2),\n var(--border-color) calc(var(--gap-size) / 2 + var(--dash-size)),\n transparent calc(var(--gap-size) / 2 + var(--dash-size))\n )\n top center repeat-x,\n linear-gradient(90deg, var(--border-color) 100%, transparent 100%) top right no-repeat,\n linear-gradient(0deg, var(--border-color) 100%, transparent 100%) top left no-repeat,\n linear-gradient(\n 0deg,\n transparent calc(var(--gap-size) / 2),\n var(--border-color) calc(var(--gap-size) / 2),\n var(--border-color) calc(var(--gap-size) / 2 + var(--dash-size)),\n transparent calc(var(--gap-size) / 2 + var(--dash-size))\n )\n center left repeat-y,\n linear-gradient(0deg, var(--border-color) 100%, transparent 100%) bottom left no-repeat,\n linear-gradient(90deg, var(--border-color) 100%, transparent 100%) bottom left no-repeat,\n linear-gradient(\n 90deg,\n transparent calc(var(--gap-size) / 2),\n var(--border-color) calc(var(--gap-size) / 2),\n var(--border-color) calc(var(--gap-size) / 2 + var(--dash-size)),\n transparent calc(var(--gap-size) / 2 + var(--dash-size))\n )\n bottom center repeat-x,\n linear-gradient(90deg, var(--border-color) 100%, transparent 100%) bottom right no-repeat,\n linear-gradient(0deg, var(--border-color) 100%, transparent 100%) top right no-repeat,\n linear-gradient(\n 0deg,\n transparent calc(var(--gap-size) / 2),\n var(--border-color) calc(var(--gap-size) / 2),\n var(--border-color) calc(var(--gap-size) / 2 + var(--dash-size)),\n transparent calc(var(--gap-size) / 2 + var(--dash-size))\n )\n center right repeat-y,\n linear-gradient(0deg, var(--border-color) 100%, transparent 100%) bottom right no-repeat;\n background-size: var(--dash-size) var(--border-weight), calc(var(--dash-size) + var(--gap-size)) var(--border-weight),\n var(--dash-size) var(--border-weight), var(--border-weight) var(--dash-size),\n var(--border-weight) calc(var(--dash-size) + var(--gap-size)), var(--border-weight) var(--dash-size);\n background-color: ", ";\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n width: 100%;\n height: 100%;\n cursor: pointer;\n"])), function (props) {
197
+ return props.theme.draggingStateBackgroundColor;
198
+ });
199
+
200
+ var DragAndDropIconHover = _styledComponents["default"].div(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2["default"])(["\n height: ", ";\n width: ", ";\n & svg {\n fill: ", ";\n height: ", ";\n width: ", ";\n }\n"])), function (props) {
201
+ return props.theme.dragAndDropDraggingStateIconSize;
202
+ }, function (props) {
203
+ return props.theme.dragAndDropDraggingStateIconSize;
204
+ }, function (props) {
205
+ return props.theme.dragAndDropDraggingStateIconColor;
206
+ }, function (props) {
207
+ return props.theme.dragAndDropDraggingStateIconSize;
208
+ }, function (props) {
209
+ return props.theme.dragAndDropDraggingStateIconSize;
210
+ });
211
+
212
+ var DragAndDropTextHover = _styledComponents["default"].div(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2["default"])(["\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n text-transform: ", ";\n color: ", ";\n margin-bottom: 10px;\n"])), function (props) {
213
+ return props.theme.dragAndDropDraggingStateFontSize;
214
+ }, function (props) {
215
+ return props.theme.dragAndDropDraggingStateFontStyle;
216
+ }, function (props) {
217
+ return props.theme.dragAndDropDraggingStateFontWeight;
218
+ }, function (props) {
219
+ return props.theme.dragAndDropDraggingStateFontTextTransform;
220
+ }, function (props) {
221
+ return props.theme.dragAndDropDraggingStateFontColor;
222
+ });
223
+
224
+ var _default = DxcDragAndDropArea;
225
+ exports["default"] = _default;