@dxc-technology/halstack-react 0.0.0-2aeb707 → 0.0.0-2b773b3

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 (470) hide show
  1. package/BackgroundColorContext.d.ts +10 -0
  2. package/BackgroundColorContext.js +47 -0
  3. package/ThemeContext.d.ts +10 -0
  4. package/ThemeContext.js +243 -0
  5. package/accordion/Accordion.d.ts +4 -0
  6. package/accordion/Accordion.js +248 -0
  7. package/accordion/Accordion.stories.tsx +307 -0
  8. package/accordion/Accordion.test.js +72 -0
  9. package/accordion/types.d.ts +68 -0
  10. package/accordion/types.js +5 -0
  11. package/accordion-group/AccordionGroup.d.ts +7 -0
  12. package/accordion-group/AccordionGroup.js +168 -0
  13. package/accordion-group/AccordionGroup.stories.tsx +225 -0
  14. package/accordion-group/AccordionGroup.test.js +151 -0
  15. package/accordion-group/types.d.ts +72 -0
  16. package/accordion-group/types.js +5 -0
  17. package/alert/Alert.d.ts +4 -0
  18. package/alert/Alert.js +290 -0
  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 +59 -0
  25. package/badge/types.d.ts +4 -0
  26. package/badge/types.js +5 -0
  27. package/bleed/Bleed.d.ts +3 -0
  28. package/bleed/Bleed.js +84 -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 +126 -0
  34. package/box/Box.stories.tsx +132 -0
  35. package/box/Box.test.js +18 -0
  36. package/box/types.d.ts +43 -0
  37. package/box/types.js +5 -0
  38. package/button/Button.d.ts +4 -0
  39. package/button/Button.js +171 -0
  40. package/button/Button.stories.tsx +274 -0
  41. package/button/Button.test.js +35 -0
  42. package/button/types.d.ts +53 -0
  43. package/button/types.js +5 -0
  44. package/card/Card.d.ts +4 -0
  45. package/card/Card.js +164 -0
  46. package/card/Card.stories.tsx +201 -0
  47. package/card/Card.test.js +50 -0
  48. package/card/ice-cream.jpg +0 -0
  49. package/card/types.d.ts +67 -0
  50. package/card/types.js +5 -0
  51. package/checkbox/Checkbox.d.ts +4 -0
  52. package/checkbox/Checkbox.js +247 -0
  53. package/checkbox/Checkbox.stories.tsx +192 -0
  54. package/checkbox/Checkbox.test.js +78 -0
  55. package/checkbox/types.d.ts +64 -0
  56. package/checkbox/types.js +5 -0
  57. package/chip/Chip.d.ts +4 -0
  58. package/chip/Chip.js +161 -0
  59. package/chip/Chip.stories.tsx +119 -0
  60. package/chip/Chip.test.js +56 -0
  61. package/chip/types.d.ts +45 -0
  62. package/chip/types.js +5 -0
  63. package/{dist/common → common}/OpenSans.css +0 -0
  64. package/{dist/common → common}/RequiredComponent.js +5 -19
  65. package/{dist/common → common}/fonts/OpenSans-Bold.ttf +0 -0
  66. package/{dist/common → common}/fonts/OpenSans-BoldItalic.ttf +0 -0
  67. package/{dist/common → common}/fonts/OpenSans-ExtraBold.ttf +0 -0
  68. package/{dist/common → common}/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  69. package/{dist/common → common}/fonts/OpenSans-Italic.ttf +0 -0
  70. package/{dist/common → common}/fonts/OpenSans-Light.ttf +0 -0
  71. package/{dist/common → common}/fonts/OpenSans-LightItalic.ttf +0 -0
  72. package/{dist/common → common}/fonts/OpenSans-Regular.ttf +0 -0
  73. package/{dist/common → common}/fonts/OpenSans-SemiBold.ttf +0 -0
  74. package/{dist/common → common}/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  75. package/common/utils.js +22 -0
  76. package/common/variables.js +1373 -0
  77. package/date-input/DateInput.d.ts +4 -0
  78. package/date-input/DateInput.js +369 -0
  79. package/date-input/DateInput.stories.tsx +138 -0
  80. package/date-input/DateInput.test.js +479 -0
  81. package/date-input/types.d.ts +107 -0
  82. package/date-input/types.js +5 -0
  83. package/dialog/Dialog.d.ts +4 -0
  84. package/dialog/Dialog.js +166 -0
  85. package/dialog/Dialog.stories.tsx +212 -0
  86. package/dialog/Dialog.test.js +40 -0
  87. package/dialog/types.d.ts +43 -0
  88. package/dialog/types.js +5 -0
  89. package/dropdown/Dropdown.d.ts +4 -0
  90. package/dropdown/Dropdown.js +395 -0
  91. package/dropdown/Dropdown.stories.tsx +249 -0
  92. package/dropdown/Dropdown.test.js +189 -0
  93. package/dropdown/types.d.ts +80 -0
  94. package/dropdown/types.js +5 -0
  95. package/file-input/FileInput.d.ts +4 -0
  96. package/file-input/FileInput.js +590 -0
  97. package/file-input/FileInput.stories.tsx +507 -0
  98. package/file-input/FileInput.test.js +457 -0
  99. package/file-input/FileItem.d.ts +14 -0
  100. package/file-input/FileItem.js +184 -0
  101. package/file-input/types.d.ts +112 -0
  102. package/file-input/types.js +5 -0
  103. package/footer/Footer.d.ts +4 -0
  104. package/footer/Footer.js +258 -0
  105. package/footer/Footer.stories.tsx +130 -0
  106. package/footer/Footer.test.js +109 -0
  107. package/footer/Icons.d.ts +2 -0
  108. package/footer/Icons.js +77 -0
  109. package/footer/types.d.ts +65 -0
  110. package/footer/types.js +5 -0
  111. package/header/Header.d.ts +7 -0
  112. package/header/Header.js +324 -0
  113. package/header/Header.stories.tsx +162 -0
  114. package/header/Header.test.js +63 -0
  115. package/header/Icons.d.ts +2 -0
  116. package/header/Icons.js +34 -0
  117. package/header/types.d.ts +47 -0
  118. package/header/types.js +5 -0
  119. package/heading/Heading.d.ts +4 -0
  120. package/heading/Heading.js +159 -0
  121. package/heading/Heading.stories.tsx +54 -0
  122. package/heading/Heading.test.js +186 -0
  123. package/heading/types.d.ts +33 -0
  124. package/heading/types.js +5 -0
  125. package/inset/Inset.d.ts +3 -0
  126. package/inset/Inset.js +84 -0
  127. package/inset/Inset.stories.tsx +229 -0
  128. package/inset/types.d.ts +37 -0
  129. package/inset/types.js +5 -0
  130. package/layout/ApplicationLayout.d.ts +10 -0
  131. package/layout/ApplicationLayout.js +231 -0
  132. package/layout/ApplicationLayout.stories.tsx +171 -0
  133. package/layout/Icons.js +55 -0
  134. package/layout/types.d.ts +57 -0
  135. package/layout/types.js +5 -0
  136. package/link/Link.d.ts +3 -0
  137. package/link/Link.js +153 -0
  138. package/link/Link.stories.tsx +151 -0
  139. package/link/Link.test.js +91 -0
  140. package/link/types.d.ts +70 -0
  141. package/link/types.js +5 -0
  142. package/list/List.d.ts +4 -0
  143. package/list/List.js +47 -0
  144. package/list/List.stories.tsx +95 -0
  145. package/list/types.d.ts +7 -0
  146. package/list/types.js +5 -0
  147. package/main.d.ts +47 -0
  148. package/{dist/main.js → main.js} +159 -59
  149. package/number-input/NumberInput.d.ts +4 -0
  150. package/number-input/NumberInput.js +76 -0
  151. package/number-input/NumberInput.stories.tsx +115 -0
  152. package/number-input/NumberInput.test.js +508 -0
  153. package/number-input/NumberInputContext.d.ts +4 -0
  154. package/{dist/ThemeContext.js → number-input/NumberInputContext.js} +6 -2
  155. package/number-input/numberInputContextTypes.d.ts +19 -0
  156. package/number-input/numberInputContextTypes.js +5 -0
  157. package/number-input/types.d.ts +121 -0
  158. package/number-input/types.js +5 -0
  159. package/package.json +38 -22
  160. package/paginator/Icons.js +66 -0
  161. package/paginator/Paginator.d.ts +4 -0
  162. package/paginator/Paginator.js +192 -0
  163. package/paginator/Paginator.stories.tsx +63 -0
  164. package/paginator/Paginator.test.js +266 -0
  165. package/paginator/types.d.ts +38 -0
  166. package/paginator/types.js +5 -0
  167. package/password-input/PasswordInput.d.ts +4 -0
  168. package/password-input/PasswordInput.js +163 -0
  169. package/password-input/PasswordInput.stories.tsx +131 -0
  170. package/password-input/PasswordInput.test.js +183 -0
  171. package/password-input/types.d.ts +107 -0
  172. package/password-input/types.js +5 -0
  173. package/progress-bar/ProgressBar.d.ts +4 -0
  174. package/progress-bar/ProgressBar.js +170 -0
  175. package/progress-bar/ProgressBar.stories.jsx +58 -0
  176. package/progress-bar/ProgressBar.test.js +65 -0
  177. package/progress-bar/types.d.ts +37 -0
  178. package/progress-bar/types.js +5 -0
  179. package/quick-nav/QuickNav.d.ts +4 -0
  180. package/quick-nav/QuickNav.js +66 -0
  181. package/quick-nav/QuickNav.stories.tsx +237 -0
  182. package/quick-nav/types.d.ts +21 -0
  183. package/quick-nav/types.js +5 -0
  184. package/radio/Radio.d.ts +4 -0
  185. package/radio/Radio.js +174 -0
  186. package/radio/Radio.stories.tsx +192 -0
  187. package/radio/Radio.test.js +71 -0
  188. package/radio/types.d.ts +54 -0
  189. package/radio/types.js +5 -0
  190. package/radio-group/Radio.d.ts +4 -0
  191. package/radio-group/Radio.js +141 -0
  192. package/radio-group/RadioGroup.d.ts +4 -0
  193. package/radio-group/RadioGroup.js +280 -0
  194. package/radio-group/RadioGroup.stories.tsx +100 -0
  195. package/radio-group/RadioGroup.test.js +695 -0
  196. package/radio-group/types.d.ts +114 -0
  197. package/radio-group/types.js +5 -0
  198. package/resultsetTable/ResultsetTable.d.ts +4 -0
  199. package/resultsetTable/ResultsetTable.js +254 -0
  200. package/resultsetTable/ResultsetTable.stories.tsx +275 -0
  201. package/resultsetTable/ResultsetTable.test.js +306 -0
  202. package/resultsetTable/types.d.ts +67 -0
  203. package/resultsetTable/types.js +5 -0
  204. package/row/Row.d.ts +3 -0
  205. package/row/Row.js +127 -0
  206. package/row/Row.stories.tsx +237 -0
  207. package/row/types.d.ts +28 -0
  208. package/row/types.js +5 -0
  209. package/select/Icons.d.ts +10 -0
  210. package/select/Icons.js +93 -0
  211. package/select/Option.d.ts +4 -0
  212. package/select/Option.js +110 -0
  213. package/select/Select.d.ts +4 -0
  214. package/select/Select.js +732 -0
  215. package/select/Select.stories.tsx +582 -0
  216. package/select/Select.test.js +2057 -0
  217. package/select/types.d.ts +194 -0
  218. package/select/types.js +5 -0
  219. package/sidenav/Sidenav.d.ts +9 -0
  220. package/sidenav/Sidenav.js +136 -0
  221. package/sidenav/Sidenav.stories.tsx +182 -0
  222. package/sidenav/Sidenav.test.js +56 -0
  223. package/sidenav/types.d.ts +50 -0
  224. package/sidenav/types.js +5 -0
  225. package/slider/Slider.d.ts +4 -0
  226. package/slider/Slider.js +318 -0
  227. package/slider/Slider.stories.tsx +177 -0
  228. package/slider/Slider.test.js +150 -0
  229. package/slider/types.d.ts +82 -0
  230. package/slider/types.js +5 -0
  231. package/spinner/Spinner.d.ts +4 -0
  232. package/spinner/Spinner.js +250 -0
  233. package/spinner/Spinner.stories.jsx +103 -0
  234. package/spinner/Spinner.test.js +64 -0
  235. package/spinner/types.d.ts +32 -0
  236. package/spinner/types.js +5 -0
  237. package/stack/Stack.d.ts +3 -0
  238. package/stack/Stack.js +97 -0
  239. package/stack/Stack.stories.tsx +164 -0
  240. package/stack/types.d.ts +24 -0
  241. package/stack/types.js +5 -0
  242. package/switch/Switch.d.ts +4 -0
  243. package/switch/Switch.js +192 -0
  244. package/switch/Switch.stories.tsx +160 -0
  245. package/switch/Switch.test.js +98 -0
  246. package/switch/types.d.ts +62 -0
  247. package/switch/types.js +5 -0
  248. package/table/Table.d.ts +4 -0
  249. package/table/Table.js +118 -0
  250. package/table/Table.stories.jsx +277 -0
  251. package/table/Table.test.js +26 -0
  252. package/table/types.d.ts +21 -0
  253. package/table/types.js +5 -0
  254. package/tabs/Tabs.d.ts +4 -0
  255. package/tabs/Tabs.js +211 -0
  256. package/tabs/Tabs.stories.tsx +118 -0
  257. package/tabs/Tabs.test.js +140 -0
  258. package/tabs/types.d.ts +82 -0
  259. package/tabs/types.js +5 -0
  260. package/tag/Tag.d.ts +4 -0
  261. package/tag/Tag.js +186 -0
  262. package/tag/Tag.stories.tsx +142 -0
  263. package/tag/Tag.test.js +60 -0
  264. package/tag/types.d.ts +69 -0
  265. package/tag/types.js +5 -0
  266. package/text/Text.d.ts +7 -0
  267. package/text/Text.js +30 -0
  268. package/text/Text.stories.tsx +19 -0
  269. package/text-input/TextInput.d.ts +4 -0
  270. package/text-input/TextInput.js +798 -0
  271. package/text-input/TextInput.stories.tsx +474 -0
  272. package/text-input/TextInput.test.js +1725 -0
  273. package/text-input/types.d.ts +163 -0
  274. package/text-input/types.js +5 -0
  275. package/textarea/Textarea.d.ts +4 -0
  276. package/textarea/Textarea.js +286 -0
  277. package/textarea/Textarea.stories.jsx +157 -0
  278. package/textarea/Textarea.test.js +437 -0
  279. package/textarea/types.d.ts +134 -0
  280. package/textarea/types.js +5 -0
  281. package/toggle-group/ToggleGroup.d.ts +4 -0
  282. package/toggle-group/ToggleGroup.js +215 -0
  283. package/toggle-group/ToggleGroup.stories.tsx +173 -0
  284. package/toggle-group/ToggleGroup.test.js +156 -0
  285. package/toggle-group/types.d.ts +105 -0
  286. package/toggle-group/types.js +5 -0
  287. package/useTheme.d.ts +2 -0
  288. package/useTheme.js +22 -0
  289. package/wizard/Wizard.d.ts +4 -0
  290. package/wizard/Wizard.js +286 -0
  291. package/wizard/Wizard.stories.tsx +214 -0
  292. package/wizard/Wizard.test.js +141 -0
  293. package/wizard/types.d.ts +64 -0
  294. package/wizard/types.js +5 -0
  295. package/README.md +0 -66
  296. package/babel.config.js +0 -4
  297. package/dist/accordion/Accordion.js +0 -268
  298. package/dist/accordion/Accordion.stories.js +0 -207
  299. package/dist/accordion/readme.md +0 -96
  300. package/dist/accordion-group/AccordionGroup.js +0 -159
  301. package/dist/accordion-group/AccordionGroup.stories.js +0 -207
  302. package/dist/accordion-group/readme.md +0 -70
  303. package/dist/alert/Alert.js +0 -304
  304. package/dist/alert/Alert.stories.js +0 -158
  305. package/dist/alert/close.svg +0 -4
  306. package/dist/alert/error.svg +0 -4
  307. package/dist/alert/info.svg +0 -4
  308. package/dist/alert/readme.md +0 -43
  309. package/dist/alert/success.svg +0 -4
  310. package/dist/alert/warning.svg +0 -4
  311. package/dist/box/Box.js +0 -148
  312. package/dist/button/Button.js +0 -202
  313. package/dist/button/Button.stories.js +0 -224
  314. package/dist/button/readme.md +0 -93
  315. package/dist/card/Card.js +0 -217
  316. package/dist/checkbox/Checkbox.js +0 -240
  317. package/dist/checkbox/Checkbox.stories.js +0 -144
  318. package/dist/checkbox/readme.md +0 -116
  319. package/dist/chip/Chip.js +0 -208
  320. package/dist/common/services/example-service.js +0 -10
  321. package/dist/common/services/example-service.test.js +0 -12
  322. package/dist/common/utils.js +0 -42
  323. package/dist/common/variables.js +0 -434
  324. package/dist/date/Date.js +0 -356
  325. package/dist/date/Date.stories.js +0 -205
  326. package/dist/date/calendar.svg +0 -1
  327. package/dist/date/calendar_dark.svg +0 -1
  328. package/dist/date/readme.md +0 -73
  329. package/dist/dialog/Dialog.js +0 -197
  330. package/dist/dialog/Dialog.stories.js +0 -217
  331. package/dist/dialog/readme.md +0 -32
  332. package/dist/dropdown/Dropdown.js +0 -449
  333. package/dist/dropdown/Dropdown.stories.js +0 -249
  334. package/dist/dropdown/baseline-arrow_drop_down.svg +0 -1
  335. package/dist/dropdown/baseline-arrow_drop_down_wh.svg +0 -4
  336. package/dist/dropdown/baseline-arrow_drop_up.svg +0 -1
  337. package/dist/dropdown/baseline-arrow_drop_up_wh.svg +0 -4
  338. package/dist/dropdown/readme.md +0 -69
  339. package/dist/footer/Footer.js +0 -371
  340. package/dist/footer/Footer.stories.js +0 -94
  341. package/dist/footer/dxc_logo_wht.png +0 -0
  342. package/dist/footer/readme.md +0 -41
  343. package/dist/header/Header.js +0 -373
  344. package/dist/header/Header.stories.js +0 -176
  345. package/dist/header/close_icon.svg +0 -1
  346. package/dist/header/dxc_logo_black.png +0 -0
  347. package/dist/header/dxc_logo_blk_rgb.svg +0 -6
  348. package/dist/header/dxc_logo_white.png +0 -0
  349. package/dist/header/hamb_menu_black.svg +0 -1
  350. package/dist/header/hamb_menu_white.svg +0 -1
  351. package/dist/header/readme.md +0 -33
  352. package/dist/heading/Heading.js +0 -153
  353. package/dist/input-text/InputText.js +0 -570
  354. package/dist/input-text/InputText.stories.js +0 -209
  355. package/dist/input-text/error.svg +0 -1
  356. package/dist/input-text/readme.md +0 -91
  357. package/dist/layout/ApplicationLayout.js +0 -335
  358. package/dist/layout/facebook.svg +0 -45
  359. package/dist/layout/linkedin.svg +0 -50
  360. package/dist/layout/twitter.svg +0 -53
  361. package/dist/link/Link.js +0 -189
  362. package/dist/link/readme.md +0 -51
  363. package/dist/paginator/Paginator.js +0 -232
  364. package/dist/paginator/images/next.svg +0 -3
  365. package/dist/paginator/images/nextPage.svg +0 -3
  366. package/dist/paginator/images/previous.svg +0 -3
  367. package/dist/paginator/images/previousPage.svg +0 -3
  368. package/dist/paginator/readme.md +0 -50
  369. package/dist/progress-bar/ProgressBar.js +0 -185
  370. package/dist/progress-bar/ProgressBar.stories.js +0 -280
  371. package/dist/progress-bar/readme.md +0 -63
  372. package/dist/radio/Radio.js +0 -195
  373. package/dist/radio/Radio.stories.js +0 -166
  374. package/dist/radio/readme.md +0 -70
  375. package/dist/resultsetTable/ResultsetTable.js +0 -341
  376. package/dist/resultsetTable/arrow_downward-24px_wht.svg +0 -1
  377. package/dist/resultsetTable/arrow_upward-24px_wht.svg +0 -1
  378. package/dist/resultsetTable/unfold_more-24px_wht.svg +0 -1
  379. package/dist/select/Select.js +0 -473
  380. package/dist/select/Select.stories.js +0 -235
  381. package/dist/select/readme.md +0 -72
  382. package/dist/sidenav/Sidenav.js +0 -128
  383. package/dist/slider/Slider.js +0 -266
  384. package/dist/slider/Slider.stories.js +0 -241
  385. package/dist/slider/readme.md +0 -64
  386. package/dist/spinner/Spinner.js +0 -193
  387. package/dist/spinner/Spinner.stories.js +0 -183
  388. package/dist/spinner/readme.md +0 -65
  389. package/dist/switch/Switch.js +0 -199
  390. package/dist/switch/Switch.stories.js +0 -134
  391. package/dist/switch/readme.md +0 -133
  392. package/dist/table/Table.js +0 -105
  393. package/dist/tabs/Tabs.js +0 -185
  394. package/dist/tabs/Tabs.stories.js +0 -130
  395. package/dist/tabs/readme.md +0 -78
  396. package/dist/tabs-for-sections/TabsForSections.js +0 -92
  397. package/dist/tabs-for-sections/readme.md +0 -78
  398. package/dist/tag/Tag.js +0 -249
  399. package/dist/textarea/Textarea.js +0 -227
  400. package/dist/toggle/Toggle.js +0 -223
  401. package/dist/toggle/Toggle.stories.js +0 -297
  402. package/dist/toggle/readme.md +0 -80
  403. package/dist/toggle-group/ToggleGroup.js +0 -226
  404. package/dist/toggle-group/readme.md +0 -82
  405. package/dist/upload/Upload.js +0 -200
  406. package/dist/upload/Upload.stories.js +0 -72
  407. package/dist/upload/buttons-upload/ButtonsUpload.js +0 -122
  408. package/dist/upload/buttons-upload/drag-drop-icon.svg +0 -4
  409. package/dist/upload/buttons-upload/upload-button.svg +0 -1
  410. package/dist/upload/dragAndDropArea/DragAndDropArea.js +0 -279
  411. package/dist/upload/dragAndDropArea/upload_drop.svg +0 -4
  412. package/dist/upload/dragAndDropArea/upload_file.svg +0 -4
  413. package/dist/upload/file-upload/FileToUpload.js +0 -158
  414. package/dist/upload/file-upload/audio-icon.svg +0 -4
  415. package/dist/upload/file-upload/close.svg +0 -4
  416. package/dist/upload/file-upload/file-icon.svg +0 -4
  417. package/dist/upload/file-upload/video-icon.svg +0 -4
  418. package/dist/upload/files-upload/FilesToUpload.js +0 -123
  419. package/dist/upload/readme.md +0 -37
  420. package/dist/upload/transaction/Transaction.js +0 -155
  421. package/dist/upload/transaction/audio-icon-err.svg +0 -4
  422. package/dist/upload/transaction/audio-icon.svg +0 -4
  423. package/dist/upload/transaction/error-icon.svg +0 -4
  424. package/dist/upload/transaction/file-icon-err.svg +0 -4
  425. package/dist/upload/transaction/file-icon.svg +0 -4
  426. package/dist/upload/transaction/image-icon-err.svg +0 -4
  427. package/dist/upload/transaction/image-icon.svg +0 -4
  428. package/dist/upload/transaction/success-icon.svg +0 -4
  429. package/dist/upload/transaction/video-icon-err.svg +0 -4
  430. package/dist/upload/transaction/video-icon.svg +0 -4
  431. package/dist/upload/transactions/Transactions.js +0 -120
  432. package/dist/wizard/Wizard.js +0 -340
  433. package/dist/wizard/invalid_icon.svg +0 -6
  434. package/dist/wizard/valid_icon.svg +0 -6
  435. package/dist/wizard/validation-wrong.svg +0 -6
  436. package/test/Accordion.test.js +0 -33
  437. package/test/AccordionGroup.test.js +0 -111
  438. package/test/Alert.test.js +0 -53
  439. package/test/Box.test.js +0 -10
  440. package/test/Button.test.js +0 -18
  441. package/test/Card.test.js +0 -30
  442. package/test/Checkbox.test.js +0 -45
  443. package/test/Chip.test.js +0 -25
  444. package/test/Date.test.js +0 -393
  445. package/test/Dialog.test.js +0 -23
  446. package/test/Dropdown.test.js +0 -130
  447. package/test/Footer.test.js +0 -99
  448. package/test/Header.test.js +0 -39
  449. package/test/Heading.test.js +0 -35
  450. package/test/InputText.test.js +0 -240
  451. package/test/Link.test.js +0 -33
  452. package/test/Paginator.test.js +0 -194
  453. package/test/ProgressBar.test.js +0 -35
  454. package/test/Radio.test.js +0 -37
  455. package/test/ResultsetTable.test.js +0 -304
  456. package/test/Select.test.js +0 -192
  457. package/test/Sidenav.test.js +0 -45
  458. package/test/Slider.test.js +0 -82
  459. package/test/Spinner.test.js +0 -27
  460. package/test/Switch.test.js +0 -45
  461. package/test/Table.test.js +0 -36
  462. package/test/Tabs.test.js +0 -88
  463. package/test/TabsForSections.test.js +0 -34
  464. package/test/Tag.test.js +0 -32
  465. package/test/TextArea.test.js +0 -52
  466. package/test/ToggleGroup.test.js +0 -81
  467. package/test/Upload.test.js +0 -60
  468. package/test/Wizard.test.js +0 -130
  469. package/test/mocks/pngMock.js +0 -1
  470. package/test/mocks/svgMock.js +0 -1
