@dxc-technology/halstack-react 0.0.0-1418b62 → 0.0.0-144434f

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 (329) hide show
  1. package/BackgroundColorContext.js +50 -0
  2. package/ThemeContext.js +246 -0
  3. package/{dist/select/Select.js → V3Select/V3Select.js} +38 -132
  4. package/V3Select/index.d.ts +27 -0
  5. package/{dist/textarea/Textarea.js → V3Textarea/V3Textarea.js} +14 -18
  6. package/V3Textarea/index.d.ts +27 -0
  7. package/accordion/Accordion.d.ts +4 -0
  8. package/{dist/accordion → accordion}/Accordion.js +35 -130
  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/{dist/alert → alert}/Alert.js +38 -151
  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 -45
  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/{dist/button → button}/Button.js +23 -84
  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 +32 -121
  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/{dist/checkbox → checkbox}/Checkbox.js +16 -63
  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 +17 -61
  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/{dist/common → common}/variables.js +240 -191
  56. package/{dist/date → date}/Date.js +16 -22
  57. package/date/index.d.ts +27 -0
  58. package/date-input/DateInput.d.ts +4 -0
  59. package/{dist/new-date/NewDate.js → date-input/DateInput.js} +55 -94
  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/{dist/dialog → dialog}/Dialog.js +20 -73
  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/{dist/dropdown → dropdown}/Dropdown.js +44 -171
  69. package/dropdown/types.d.ts +89 -0
  70. package/dropdown/types.js +5 -0
  71. package/{dist/file-input → file-input}/FileInput.js +49 -161
  72. package/{dist/file-input → file-input}/FileItem.js +36 -123
  73. package/{dist/file-input → file-input}/index.d.ts +1 -1
  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 -72
  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 +37 -133
  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/{dist/link → link}/Link.js +18 -94
  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} +99 -103
  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/{dist/number/NumberContext.js → number-input/NumberInputContext.js} +2 -2
  103. package/number-input/types.d.ts +117 -0
  104. package/number-input/types.js +5 -0
  105. package/package.json +32 -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/{dist/password/Password.js → password-input/PasswordInput.js} +26 -64
  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/{dist/progress-bar → progress-bar}/ProgressBar.js +20 -92
  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/{dist/radio → radio}/Radio.js +15 -50
  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 +35 -119
  128. package/resultsetTable/index.d.ts +19 -0
  129. package/select/Select.js +865 -0
  130. package/select/Select.stories.tsx +572 -0
  131. package/select/index.d.ts +131 -0
  132. package/sidenav/Sidenav.d.ts +9 -0
  133. package/{dist/sidenav → sidenav}/Sidenav.js +19 -62
  134. package/sidenav/types.d.ts +50 -0
  135. package/sidenav/types.js +5 -0
  136. package/slider/Slider.d.ts +4 -0
  137. package/slider/Slider.js +317 -0
  138. package/slider/Slider.stories.tsx +177 -0
  139. package/slider/types.d.ts +78 -0
  140. package/slider/types.js +5 -0
  141. package/spinner/Spinner.d.ts +4 -0
  142. package/spinner/Spinner.js +250 -0
  143. package/spinner/Spinner.stories.jsx +102 -0
  144. package/spinner/types.d.ts +32 -0
  145. package/spinner/types.js +5 -0
  146. package/switch/Switch.d.ts +4 -0
  147. package/{dist/switch → switch}/Switch.js +26 -69
  148. package/switch/Switch.stories.tsx +160 -0
  149. package/switch/types.d.ts +58 -0
  150. package/switch/types.js +5 -0
  151. package/table/Table.d.ts +4 -0
  152. package/{dist/table → table}/Table.js +10 -24
  153. package/table/Table.stories.jsx +276 -0
  154. package/table/types.d.ts +21 -0
  155. package/table/types.js +5 -0
  156. package/tabs/Tabs.d.ts +4 -0
  157. package/tabs/Tabs.js +211 -0
  158. package/tabs/types.d.ts +71 -0
  159. package/tabs/types.js +5 -0
  160. package/tag/Tag.d.ts +4 -0
  161. package/tag/Tag.js +193 -0
  162. package/tag/Tag.stories.tsx +145 -0
  163. package/tag/types.d.ts +60 -0
  164. package/tag/types.js +5 -0
  165. package/{dist/new-input-text/NewInputText.js → text-input/TextInput.js} +270 -412
  166. package/{dist/new-input-text → text-input}/index.d.ts +3 -3
  167. package/{dist/new-textarea/NewTextarea.js → textarea/Textarea.js} +27 -75
  168. package/textarea/Textarea.stories.jsx +135 -0
  169. package/{dist/new-textarea → textarea}/index.d.ts +1 -1
  170. package/{dist/toggle → toggle}/Toggle.js +15 -49
  171. package/toggle/index.d.ts +21 -0
  172. package/toggle-group/ToggleGroup.js +243 -0
  173. package/toggle-group/ToggleGroup.stories.tsx +178 -0
  174. package/toggle-group/index.d.ts +21 -0
  175. package/{dist/upload → upload}/Upload.js +11 -15
  176. package/upload/buttons-upload/ButtonsUpload.js +111 -0
  177. package/upload/buttons-upload/Icons.js +40 -0
  178. package/upload/dragAndDropArea/DragAndDropArea.js +225 -0
  179. package/upload/dragAndDropArea/Icons.js +39 -0
  180. package/upload/file-upload/FileToUpload.js +115 -0
  181. package/upload/file-upload/Icons.js +66 -0
  182. package/{dist/upload → upload}/files-upload/FilesToUpload.js +12 -26
  183. package/upload/index.d.ts +15 -0
  184. package/upload/transaction/Icons.js +160 -0
  185. package/upload/transaction/Transaction.js +104 -0
  186. package/upload/transactions/Transactions.js +94 -0
  187. package/{dist/useTheme.js → useTheme.js} +0 -0
  188. package/wizard/Icons.js +65 -0
  189. package/wizard/Wizard.d.ts +4 -0
  190. package/{dist/wizard → wizard}/Wizard.js +33 -213
  191. package/wizard/Wizard.stories.jsx +224 -0
  192. package/wizard/types.d.ts +64 -0
  193. package/wizard/types.js +5 -0
  194. package/README.md +0 -66
  195. package/babel.config.js +0 -8
  196. package/dist/BackgroundColorContext.js +0 -46
  197. package/dist/ThemeContext.js +0 -248
  198. package/dist/accordion-group/AccordionGroup.js +0 -186
  199. package/dist/alert/index.d.ts +0 -51
  200. package/dist/badge/Badge.js +0 -63
  201. package/dist/checkbox/Checkbox.stories.js +0 -144
  202. package/dist/checkbox/readme.md +0 -116
  203. package/dist/date/Date.stories.js +0 -205
  204. package/dist/date/readme.md +0 -73
  205. package/dist/footer/Footer.js +0 -395
  206. package/dist/footer/Footer.stories.js +0 -94
  207. package/dist/footer/dxc_logo.svg +0 -15
  208. package/dist/footer/readme.md +0 -41
  209. package/dist/header/Header.js +0 -403
  210. package/dist/header/Header.stories.js +0 -176
  211. package/dist/header/close_icon.svg +0 -1
  212. package/dist/header/dxc_logo_black.svg +0 -8
  213. package/dist/header/hamb_menu_black.svg +0 -1
  214. package/dist/header/hamb_menu_white.svg +0 -1
  215. package/dist/header/readme.md +0 -33
  216. package/dist/input-text/InputText.stories.js +0 -209
  217. package/dist/input-text/error.svg +0 -1
  218. package/dist/input-text/readme.md +0 -91
  219. package/dist/layout/facebook.svg +0 -45
  220. package/dist/layout/linkedin.svg +0 -50
  221. package/dist/layout/twitter.svg +0 -53
  222. package/dist/link/readme.md +0 -51
  223. package/dist/main.d.ts +0 -8
  224. package/dist/new-date/index.d.ts +0 -95
  225. package/dist/new-select/NewSelect.js +0 -836
  226. package/dist/new-select/index.d.ts +0 -53
  227. package/dist/number/Number.js +0 -136
  228. package/dist/number/index.d.ts +0 -113
  229. package/dist/paginator/Paginator.js +0 -289
  230. package/dist/paginator/images/next.svg +0 -3
  231. package/dist/paginator/images/nextPage.svg +0 -3
  232. package/dist/paginator/images/previous.svg +0 -3
  233. package/dist/paginator/images/previousPage.svg +0 -3
  234. package/dist/paginator/readme.md +0 -50
  235. package/dist/password/index.d.ts +0 -94
  236. package/dist/password/styles.css +0 -3
  237. package/dist/progress-bar/ProgressBar.stories.js +0 -280
  238. package/dist/progress-bar/readme.md +0 -63
  239. package/dist/radio/Radio.stories.js +0 -166
  240. package/dist/radio/readme.md +0 -70
  241. package/dist/resultsetTable/arrow_downward-24px_wht.svg +0 -1
  242. package/dist/resultsetTable/arrow_upward-24px_wht.svg +0 -1
  243. package/dist/resultsetTable/unfold_more-24px_wht.svg +0 -1
  244. package/dist/slider/Slider.js +0 -319
  245. package/dist/slider/Slider.stories.js +0 -241
  246. package/dist/slider/readme.md +0 -64
  247. package/dist/spinner/Spinner.js +0 -381
  248. package/dist/spinner/Spinner.stories.js +0 -183
  249. package/dist/spinner/readme.md +0 -65
  250. package/dist/switch/Switch.stories.js +0 -134
  251. package/dist/switch/readme.md +0 -133
  252. package/dist/tabs/Tabs.js +0 -343
  253. package/dist/tabs/Tabs.stories.js +0 -130
  254. package/dist/tabs/readme.md +0 -78
  255. package/dist/tabs-for-sections/TabsForSections.js +0 -92
  256. package/dist/tabs-for-sections/readme.md +0 -78
  257. package/dist/tag/Tag.js +0 -282
  258. package/dist/toggle/Toggle.stories.js +0 -297
  259. package/dist/toggle/readme.md +0 -80
  260. package/dist/toggle-group/ToggleGroup.js +0 -223
  261. package/dist/upload/Upload.stories.js +0 -72
  262. package/dist/upload/buttons-upload/ButtonsUpload.js +0 -139
  263. package/dist/upload/buttons-upload/drag-drop-icon.svg +0 -4
  264. package/dist/upload/buttons-upload/upload-button.svg +0 -1
  265. package/dist/upload/dragAndDropArea/DragAndDropArea.js +0 -329
  266. package/dist/upload/dragAndDropArea/upload_drop.svg +0 -4
  267. package/dist/upload/dragAndDropArea/upload_file.svg +0 -4
  268. package/dist/upload/file-upload/FileToUpload.js +0 -184
  269. package/dist/upload/file-upload/audio-icon.svg +0 -4
  270. package/dist/upload/file-upload/close.svg +0 -4
  271. package/dist/upload/file-upload/file-icon.svg +0 -4
  272. package/dist/upload/file-upload/video-icon.svg +0 -4
  273. package/dist/upload/readme.md +0 -37
  274. package/dist/upload/transaction/Transaction.js +0 -175
  275. package/dist/upload/transaction/audio-icon-err.svg +0 -4
  276. package/dist/upload/transaction/audio-icon.svg +0 -4
  277. package/dist/upload/transaction/error-icon.svg +0 -4
  278. package/dist/upload/transaction/file-icon-err.svg +0 -4
  279. package/dist/upload/transaction/file-icon.svg +0 -4
  280. package/dist/upload/transaction/image-icon-err.svg +0 -4
  281. package/dist/upload/transaction/image-icon.svg +0 -4
  282. package/dist/upload/transaction/success-icon.svg +0 -4
  283. package/dist/upload/transaction/video-icon-err.svg +0 -4
  284. package/dist/upload/transaction/video-icon.svg +0 -4
  285. package/dist/upload/transactions/Transactions.js +0 -138
  286. package/dist/wizard/invalid_icon.svg +0 -5
  287. package/dist/wizard/valid_icon.svg +0 -5
  288. package/dist/wizard/validation-wrong.svg +0 -6
  289. package/test/Accordion.test.js +0 -33
  290. package/test/AccordionGroup.test.js +0 -125
  291. package/test/Alert.test.js +0 -53
  292. package/test/Box.test.js +0 -10
  293. package/test/Button.test.js +0 -18
  294. package/test/Card.test.js +0 -30
  295. package/test/Checkbox.test.js +0 -45
  296. package/test/Chip.test.js +0 -25
  297. package/test/Date.test.js +0 -393
  298. package/test/Dialog.test.js +0 -23
  299. package/test/Dropdown.test.js +0 -145
  300. package/test/FileInput.test.js +0 -201
  301. package/test/Footer.test.js +0 -99
  302. package/test/Header.test.js +0 -39
  303. package/test/Heading.test.js +0 -35
  304. package/test/InputText.test.js +0 -240
  305. package/test/Link.test.js +0 -43
  306. package/test/NewDate.test.js +0 -232
  307. package/test/NewInputText.test.js +0 -734
  308. package/test/NewTextarea.test.js +0 -195
  309. package/test/Number.test.js +0 -257
  310. package/test/Paginator.test.js +0 -177
  311. package/test/Password.test.js +0 -83
  312. package/test/ProgressBar.test.js +0 -35
  313. package/test/Radio.test.js +0 -37
  314. package/test/ResultsetTable.test.js +0 -329
  315. package/test/Select.test.js +0 -212
  316. package/test/Sidenav.test.js +0 -45
  317. package/test/Slider.test.js +0 -82
  318. package/test/Spinner.test.js +0 -32
  319. package/test/Switch.test.js +0 -45
  320. package/test/Table.test.js +0 -36
  321. package/test/Tabs.test.js +0 -109
  322. package/test/TabsForSections.test.js +0 -34
  323. package/test/Tag.test.js +0 -32
  324. package/test/TextArea.test.js +0 -52
  325. package/test/ToggleGroup.test.js +0 -81
  326. package/test/Upload.test.js +0 -60
  327. package/test/Wizard.test.js +0 -130
  328. package/test/mocks/pngMock.js +0 -1
  329. package/test/mocks/svgMock.js +0 -1
