@dxc-technology/halstack-react 0.0.0-64f5836 → 0.0.0-65612cd

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 (351) 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 +295 -0
  5. package/accordion/Accordion.d.ts +4 -0
  6. package/accordion/Accordion.js +126 -170
  7. package/accordion/Accordion.stories.tsx +306 -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 +61 -87
  45. package/button/Button.stories.tsx +259 -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 +1 -1
  56. package/checkbox/Checkbox.js +104 -108
  57. package/checkbox/Checkbox.stories.tsx +188 -0
  58. package/checkbox/Checkbox.test.js +155 -0
  59. package/checkbox/types.d.ts +11 -8
  60. package/chip/Chip.d.ts +4 -0
  61. package/chip/Chip.js +16 -76
  62. package/chip/Chip.stories.tsx +119 -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 +318 -379
  67. package/date-input/DateInput.d.ts +4 -0
  68. package/date-input/DateInput.js +65 -89
  69. package/date-input/DateInput.stories.tsx +138 -0
  70. package/date-input/DateInput.test.js +479 -0
  71. package/date-input/types.d.ts +107 -0
  72. package/date-input/types.js +5 -0
  73. package/dialog/Dialog.d.ts +4 -0
  74. package/dialog/Dialog.js +52 -74
  75. package/dialog/Dialog.stories.tsx +267 -0
  76. package/dialog/Dialog.test.js +70 -0
  77. package/dialog/types.d.ts +44 -0
  78. package/dialog/types.js +5 -0
  79. package/dropdown/Dropdown.d.ts +4 -0
  80. package/dropdown/Dropdown.js +241 -303
  81. package/dropdown/Dropdown.stories.tsx +312 -0
  82. package/dropdown/Dropdown.test.js +590 -0
  83. package/dropdown/DropdownMenu.d.ts +4 -0
  84. package/dropdown/DropdownMenu.js +80 -0
  85. package/dropdown/DropdownMenuItem.d.ts +4 -0
  86. package/dropdown/DropdownMenuItem.js +92 -0
  87. package/dropdown/types.d.ts +100 -0
  88. package/dropdown/types.js +5 -0
  89. package/file-input/FileInput.d.ts +4 -0
  90. package/file-input/FileInput.js +180 -111
  91. package/file-input/FileInput.stories.tsx +507 -0
  92. package/file-input/FileInput.test.js +498 -0
  93. package/file-input/FileItem.d.ts +14 -0
  94. package/file-input/FileItem.js +16 -23
  95. package/file-input/types.d.ts +112 -0
  96. package/file-input/types.js +5 -0
  97. package/flex/Flex.d.ts +4 -0
  98. package/flex/Flex.js +69 -0
  99. package/flex/Flex.stories.tsx +103 -0
  100. package/flex/types.d.ts +32 -0
  101. package/flex/types.js +5 -0
  102. package/footer/Footer.d.ts +4 -0
  103. package/footer/Footer.js +36 -148
  104. package/footer/Footer.stories.tsx +137 -0
  105. package/footer/Footer.test.js +109 -0
  106. package/footer/Icons.d.ts +2 -0
  107. package/footer/Icons.js +4 -4
  108. package/footer/types.d.ts +66 -0
  109. package/footer/types.js +5 -0
  110. package/header/Header.d.ts +7 -0
  111. package/header/Header.js +119 -140
  112. package/header/Header.stories.tsx +172 -0
  113. package/header/Header.test.js +79 -0
  114. package/header/Icons.d.ts +2 -0
  115. package/header/Icons.js +4 -29
  116. package/header/types.d.ts +48 -0
  117. package/header/types.js +5 -0
  118. package/heading/Heading.d.ts +4 -0
  119. package/heading/Heading.js +7 -24
  120. package/heading/Heading.stories.tsx +54 -0
  121. package/heading/Heading.test.js +186 -0
  122. package/heading/types.d.ts +33 -0
  123. package/heading/types.js +5 -0
  124. package/inset/Inset.d.ts +3 -0
  125. package/inset/Inset.js +51 -0
  126. package/inset/Inset.stories.tsx +229 -0
  127. package/inset/types.d.ts +37 -0
  128. package/inset/types.js +5 -0
  129. package/layout/ApplicationLayout.d.ts +20 -0
  130. package/layout/ApplicationLayout.js +71 -135
  131. package/layout/ApplicationLayout.stories.tsx +162 -0
  132. package/layout/Icons.d.ts +5 -0
  133. package/layout/Icons.js +13 -2
  134. package/layout/SidenavContext.d.ts +5 -0
  135. package/layout/SidenavContext.js +19 -0
  136. package/layout/types.d.ts +42 -0
  137. package/layout/types.js +5 -0
  138. package/link/Link.d.ts +4 -0
  139. package/link/Link.js +60 -107
  140. package/link/Link.stories.tsx +193 -0
  141. package/link/Link.test.js +83 -0
  142. package/link/types.d.ts +54 -0
  143. package/link/types.js +5 -0
  144. package/main.d.ts +12 -12
  145. package/main.js +64 -58
  146. package/number-input/NumberInput.d.ts +4 -0
  147. package/number-input/NumberInput.js +16 -68
  148. package/number-input/NumberInput.stories.tsx +115 -0
  149. package/number-input/NumberInput.test.js +543 -0
  150. package/number-input/NumberInputContext.d.ts +4 -0
  151. package/number-input/NumberInputContext.js +5 -2
  152. package/number-input/numberInputContextTypes.d.ts +19 -0
  153. package/number-input/numberInputContextTypes.js +5 -0
  154. package/number-input/types.d.ts +124 -0
  155. package/number-input/types.js +5 -0
  156. package/package.json +17 -13
  157. package/paginator/Paginator.js +19 -46
  158. package/paginator/Paginator.stories.tsx +63 -0
  159. package/paginator/Paginator.test.js +308 -0
  160. package/paragraph/Paragraph.d.ts +6 -0
  161. package/paragraph/Paragraph.js +38 -0
  162. package/paragraph/Paragraph.stories.tsx +44 -0
  163. package/password-input/PasswordInput.d.ts +4 -0
  164. package/password-input/PasswordInput.js +24 -57
  165. package/password-input/PasswordInput.stories.tsx +131 -0
  166. package/password-input/PasswordInput.test.js +181 -0
  167. package/password-input/types.d.ts +110 -0
  168. package/password-input/types.js +5 -0
  169. package/progress-bar/ProgressBar.d.ts +4 -0
  170. package/progress-bar/ProgressBar.js +60 -72
  171. package/progress-bar/ProgressBar.stories.jsx +60 -0
  172. package/progress-bar/ProgressBar.test.js +110 -0
  173. package/progress-bar/types.d.ts +36 -0
  174. package/progress-bar/types.js +5 -0
  175. package/quick-nav/QuickNav.d.ts +4 -0
  176. package/quick-nav/QuickNav.js +117 -0
  177. package/quick-nav/QuickNav.stories.tsx +342 -0
  178. package/quick-nav/types.d.ts +21 -0
  179. package/quick-nav/types.js +5 -0
  180. package/radio-group/Radio.d.ts +4 -0
  181. package/radio-group/Radio.js +156 -0
  182. package/radio-group/RadioGroup.d.ts +4 -0
  183. package/radio-group/RadioGroup.js +283 -0
  184. package/radio-group/RadioGroup.stories.tsx +101 -0
  185. package/radio-group/RadioGroup.test.js +722 -0
  186. package/radio-group/types.d.ts +114 -0
  187. package/radio-group/types.js +5 -0
  188. package/resultsetTable/ResultsetTable.d.ts +4 -0
  189. package/resultsetTable/ResultsetTable.js +10 -32
  190. package/resultsetTable/ResultsetTable.stories.tsx +275 -0
  191. package/resultsetTable/ResultsetTable.test.js +348 -0
  192. package/resultsetTable/types.d.ts +67 -0
  193. package/resultsetTable/types.js +5 -0
  194. package/select/Icons.d.ts +10 -0
  195. package/select/Icons.js +93 -0
  196. package/select/Listbox.d.ts +4 -0
  197. package/select/Listbox.js +198 -0
  198. package/select/Option.d.ts +4 -0
  199. package/select/Option.js +110 -0
  200. package/select/Select.d.ts +4 -0
  201. package/select/Select.js +160 -380
  202. package/select/Select.stories.tsx +627 -0
  203. package/select/Select.test.js +2233 -0
  204. package/select/types.d.ts +210 -0
  205. package/select/types.js +5 -0
  206. package/sidenav/Sidenav.d.ts +10 -0
  207. package/sidenav/Sidenav.js +186 -63
  208. package/sidenav/Sidenav.stories.tsx +180 -0
  209. package/sidenav/Sidenav.test.js +44 -0
  210. package/sidenav/types.d.ts +73 -0
  211. package/sidenav/types.js +5 -0
  212. package/slider/Slider.d.ts +4 -0
  213. package/slider/Slider.js +155 -153
  214. package/slider/Slider.stories.tsx +183 -0
  215. package/slider/Slider.test.js +250 -0
  216. package/slider/types.d.ts +82 -0
  217. package/slider/types.js +5 -0
  218. package/spinner/Spinner.d.ts +4 -0
  219. package/spinner/Spinner.js +9 -26
  220. package/spinner/Spinner.stories.jsx +103 -0
  221. package/spinner/Spinner.test.js +64 -0
  222. package/spinner/types.d.ts +32 -0
  223. package/spinner/types.js +5 -0
  224. package/switch/Switch.d.ts +2 -2
  225. package/switch/Switch.js +149 -67
  226. package/switch/Switch.stories.tsx +138 -0
  227. package/switch/Switch.test.js +225 -0
  228. package/switch/types.d.ts +9 -6
  229. package/table/Table.d.ts +4 -0
  230. package/table/Table.js +4 -4
  231. package/table/Table.stories.jsx +277 -0
  232. package/table/Table.test.js +26 -0
  233. package/table/types.d.ts +21 -0
  234. package/table/types.js +5 -0
  235. package/tabs/Tab.d.ts +4 -0
  236. package/tabs/Tab.js +135 -0
  237. package/tabs/Tabs.d.ts +4 -0
  238. package/tabs/Tabs.js +364 -156
  239. package/tabs/Tabs.stories.tsx +186 -0
  240. package/tabs/Tabs.test.js +351 -0
  241. package/tabs/types.d.ts +92 -0
  242. package/tabs/types.js +5 -0
  243. package/tabs-nav/NavTabs.d.ts +8 -0
  244. package/tabs-nav/NavTabs.js +125 -0
  245. package/tabs-nav/NavTabs.stories.tsx +170 -0
  246. package/tabs-nav/NavTabs.test.js +82 -0
  247. package/tabs-nav/Tab.d.ts +4 -0
  248. package/tabs-nav/Tab.js +130 -0
  249. package/tabs-nav/types.d.ts +53 -0
  250. package/tabs-nav/types.js +5 -0
  251. package/tag/Tag.d.ts +4 -0
  252. package/tag/Tag.js +35 -60
  253. package/tag/Tag.stories.tsx +142 -0
  254. package/tag/Tag.test.js +60 -0
  255. package/tag/types.d.ts +69 -0
  256. package/tag/types.js +5 -0
  257. package/text-input/Icons.d.ts +8 -0
  258. package/text-input/Icons.js +60 -0
  259. package/text-input/Suggestion.d.ts +4 -0
  260. package/text-input/Suggestion.js +57 -0
  261. package/text-input/Suggestions.d.ts +4 -0
  262. package/text-input/Suggestions.js +134 -0
  263. package/text-input/TextInput.d.ts +4 -0
  264. package/text-input/TextInput.js +228 -376
  265. package/text-input/TextInput.stories.tsx +481 -0
  266. package/text-input/TextInput.test.js +1771 -0
  267. package/text-input/types.d.ts +197 -0
  268. package/text-input/types.js +5 -0
  269. package/textarea/Textarea.d.ts +4 -0
  270. package/textarea/Textarea.js +39 -79
  271. package/textarea/Textarea.stories.jsx +157 -0
  272. package/textarea/Textarea.test.js +437 -0
  273. package/textarea/types.d.ts +137 -0
  274. package/textarea/types.js +5 -0
  275. package/toggle-group/ToggleGroup.d.ts +4 -0
  276. package/toggle-group/ToggleGroup.js +18 -46
  277. package/toggle-group/ToggleGroup.stories.tsx +173 -0
  278. package/toggle-group/ToggleGroup.test.js +156 -0
  279. package/toggle-group/types.d.ts +105 -0
  280. package/toggle-group/types.js +5 -0
  281. package/typography/Typography.d.ts +4 -0
  282. package/typography/Typography.js +131 -0
  283. package/typography/Typography.stories.tsx +198 -0
  284. package/typography/types.d.ts +18 -0
  285. package/typography/types.js +5 -0
  286. package/useTheme.d.ts +2 -0
  287. package/useTheme.js +2 -2
  288. package/useTranslatedLabels.d.ts +2 -0
  289. package/useTranslatedLabels.js +20 -0
  290. package/wizard/Wizard.d.ts +4 -0
  291. package/wizard/Wizard.js +118 -104
  292. package/wizard/Wizard.stories.tsx +233 -0
  293. package/wizard/Wizard.test.js +141 -0
  294. package/wizard/types.d.ts +65 -0
  295. package/wizard/types.js +5 -0
  296. package/ThemeContext.js +0 -246
  297. package/V3Select/V3Select.js +0 -455
  298. package/V3Select/index.d.ts +0 -27
  299. package/V3Textarea/V3Textarea.js +0 -260
  300. package/V3Textarea/index.d.ts +0 -27
  301. package/accordion/index.d.ts +0 -28
  302. package/accordion-group/index.d.ts +0 -16
  303. package/alert/index.d.ts +0 -51
  304. package/box/index.d.ts +0 -25
  305. package/card/index.d.ts +0 -22
  306. package/chip/index.d.ts +0 -22
  307. package/date/Date.js +0 -373
  308. package/date/index.d.ts +0 -27
  309. package/date-input/index.d.ts +0 -95
  310. package/dialog/index.d.ts +0 -18
  311. package/dropdown/index.d.ts +0 -26
  312. package/file-input/index.d.ts +0 -81
  313. package/footer/index.d.ts +0 -25
  314. package/header/index.d.ts +0 -25
  315. package/heading/index.d.ts +0 -17
  316. package/input-text/Icons.js +0 -22
  317. package/input-text/InputText.js +0 -611
  318. package/input-text/index.d.ts +0 -36
  319. package/link/index.d.ts +0 -23
  320. package/number-input/index.d.ts +0 -113
  321. package/password-input/index.d.ts +0 -94
  322. package/progress-bar/index.d.ts +0 -18
  323. package/radio/Radio.js +0 -195
  324. package/radio/index.d.ts +0 -23
  325. package/resultsetTable/index.d.ts +0 -19
  326. package/select/index.d.ts +0 -131
  327. package/sidenav/index.d.ts +0 -13
  328. package/slider/index.d.ts +0 -29
  329. package/spinner/index.d.ts +0 -17
  330. package/table/index.d.ts +0 -13
  331. package/tabs/index.d.ts +0 -19
  332. package/tag/index.d.ts +0 -24
  333. package/text-input/index.d.ts +0 -135
  334. package/textarea/index.d.ts +0 -117
  335. package/toggle/Toggle.js +0 -186
  336. package/toggle/index.d.ts +0 -21
  337. package/toggle-group/index.d.ts +0 -21
  338. package/upload/Upload.js +0 -201
  339. package/upload/buttons-upload/ButtonsUpload.js +0 -111
  340. package/upload/buttons-upload/Icons.js +0 -40
  341. package/upload/dragAndDropArea/DragAndDropArea.js +0 -225
  342. package/upload/dragAndDropArea/Icons.js +0 -39
  343. package/upload/file-upload/FileToUpload.js +0 -115
  344. package/upload/file-upload/Icons.js +0 -66
  345. package/upload/files-upload/FilesToUpload.js +0 -109
  346. package/upload/index.d.ts +0 -15
  347. package/upload/transaction/Icons.js +0 -160
  348. package/upload/transaction/Transaction.js +0 -104
  349. package/upload/transactions/Transactions.js +0 -94
  350. package/wizard/Icons.js +0 -65
  351. package/wizard/index.d.ts +0 -18