@@ -0,0 +1,112 @@
1
+ declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
2
+ declare type Margin = {
3
+ top?: Space;
4
+ bottom?: Space;
5
+ left?: Space;
6
+ right?: Space;
7
+ };
8
+ declare type FileData = {
9
+ /**
10
+ * Selected file.
11
+ */
12
+ file: File;
13
+ /**
14
+ * Error of the file. If it is defined, it will be shown and the file item will be mark as invalid.
15
+ */
16
+ error?: string;
17
+ /**
18
+ * Preview of the file.
19
+ */
20
+ preview?: string;
21
+ };
22
+ declare type CommonProps = {
23
+ /**
24
+ * Name attribute.
25
+ */
26
+ name?: string;
27
+ /**
28
+ * Text to be placed above the component.
29
+ */
30
+ label?: string;
31
+ /**
32
+ * Text to be placed inside the button.
33
+ */
34
+ buttonLabel?: string;
35
+ /**
36
+ * Helper text to be placed above the component.
37
+ */
38
+ helperText?: string;
39
+ /**
40
+ * The file types that the component accepts. Its value must be one of all the possible values of the HTML file input's accept attribute.
41
+ */
42
+ accept?: string;
43
+ /**
44
+ * An array of files representing the selected files.
45
+ */
46
+ value: FileData[];
47
+ /**
48
+ * The minimum file size (in bytes) allowed. If the size of the file does not comply the minSize, the file will have an error.
49
+ */
50
+ minSize?: number;
51
+ /**
52
+ * The maximum file size (in bytes) allowed. If the size of the file does not comply the maxSize, the file will have an error.
53
+ */
54
+ maxSize?: number;
55
+ /**
56
+ * If true, if the file is an image, a preview of it will be shown. If not, an icon refering to the file type will be shown.
57
+ */
58
+ showPreview?: boolean;
59
+ /**
60
+ * If true, the component allows multiple file items and will show all of them. If false, only one file will be shown, and if there is already one
61
+ * file selected and a new one is chosen, it will be replaced by the new selected one.
62
+ */
63
+ multiple?: boolean;
64
+ /**
65
+ * If true, the component will be disabled.
66
+ */
67
+ disabled?: boolean;
68
+ /**
69
+ * This function will be called when the user selects or drops a file. The list of files will be sent as a parameter.
70
+ * In this function, the files can be updated or returned as they come. These files must be passed to the value in order to be shown.
71
+ */
72
+ callbackFile: (files: FileData[]) => void;
73
+ /**
74
+ * Size of the margin to be applied to the component ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
75
+ * You can pass an object with 'top', 'bottom', 'left' and 'right' properties in order to specify different margin sizes.
76
+ */
77
+ margin?: Space | Margin;
78
+ /**
79
+ * Value of the tabindex attribute.
80
+ */
81
+ tabIndex?: number;
82
+ };
83
+ declare type DropModeProps = CommonProps & {
84
+ /**
85
+ * Uses one of the available file input modes:
86
+ * 'file': Files are selected by clicking the button and selecting it through the file explorer.
87
+ * 'filedrop': Files can be selected by clicking the button and selecting it through the file explorer or by dropping them inside the drag and drop area.
88
+ * 'dropzone': Files can be selected by clicking the button and selecting it through the file explorer or by dropping them inside the drag and drop area.
89
+ * The drag and drop area of this mode is bigger than the one of the filedrop mode.
90
+ */
91
+ mode: "filedrop" | "dropzone";
92
+ /**
93
+ * Text to be placed inside the drag and drop zone alongside the button.
94
+ */
95
+ dropAreaLabel?: string;
96
+ };
97
+ declare type FileModeProps = CommonProps & {
98
+ /**
99
+ * Uses one of the available file input modes:
100
+ * 'file': Files are selected by clicking the button and selecting it through the file explorer.
101
+ * 'filedrop': Files can be selected by clicking the button and selecting it through the file explorer or by dropping them inside the drag and drop area.
102
+ * 'dropzone': Files can be selected by clicking the button and selecting it through the file explorer or by dropping them inside the drag and drop area.
103
+ * The drag and drop area of this mode is bigger than the one of the filedrop mode.
104
+ */
105
+ mode?: "file";
106
+ /**
107
+ * Text to be placed inside the drag and drop zone alongside the button.
108
+ */
109
+ dropAreaLabel?: never;
110
+ };
111
+ declare type Props = DropModeProps | FileModeProps;
112
+ export default Props;
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ import FooterPropsType from "./types";
3
+ declare const DxcFooter: ({ socialLinks, bottomLinks, copyright, children, padding, margin, tabIndex, }: FooterPropsType) => JSX.Element;
4
+ export default DxcFooter;
@@ -0,0 +1,258 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof3 = require("@babel/runtime/helpers/typeof");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports["default"] = void 0;
11
+
12
+ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
13
+
14
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
15
+
16
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
17
+
18
+ var _react = _interopRequireWildcard(require("react"));
19
+
20
+ var _styledComponents = _interopRequireWildcard(require("styled-components"));
21
+
22
+ var _variables = require("../common/variables.js");
23
+
24
+ var _useTheme = _interopRequireDefault(require("../useTheme"));
25
+
26
+ var _BackgroundColorContext = require("../BackgroundColorContext");
27
+
28
+ var _Icons = require("./Icons");
29
+
30
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14;
31
+
32
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
33
+
34
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof3(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
35
+
36
+ var DxcFooter = function DxcFooter(_ref) {
37
+ var socialLinks = _ref.socialLinks,
38
+ bottomLinks = _ref.bottomLinks,
39
+ _ref$copyright = _ref.copyright,
40
+ copyright = _ref$copyright === void 0 ? "\xA9 DXC Technology ".concat(new Date().getFullYear(), ". All rights reserved.") : _ref$copyright,
41
+ children = _ref.children,
42
+ padding = _ref.padding,
43
+ margin = _ref.margin,
44
+ _ref$tabIndex = _ref.tabIndex,
45
+ tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
46
+ var ref = (0, _react.useRef)(null);
47
+
48
+ var _useState = (0, _react.useState)(),
49
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
50
+ refSize = _useState2[0],
51
+ setRefSize = _useState2[1];
52
+
53
+ var _useState3 = (0, _react.useState)(false),
54
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
55
+ isResponsiveTablet = _useState4[0],
56
+ setIsResponsiveTablet = _useState4[1];
57
+
58
+ var _useState5 = (0, _react.useState)(false),
59
+ _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
60
+ isResponsivePhone = _useState6[0],
61
+ setIsResponsivePhone = _useState6[1];
62
+
63
+ var colorsTheme = (0, _useTheme["default"])();
64
+ var footerLogo = (0, _react.useMemo)(function () {
65
+ if (!colorsTheme.footer.logo) {
66
+ return _Icons.dxcLogo;
67
+ }
68
+
69
+ if (typeof colorsTheme.footer.logo === "string") {
70
+ return /*#__PURE__*/_react["default"].createElement(LogoImg, {
71
+ alt: "Logo",
72
+ src: colorsTheme.footer.logo
73
+ });
74
+ }
75
+
76
+ return colorsTheme.footer.logo;
77
+ }, [colorsTheme.footer.logo]);
78
+
79
+ var handleResize = function handleResize(refWidth) {
80
+ if (ref.current) {
81
+ setRefSize(refWidth);
82
+
83
+ if (refWidth <= _variables.responsiveSizes.tablet && refWidth > _variables.responsiveSizes.mobileLarge) {
84
+ setIsResponsiveTablet(true);
85
+ setIsResponsivePhone(false);
86
+ } else if (refWidth <= _variables.responsiveSizes.tablet && refWidth <= _variables.responsiveSizes.mobileLarge) {
87
+ setIsResponsivePhone(true);
88
+ setIsResponsiveTablet(false);
89
+ } else {
90
+ setIsResponsiveTablet(false);
91
+ setIsResponsivePhone(false);
92
+ }
93
+ }
94
+ };
95
+
96
+ var handleEventListener = function handleEventListener() {
97
+ handleResize(ref.current.offsetWidth);
98
+ };
99
+
100
+ (0, _react.useEffect)(function () {
101
+ window.addEventListener("resize", handleEventListener);
102
+ handleResize(ref.current.offsetWidth);
103
+ return function () {
104
+ window.removeEventListener("resize", handleEventListener);
105
+ };
106
+ }, []);
107
+ var socialLink = socialLinks === null || socialLinks === void 0 ? void 0 : socialLinks.map(function (link, index) {
108
+ return /*#__PURE__*/_react["default"].createElement(SocialAnchor, {
109
+ tabIndex: tabIndex,
110
+ key: "social".concat(index).concat(link.href),
111
+ index: index,
112
+ href: link && link.href ? link.href : ""
113
+ }, /*#__PURE__*/_react["default"].createElement(SocialIconContainer, null, typeof link.logo === "string" ? /*#__PURE__*/_react["default"].createElement(SocialIconImg, {
114
+ src: link.logo
115
+ }) : link.logo));
116
+ });
117
+ var bottomLink = bottomLinks === null || bottomLinks === void 0 ? void 0 : bottomLinks.map(function (link, index) {
118
+ return /*#__PURE__*/_react["default"].createElement("span", {
119
+ key: "bottom".concat(index).concat(link.text)
120
+ }, /*#__PURE__*/_react["default"].createElement(BottomLink, {
121
+ tabIndex: tabIndex,
122
+ href: link && link.href ? link.href : ""
123
+ }, link && link.text ? link.text : ""), /*#__PURE__*/_react["default"].createElement(Point, {
124
+ index: index
125
+ }, "\xB7"));
126
+ });
127
+ return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
128
+ theme: colorsTheme.footer
129
+ }, /*#__PURE__*/_react["default"].createElement(FooterContainer, {
130
+ margin: margin,
131
+ refSize: refSize,
132
+ ref: ref
133
+ }, /*#__PURE__*/_react["default"].createElement(FooterHeader, {
134
+ refSize: refSize
135
+ }, /*#__PURE__*/_react["default"].createElement(LogoContainer, null, footerLogo), /*#__PURE__*/_react["default"].createElement(SocialLinkContainer, {
136
+ refSize: refSize
137
+ }, socialLink)), /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(ChildComponents, {
138
+ padding: padding
139
+ }, /*#__PURE__*/_react["default"].createElement(_BackgroundColorContext.BackgroundColorProvider, {
140
+ color: colorsTheme.footer.backgroundColor
141
+ }, children)), /*#__PURE__*/_react["default"].createElement(FooterFooter, {
142
+ className: "footerFooter",
143
+ refSize: refSize
144
+ }, /*#__PURE__*/_react["default"].createElement(BottomLinks, {
145
+ refSize: refSize
146
+ }, bottomLink), /*#__PURE__*/_react["default"].createElement(Copyright, {
147
+ refSize: refSize
148
+ }, copyright)))));
149
+ };
150
+
151
+ var FooterContainer = _styledComponents["default"].footer(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n padding: ", ";\n background-color: ", ";\n margin-top: ", ";\n width: 100%;\n box-sizing: border-box;\n min-height: ", ";\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n"])), function (props) {
152
+ return props.refSize <= _variables.responsiveSizes.mobileLarge ? "20px 20px 20px 20px" : "24px 36px 24px 36px";
153
+ }, function (props) {
154
+ return props.theme.backgroundColor;
155
+ }, function (props) {
156
+ return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
157
+ }, function (props) {
158
+ return props.theme.height;
159
+ });
160
+
161
+ var FooterHeader = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n justify-content: space-between;\n flex-wrap: wrap;\n row-gap: 24px;\n"])));
162
+
163
+ var FooterFooter = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n justify-content: space-between;\n align-items: flex-end;\n flex-direction: ", ";\n align-items: ", ";\n border-top: ", ";\n margin-top: 16px;\n"])), function (props) {
164
+ return props.refSize <= _variables.responsiveSizes.mobileLarge ? "column" : "row";
165
+ }, function (props) {
166
+ return props.refSize <= _variables.responsiveSizes.mobileLarge ? "center" : "";
167
+ }, function (props) {
168
+ return "".concat(props.theme.bottomLinksDividerThickness, " ").concat(props.theme.bottomLinksDividerStyle, " ").concat(props.theme.bottomLinksDividerColor);
169
+ });
170
+
171
+ var BottomLinks = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n padding-top: ", ";\n display: inline-flex;\n flex-wrap: wrap;\n max-width: ", ";\n width: ", ";\n & > span:last-child span {\n display: none;\n }\n align-self: center;\n"])), function (props) {
172
+ return props.theme.bottomLinksDividerSpacing;
173
+ }, function (props) {
174
+ return props.refSize <= _variables.responsiveSizes.mobileLarge ? "100%" : "60%";
175
+ }, function (props) {
176
+ return props.refSize <= _variables.responsiveSizes.mobileLarge ? "100%" : "";
177
+ });
178
+
179
+ var ChildComponents = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n min-height: 16px;\n padding: ", ";\n padding-top: ", ";\n padding-right: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n overflow: hidden;\n"])), function (props) {
180
+ return props.padding && (0, _typeof2["default"])(props.padding) !== "object" ? _variables.spaces[props.padding] : "0px";
181
+ }, function (props) {
182
+ return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.top ? _variables.spaces[props.padding.top] : "";
183
+ }, function (props) {
184
+ return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.right ? _variables.spaces[props.padding.right] : "";
185
+ }, function (props) {
186
+ return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.bottom ? _variables.spaces[props.padding.bottom] : "";
187
+ }, function (props) {
188
+ return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.left ? _variables.spaces[props.padding.left] : "";
189
+ });
190
+
191
+ var Copyright = _styledComponents["default"].div(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n color: ", ";\n max-width: ", ";\n width: ", ";\n text-align: ", ";\n padding-top: ", ";\n"])), function (props) {
192
+ return props.theme.copyrightFontFamily;
193
+ }, function (props) {
194
+ return props.theme.copyrightFontSize;
195
+ }, function (props) {
196
+ return props.theme.copyrightFontStyle;
197
+ }, function (props) {
198
+ return props.theme.copyrightFontWeight;
199
+ }, function (props) {
200
+ return props.theme.copyrightFontColor;
201
+ }, function (props) {
202
+ return props.refSize <= _variables.responsiveSizes.mobileLarge ? "100%" : "40%";
203
+ }, function (props) {
204
+ return props.refSize <= _variables.responsiveSizes.mobileLarge ? "100%" : "";
205
+ }, function (props) {
206
+ return props.refSize <= _variables.responsiveSizes.mobileLarge ? "left" : "right";
207
+ }, function (props) {
208
+ return props.theme.bottomLinksDividerSpacing;
209
+ });
210
+
211
+ var LogoContainer = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n max-height: ", ";\n width: ", ";\n"])), function (props) {
212
+ return props.theme.logoHeight;
213
+ }, function (props) {
214
+ return props.theme.logoWidth;
215
+ });
216
+
217
+ var LogoImg = _styledComponents["default"].img(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n max-height: ", ";\n width: ", ";\n"])), function (props) {
218
+ return props.theme.logoHeight;
219
+ }, function (props) {
220
+ return props.theme.logoWidth;
221
+ });
222
+
223
+ var SocialLinkContainer = _styledComponents["default"].div(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-self: center;\n"])));
224
+
225
+ var SocialAnchor = _styledComponents["default"].a(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2["default"])(["\n & {\n display: inline-flex;\n margin-left: ", ";\n }\n"])), function (props) {
226
+ return props.index === 0 ? "0px" : props.theme.socialLinksGutter;
227
+ });
228
+
229
+ var SocialIconImg = _styledComponents["default"].img(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2["default"])([""])));
230
+
231
+ var SocialIconContainer = _styledComponents["default"].div(_templateObject12 || (_templateObject12 = (0, _taggedTemplateLiteral2["default"])(["\n & {\n display: inline-flex;\n height: ", ";\n width: ", ";\n color: ", ";\n }\n\n overflow: hidden;\n img,\n svg {\n height: 100%;\n width: 100%;\n }\n"])), function (props) {
232
+ return props.theme.socialLinksSize;
233
+ }, function (props) {
234
+ return props.theme.socialLinksSize;
235
+ }, function (props) {
236
+ return props.theme.socialLinksColor;
237
+ });
238
+
239
+ var Point = _styledComponents["default"].span(_templateObject13 || (_templateObject13 = (0, _taggedTemplateLiteral2["default"])(["\n margin: 0px 10px;\n color: ", ";\n"])), function (props) {
240
+ return props.theme.bottomLinksFontColor;
241
+ });
242
+
243
+ var BottomLink = _styledComponents["default"].a(_templateObject14 || (_templateObject14 = (0, _taggedTemplateLiteral2["default"])(["\n text-decoration: ", ";\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n"])), function (props) {
244
+ return props.theme.bottomLinksTextDecoration;
245
+ }, function (props) {
246
+ return props.theme.bottomLinksFontColor;
247
+ }, function (props) {
248
+ return props.theme.bottomLinksFontFamily;
249
+ }, function (props) {
250
+ return props.theme.bottomLinksFontSize;
251
+ }, function (props) {
252
+ return props.theme.bottomLinksFontStyle;
253
+ }, function (props) {
254
+ return props.theme.bottomLinksFontWeight;
255
+ });
256
+
257
+ var _default = DxcFooter;
258
+ exports["default"] = _default;
@@ -0,0 +1,130 @@
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: "http://assets.stickpng.com/images/580b57fcd9996e24bc43c53e.png",
32
+ },
33
+ {
34
+ href: "https://www.facebook.com/DXCTechnology/",
35
+ logo: (
36
+ <svg
37
+ version="1.1"
38
+ id="Capa_1"
39
+ x="0px"
40
+ y="0px"
41
+ viewBox="0 0 438.536 438.536"
42
+ fill="currentColor"
43
+ width="1000px"
44
+ height="500px"
45
+ >
46
+ <g>
47
+ <path
48
+ 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
49
+ 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
50
+ h274.084c22.648,0,42.018-8.042,58.095-24.126c16.084-16.084,24.126-35.454,24.126-58.102V82.225
51
+ 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
52
+ 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
53
+ 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"
54
+ />
55
+ </g>
56
+ </svg>
57
+ ),
58
+ },
59
+ ];
60
+
61
+ const bottom = [
62
+ {
63
+ href: "https://www.linkedin.com/company/dxctechnology",
64
+ text: "Linkedin",
65
+ },
66
+ {
67
+ href: "https://twitter.com/dxctechnology",
68
+ text: "Twitter",
69
+ },
70
+ {
71
+ href: "https://www.facebook.com/DXCTechnology/",
72
+ text: "Facebook",
73
+ },
74
+ ];
75
+
76
+ export default {
77
+ title: "Footer",
78
+ component: DxcFooter,
79
+ };
80
+
81
+ export const Chromatic = () => (
82
+ <>
83
+ <ExampleContainer>
84
+ <Title title="Default" theme="light" level={4} />
85
+ <DxcFooter />
86
+ </ExampleContainer>
87
+ <ExampleContainer>
88
+ <Title title="With children, copyright, bottom links and social links" theme="light" level={4} />
89
+ <DxcFooter copyright="Copyright" socialLinks={social} bottomLinks={bottom}>
90
+ <div>
91
+ <a href="https://www.linkedin.com/company/dxctechnology">Linkedin</a>
92
+ </div>
93
+ </DxcFooter>
94
+ </ExampleContainer>
95
+ <Title title="Margins" theme="light" level={2} />
96
+ <ExampleContainer>
97
+ <Title title="Xxsmall margin" theme="light" level={4} />
98
+ <DxcFooter margin="xxsmall"></DxcFooter>
99
+ <Title title="Xsmall margin" theme="light" level={4} />
100
+ <DxcFooter margin="xsmall"></DxcFooter>
101
+ <Title title="Small margin" theme="light" level={4} />
102
+ <DxcFooter margin="small"></DxcFooter>
103
+ <Title title="Medium margin" theme="light" level={4} />
104
+ <DxcFooter margin="medium"></DxcFooter>
105
+ <Title title="Large margin" theme="light" level={4} />
106
+ <DxcFooter margin="large"></DxcFooter>
107
+ <Title title="Xlarge margin" theme="light" level={4} />
108
+ <DxcFooter margin="xlarge"></DxcFooter>
109
+ <Title title="Xxlarge margin" theme="light" level={4} />
110
+ <DxcFooter margin="xxlarge"></DxcFooter>
111
+ </ExampleContainer>
112
+ <Title title="Padding" theme="light" level={2} />
113
+ <ExampleContainer>
114
+ <Title title="Xxsmall padding" theme="light" level={4} />
115
+ <DxcFooter padding="xxsmall"></DxcFooter>
116
+ <Title title="Xsmall padding" theme="light" level={4} />
117
+ <DxcFooter padding="xsmall"></DxcFooter>
118
+ <Title title="Small padding" theme="light" level={4} />
119
+ <DxcFooter padding="small"></DxcFooter>
120
+ <Title title="Medium padding" theme="light" level={4} />
121
+ <DxcFooter padding="medium"></DxcFooter>
122
+ <Title title="Large padding" theme="light" level={4} />
123
+ <DxcFooter padding="large"></DxcFooter>
124
+ <Title title="Xlarge padding" theme="light" level={4} />
125
+ <DxcFooter padding="xlarge"></DxcFooter>
126
+ <Title title="Xxlarge padding" theme="light" level={4} />
127
+ <DxcFooter padding="xxlarge"></DxcFooter>
128
+ </ExampleContainer>
129
+ </>
130
+ );
@@ -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;