@dxc-technology/halstack-react 0.0.0-de3a219 → 0.0.0-e1a279c

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/{dist/textarea/Textarea.js → V3Textarea/V3Textarea.js} +39 -39
  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/{dist/checkbox → checkbox}/Checkbox.js +44 -82
  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/Chip.stories.tsx +121 -0
  42. package/chip/index.d.ts +22 -0
  43. package/{dist/common → common}/OpenSans.css +0 -0
  44. package/{dist/common → common}/RequiredComponent.js +3 -11
  45. package/{dist/common → common}/fonts/OpenSans-Bold.ttf +0 -0
  46. package/{dist/common → common}/fonts/OpenSans-BoldItalic.ttf +0 -0
  47. package/{dist/common → common}/fonts/OpenSans-ExtraBold.ttf +0 -0
  48. package/{dist/common → common}/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  49. package/{dist/common → common}/fonts/OpenSans-Italic.ttf +0 -0
  50. package/{dist/common → common}/fonts/OpenSans-Light.ttf +0 -0
  51. package/{dist/common → common}/fonts/OpenSans-LightItalic.ttf +0 -0
  52. package/{dist/common → common}/fonts/OpenSans-Regular.ttf +0 -0
  53. package/{dist/common → common}/fonts/OpenSans-SemiBold.ttf +0 -0
  54. package/{dist/common → common}/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  55. package/{dist/common → common}/utils.js +0 -0
  56. package/common/variables.js +1577 -0
  57. package/{dist/date → date}/Date.js +33 -51
  58. package/date/index.d.ts +27 -0
  59. package/date-input/DateInput.d.ts +4 -0
  60. package/date-input/DateInput.js +361 -0
  61. package/date-input/DateInput.stories.tsx +138 -0
  62. package/date-input/types.d.ts +100 -0
  63. package/date-input/types.js +5 -0
  64. package/dialog/Dialog.d.ts +4 -0
  65. package/{dist/dialog → dialog}/Dialog.js +29 -100
  66. package/dialog/Dialog.stories.tsx +212 -0
  67. package/dialog/types.d.ts +43 -0
  68. package/dialog/types.js +5 -0
  69. package/dropdown/Dropdown.d.ts +4 -0
  70. package/dropdown/Dropdown.js +417 -0
  71. package/dropdown/types.d.ts +89 -0
  72. package/dropdown/types.js +5 -0
  73. package/file-input/FileInput.js +532 -0
  74. package/file-input/FileItem.js +193 -0
  75. package/file-input/index.d.ts +81 -0
  76. package/footer/Footer.d.ts +4 -0
  77. package/footer/Footer.js +266 -0
  78. package/footer/Footer.stories.jsx +151 -0
  79. package/footer/Icons.js +77 -0
  80. package/footer/types.d.ts +61 -0
  81. package/footer/types.js +5 -0
  82. package/header/Header.d.ts +7 -0
  83. package/header/Header.js +324 -0
  84. package/header/Icons.js +34 -0
  85. package/header/types.d.ts +45 -0
  86. package/header/types.js +5 -0
  87. package/{dist/heading → heading}/Heading.js +30 -76
  88. package/heading/index.d.ts +17 -0
  89. package/input-text/Icons.js +22 -0
  90. package/{dist/input-text → input-text}/InputText.js +120 -178
  91. package/input-text/index.d.ts +36 -0
  92. package/{dist/layout → layout}/ApplicationLayout.js +35 -131
  93. package/layout/Icons.js +55 -0
  94. package/link/Link.d.ts +3 -0
  95. package/link/Link.js +161 -0
  96. package/link/Link.stories.tsx +70 -0
  97. package/link/types.d.ts +74 -0
  98. package/link/types.js +5 -0
  99. package/main.d.ts +44 -0
  100. package/{dist/main.js → main.js} +121 -69
  101. package/number-input/NumberInput.d.ts +4 -0
  102. package/number-input/NumberInput.js +86 -0
  103. package/number-input/NumberInput.stories.tsx +115 -0
  104. package/number-input/NumberInputContext.js +16 -0
  105. package/number-input/types.d.ts +117 -0
  106. package/number-input/types.js +5 -0
  107. package/package.json +34 -25
  108. package/paginator/Icons.js +66 -0
  109. package/paginator/Paginator.d.ts +4 -0
  110. package/paginator/Paginator.js +198 -0
  111. package/paginator/Paginator.stories.tsx +63 -0
  112. package/paginator/types.d.ts +38 -0
  113. package/paginator/types.js +5 -0
  114. package/password-input/PasswordInput.d.ts +4 -0
  115. package/password-input/PasswordInput.js +162 -0
  116. package/password-input/PasswordInput.stories.tsx +131 -0
  117. package/password-input/types.d.ts +100 -0
  118. package/password-input/types.js +5 -0
  119. package/progress-bar/ProgressBar.d.ts +4 -0
  120. package/progress-bar/ProgressBar.js +170 -0
  121. package/progress-bar/ProgressBar.stories.jsx +58 -0
  122. package/progress-bar/types.d.ts +37 -0
  123. package/progress-bar/types.js +5 -0
  124. package/radio/Radio.d.ts +4 -0
  125. package/{dist/radio → radio}/Radio.js +15 -50
  126. package/radio/Radio.stories.tsx +192 -0
  127. package/radio/types.d.ts +54 -0
  128. package/radio/types.js +5 -0
  129. package/{dist/resultsetTable → resultsetTable}/ResultsetTable.js +35 -136
  130. package/resultsetTable/index.d.ts +19 -0
  131. package/select/Select.js +865 -0
  132. package/select/Select.stories.tsx +572 -0
  133. package/select/index.d.ts +131 -0
  134. package/sidenav/Sidenav.d.ts +9 -0
  135. package/sidenav/Sidenav.js +136 -0
  136. package/sidenav/types.d.ts +50 -0
  137. package/sidenav/types.js +5 -0
  138. package/slider/Slider.d.ts +4 -0
  139. package/slider/Slider.js +317 -0
  140. package/slider/Slider.stories.tsx +177 -0
  141. package/slider/types.d.ts +78 -0
  142. package/slider/types.js +5 -0
  143. package/spinner/Spinner.d.ts +4 -0
  144. package/spinner/Spinner.js +250 -0
  145. package/spinner/Spinner.stories.jsx +102 -0
  146. package/spinner/types.d.ts +32 -0
  147. package/spinner/types.js +5 -0
  148. package/switch/Switch.d.ts +4 -0
  149. package/{dist/switch → switch}/Switch.js +28 -71
  150. package/switch/Switch.stories.tsx +160 -0
  151. package/switch/types.d.ts +58 -0
  152. package/switch/types.js +5 -0
  153. package/table/Table.d.ts +4 -0
  154. package/table/Table.js +118 -0
  155. package/table/Table.stories.jsx +276 -0
  156. package/table/types.d.ts +21 -0
  157. package/table/types.js +5 -0
  158. package/tabs/Tabs.d.ts +4 -0
  159. package/tabs/Tabs.js +211 -0
  160. package/tabs/types.d.ts +71 -0
  161. package/tabs/types.js +5 -0
  162. package/tag/Tag.d.ts +4 -0
  163. package/tag/Tag.js +193 -0
  164. package/tag/Tag.stories.tsx +145 -0
  165. package/tag/types.d.ts +60 -0
  166. package/tag/types.js +5 -0
  167. package/text-input/TextInput.js +825 -0
  168. package/text-input/index.d.ts +135 -0
  169. package/textarea/Textarea.js +317 -0
  170. package/textarea/Textarea.stories.jsx +135 -0
  171. package/textarea/index.d.ts +117 -0
  172. package/{dist/toggle → toggle}/Toggle.js +15 -49
  173. package/toggle/index.d.ts +21 -0
  174. package/toggle-group/ToggleGroup.js +243 -0
  175. package/toggle-group/ToggleGroup.stories.tsx +178 -0
  176. package/toggle-group/index.d.ts +21 -0
  177. package/{dist/upload → upload}/Upload.js +11 -15
  178. package/upload/buttons-upload/ButtonsUpload.js +111 -0
  179. package/upload/buttons-upload/Icons.js +40 -0
  180. package/upload/dragAndDropArea/DragAndDropArea.js +225 -0
  181. package/upload/dragAndDropArea/Icons.js +39 -0
  182. package/upload/file-upload/FileToUpload.js +115 -0
  183. package/upload/file-upload/Icons.js +66 -0
  184. package/{dist/upload → upload}/files-upload/FilesToUpload.js +12 -26
  185. package/upload/index.d.ts +15 -0
  186. package/upload/transaction/Icons.js +160 -0
  187. package/upload/transaction/Transaction.js +104 -0
  188. package/upload/transactions/Transactions.js +94 -0
  189. package/{dist/useTheme.js → useTheme.js} +0 -0
  190. package/wizard/Icons.js +65 -0
  191. package/wizard/Wizard.d.ts +4 -0
  192. package/wizard/Wizard.js +231 -0
  193. package/wizard/Wizard.stories.jsx +224 -0
  194. package/wizard/types.d.ts +64 -0
  195. package/wizard/types.js +5 -0
  196. package/README.md +0 -66
  197. package/babel.config.js +0 -8
  198. package/dist/BackgroundColorContext.js +0 -46
  199. package/dist/ThemeContext.js +0 -216
  200. package/dist/accordion/Accordion.js +0 -356
  201. package/dist/accordion/Accordion.stories.js +0 -207
  202. package/dist/accordion/readme.md +0 -96
  203. package/dist/accordion-group/AccordionGroup.js +0 -188
  204. package/dist/accordion-group/AccordionGroup.stories.js +0 -207
  205. package/dist/accordion-group/readme.md +0 -70
  206. package/dist/alert/Alert.js +0 -388
  207. package/dist/alert/Alert.stories.js +0 -158
  208. package/dist/alert/close.svg +0 -4
  209. package/dist/alert/error.svg +0 -4
  210. package/dist/alert/info.svg +0 -4
  211. package/dist/alert/readme.md +0 -43
  212. package/dist/alert/success.svg +0 -4
  213. package/dist/alert/warning.svg +0 -4
  214. package/dist/badge/Badge.js +0 -61
  215. package/dist/button/Button.js +0 -228
  216. package/dist/button/Button.stories.js +0 -224
  217. package/dist/button/readme.md +0 -93
  218. package/dist/checkbox/Checkbox.stories.js +0 -144
  219. package/dist/checkbox/readme.md +0 -116
  220. package/dist/common/variables.js +0 -1164
  221. package/dist/date/Date.stories.js +0 -205
  222. package/dist/date/calendar.svg +0 -1
  223. package/dist/date/calendar_dark.svg +0 -1
  224. package/dist/date/readme.md +0 -73
  225. package/dist/dialog/Dialog.stories.js +0 -217
  226. package/dist/dialog/readme.md +0 -32
  227. package/dist/dropdown/Dropdown.js +0 -498
  228. package/dist/dropdown/Dropdown.stories.js +0 -249
  229. package/dist/dropdown/baseline-arrow_drop_down.svg +0 -1
  230. package/dist/dropdown/baseline-arrow_drop_down_wh.svg +0 -4
  231. package/dist/dropdown/baseline-arrow_drop_up.svg +0 -1
  232. package/dist/dropdown/baseline-arrow_drop_up_wh.svg +0 -4
  233. package/dist/dropdown/readme.md +0 -69
  234. package/dist/footer/Footer.js +0 -405
  235. package/dist/footer/Footer.stories.js +0 -94
  236. package/dist/footer/dxc_logo_wht.png +0 -0
  237. package/dist/footer/readme.md +0 -41
  238. package/dist/header/Header.js +0 -431
  239. package/dist/header/Header.stories.js +0 -176
  240. package/dist/header/close_icon.svg +0 -1
  241. package/dist/header/dxc_logo_black.png +0 -0
  242. package/dist/header/dxc_logo_blk_rgb.svg +0 -6
  243. package/dist/header/dxc_logo_white.png +0 -0
  244. package/dist/header/hamb_menu_black.svg +0 -1
  245. package/dist/header/hamb_menu_white.svg +0 -1
  246. package/dist/header/readme.md +0 -33
  247. package/dist/input-text/InputText.stories.js +0 -209
  248. package/dist/input-text/error.svg +0 -1
  249. package/dist/input-text/readme.md +0 -91
  250. package/dist/layout/facebook.svg +0 -45
  251. package/dist/layout/linkedin.svg +0 -50
  252. package/dist/layout/twitter.svg +0 -53
  253. package/dist/link/Link.js +0 -212
  254. package/dist/link/readme.md +0 -51
  255. package/dist/paginator/Paginator.js +0 -283
  256. package/dist/paginator/images/next.svg +0 -3
  257. package/dist/paginator/images/nextPage.svg +0 -3
  258. package/dist/paginator/images/previous.svg +0 -3
  259. package/dist/paginator/images/previousPage.svg +0 -3
  260. package/dist/paginator/readme.md +0 -50
  261. package/dist/progress-bar/ProgressBar.js +0 -206
  262. package/dist/progress-bar/ProgressBar.stories.js +0 -280
  263. package/dist/progress-bar/readme.md +0 -63
  264. package/dist/radio/Radio.stories.js +0 -166
  265. package/dist/radio/readme.md +0 -70
  266. package/dist/resultsetTable/arrow_downward-24px_wht.svg +0 -1
  267. package/dist/resultsetTable/arrow_upward-24px_wht.svg +0 -1
  268. package/dist/resultsetTable/unfold_more-24px_wht.svg +0 -1
  269. package/dist/select/Select.js +0 -525
  270. package/dist/select/Select.stories.js +0 -235
  271. package/dist/select/readme.md +0 -72
  272. package/dist/sidenav/Sidenav.js +0 -183
  273. package/dist/slider/Slider.js +0 -315
  274. package/dist/slider/Slider.stories.js +0 -241
  275. package/dist/slider/readme.md +0 -64
  276. package/dist/spinner/Spinner.js +0 -214
  277. package/dist/spinner/Spinner.stories.js +0 -183
  278. package/dist/spinner/readme.md +0 -65
  279. package/dist/switch/Switch.stories.js +0 -134
  280. package/dist/switch/readme.md +0 -133
  281. package/dist/table/Table.js +0 -122
  282. package/dist/tabs/Tabs.js +0 -347
  283. package/dist/tabs/Tabs.stories.js +0 -130
  284. package/dist/tabs/readme.md +0 -78
  285. package/dist/tabs-for-sections/TabsForSections.js +0 -92
  286. package/dist/tabs-for-sections/readme.md +0 -78
  287. package/dist/tag/Tag.js +0 -280
  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 -135
  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 -325
  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 -184
  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 -171
  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 -138
  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