@@ -0,0 +1,137 @@
1
+ import React from "react";
2
+ import DxcFooter from "./Footer";
3
+ import Title from "../../.storybook/components/Title";
4
+ import ExampleContainer from "../../.storybook/components/ExampleContainer";
5
+
6
+ const social = [
7
+ {
8
+ href: "https://www.linkedin.com/company/dxctechnology",
9
+ logo: (
10
+ <svg version="1.1" id="Capa_1" x="0px" y="0px" viewBox="0 0 438.536 438.536" fill="currentColor">
11
+ <g>
12
+ <path
13
+ d="M414.41,24.123C398.333,8.042,378.963,0,356.315,0H82.228C59.58,0,40.21,8.042,24.126,24.123
14
+ C8.045,40.207,0.003,59.576,0.003,82.225v274.084c0,22.647,8.042,42.018,24.123,58.102c16.084,16.084,35.454,24.126,58.102,24.126
15
+ h274.084c22.648,0,42.018-8.042,58.095-24.126c16.084-16.084,24.126-35.454,24.126-58.102V82.225
16
+ C438.532,59.576,430.49,40.204,414.41,24.123z M133.618,367.157H67.666V169.016h65.952V367.157z M127.626,132.332
17
+ c-6.851,6.567-15.893,9.851-27.124,9.851h-0.288c-10.848,0-19.648-3.284-26.407-9.851c-6.76-6.567-10.138-14.703-10.138-24.41
18
+ c0-9.897,3.476-18.083,10.421-24.556c6.95-6.471,15.942-9.708,26.98-9.708c11.039,0,19.89,3.237,26.553,9.708
19
+ c6.661,6.473,10.088,14.659,10.277,24.556C137.899,117.625,134.477,125.761,127.626,132.332z M370.873,367.157h-65.952v-105.92
20
+ c0-29.879-11.036-44.823-33.116-44.823c-8.374,0-15.42,2.331-21.128,6.995c-5.715,4.661-9.996,10.324-12.847,16.991
21
+ c-1.335,3.422-1.999,8.75-1.999,15.981v110.775h-65.952c0.571-119.529,0.571-185.579,0-198.142h65.952v27.974
22
+ c13.867-21.681,33.558-32.544,59.101-32.544c22.84,0,41.21,7.52,55.104,22.554c13.895,15.037,20.841,37.214,20.841,66.519v113.64
23
+ H370.873z"
24
+ />
25
+ </g>
26
+ </svg>
27
+ ),
28
+ },
29
+ {
30
+ href: "https://twitter.com/dxctechnology",
31
+ logo: (
32
+ <svg viewBox="0 0 248 204" fill="currentColor">
33
+ <path
34
+ fill="#1d9bf0"
35
+ d="M221.95 51.29c.15 2.17.15 4.34.15 6.53 0 66.73-50.8 143.69-143.69 143.69v-.04c-27.44.04-54.31-7.82-77.41-22.64 3.99.48 8 .72 12.02.73 22.74.02 44.83-7.61 62.72-21.66-21.61-.41-40.56-14.5-47.18-35.07 7.57 1.46 15.37 1.16 22.8-.87-23.56-4.76-40.51-25.46-40.51-49.5v-.64c7.02 3.91 14.88 6.08 22.92 6.32C11.58 63.31 4.74 33.79 18.14 10.71c25.64 31.55 63.47 50.73 104.08 52.76-4.07-17.54 1.49-35.92 14.61-48.25 20.34-19.12 52.33-18.14 71.45 2.19 11.31-2.23 22.15-6.38 32.07-12.26-3.77 11.69-11.66 21.62-22.2 27.93 10.01-1.18 19.79-3.86 29-7.95-6.78 10.16-15.32 19.01-25.2 26.16z"
36
+ />
37
+ </svg>
38
+ ),
39
+ },
40
+ {
41
+ href: "https://www.facebook.com/DXCTechnology/",
42
+ logo: (
43
+ <svg
44
+ version="1.1"
45
+ id="Capa_1"
46
+ x="0px"
47
+ y="0px"
48
+ viewBox="0 0 438.536 438.536"
49
+ fill="currentColor"
50
+ width="1000px"
51
+ height="500px"
52
+ >
53
+ <g>
54
+ <path
55
+ d="M414.41,24.123C398.333,8.042,378.963,0,356.315,0H82.228C59.58,0,40.21,8.042,24.126,24.123
56
+ C8.045,40.207,0.003,59.576,0.003,82.225v274.084c0,22.647,8.042,42.018,24.123,58.102c16.084,16.084,35.454,24.126,58.102,24.126
57
+ h274.084c22.648,0,42.018-8.042,58.095-24.126c16.084-16.084,24.126-35.454,24.126-58.102V82.225
58
+ C438.532,59.576,430.49,40.204,414.41,24.123z M373.155,225.548h-49.963V406.84h-74.802V225.548H210.99V163.02h37.401v-37.402
59
+ c0-26.838,6.283-47.107,18.843-60.813c12.559-13.706,33.304-20.555,62.242-20.555h49.963v62.526h-31.401
60
+ c-10.663,0-17.467,1.853-20.417,5.568c-2.949,3.711-4.428,10.23-4.428,19.558v31.119h56.534L373.155,225.548z"
61
+ />
62
+ </g>
63
+ </svg>
64
+ ),
65
+ },
66
+ ];
67
+
68
+ const bottom = [
69
+ {
70
+ href: "https://www.linkedin.com/company/dxctechnology",
71
+ text: "Linkedin",
72
+ },
73
+ {
74
+ href: "https://twitter.com/dxctechnology",
75
+ text: "Twitter",
76
+ },
77
+ {
78
+ href: "https://www.facebook.com/DXCTechnology/",
79
+ text: "Facebook",
80
+ },
81
+ ];
82
+
83
+ export default {
84
+ title: "Footer",
85
+ component: DxcFooter,
86
+ };
87
+
88
+ export const Chromatic = () => (
89
+ <>
90
+ <ExampleContainer>
91
+ <Title title="Default" theme="light" level={4} />
92
+ <DxcFooter />
93
+ </ExampleContainer>
94
+ <ExampleContainer>
95
+ <Title title="With children, copyright, bottom links and social links" theme="light" level={4} />
96
+ <DxcFooter copyright="Copyright" socialLinks={social} bottomLinks={bottom}>
97
+ <div>
98
+ <a href="https://www.linkedin.com/company/dxctechnology">Linkedin</a>
99
+ </div>
100
+ </DxcFooter>
101
+ </ExampleContainer>
102
+ <Title title="Margins" theme="light" level={2} />
103
+ <ExampleContainer>
104
+ <Title title="Xxsmall margin" theme="light" level={4} />
105
+ <DxcFooter margin="xxsmall"></DxcFooter>
106
+ <Title title="Xsmall margin" theme="light" level={4} />
107
+ <DxcFooter margin="xsmall"></DxcFooter>
108
+ <Title title="Small margin" theme="light" level={4} />
109
+ <DxcFooter margin="small"></DxcFooter>
110
+ <Title title="Medium margin" theme="light" level={4} />
111
+ <DxcFooter margin="medium"></DxcFooter>
112
+ <Title title="Large margin" theme="light" level={4} />
113
+ <DxcFooter margin="large"></DxcFooter>
114
+ <Title title="Xlarge margin" theme="light" level={4} />
115
+ <DxcFooter margin="xlarge"></DxcFooter>
116
+ <Title title="Xxlarge margin" theme="light" level={4} />
117
+ <DxcFooter margin="xxlarge"></DxcFooter>
118
+ </ExampleContainer>
119
+ <Title title="Padding" theme="light" level={2} />
120
+ <ExampleContainer>
121
+ <Title title="Xxsmall padding" theme="light" level={4} />
122
+ <DxcFooter padding="xxsmall"></DxcFooter>
123
+ <Title title="Xsmall padding" theme="light" level={4} />
124
+ <DxcFooter padding="xsmall"></DxcFooter>
125
+ <Title title="Small padding" theme="light" level={4} />
126
+ <DxcFooter padding="small"></DxcFooter>
127
+ <Title title="Medium padding" theme="light" level={4} />
128
+ <DxcFooter padding="medium"></DxcFooter>
129
+ <Title title="Large padding" theme="light" level={4} />
130
+ <DxcFooter padding="large"></DxcFooter>
131
+ <Title title="Xlarge padding" theme="light" level={4} />
132
+ <DxcFooter padding="xlarge"></DxcFooter>
133
+ <Title title="Xxlarge padding" theme="light" level={4} />
134
+ <DxcFooter padding="xxlarge"></DxcFooter>
135
+ </ExampleContainer>
136
+ </>
137
+ );
@@ -0,0 +1,109 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _react = _interopRequireDefault(require("react"));
6
+
7
+ var _react2 = require("@testing-library/react");
8
+
9
+ var _linkedin = _interopRequireDefault(require("../../app/src/images/linkedin.svg"));
10
+
11
+ var _Footer = _interopRequireDefault(require("./Footer"));
12
+
13
+ describe("Footer component tests", function () {
14
+ test("Footer renders with default logo", function () {
15
+ var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Footer["default"], null)),
16
+ getByTitle = _render.getByTitle;
17
+
18
+ expect(getByTitle("DXC Logo")).toBeTruthy();
19
+ });
20
+ test("Footer renders with social links", function () {
21
+ var social = [{
22
+ href: "https://www.test.com/test",
23
+ logo: _linkedin["default"]
24
+ }];
25
+
26
+ var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Footer["default"], {
27
+ socialLinks: social
28
+ })),
29
+ getByRole = _render2.getByRole;
30
+
31
+ var socialIcon = getByRole("link");
32
+ expect(socialIcon.getAttribute("href")).toBe("https://www.test.com/test");
33
+ });
34
+ test("Footer renders with bottom links", function () {
35
+ var bottom = [{
36
+ href: "https://www.test.com/test",
37
+ text: "bottom-link-text"
38
+ }];
39
+
40
+ var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Footer["default"], {
41
+ bottomLinks: bottom
42
+ })),
43
+ getByText = _render3.getByText;
44
+
45
+ var link = getByText("bottom-link-text");
46
+ expect(link.getAttribute("href")).toBe("https://www.test.com/test");
47
+ });
48
+ test("Footer renders with copyright text", function () {
49
+ var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Footer["default"], {
50
+ copyright: "test-copyright"
51
+ })),
52
+ getByText = _render4.getByText;
53
+
54
+ expect(getByText("test-copyright")).toBeTruthy();
55
+ });
56
+ test("Footer renders with correct children", function () {
57
+ //We need to force the offsetWidth value
58
+ Object.defineProperty(HTMLElement.prototype, "offsetWidth", {
59
+ configurable: true,
60
+ value: 1024
61
+ });
62
+
63
+ var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Footer["default"], null, /*#__PURE__*/_react["default"].createElement("p", null, "footer-child-text"))),
64
+ getByText = _render5.getByText;
65
+
66
+ expect(getByText("footer-child-text")).toBeTruthy();
67
+ });
68
+ test("Footer renders with children in mobile", function () {
69
+ //425 is mobile width
70
+ Object.defineProperty(HTMLElement.prototype, "offsetWidth", {
71
+ configurable: true,
72
+ value: 425
73
+ });
74
+
75
+ var _render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Footer["default"], null, /*#__PURE__*/_react["default"].createElement("p", null, "footer-child-text"))),
76
+ queryByText = _render6.queryByText;
77
+
78
+ expect(queryByText("footer-child-text")).toBeTruthy();
79
+ });
80
+ test("Footer is fully rendered", function () {
81
+ Object.defineProperty(HTMLElement.prototype, "offsetWidth", {
82
+ configurable: true,
83
+ value: 1024
84
+ });
85
+ var social = [{
86
+ href: "https://www.test.com/social",
87
+ logo: _linkedin["default"]
88
+ }];
89
+ var bottom = [{
90
+ href: "https://www.test.com/bottom",
91
+ text: "bottom-link-text"
92
+ }];
93
+
94
+ var _render7 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Footer["default"], {
95
+ socialLinks: social,
96
+ bottomLinks: bottom,
97
+ copyright: "test-copyright"
98
+ }, /*#__PURE__*/_react["default"].createElement("p", null, "footer-child-text"))),
99
+ getAllByRole = _render7.getAllByRole,
100
+ getByText = _render7.getByText;
101
+
102
+ var socialIcon = getAllByRole("link")[0];
103
+ expect(socialIcon.getAttribute("href")).toBe("https://www.test.com/social");
104
+ var bottomLink = getByText("bottom-link-text");
105
+ expect(bottomLink.getAttribute("href")).toBe("https://www.test.com/bottom");
106
+ expect(getByText("test-copyright")).toBeTruthy();
107
+ expect(getByText("footer-child-text")).toBeTruthy();
108
+ });
109
+ });
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare const dxcLogo: JSX.Element;
package/footer/Icons.js CHANGED
@@ -5,14 +5,14 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports["default"] = void 0;
8
+ exports.dxcLogo = void 0;
9
9
 
