@dxc-technology/halstack-react 0.0.0-64f5836 → 0.0.0-64fdce7

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 (364) hide show
  1. package/BackgroundColorContext.d.ts +10 -0
  2. package/BackgroundColorContext.js +1 -4
  3. package/HalstackContext.d.ts +12 -0
  4. package/HalstackContext.js +294 -0
  5. package/accordion/Accordion.d.ts +4 -0
  6. package/accordion/Accordion.js +121 -171
  7. package/accordion/Accordion.stories.tsx +346 -0
  8. package/accordion/Accordion.test.js +71 -0
  9. package/accordion/types.d.ts +69 -0
  10. package/accordion/types.js +5 -0
  11. package/accordion-group/AccordionGroup.d.ts +7 -0
  12. package/accordion-group/AccordionGroup.js +61 -96
  13. package/accordion-group/AccordionGroup.stories.tsx +251 -0
  14. package/accordion-group/AccordionGroup.test.js +126 -0
  15. package/accordion-group/types.d.ts +79 -0
  16. package/accordion-group/types.js +5 -0
  17. package/alert/Alert.d.ts +4 -0
  18. package/alert/Alert.js +8 -24
  19. package/alert/Alert.stories.tsx +170 -0
  20. package/alert/Alert.test.js +92 -0
  21. package/alert/types.d.ts +49 -0
  22. package/alert/types.js +5 -0
  23. package/badge/Badge.d.ts +4 -0
  24. package/badge/Badge.js +6 -4
  25. package/badge/types.d.ts +5 -0
  26. package/badge/types.js +5 -0
  27. package/bleed/Bleed.d.ts +3 -0
  28. package/bleed/Bleed.js +51 -0
  29. package/bleed/Bleed.stories.tsx +341 -0
  30. package/bleed/types.d.ts +37 -0
  31. package/bleed/types.js +5 -0
  32. package/box/Box.d.ts +4 -0
  33. package/box/Box.js +29 -65
  34. package/box/Box.stories.tsx +132 -0
  35. package/box/Box.test.js +18 -0
  36. package/box/types.d.ts +44 -0
  37. package/box/types.js +5 -0
  38. package/bulleted-list/BulletedList.d.ts +7 -0
  39. package/bulleted-list/BulletedList.js +123 -0
  40. package/bulleted-list/BulletedList.stories.tsx +200 -0
  41. package/bulleted-list/types.d.ts +11 -0
  42. package/bulleted-list/types.js +5 -0
  43. package/button/Button.d.ts +1 -1
  44. package/button/Button.js +58 -86
  45. package/button/Button.stories.tsx +316 -282
  46. package/button/Button.test.js +35 -0
  47. package/button/types.d.ts +14 -18
  48. package/card/Card.d.ts +4 -0
  49. package/card/Card.js +38 -77
  50. package/card/Card.stories.tsx +201 -0
  51. package/card/Card.test.js +50 -0
  52. package/card/ice-cream.jpg +0 -0
  53. package/card/types.d.ts +68 -0
  54. package/card/types.js +5 -0
  55. package/checkbox/Checkbox.d.ts +2 -2
  56. package/checkbox/Checkbox.js +108 -111
  57. package/checkbox/Checkbox.stories.tsx +208 -0
  58. package/checkbox/Checkbox.test.js +155 -0
  59. package/checkbox/types.d.ts +15 -8
  60. package/chip/Chip.d.ts +4 -0
  61. package/chip/Chip.js +19 -91
  62. package/chip/Chip.stories.tsx +151 -0
  63. package/chip/Chip.test.js +56 -0
  64. package/chip/types.d.ts +45 -0
  65. package/chip/types.js +5 -0
  66. package/common/variables.js +449 -496
  67. package/date-input/Calendar.d.ts +4 -0
  68. package/date-input/Calendar.js +258 -0
  69. package/date-input/DateInput.d.ts +4 -0
  70. package/date-input/DateInput.js +173 -300
  71. package/date-input/DateInput.stories.tsx +237 -0
  72. package/date-input/DateInput.test.js +835 -0
  73. package/date-input/DatePicker.d.ts +4 -0
  74. package/date-input/DatePicker.js +146 -0
  75. package/date-input/Icons.d.ts +6 -0
  76. package/date-input/Icons.js +75 -0
  77. package/date-input/YearPicker.d.ts +4 -0
  78. package/date-input/YearPicker.js +126 -0
  79. package/date-input/types.d.ts +158 -0
  80. package/date-input/types.js +5 -0
  81. package/dialog/Dialog.d.ts +4 -0
  82. package/dialog/Dialog.js +52 -74
  83. package/dialog/Dialog.stories.tsx +267 -0
  84. package/dialog/Dialog.test.js +70 -0
  85. package/dialog/types.d.ts +44 -0
  86. package/dialog/types.js +5 -0
  87. package/dropdown/Dropdown.d.ts +4 -0
  88. package/dropdown/Dropdown.js +244 -306
  89. package/dropdown/Dropdown.stories.tsx +393 -0
  90. package/dropdown/Dropdown.test.js +585 -0
  91. package/dropdown/DropdownMenu.d.ts +4 -0
  92. package/dropdown/DropdownMenu.js +70 -0
  93. package/dropdown/DropdownMenuItem.d.ts +4 -0
  94. package/dropdown/DropdownMenuItem.js +81 -0
  95. package/dropdown/types.d.ts +100 -0
  96. package/dropdown/types.js +5 -0
  97. package/file-input/FileInput.d.ts +4 -0
  98. package/file-input/FileInput.js +185 -166
  99. package/file-input/FileInput.stories.tsx +535 -0
  100. package/file-input/FileInput.test.js +498 -0
  101. package/file-input/FileItem.d.ts +4 -0
  102. package/file-input/FileItem.js +49 -81
  103. package/file-input/types.d.ts +129 -0
  104. package/file-input/types.js +5 -0
  105. package/flex/Flex.d.ts +4 -0
  106. package/flex/Flex.js +69 -0
  107. package/flex/Flex.stories.tsx +103 -0
  108. package/flex/types.d.ts +32 -0
  109. package/flex/types.js +5 -0
  110. package/footer/Footer.d.ts +4 -0
  111. package/footer/Footer.js +36 -148
  112. package/footer/Footer.stories.tsx +137 -0
  113. package/footer/Footer.test.js +109 -0
  114. package/footer/Icons.d.ts +2 -0
  115. package/footer/Icons.js +4 -4
  116. package/footer/types.d.ts +66 -0
  117. package/footer/types.js +5 -0
  118. package/header/Header.d.ts +7 -0
  119. package/header/Header.js +126 -149
  120. package/header/Header.stories.tsx +205 -0
  121. package/header/Header.test.js +79 -0
  122. package/header/Icons.d.ts +2 -0
  123. package/header/Icons.js +4 -29
  124. package/header/types.d.ts +48 -0
  125. package/header/types.js +5 -0
  126. package/heading/Heading.d.ts +4 -0
  127. package/heading/Heading.js +7 -24
  128. package/heading/Heading.stories.tsx +54 -0
  129. package/heading/Heading.test.js +186 -0
  130. package/heading/types.d.ts +33 -0
  131. package/heading/types.js +5 -0
  132. package/inset/Inset.d.ts +3 -0
  133. package/inset/Inset.js +51 -0
  134. package/inset/Inset.stories.tsx +229 -0
  135. package/inset/types.d.ts +37 -0
  136. package/inset/types.js +5 -0
  137. package/layout/ApplicationLayout.d.ts +20 -0
  138. package/layout/ApplicationLayout.js +71 -135
  139. package/layout/ApplicationLayout.stories.tsx +162 -0
  140. package/layout/Icons.d.ts +5 -0
  141. package/layout/Icons.js +13 -2
  142. package/layout/SidenavContext.d.ts +5 -0
  143. package/layout/SidenavContext.js +19 -0
  144. package/layout/types.d.ts +42 -0
  145. package/layout/types.js +5 -0
  146. package/link/Link.d.ts +4 -0
  147. package/link/Link.js +61 -108
  148. package/link/Link.stories.tsx +193 -0
  149. package/link/Link.test.js +83 -0
  150. package/link/types.d.ts +54 -0
  151. package/link/types.js +5 -0
  152. package/main.d.ts +12 -12
  153. package/main.js +64 -58
  154. package/number-input/NumberInput.d.ts +4 -0
  155. package/number-input/NumberInput.js +16 -68
  156. package/number-input/NumberInput.stories.tsx +115 -0
  157. package/number-input/NumberInput.test.js +542 -0
  158. package/number-input/NumberInputContext.d.ts +4 -0
  159. package/number-input/NumberInputContext.js +5 -2
  160. package/number-input/numberInputContextTypes.d.ts +19 -0
  161. package/number-input/numberInputContextTypes.js +5 -0
  162. package/number-input/types.d.ts +124 -0
  163. package/number-input/types.js +5 -0
  164. package/package.json +21 -22
  165. package/paginator/Icons.d.ts +5 -0
  166. package/paginator/Icons.js +16 -28
  167. package/paginator/Paginator.js +21 -54
  168. package/paginator/Paginator.stories.tsx +63 -0
  169. package/paginator/Paginator.test.js +315 -0
  170. package/paragraph/Paragraph.d.ts +6 -0
  171. package/paragraph/Paragraph.js +38 -0
  172. package/paragraph/Paragraph.stories.tsx +44 -0
  173. package/password-input/PasswordInput.d.ts +4 -0
  174. package/password-input/PasswordInput.js +24 -57
  175. package/password-input/PasswordInput.stories.tsx +131 -0
  176. package/password-input/PasswordInput.test.js +181 -0
  177. package/password-input/types.d.ts +110 -0
  178. package/password-input/types.js +5 -0
  179. package/progress-bar/ProgressBar.d.ts +4 -0
  180. package/progress-bar/ProgressBar.js +60 -72
  181. package/progress-bar/ProgressBar.stories.jsx +60 -0
  182. package/progress-bar/ProgressBar.test.js +110 -0
  183. package/progress-bar/types.d.ts +36 -0
  184. package/progress-bar/types.js +5 -0
  185. package/quick-nav/QuickNav.d.ts +4 -0
  186. package/quick-nav/QuickNav.js +117 -0
  187. package/quick-nav/QuickNav.stories.tsx +342 -0
  188. package/quick-nav/types.d.ts +21 -0
  189. package/quick-nav/types.js +5 -0
  190. package/radio-group/Radio.d.ts +4 -0
  191. package/radio-group/Radio.js +156 -0
  192. package/radio-group/RadioGroup.d.ts +4 -0
  193. package/radio-group/RadioGroup.js +283 -0
  194. package/radio-group/RadioGroup.stories.tsx +101 -0
  195. package/radio-group/RadioGroup.test.js +722 -0
  196. package/radio-group/types.d.ts +114 -0
  197. package/radio-group/types.js +5 -0
  198. package/resultsetTable/Icons.d.ts +7 -0
  199. package/resultsetTable/Icons.js +51 -0
  200. package/resultsetTable/ResultsetTable.d.ts +4 -0
  201. package/resultsetTable/ResultsetTable.js +53 -132
  202. package/resultsetTable/ResultsetTable.stories.tsx +300 -0
  203. package/resultsetTable/ResultsetTable.test.js +325 -0
  204. package/resultsetTable/types.d.ts +67 -0
  205. package/resultsetTable/types.js +5 -0
  206. package/select/Icons.d.ts +10 -0
  207. package/select/Icons.js +93 -0
  208. package/select/Listbox.d.ts +4 -0
  209. package/select/Listbox.js +169 -0
  210. package/select/Option.d.ts +4 -0
  211. package/select/Option.js +97 -0
  212. package/select/Select.d.ts +4 -0
  213. package/select/Select.js +196 -397
  214. package/select/Select.stories.tsx +669 -0
  215. package/select/Select.test.js +2228 -0
  216. package/select/types.d.ts +210 -0
  217. package/select/types.js +5 -0
  218. package/sidenav/Sidenav.d.ts +10 -0
  219. package/sidenav/Sidenav.js +184 -63
  220. package/sidenav/Sidenav.stories.tsx +189 -0
  221. package/sidenav/Sidenav.test.js +44 -0
  222. package/sidenav/types.d.ts +73 -0
  223. package/sidenav/types.js +5 -0
  224. package/slider/Slider.d.ts +4 -0
  225. package/slider/Slider.js +159 -156
  226. package/slider/Slider.stories.tsx +183 -0
  227. package/slider/Slider.test.js +250 -0
  228. package/slider/types.d.ts +86 -0
  229. package/slider/types.js +5 -0
  230. package/spinner/Spinner.d.ts +4 -0
  231. package/spinner/Spinner.js +11 -28
  232. package/spinner/Spinner.stories.jsx +103 -0
  233. package/spinner/Spinner.test.js +64 -0
  234. package/spinner/types.d.ts +32 -0
  235. package/spinner/types.js +5 -0
  236. package/switch/Switch.d.ts +2 -2
  237. package/switch/Switch.js +152 -69
  238. package/switch/Switch.stories.tsx +138 -0
  239. package/switch/Switch.test.js +225 -0
  240. package/switch/types.d.ts +12 -4
  241. package/table/Table.d.ts +4 -0
  242. package/table/Table.js +4 -4
  243. package/table/Table.stories.jsx +277 -0
  244. package/table/Table.test.js +26 -0
  245. package/table/types.d.ts +21 -0
  246. package/table/types.js +5 -0
  247. package/tabs/Tab.d.ts +4 -0
  248. package/tabs/Tab.js +133 -0
  249. package/tabs/Tabs.d.ts +4 -0
  250. package/tabs/Tabs.js +364 -156
  251. package/tabs/Tabs.stories.tsx +188 -0
  252. package/tabs/Tabs.test.js +351 -0
  253. package/tabs/types.d.ts +92 -0
  254. package/tabs/types.js +5 -0
  255. package/tabs-nav/NavTabs.d.ts +8 -0
  256. package/tabs-nav/NavTabs.js +125 -0
  257. package/tabs-nav/NavTabs.stories.tsx +172 -0
  258. package/tabs-nav/NavTabs.test.js +82 -0
  259. package/tabs-nav/Tab.d.ts +4 -0
  260. package/tabs-nav/Tab.js +128 -0
  261. package/tabs-nav/types.d.ts +53 -0
  262. package/tabs-nav/types.js +5 -0
  263. package/tag/Tag.d.ts +4 -0
  264. package/tag/Tag.js +35 -60
  265. package/tag/Tag.stories.tsx +142 -0
  266. package/tag/Tag.test.js +60 -0
  267. package/tag/types.d.ts +69 -0
  268. package/tag/types.js +5 -0
  269. package/text-input/Icons.d.ts +8 -0
  270. package/text-input/Icons.js +60 -0
  271. package/text-input/Suggestion.d.ts +4 -0
  272. package/text-input/Suggestion.js +84 -0
  273. package/text-input/Suggestions.d.ts +4 -0
  274. package/text-input/Suggestions.js +134 -0
  275. package/text-input/TextInput.d.ts +4 -0
  276. package/text-input/TextInput.js +233 -385
  277. package/text-input/TextInput.stories.tsx +501 -0
  278. package/text-input/TextInput.test.js +1724 -0
  279. package/text-input/types.d.ts +197 -0
  280. package/text-input/types.js +5 -0
  281. package/textarea/Textarea.d.ts +4 -0
  282. package/textarea/Textarea.js +39 -79
  283. package/textarea/Textarea.stories.jsx +157 -0
  284. package/textarea/Textarea.test.js +437 -0
  285. package/textarea/types.d.ts +137 -0
  286. package/textarea/types.js +5 -0
  287. package/toggle-group/ToggleGroup.d.ts +4 -0
  288. package/toggle-group/ToggleGroup.js +18 -46
  289. package/toggle-group/ToggleGroup.stories.tsx +173 -0
  290. package/toggle-group/ToggleGroup.test.js +156 -0
  291. package/toggle-group/types.d.ts +105 -0
  292. package/toggle-group/types.js +5 -0
  293. package/typography/Typography.d.ts +4 -0
  294. package/typography/Typography.js +131 -0
  295. package/typography/Typography.stories.tsx +198 -0
  296. package/typography/types.d.ts +18 -0
  297. package/typography/types.js +5 -0
  298. package/useTheme.d.ts +2 -0
  299. package/useTheme.js +2 -2
  300. package/useTranslatedLabels.d.ts +2 -0
  301. package/useTranslatedLabels.js +20 -0
  302. package/wizard/Wizard.d.ts +4 -0
  303. package/wizard/Wizard.js +118 -104
  304. package/wizard/Wizard.stories.tsx +233 -0
  305. package/wizard/Wizard.test.js +141 -0
  306. package/wizard/types.d.ts +65 -0
  307. package/wizard/types.js +5 -0
  308. package/ThemeContext.js +0 -246
  309. package/V3Select/V3Select.js +0 -455
  310. package/V3Select/index.d.ts +0 -27
  311. package/V3Textarea/V3Textarea.js +0 -260
  312. package/V3Textarea/index.d.ts +0 -27
  313. package/accordion/index.d.ts +0 -28
  314. package/accordion-group/index.d.ts +0 -16
  315. package/alert/index.d.ts +0 -51
  316. package/box/index.d.ts +0 -25
  317. package/card/index.d.ts +0 -22
  318. package/chip/index.d.ts +0 -22
  319. package/common/RequiredComponent.js +0 -32
  320. package/date/Date.js +0 -373
  321. package/date/index.d.ts +0 -27
  322. package/date-input/index.d.ts +0 -95
  323. package/dialog/index.d.ts +0 -18
  324. package/dropdown/index.d.ts +0 -26
  325. package/file-input/index.d.ts +0 -81
  326. package/footer/index.d.ts +0 -25
  327. package/header/index.d.ts +0 -25
  328. package/heading/index.d.ts +0 -17
  329. package/input-text/Icons.js +0 -22
  330. package/input-text/InputText.js +0 -611
  331. package/input-text/index.d.ts +0 -36
  332. package/link/index.d.ts +0 -23
  333. package/number-input/index.d.ts +0 -113
  334. package/password-input/index.d.ts +0 -94
  335. package/progress-bar/index.d.ts +0 -18
  336. package/radio/Radio.js +0 -195
  337. package/radio/index.d.ts +0 -23
  338. package/resultsetTable/index.d.ts +0 -19
  339. package/select/index.d.ts +0 -131
  340. package/sidenav/index.d.ts +0 -13
  341. package/slider/index.d.ts +0 -29
  342. package/spinner/index.d.ts +0 -17
  343. package/table/index.d.ts +0 -13
  344. package/tabs/index.d.ts +0 -19
  345. package/tag/index.d.ts +0 -24
  346. package/text-input/index.d.ts +0 -135
  347. package/textarea/index.d.ts +0 -117
  348. package/toggle/Toggle.js +0 -186
  349. package/toggle/index.d.ts +0 -21
  350. package/toggle-group/index.d.ts +0 -21
  351. package/upload/Upload.js +0 -201
  352. package/upload/buttons-upload/ButtonsUpload.js +0 -111
  353. package/upload/buttons-upload/Icons.js +0 -40
  354. package/upload/dragAndDropArea/DragAndDropArea.js +0 -225
  355. package/upload/dragAndDropArea/Icons.js +0 -39
  356. package/upload/file-upload/FileToUpload.js +0 -115
  357. package/upload/file-upload/Icons.js +0 -66
  358. package/upload/files-upload/FilesToUpload.js +0 -109
  359. package/upload/index.d.ts +0 -15
  360. package/upload/transaction/Icons.js +0 -160
  361. package/upload/transaction/Transaction.js +0 -104
  362. package/upload/transactions/Transactions.js +0 -94
  363. package/wizard/Icons.js +0 -65
  364. package/wizard/index.d.ts +0 -18