@@ -1,82 +0,0 @@
1
- # DXC Toggle Group Component
2
-
3
- ## Props
4
-
5
- <table>
6
- <tr style="background-color: grey">
7
- <td>Name</td>
8
- <td>Default</td>
9
- <td>Description</td>
10
- </tr>
11
- <tr>
12
- <td>value: any | any[]</td>
13
- <td></td>
14
- <td>
15
- The key(s) of the selected value(s). If the toggle group component
16
- doesn't allow multiple selection, it must be one unique value. If the
17
- component allows multiple selection, value must be an array. If
18
- undefined, the component will be uncontrolled and the value will be
19
- managed internally by the component.
20
- </td>
21
- </tr>
22
- <tr>
23
- <td>onChange: function</td>
24
- <td></td>
25
- <td>
26
- This function will be called every time the selection changes. The
27
- number with the key of the selected value will be passed as a
28
- parameter to this function. If multiple selection is allowed, an array
29
- of keys will be passed
30
- </td>
31
- </tr>
32
- <tr>
33
- <td>disabled: boolean</td>
34
- <td>
35
- <code>false</code>
36
- </td>
37
- <td>If true, the component will be disabled.</td>
38
- </tr>
39
- <tr>
40
- <td>multiple: boolean</td>
41
- <td>
42
- <code>false</code>
43
- </td>
44
- <td>
45
- If true, the toggle group will support multiple selection. In that
46
- case, value must be an array of numbers with the keys of the selected
47
- values.
48
- </td>
49
- </tr>
50
- <tr>
51
- <td>options: object[]</td>
52
- <td>
53
- <code>[]</code>
54
- </td>
55
- <td>
56
- An array of objects representing the selectable options. Each object
57
- has the following properties:
58
- <ul>
59
- <li>
60
- <b>value</b>: Number with the option inner value.
61
- </li>
62
- <li>
63
- <b>label</b>: String with the option display value.
64
- </li>
65
- <li>
66
- <b>iconSrc</b>: URL of the icon that will be placed. IconSrc and
67
- label can't be used at same time.
68
- </li>
69
- </ul>
70
- </td>
71
- </tr>
72
- <tr>
73
- <td>margin: string | object</td>
74
- <td></td>
75
- <td>
76
- Size of the margin to be applied to the component ('xxsmall' |
77
- 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge'). You
78
- can pass an object with 'top', 'bottom', 'left' and 'right' properties
79
- in order to specify different margin sizes.
80
- </td>
81
- </tr>
82
- </table>
@@ -1,72 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
6
-
7
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
8
-
9
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
10
-
11
- var _react = _interopRequireDefault(require("react"));
12
-
13
- var _react2 = require("@storybook/react");
14
-
15
- var _readme = _interopRequireDefault(require("./readme.md"));
16
-
17
- var _Upload = _interopRequireDefault(require("./Upload"));
18
-
19
- function callbackFunc() {
20
- return _callbackFunc.apply(this, arguments);
21
- }
22
-
23
- function _callbackFunc() {
24
- _callbackFunc = (0, _asyncToGenerator2["default"])(
25
- /*#__PURE__*/
26
- _regenerator["default"].mark(function _callee() {
27
- return _regenerator["default"].wrap(function _callee$(_context) {
28
- while (1) {
29
- switch (_context.prev = _context.next) {
30
- case 0:
31
- return _context.abrupt("return", new Promise(function (resolve) {
32
- return setTimeout(resolve, 1000);
33
- }));
34
-
35
- case 1:
36
- case "end":
37
- return _context.stop();
38
- }
39
- }
40
- }, _callee);
41
- }));
42
- return _callbackFunc.apply(this, arguments);
43
- }
44
-
45
- (0, _react2.storiesOf)("Form Components|Upload", module).add("Component", function () {
46
- return _react["default"].createElement("div", {
47
- style: {
48
- marginTop: "80px"
49
- }
50
- }, _react["default"].createElement(_Upload["default"], {
51
- callbackUpload: callbackFunc
52
- }));
53
- }, {
54
- notes: {
55
- markdown: _readme["default"]
56
- }
57
- });
58
-
59
- var knobProps = function knobProps() {
60
- return {};
61
- };
62
-
63
- (0, _react2.storiesOf)("Form Components|Upload", module).add("Knobs example", function () {
64
- var props = knobProps();
65
- return _react["default"].createElement(_Upload["default"], (0, _extends2["default"])({}, props, {
66
- callbackUpload: callbackFunc
67
- }));
68
- }, {
69
- notes: {
70
- markdown: _readme["default"]
71
- }
72
- });
@@ -1,135 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
-
5
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
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 _uploadButton = _interopRequireDefault(require("./upload-button.svg"));
23
-
24
- var _dragDropIcon = _interopRequireDefault(require("./drag-drop-icon.svg"));
25
-
26
- var _useTheme = _interopRequireDefault(require("../../useTheme.js"));
27
-
28
- function _templateObject3() {
29
- var data = (0, _taggedTemplateLiteral2["default"])(["\n background-color: ", ";\n mask: url(", ") no-repeat center;\n mask-size: ", ";\n height: ", ";\n width: ", ";\n margin-right: 5px;\n"]);
30
-
31
- _templateObject3 = function _templateObject3() {
32
- return data;
33
- };
34
-
35
- return data;
36
- }
37
-
38
- function _templateObject2() {
39
- var data = (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"]);
40
-
41
- _templateObject2 = function _templateObject2() {
42
- return data;
43
- };
44
-
45
- return data;
46
- }
47
-
48
- function _templateObject() {
49
- var data = (0, _taggedTemplateLiteral2["default"])(["\n margin-right: 80px;\n display: flex;\n flex-direction: row;\n justify-content: flex-end;\n"]);
50
-
51
- _templateObject = function _templateObject() {
52
- return data;
53
- };
54
-
55
- return data;
56
- }
57
-
58
- var DxcButtonsUpload = function DxcButtonsUpload(_ref) {
59
- var addFile = _ref.addFile,
60
- onUpload = _ref.onUpload;
61
- var colorsTheme = (0, _useTheme["default"])();
62
-
63
- var selectFile = function selectFile(e) {
64
- var filesObject = e.target.files;
65
-
66
- if (filesObject && filesObject.length > 0) {
67
- var filesArray = Object.keys(filesObject).map(function (key) {
68
- return filesObject[key];
69
- });
70
- addFile(filesArray);
71
- }
72
- };
73
-
74
- var handleClick = function handleClick() {
75
- document.getElementById("chooseFiles").click();
76
- };
77
-
78
- return _react["default"].createElement(_styledComponents.ThemeProvider, {
79
- theme: colorsTheme.upload
80
- }, _react["default"].createElement(DXCButtonsUpload, null, _react["default"].createElement(DragAndDropLabel, null, _react["default"].createElement(DragAndDropIcon, null), "Drag and Drop area"), _react["default"].createElement(_Button["default"], {
81
- margin: {
82
- right: "small"
83
- },
84
- mode: "text",
85
- label: "CHOOSE FILES",
86
- onClick: handleClick
87
- }), _react["default"].createElement("input", {
88
- id: "chooseFiles",
89
- type: "file",
90
- multiple: true,
91
- onChange: selectFile,
92
- style: {
93
- display: "none"
94
- }
95
- }), _react["default"].createElement(_Button["default"], {
96
- label: "UPLOAD",
97
- iconPosition: "after",
98
- iconSrc: _uploadButton["default"],
99
- onClick: onUpload
100
- })));
101
- };
102
-
103
- DxcButtonsUpload.propTypes = {
104
- addFile: _propTypes["default"].func,
105
- onUpload: _propTypes["default"].func
106
- };
107
-
108
- var DXCButtonsUpload = _styledComponents["default"].div(_templateObject());
109
-
110
- var DragAndDropLabel = _styledComponents["default"].div(_templateObject2(), function (props) {
111
- return props.theme.fontFamily;
112
- }, function (props) {
113
- return props.theme.dragAndDropAreaTextFontSize;
114
- }, function (props) {
115
- return props.theme.dragAndDropAreaTextFontStyle;
116
- }, function (props) {
117
- return props.theme.dragAndDropAreaTextFontWeight;
118
- }, function (props) {
119
- return props.theme.dragAndDropAreaTextFontTextTransform;
120
- }, function (props) {
121
- return props.theme.dragAndDropAreaTextFontColor;
122
- });
123
-
124
- var DragAndDropIcon = _styledComponents["default"].div(_templateObject3(), function (props) {
125
- return props.theme.dragAndDropAreaIconColor;
126
- }, _dragDropIcon["default"], function (props) {
127
- return "".concat(props.theme.dragAndDropAreaIconWidth, " ").concat(props.theme.dragAndDropAreaIconHeight);
128
- }, function (props) {
129
- return props.theme.dragAndDropAreaIconHeight;
130
- }, function (props) {
131
- return props.theme.dragAndDropAreaIconWidth;
132
- });
133
-
134
- var _default = DxcButtonsUpload;
135
- exports["default"] = _default;
@@ -1,4 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="#666666">
2
- <path fill="none" d="M0 0h24v24H0V0z"/>
3
- <path 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"/>
4
- </svg>
@@ -1 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M0 0h24v24H0z" fill="none"/><path 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"/></svg>
@@ -1,325 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
-
5
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
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
- require("../../common/variables.js");
23
-
24
- var _upload_file = _interopRequireDefault(require("./upload_file.svg"));
25
-
26
- var _upload_drop = _interopRequireDefault(require("./upload_drop.svg"));
27
-
28
- var _Button = _interopRequireDefault(require("../../button/Button"));
29
-
30
- var _useTheme = _interopRequireDefault(require("../../useTheme.js"));
31
-
32
- function _templateObject11() {
33
- var data = (0, _taggedTemplateLiteral2["default"])(["\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n text-transform: ", ";\n color: ", ";\n margin-bottom: 10px;\n"]);
34
-
35
- _templateObject11 = function _templateObject11() {
36
- return data;
37
- };
38
-
39
- return data;
40
- }
41
-
42
- function _templateObject10() {
43
- var data = (0, _taggedTemplateLiteral2["default"])(["\n background-color: ", ";\n mask: url(", ") no-repeat center;\n mask-size: ", ";\n height: ", ";\n width: ", ";\n"]);
44
-
45
- _templateObject10 = function _templateObject10() {
46
- return data;
47
- };
48
-
49
- return data;
50
- }
51
-
52
- function _templateObject9() {
53
- var data = (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"]);
54
-
55
- _templateObject9 = function _templateObject9() {
56
- return data;
57
- };
58
-
59
- return data;
60
- }
61
-
62
- function _templateObject8() {
63
- var data = (0, _taggedTemplateLiteral2["default"])([""]);
64
-
65
- _templateObject8 = function _templateObject8() {
66
- return data;
67
- };
68
-
69
- return data;
70
- }
71
-
72
- function _templateObject7() {
73
- var data = (0, _taggedTemplateLiteral2["default"])(["\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n text-transform: ", ";\n color: ", ";\n margin-bottom: 40px;\n"]);
74
-
75
- _templateObject7 = function _templateObject7() {
76
- return data;
77
- };
78
-
79
- return data;
80
- }
81
-
82
- function _templateObject6() {
83
- var data = (0, _taggedTemplateLiteral2["default"])(["\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n text-transform: ", ";\n color: ", ";\n margin-bottom: 10px;\n"]);
84
-
85
- _templateObject6 = function _templateObject6() {
86
- return data;
87
- };
88
-
89
- return data;
90
- }
91
-
92
- function _templateObject5() {
93
- var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n align-items: center;\n"]);
94
-
95
- _templateObject5 = function _templateObject5() {
96
- return data;
97
- };
98
-
99
- return data;
100
- }
101
-
102
- function _templateObject4() {
103
- var data = (0, _taggedTemplateLiteral2["default"])(["\n background-color: ", ";\n mask: url(", ") no-repeat center;\n mask-size: ", ";\n height: ", ";\n width: ", ";\n margin-bottom: 20px;\n"]);
104
-
105
- _templateObject4 = function _templateObject4() {
106
- return data;
107
- };
108
-
109
- return data;
110
- }
111
-
112
- function _templateObject3() {
113
- var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n"]);
114
-
115
- _templateObject3 = function _templateObject3() {
116
- return data;
117
- };
118
-
119
- return data;
120
- }
121
-
122
- function _templateObject2() {
123
- var data = (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"]);
124
-
125
- _templateObject2 = function _templateObject2() {
126
- return data;
127
- };
128
-
129
- return data;
130
- }
131
-
132
- function _templateObject() {
133
- var data = (0, _taggedTemplateLiteral2["default"])(["\n font-family: ", ";\n background-color: ", ";\n width: 100%;\n height: 100%;\n"]);
134
-
135
- _templateObject = function _templateObject() {
136
- return data;
137
- };
138
-
139
- return data;
140
- }
141
-
142
- var DxcDragAndDropArea = function DxcDragAndDropArea(_ref) {
143
- var _ref$dashed = _ref.dashed,
144
- dashed = _ref$dashed === void 0 ? false : _ref$dashed,
145
- addFile = _ref.addFile,
146
- tabIndexValue = _ref.tabIndexValue;
147
-
148
- var _React$useState = _react["default"].useState(false),
149
- _React$useState2 = (0, _slicedToArray2["default"])(_React$useState, 2),
150
- dragging = _React$useState2[0],
151
- setDragging = _React$useState2[1];
152
-
153
- var colorsTheme = (0, _useTheme["default"])();
154
- var text = "There are no files to upload";
155
- var description = "Drag and drop your files here or choose one from your computer";
156
- var textHover = "Drag your file here";
157
-
158
- var handleDrag = function handleDrag(e) {
159
- e.preventDefault();
160
- e.stopPropagation();
161
- };
162
-
163
- var handleDragIn = function handleDragIn(e) {
164
- e.preventDefault();
165
- e.stopPropagation();
166
-
167
- if (e.dataTransfer.items && e.dataTransfer.items.length > 0) {
168
- setDragging(true);
169
- }
170
- };
171
-
172
- var handleDragOut = function handleDragOut(e) {
173
- e.preventDefault();
174
- e.stopPropagation();
175
- setDragging(false);
176
- };
177
-
178
- var handleDrop = function handleDrop(e) {
179
- e.preventDefault();
180
- e.stopPropagation();
181
- var filesObject = e.dataTransfer.files;
182
-
183
- if (filesObject && filesObject.length > 0) {
184
- var filesArray = Object.keys(filesObject).map(function (key) {
185
- return filesObject[key];
186
- });
187
- addFile(filesArray);
188
- e.dataTransfer.clearData();
189
- }
190
- };
191
-
192
- var selectFile = function selectFile(e) {
193
- var filesObject = e.target.files;
194
-
195
- if (filesObject && filesObject.length > 0) {
196
- var filesArray = Object.keys(filesObject).map(function (key) {
197
- return filesObject[key];
198
- });
199
- addFile(filesArray);
200
- }
201
- };
202
-
203
- var handleClick = function handleClick() {
204
- document.getElementById("chooseFiles").click();
205
- };
206
-
207
- return _react["default"].createElement(_styledComponents.ThemeProvider, {
208
- theme: colorsTheme.upload
209
- }, _react["default"].createElement(DXCDragAndDrop, {
210
- onDrop: handleDrop,
211
- onDragEnter: handleDragIn,
212
- onDragOver: handleDrag,
213
- onDragLeave: handleDragOut,
214
- dashed: dashed
215
- }, !dragging && !dashed && _react["default"].createElement(DXCDragAndDropArea, null, _react["default"].createElement(DragAndDropContent, null, _react["default"].createElement(DragAndDropIcon, null), _react["default"].createElement(DragAndDropText, null, _react["default"].createElement(DragAndDropTitle, null, text), _react["default"].createElement(DragAndDropDescription, null, description)), _react["default"].createElement("div", null, _react["default"].createElement(_Button["default"], {
216
- label: "CHOOSE FILES",
217
- onClick: handleClick,
218
- tabIndex: tabIndexValue
219
- }), _react["default"].createElement("input", {
220
- id: "chooseFiles",
221
- type: "file",
222
- multiple: true,
223
- onChange: selectFile,
224
- style: {
225
- display: "none"
226
- }
227
- })))), !dragging && dashed && _react["default"].createElement(DragAndDropContentHover, null, _react["default"].createElement(DragAndDropContent, null, _react["default"].createElement(DragAndDropIcon, null), _react["default"].createElement(DragAndDropText, null, _react["default"].createElement(DragAndDropTitle, null, text), _react["default"].createElement(DragAndDropDescription, null, description)), _react["default"].createElement(ButtonChooseFiles, null, _react["default"].createElement(_Button["default"], {
228
- theme: "light",
229
- label: "CHOOSE FILES",
230
- onClick: handleClick,
231
- tabIndex: tabIndexValue
232
- }), _react["default"].createElement("input", {
233
- id: "chooseFiles",
234
- type: "file",
235
- multiple: true,
236
- onChange: selectFile,
237
- style: {
238
- display: "none"
239
- }
240
- })))), dragging && _react["default"].createElement(DragAndDropContentHover, null, _react["default"].createElement(DragAndDropTextHover, null, textHover), _react["default"].createElement(DragAndDropIconHover, null))));
241
- };
242
-
243
- DxcDragAndDropArea.propTypes = {
244
- dashed: _propTypes["default"].bool,
245
- addFile: _propTypes["default"].func
246
- };
247
-
248
- var DXCDragAndDrop = _styledComponents["default"].div(_templateObject(), function (props) {
249
- return props.theme.fontFamily;
250
- }, function (props) {
251
- return props.theme.backgroundColor;
252
- });
253
-
254
- var DXCDragAndDropArea = _styledComponents["default"].div(_templateObject2(), function (props) {
255
- return props.theme.shadowColor;
256
- });
257
-
258
- var DragAndDropContent = _styledComponents["default"].div(_templateObject3());
259
-
260
- var DragAndDropIcon = _styledComponents["default"].div(_templateObject4(), function (props) {
261
- return props.theme.dragAndDropIconColor;
262
- }, _upload_file["default"], function (props) {
263
- return "".concat(props.theme.dragAndDropIconWidth, " ").concat(props.theme.dragAndDropIconHeight);
264
- }, function (props) {
265
- return props.theme.dragAndDropIconHeight;
266
- }, function (props) {
267
- return props.theme.dragAndDropIconWidth;
268
- });
269
-
270
- var DragAndDropText = _styledComponents["default"].div(_templateObject5());
271
-
272
- var DragAndDropTitle = _styledComponents["default"].div(_templateObject6(), function (props) {
273
- return props.theme.dragAndDropTitleFontSize;
274
- }, function (props) {
275
- return props.theme.dragAndDropTitleFontStyle;
276
- }, function (props) {
277
- return props.theme.dragAndDropTitleFontWeight;
278
- }, function (props) {
279
- return props.theme.dragAndDropTitleFontTextTransform;
280
- }, function (props) {
281
- return props.theme.dragAndDropTitleFontColor;
282
- });
283
-
284
- var DragAndDropDescription = _styledComponents["default"].div(_templateObject7(), function (props) {
285
- return props.theme.dragAndDropDescriptionFontSize;
286
- }, function (props) {
287
- return props.theme.dragAndDropDescriptionFontStyle;
288
- }, function (props) {
289
- return props.theme.dragAndDropDescriptionFontWeight;
290
- }, function (props) {
291
- return props.theme.dragAndDropTextDescriptionFontTextTransform;
292
- }, function (props) {
293
- return props.theme.dragAndDropTextDescriptionFontColor;
294
- });
295
-
296
- var ButtonChooseFiles = _styledComponents["default"].div(_templateObject8());
297
-
298
- var DragAndDropContentHover = _styledComponents["default"].div(_templateObject9(), function (props) {
299
- return props.theme.draggingAreaBackgroundColor;
300
- });
301
-
302
- var DragAndDropIconHover = _styledComponents["default"].div(_templateObject10(), function (props) {
303
- return props.theme.dragAndDropDraggingStateIconColor;
304
- }, _upload_drop["default"], function (props) {
305
- return "".concat(props.theme.dragAndDropDraggingStateIconWidth, " ").concat(props.theme.dragAndDropDraggingStateIconHeight);
306
- }, function (props) {
307
- return props.theme.dragAndDropDraggingStateIconHeight;
308
- }, function (props) {
309
- return props.theme.dragAndDropDraggingStateIconWidth;
310
- });
311
-
312
- var DragAndDropTextHover = _styledComponents["default"].div(_templateObject11(), function (props) {
313
- return props.theme.dragAndDropDraggingStateFontSize;
314
- }, function (props) {
315
- return props.theme.dragAndDropDraggingStateFontStyle;
316
- }, function (props) {
317
- return props.theme.dragAndDropDraggingStateFontWeight;
318
- }, function (props) {
319
- return props.theme.dragAndDropTextDraggingStateFontTextTransform;
320
- }, function (props) {
321
- return props.theme.dragAndDropTextDraggingStateFontColor;
322
- });
323
-
324
- var _default = DxcDragAndDropArea;
325
- exports["default"] = _default;
@@ -1,4 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" width="74.5" height="74.5" viewBox="0 0 24 24" fill="#666666">
2
- <path fill="none" d="M0 0h24v24H0z"/>
3
- <path d="M11 5v5.59H7.5l4.5 4.5 4.5-4.5H13V5h-2zm-5 9c0 3.31 2.69 6 6 6s6-2.69 6-6h-2c0 2.21-1.79 4-4 4s-4-1.79-4-4H6z"/>
4
- </svg>
@@ -1,4 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" width="43.5" height="43.5" viewBox="0 0 24 24">
2
- <path d="M6 2c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6H6zm7 7V3.5L18.5 9H13z"/>
3
- <path d="M0 0h24v24H0z" fill="none"/>
4
- </svg>