10
10
  var _react = _interopRequireDefault(require("react"));
11
11
 
12
- var _default = /*#__PURE__*/_react["default"].createElement("svg", {
12
+ var dxcLogo = /*#__PURE__*/_react["default"].createElement("svg", {
13
13
  id: "g10",
14
14
  xmlns: "http://www.w3.org/2000/svg",
15
- width: "280.781",
15
+ width: "100%",
16
16
  height: "32",
17
17
  viewBox: "0 0 280.781 32"
18
18
  }, /*#__PURE__*/_react["default"].createElement("title", null, "DXC Logo"), /*#__PURE__*/_react["default"].createElement("g", {
@@ -74,4 +74,4 @@ var _default = /*#__PURE__*/_react["default"].createElement("svg", {
74
74
  fill: "#fff"
75
75
  })));
76
76
 
77
- exports["default"] = _default;
77
+ exports.dxcLogo = dxcLogo;
@@ -0,0 +1,66 @@
1
+ /// <reference types="react" />
2
+ declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
3
+ declare type Size = {
4
+ top?: Space;
5
+ bottom?: Space;
6
+ left?: Space;
7
+ right?: Space;
8
+ };
9
+ declare type SVG = React.ReactNode & React.SVGProps<SVGSVGElement>;
10
+ declare type SocialLink = {
11
+ /**
12
+ * Element used as the icon for the link.
13
+ */
14
+ logo: string | SVG;
15
+ /**
16
+ * URL of the page the link goes to.
17
+ */
18
+ href: string;
19
+ };
20
+ declare type BottomLink = {
21
+ /**
22
+ * Text for the link.
23
+ */
24
+ text: string;
25
+ /**
26
+ * URL of the page the link goes to.
27
+ */
28
+ href: string;
29
+ };
30
+ declare type FooterPropsType = {
31
+ /**
32
+ * An array of objects representing the links that will be rendered as
33
+ * icons at the top-right side of the footer.
34
+ */
35
+ socialLinks?: SocialLink[];
36
+ /**
37
+ * An array of objects representing the links that will be rendered at
38
+ * the bottom part of the footer.
39
+ */
40
+ bottomLinks?: BottomLink[];
41
+ /**
42
+ * The center section of the footer. Can be used to render custom
43
+ * content in this area.
44
+ */
45
+ children?: React.ReactNode;
46
+ /**
47
+ * The text that will be displayed as copyright disclaimer.
48
+ */
49
+ copyright?: string;
50
+ /**
51
+ * Value of the tabindex for all interactuable elements, except those
52
+ * inside the custom area.
53
+ */
54
+ tabIndex?: number;
55
+ /**
56
+ * Size of the top margin to be applied to the footer.
57
+ */
58
+ margin?: Space | Size;
59
+ /**
60
+ * @deprecated This prop will be removed shortly, consider using the Inset component for this purpose.
61
+ * Size of the padding to be applied to the custom area of the component.
62
+ * You can pass an object with properties in order to specify different padding sizes.
63
+ */
64
+ padding?: Space | Size;
65
+ };
66
+ export default FooterPropsType;
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -0,0 +1,7 @@
1
+ /// <reference types="react" />
2
+ import HeaderPropsType from "./types";
3
+ declare const DxcHeader: {
4
+ ({ underlined, content, responsiveContent, onClick, margin, padding, tabIndex, }: HeaderPropsType): JSX.Element;
5
+ Dropdown: (props: any) => JSX.Element;
6
+ };
7
+ export default DxcHeader;