@@ -0,0 +1,535 @@
1
+ import React from "react";
2
+ import DxcFileInput from "./FileInput";
3
+ import Title from "../../.storybook/components/Title";
4
+ import ExampleContainer from "../../.storybook/components/ExampleContainer";
5
+ import FileItem from "./FileItem";
6
+
7
+ export default {
8
+ title: "File input",
9
+ component: DxcFileInput,
10
+ };
11
+
12
+ const picPreview = "https://cdn.mos.cms.futurecdn.net/CAZ6JXi6huSuN4QGE627NR.jpg"
13
+
14
+ const file1 = new File(["file1"], "file.pdf", { type: "text/plain" });
15
+ const file2 = new File(["file2"], "file2.mp3", {
16
+ type: "audio",
17
+ });
18
+ const file3 = new File(["file3"], "file3.png", {
19
+ type: "image/png",
20
+ });
21
+ const file4 = new File(["file4"], "file4file4file4file4file4file4file4file4file4.mp4", {
22
+ type: "video",
23
+ });
24
+ const file5 = new File(["file5"], "file5file5file5file5file5file5file5file5file5.mp4", {
25
+ type: "video",
26
+ });
27
+
28
+ const fileExample = [
29
+ {
30
+ file: file1,
31
+ },
32
+ ];
33
+
34
+ const fileExampleError = [
35
+ {
36
+ error: "Error message",
37
+ file: file1,
38
+ },
39
+ ];
40
+
41
+ const filesExamples = [
42
+ {
43
+ file: file1,
44
+ },
45
+ {
46
+ file: file2,
47
+ },
48
+ {
49
+ file: file3,
50
+ preview: picPreview,
51
+ },
52
+ {
53
+ file: file4,
54
+ },
55
+ {
56
+ error: "This error message is a multiline paragraph for testing.",
57
+ file: file5,
58
+ },
59
+ {
60
+ error: "Error message",
61
+ file: file3,
62
+ preview: picPreview,
63
+ },
64
+ ];
65
+
66
+ export const Chromatic = () => (
67
+ <>
68
+ <Title title="File item states" theme="light" level={2} />
69
+ <ExampleContainer pseudoState="pseudo-hover">
70
+ <Title title="Hovered" theme="light" level={4} />
71
+ <FileItem
72
+ fileName="file"
73
+ error=""
74
+ singleFileMode={false}
75
+ showPreview={false}
76
+ preview={picPreview}
77
+ type="image/png"
78
+ onDelete={() => {}}
79
+ tabIndex={0}
80
+ />
81
+ </ExampleContainer>
82
+ <ExampleContainer pseudoState="pseudo-focus">
83
+ <Title title="Focused" theme="light" level={4} />
84
+ <FileItem
85
+ fileName="file"
86
+ error=""
87
+ singleFileMode={false}
88
+ showPreview={false}
89
+ preview={picPreview}
90
+ type="image/png"
91
+ onDelete={() => {}}
92
+ tabIndex={0}
93
+ />
94
+ </ExampleContainer>
95
+ <ExampleContainer pseudoState="pseudo-active">
96
+ <Title title="Actived" theme="light" level={4} />
97
+ <FileItem
98
+ fileName="file"
99
+ error=""
100
+ singleFileMode={false}
101
+ showPreview={false}
102
+ preview={picPreview}
103
+ type="image/png"
104
+ onDelete={() => {}}
105
+ tabIndex={0}
106
+ />
107
+ </ExampleContainer>
108
+ <Title title="File" theme="light" level={2} />
109
+ <ExampleContainer>
110
+ <Title title="Without label" theme="light" level={4} />
111
+ <DxcFileInput value={[]} callbackFile={() => {}} />
112
+ </ExampleContainer>
113
+ <ExampleContainer>
114
+ <Title title="With label" theme="light" level={4} />
115
+ <DxcFileInput label="File input" value={[]} callbackFile={() => {}} />
116
+ </ExampleContainer>
117
+ <ExampleContainer>
118
+ <Title title="With label and helper text" theme="light" level={4} />
119
+ <DxcFileInput label="File input" helperText="Please select files" value={[]} callbackFile={() => {}} />
120
+ </ExampleContainer>
121
+ <ExampleContainer>
122
+ <Title title="Single file" theme="light" level={4} />
123
+ <DxcFileInput
124
+ label="File input"
125
+ helperText="Please select files"
126
+ value={fileExample}
127
+ multiple={false}
128
+ callbackFile={() => {}}
129
+ />
130
+ </ExampleContainer>
131
+ <ExampleContainer>
132
+ <Title title="Invalid single file" theme="light" level={4} />
133
+ <DxcFileInput
134
+ label="File input"
135
+ helperText="Please select files"
136
+ value={fileExampleError}
137
+ multiple={false}
138
+ callbackFile={() => {}}
139
+ />
140
+ </ExampleContainer>
141
+ <ExampleContainer>
142
+ <Title title="Multiple files" theme="light" level={4} />
143
+ <DxcFileInput label="File input" helperText="Please select files" value={filesExamples} callbackFile={() => {}} />
144
+ </ExampleContainer>
145
+ <ExampleContainer>
146
+ <Title title="Show preview" theme="light" level={4} />
147
+ <DxcFileInput
148
+ label="File input"
149
+ helperText="Please select files"
150
+ value={filesExamples}
151
+ callbackFile={() => {}}
152
+ showPreview
153
+ />
154
+ </ExampleContainer>
155
+ <ExampleContainer>
156
+ <Title title="Disabled" theme="light" level={4} />
157
+ <DxcFileInput label="File input" helperText="Please select files" disabled value={[]} callbackFile={() => {}} />
158
+ </ExampleContainer>
159
+ <Title title="Margins" theme="light" level={3} />
160
+ <ExampleContainer>
161
+ <Title title="Xxsmall margin" theme="light" level={4} />
162
+ <DxcFileInput
163
+ label="File input"
164
+ helperText="Please select files"
165
+ value={fileExample}
166
+ callbackFile={() => {}}
167
+ margin="xxsmall"
168
+ />
169
+ </ExampleContainer>
170
+ <ExampleContainer>
171
+ <Title title="Xsmall margin" theme="light" level={4} />
172
+ <DxcFileInput
173
+ label="File input"
174
+ helperText="Please select files"
175
+ value={fileExample}
176
+ callbackFile={() => {}}
177
+ margin="xsmall"
178
+ />
179
+ </ExampleContainer>
180
+ <ExampleContainer>
181
+ <Title title="Small margin" theme="light" level={4} />
182
+ <DxcFileInput
183
+ label="File input"
184
+ helperText="Please select files"
185
+ value={fileExample}
186
+ callbackFile={() => {}}
187
+ margin="small"
188
+ />
189
+ </ExampleContainer>
190
+ <ExampleContainer>
191
+ <Title title="Medium margin" theme="light" level={4} />
192
+ <DxcFileInput
193
+ label="File input"
194
+ helperText="Please select files"
195
+ value={fileExample}
196
+ callbackFile={() => {}}
197
+ margin="medium"
198
+ />
199
+ </ExampleContainer>
200
+ <ExampleContainer>
201
+ <Title title="Large margin" theme="light" level={4} />
202
+ <DxcFileInput
203
+ label="File input"
204
+ helperText="Please select files"
205
+ value={fileExample}
206
+ callbackFile={() => {}}
207
+ margin="large"
208
+ />
209
+ </ExampleContainer>
210
+ <ExampleContainer>
211
+ <Title title="Xlarge margin" theme="light" level={4} />
212
+ <DxcFileInput
213
+ label="File input"
214
+ helperText="Please select files"
215
+ value={fileExample}
216
+ callbackFile={() => {}}
217
+ margin="xlarge"
218
+ />
219
+ </ExampleContainer>
220
+ <ExampleContainer>
221
+ <Title title="Xxlarge margin" theme="light" level={4} />
222
+ <DxcFileInput
223
+ label="File input"
224
+ helperText="Please select files"
225
+ value={fileExample}
226
+ callbackFile={() => {}}
227
+ margin="xxlarge"
228
+ />
229
+ </ExampleContainer>
230
+ <Title title="Filedrop" theme="light" level={2} />
231
+ <ExampleContainer>
232
+ <Title title="Without label" theme="light" level={4} />
233
+ <DxcFileInput mode="filedrop" value={[]} callbackFile={() => {}} />
234
+ </ExampleContainer>
235
+ <ExampleContainer>
236
+ <Title title="With label" theme="light" level={4} />
237
+ <DxcFileInput mode="filedrop" label="File input" value={[]} callbackFile={() => {}} />
238
+ </ExampleContainer>
239
+ <ExampleContainer>
240
+ <Title title="With label, helper text and ellipsis" theme="light" level={4} />
241
+ <DxcFileInput
242
+ mode="filedrop"
243
+ label="File input"
244
+ dropAreaLabel="or drop files or drop files or drop files or drop files or drop files"
245
+ helperText="Please select files"
246
+ value={[]}
247
+ callbackFile={() => {}}
248
+ />
249
+ </ExampleContainer>
250
+ <ExampleContainer>
251
+ <Title title="Single file" theme="light" level={4} />
252
+ <DxcFileInput
253
+ mode="filedrop"
254
+ label="File input"
255
+ helperText="Please select files"
256
+ value={fileExample}
257
+ multiple={false}
258
+ callbackFile={() => {}}
259
+ />
260
+ </ExampleContainer>
261
+ <ExampleContainer>
262
+ <Title title="Invalid single file" theme="light" level={4} />
263
+ <DxcFileInput
264
+ mode="filedrop"
265
+ label="File input"
266
+ helperText="Please select files"
267
+ value={fileExampleError}
268
+ multiple={false}
269
+ callbackFile={() => {}}
270
+ />
271
+ </ExampleContainer>
272
+ <ExampleContainer>
273
+ <Title title="Multiple files" theme="light" level={4} />
274
+ <DxcFileInput
275
+ mode="filedrop"
276
+ label="File input"
277
+ helperText="Please select files"
278
+ value={filesExamples}
279
+ callbackFile={() => {}}
280
+ />
281
+ </ExampleContainer>
282
+ <ExampleContainer>
283
+ <Title title="Show preview" theme="light" level={4} />
284
+ <DxcFileInput
285
+ mode="filedrop"
286
+ label="File input"
287
+ helperText="Please select files"
288
+ value={filesExamples}
289
+ callbackFile={() => {}}
290
+ showPreview
291
+ />
292
+ </ExampleContainer>
293
+ <ExampleContainer>
294
+ <Title title="Disabled" theme="light" level={4} />
295
+ <DxcFileInput
296
+ label="File input"
297
+ helperText="Please select files"
298
+ mode="filedrop"
299
+ disabled
300
+ value={[]}
301
+ callbackFile={() => {}}
302
+ />
303
+ </ExampleContainer>
304
+ <Title title="Margins" theme="light" level={3} />
305
+ <ExampleContainer>
306
+ <Title title="Xxsmall margin" theme="light" level={4} />
307
+ <DxcFileInput
308
+ label="File input"
309
+ helperText="Please select files"
310
+ value={fileExample}
311
+ callbackFile={() => {}}
312
+ mode="filedrop"
313
+ margin="xxsmall"
314
+ />
315
+ </ExampleContainer>
316
+ <ExampleContainer>
317
+ <Title title="Xsmall margin" theme="light" level={4} />
318
+ <DxcFileInput
319
+ label="File input"
320
+ helperText="Please select files"
321
+ value={fileExample}
322
+ callbackFile={() => {}}
323
+ mode="filedrop"
324
+ margin="xsmall"
325
+ />
326
+ </ExampleContainer>
327
+ <ExampleContainer>
328
+ <Title title="Small margin" theme="light" level={4} />
329
+ <DxcFileInput
330
+ label="File input"
331
+ helperText="Please select files"
332
+ value={fileExample}
333
+ callbackFile={() => {}}
334
+ mode="filedrop"
335
+ margin="small"
336
+ />
337
+ </ExampleContainer>
338
+ <ExampleContainer>
339
+ <Title title="Medium margin" theme="light" level={4} />
340
+ <DxcFileInput
341
+ label="File input"
342
+ helperText="Please select files"
343
+ value={fileExample}
344
+ callbackFile={() => {}}
345
+ mode="filedrop"
346
+ margin="medium"
347
+ />
348
+ </ExampleContainer>
349
+ <ExampleContainer>
350
+ <Title title="Large margin" theme="light" level={4} />
351
+ <DxcFileInput
352
+ label="File input"
353
+ helperText="Please select files"
354
+ value={fileExample}
355
+ callbackFile={() => {}}
356
+ mode="filedrop"
357
+ margin="large"
358
+ />
359
+ </ExampleContainer>
360
+ <ExampleContainer>
361
+ <Title title="Xlarge margin" theme="light" level={4} />
362
+ <DxcFileInput
363
+ label="File input"
364
+ helperText="Please select files"
365
+ value={fileExample}
366
+ callbackFile={() => {}}
367
+ margin="xlarge"
368
+ />
369
+ </ExampleContainer>
370
+ <ExampleContainer>
371
+ <Title title="Xxlarge margin" theme="light" level={4} />
372
+ <DxcFileInput
373
+ label="File input"
374
+ helperText="Please select files"
375
+ value={fileExample}
376
+ callbackFile={() => {}}
377
+ mode="filedrop"
378
+ margin="xxlarge"
379
+ />
380
+ </ExampleContainer>
381
+ <Title title="Dropzone" theme="light" level={2} />
382
+ <ExampleContainer>
383
+ <Title title="Without label" theme="light" level={4} />
384
+ <DxcFileInput mode="dropzone" value={[]} callbackFile={() => {}} />
385
+ </ExampleContainer>
386
+ <ExampleContainer>
387
+ <Title title="With label" theme="light" level={4} />
388
+ <DxcFileInput label="File input" mode="dropzone" value={[]} callbackFile={() => {}} />
389
+ </ExampleContainer>
390
+ <ExampleContainer>
391
+ <Title title="With label, helper text and ellipsis" theme="light" level={4} />
392
+ <DxcFileInput
393
+ label="File input"
394
+ helperText="Please select files"
395
+ mode="dropzone"
396
+ dropAreaLabel="or drop files or drop files or drop files or drop files or drop files or drop files or drop files or drop files or drop files or drop files or drop files or drop files or drop files or drop files"
397
+ value={[]}
398
+ callbackFile={() => {}}
399
+ />
400
+ </ExampleContainer>
401
+ <ExampleContainer>
402
+ <Title title="Single file" theme="light" level={4} />
403
+ <DxcFileInput
404
+ label="File input"
405
+ helperText="Please select files"
406
+ mode="dropzone"
407
+ value={fileExample}
408
+ callbackFile={() => {}}
409
+ multiple={false}
410
+ />
411
+ </ExampleContainer>
412
+ <ExampleContainer>
413
+ <Title title="Invalid single file" theme="light" level={4} />
414
+ <DxcFileInput
415
+ label="File input"
416
+ helperText="Please select files"
417
+ mode="dropzone"
418
+ value={fileExampleError}
419
+ callbackFile={() => {}}
420
+ multiple={false}
421
+ />
422
+ </ExampleContainer>
423
+ <ExampleContainer>
424
+ <Title title="Multiple files" theme="light" level={4} />
425
+ <DxcFileInput
426
+ mode="dropzone"
427
+ label="File input"
428
+ helperText="Please select files"
429
+ value={filesExamples}
430
+ callbackFile={() => {}}
431
+ />
432
+ </ExampleContainer>
433
+ <ExampleContainer>
434
+ <Title title="Show preview" theme="light" level={4} />
435
+ <DxcFileInput
436
+ mode="dropzone"
437
+ label="File input"
438
+ helperText="Please select files"
439
+ value={filesExamples}
440
+ callbackFile={() => {}}
441
+ showPreview
442
+ />
443
+ </ExampleContainer>
444
+ <ExampleContainer>
445
+ <Title title="Disabled" theme="light" level={4} />
446
+ <DxcFileInput
447
+ label="File input"
448
+ helperText="Please select files"
449
+ mode="dropzone"
450
+ disabled
451
+ value={[]}
452
+ callbackFile={() => {}}
453
+ />
454
+ </ExampleContainer>
455
+ <Title title="Margins" theme="light" level={3} />
456
+ <ExampleContainer>
457
+ <Title title="Xxsmall margin" theme="light" level={4} />
458
+ <DxcFileInput
459
+ label="File input"
460
+ helperText="Please select files"
461
+ value={fileExample}
462
+ callbackFile={() => {}}
463
+ mode="dropzone"
464
+ margin="xxsmall"
465
+ />
466
+ </ExampleContainer>
467
+ <ExampleContainer>
468
+ <Title title="Xsmall margin" theme="light" level={4} />
469
+ <DxcFileInput
470
+ label="File input"
471
+ helperText="Please select files"
472
+ value={fileExample}
473
+ callbackFile={() => {}}
474
+ mode="dropzone"
475
+ margin="xsmall"
476
+ />
477
+ </ExampleContainer>
478
+ <ExampleContainer>
479
+ <Title title="Small margin" theme="light" level={4} />
480
+ <DxcFileInput
481
+ label="File input"
482
+ helperText="Please select files"
483
+ value={fileExample}
484
+ callbackFile={() => {}}
485
+ mode="dropzone"
486
+ margin="small"
487
+ />
488
+ </ExampleContainer>
489
+ <ExampleContainer>
490
+ <Title title="Medium margin" theme="light" level={4} />
491
+ <DxcFileInput
492
+ label="File input"
493
+ helperText="Please select files"
494
+ value={fileExample}
495
+ callbackFile={() => {}}
496
+ mode="dropzone"
497
+ margin="medium"
498
+ />
499
+ </ExampleContainer>
500
+ <ExampleContainer>
501
+ <Title title="Large margin" theme="light" level={4} />
502
+ <DxcFileInput
503
+ label="File input"
504
+ helperText="Please select files"
505
+ value={fileExample}
506
+ callbackFile={() => {}}
507
+ mode="dropzone"
508
+ margin="large"
509
+ />
510
+ </ExampleContainer>
511
+ <ExampleContainer>
512
+ <Title title="Xlarge margin" theme="light" level={4} />
513
+ <DxcFileInput
514
+ label="File input"
515
+ helperText="Please select files"
516
+ value={fileExample}
517
+ callbackFile={() => {}}
518
+ mode="dropzone"
519
+ margin="xlarge"
520
+ />
521
+ </ExampleContainer>
522
+ <ExampleContainer>
523
+ <Title title="Xxlarge margin" theme="light" level={4} />
524
+ <DxcFileInput
525
+ label="File input"
526
+ helperText="Please select files"
527
+ value={fileExample}
528
+ callbackFile={() => {}}
529
+ mode="dropzone"
530
+ margin="xxlarge"
531
+ />
532
+ <hr />
533
+ </ExampleContainer>
534
+ </>
535
+ );