@dxc-technology/halstack-react 0.0.0-227874a → 0.0.0-22b474c

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