@@ -0,0 +1,243 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof3 = require("@babel/runtime/helpers/typeof");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports["default"] = void 0;
11
+
12
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
13
+
14
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
15
+
16
+ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
17
+
18
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
19
+
20
+ var _react = _interopRequireWildcard(require("react"));
21
+
22
+ var _styledComponents = _interopRequireWildcard(require("styled-components"));
23
+
24
+ var _uuid = require("uuid");
25
+
26
+ var _propTypes = _interopRequireDefault(require("prop-types"));
27
+
28
+ var _variables = require("../common/variables.js");
29
+
30
+ var _useTheme = _interopRequireDefault(require("../useTheme.js"));
31
+
32
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9;
33
+
34
+ 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); }
35
+
36
+ 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; }
37
+
38
+ var DxcToggleGroup = function DxcToggleGroup(_ref) {
39
+ var label = _ref.label,
40
+ helperText = _ref.helperText,
41
+ value = _ref.value,
42
+ onChange = _ref.onChange,
43
+ _ref$disabled = _ref.disabled,
44
+ disabled = _ref$disabled === void 0 ? false : _ref$disabled,
45
+ _ref$options = _ref.options,
46
+ options = _ref$options === void 0 ? [] : _ref$options,
47
+ margin = _ref.margin,
48
+ _ref$multiple = _ref.multiple,
49
+ multiple = _ref$multiple === void 0 ? false : _ref$multiple,
50
+ _ref$tabIndex = _ref.tabIndex,
51
+ tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
52
+ var colorsTheme = (0, _useTheme["default"])();
53
+
54
+ var _useState = (0, _react.useState)(multiple ? [] : null),
55
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
56
+ selectedValue = _useState2[0],
57
+ setSelectedValue = _useState2[1];
58
+
59
+ var _useState3 = (0, _react.useState)("toggle-group-".concat((0, _uuid.v4)())),
60
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 1),
61
+ toggleGroupId = _useState4[0];
62
+
63
+ var handleToggleChange = function handleToggleChange(selectedOption) {
64
+ var newSelectedOptions;
65
+
66
+ if (value == null) {
67
+ if (multiple) {
68
+ newSelectedOptions = selectedValue.map(function (value) {
69
+ return value;
70
+ });
71
+
72
+ if (newSelectedOptions.includes(selectedOption)) {
73
+ var index = newSelectedOptions.indexOf(selectedOption);
74
+ newSelectedOptions.splice(index, 1);
75
+ } else {
76
+ newSelectedOptions.push(selectedOption);
77
+ }
78
+
79
+ setSelectedValue(newSelectedOptions);
80
+ } else setSelectedValue(selectedOption === selectedValue ? null : selectedOption);
81
+ } else if (multiple) {
82
+ newSelectedOptions = value.map(function (v) {
83
+ return v;
84
+ });
85
+
86
+ if (newSelectedOptions.includes(selectedOption)) {
87
+ var _index = newSelectedOptions.indexOf(selectedOption);
88
+
89
+ newSelectedOptions.splice(_index, 1);
90
+ } else newSelectedOptions.push(selectedOption);
91
+ }
92
+
93
+ typeof onChange === "function" && onChange(multiple ? newSelectedOptions : selectedOption);
94
+ };
95
+
96
+ var handleKeyPress = function handleKeyPress(event, optionValue) {
97
+ event.preventDefault();
98
+ if (!disabled && (event.nativeEvent.code === "Enter" || event.nativeEvent.code === "Space")) handleToggleChange(optionValue);
99
+ };
100
+
101
+ return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
102
+ theme: colorsTheme.toggleGroup
103
+ }, /*#__PURE__*/_react["default"].createElement(ToggleGroup, {
104
+ margin: margin,
105
+ disabled: disabled
106
+ }, /*#__PURE__*/_react["default"].createElement(Label, {
107
+ htmlFor: toggleGroupId,
108
+ disabled: disabled
109
+ }, label), /*#__PURE__*/_react["default"].createElement(HelperText, {
110
+ disabled: disabled
111
+ }, helperText), /*#__PURE__*/_react["default"].createElement(OptionsContainer, {
112
+ id: toggleGroupId,
113
+ role: multiple ? "group" : "radiogroup"
114
+ }, options.map(function (option, i) {
115
+ return /*#__PURE__*/_react["default"].createElement(ToggleContainer, {
116
+ selected: multiple ? value ? value.includes(option.value) : selectedValue.includes(option.value) : value ? option.value === value : option.value === selectedValue,
117
+ role: multiple ? "switch" : "radio",
118
+ "aria-checked": multiple ? value ? value.includes(option.value) : selectedValue.includes(option.value) : value ? option.value === value : option.value === selectedValue,
119
+ tabIndex: !disabled ? tabIndex : -1,
120
+ onClick: function onClick() {
121
+ return !disabled && handleToggleChange(option.value);
122
+ },
123
+ isFirst: i === 0,
124
+ isLast: i === options.length - 1,
125
+ isIcon: option.iconSrc || option.icon,
126
+ optionLabel: option.label,
127
+ disabled: disabled,
128
+ onKeyPress: function onKeyPress(event) {
129
+ handleKeyPress(event, option.value);
130
+ },
131
+ key: "toggle-".concat(i, "-").concat(option.label)
132
+ }, /*#__PURE__*/_react["default"].createElement(OptionContent, null, option.icon && /*#__PURE__*/_react["default"].createElement(IconContainer, {
133
+ optionLabel: option.label
134
+ }, (0, _typeof2["default"])(option.icon) === "object" ? option.icon : /*#__PURE__*/_react["default"].createElement(option.icon)), option.iconSrc && /*#__PURE__*/_react["default"].createElement(Icon, {
135
+ src: option.iconSrc,
136
+ optionLabel: option.label
137
+ }), option.label && /*#__PURE__*/_react["default"].createElement(LabelContainer, null, option.label)));
138
+ }))));
139
+ };
140
+
141
+ var Label = _styledComponents["default"].label(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: ", ";\n"])), function (props) {
142
+ return props.disabled ? props.theme.disabledLabelFontColor : props.theme.labelFontColor;
143
+ }, function (props) {
144
+ return props.theme.labelFontFamily;
145
+ }, function (props) {
146
+ return props.theme.labelFontSize;
147
+ }, function (props) {
148
+ return props.theme.labelFontStyle;
149
+ }, function (props) {
150
+ return props.theme.labelFontWeight;
151
+ }, function (props) {
152
+ return props.theme.labelLineHeight;
153
+ });
154
+
155
+ var HelperText = _styledComponents["default"].span(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: ", ";\n"])), function (props) {
156
+ return props.disabled ? props.theme.disabledHelperTextFontcolor : props.theme.helperTextFontColor;
157
+ }, function (props) {
158
+ return props.theme.helperTextFontFamily;
159
+ }, function (props) {
160
+ return props.theme.helperTextFontSize;
161
+ }, function (props) {
162
+ return props.theme.helperTextFontStyle;
163
+ }, function (props) {
164
+ return props.theme.helperTextFontWeight;
165
+ }, function (props) {
166
+ return props.theme.helperTextLineHeight;
167
+ });
168
+
169
+ var ToggleGroup = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n flex-direction: column;\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n"])), function (props) {
170
+ return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
171
+ }, function (props) {
172
+ return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.top ? _variables.spaces[props.margin.top] : "";
173
+ }, function (props) {
174
+ return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.right ? _variables.spaces[props.margin.right] : "";
175
+ }, function (props) {
176
+ return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.bottom ? _variables.spaces[props.margin.bottom] : "";
177
+ }, function (props) {
178
+ return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
179
+ });
180
+
181
+ var OptionsContainer = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: row;\n opacity: 1;\n height: calc(48px - 4px - 4px);\n border-width: ", ";\n border-style: ", ";\n border-radius: ", ";\n border-color: ", ";\n background-color: ", ";\n padding: 4px;\n margin-top: ", ";\n"])), function (props) {
182
+ return props.theme.containerBorderThickness;
183
+ }, function (props) {
184
+ return props.theme.containerBorderStyle;
185
+ }, function (props) {
186
+ return props.theme.containerBorderRadius;
187
+ }, function (props) {
188
+ return props.theme.containerBorderColor;
189
+ }, function (props) {
190
+ return props.theme.containerBackgroundColor;
191
+ }, function (props) {
192
+ return props.theme.containerMarginTop;
193
+ });
194
+
195
+ var ToggleContainer = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n justify-content: center;\n margin-right: ", ";\n\n ", "\n"])), function (props) {
196
+ return !props.isLast && "4px";
197
+ }, function (props) {
198
+ return "\n background-color: ".concat(props.selected ? props.disabled ? props.theme.selectedDisabledBackgroundColor : props.theme.selectedBackgroundColor : props.disabled ? props.theme.unselectedDisabledBackgroundColor : props.theme.unselectedBackgroundColor, ";\n border-width: ").concat(props.theme.optionBorderThickness, ";\n border-style: ").concat(props.theme.optionBorderStyle, ";\n border-radius: ").concat(props.theme.optionBorderRadius, ";\n padding-left: ").concat(props.optionLabel && props.isIcon || props.optionLabel && !props.isIcon ? props.theme.labelPaddingLeft : props.theme.iconPaddingLeft, ";\n padding-right: ").concat(props.optionLabel && props.isIcon || props.optionLabel && !props.isIcon ? props.theme.labelPaddingRight : props.theme.iconPaddingRight, ";\n ").concat(!props.disabled ? ":hover {\n background-color: ".concat(props.selected ? props.theme.selectedHoverBackgroundColor : props.theme.unselectedHoverBackgroundColor, ";\n }\n :active {\n background-color: ").concat(props.selected ? props.theme.selectedActiveBackgroundColor : props.theme.unselectedActiveBackgroundColor, ";\n color: #ffffff;\n } \n :focus {\n border-color: transparent;\n box-shadow: 0 0 0 ").concat(props.theme.optionFocusBorderThickness, " ").concat(props.backgroundType === "dark" ? props.theme.focusColorOnDark : props.theme.focusColor, ";\n }\n &:focus-visible {\n outline: none;\n }\n cursor: pointer;\n color: ").concat(props.selected ? props.theme.selectedFontColor : props.theme.unselectedFontColor, ";\n") : "color: ".concat(props.selected ? props.theme.selectedDisabledFontColor : props.theme.unselectedDisabledFontColor, ";\n cursor: not-allowed;"), "\n ");
199
+ });
200
+
201
+ var LabelContainer = _styledComponents["default"].span(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n"])), function (props) {
202
+ return props.theme.optionLabelFontFamily;
203
+ }, function (props) {
204
+ return props.theme.optionLabelFontSize;
205
+ }, function (props) {
206
+ return props.theme.optionLabelFontStyle;
207
+ }, function (props) {
208
+ return props.theme.optionLabelFontWeight;
209
+ });
210
+
211
+ var OptionContent = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: row;\n"])));
212
+
213
+ var Icon = _styledComponents["default"].img(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n height: 24px;\n width: 24px;\n margin-right: ", ";\n"])), function (props) {
214
+ return props.optionLabel && props.theme.iconMarginRight;
215
+ });
216
+
217
+ var IconContainer = _styledComponents["default"].div(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n margin-right: ", ";\n height: 24px;\n width: 24px;\n overflow: hidden;\n display: flex;\n img,\n svg {\n height: 100%;\n width: 100%;\n }\n"])), function (props) {
218
+ return props.optionLabel && props.theme.iconMarginRight;
219
+ });
220
+
221
+ DxcToggleGroup.propTypes = {
222
+ label: _propTypes["default"].string,
223
+ helperText: _propTypes["default"].string,
224
+ value: _propTypes["default"].any,
225
+ onChange: _propTypes["default"].func,
226
+ disabled: _propTypes["default"].bool,
227
+ multiple: _propTypes["default"].bool,
228
+ options: _propTypes["default"].arrayOf(_propTypes["default"].shape({
229
+ value: _propTypes["default"].any.isRequired,
230
+ label: _propTypes["default"].string,
231
+ icon: _propTypes["default"].oneOfType([_propTypes["default"].element, _propTypes["default"].func]),
232
+ iconSrc: _propTypes["default"].string
233
+ })),
234
+ margin: _propTypes["default"].oneOfType([_propTypes["default"].shape({
235
+ top: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
236
+ bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
237
+ left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
238
+ right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
239
+ }), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))]),
240
+ tabIndex: _propTypes["default"].number
241
+ };
242
+ var _default = DxcToggleGroup;
243
+ exports["default"] = _default;
@@ -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 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,7 +185,7 @@ DxcUpload.propTypes = {
189
185
  tabIndex: _propTypes["default"].number
190
186
  };
191
187
 
192
- var DXCUpload = _styledComponents["default"].div(_templateObject(), 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) {
193
189
  return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
194
190
  }, function (props) {
195
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;