@dxc-technology/halstack-react 0.0.0-b3e1a2f → 0.0.0-b3e2de9

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 (435) hide show
  1. package/BackgroundColorContext.d.ts +1 -10
  2. package/BackgroundColorContext.js +5 -22
  3. package/HalstackContext.d.ts +1249 -0
  4. package/HalstackContext.js +310 -0
  5. package/README.md +47 -0
  6. package/accordion/Accordion.accessibility.test.js +71 -0
  7. package/accordion/Accordion.d.ts +1 -1
  8. package/accordion/Accordion.js +104 -193
  9. package/accordion/Accordion.stories.tsx +85 -141
  10. package/accordion/Accordion.test.js +56 -0
  11. package/accordion/types.d.ts +11 -22
  12. package/accordion-group/AccordionGroup.accessibility.test.js +88 -0
  13. package/accordion-group/AccordionGroup.d.ts +3 -3
  14. package/accordion-group/AccordionGroup.js +38 -107
  15. package/accordion-group/AccordionGroup.stories.tsx +95 -68
  16. package/accordion-group/AccordionGroup.test.js +98 -0
  17. package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
  18. package/accordion-group/AccordionGroupAccordion.js +31 -0
  19. package/accordion-group/AccordionGroupContext.d.ts +3 -0
  20. package/accordion-group/AccordionGroupContext.js +8 -0
  21. package/accordion-group/types.d.ts +17 -22
  22. package/action-icon/ActionIcon.accessibility.test.js +63 -0
  23. package/action-icon/ActionIcon.d.ts +4 -0
  24. package/action-icon/ActionIcon.js +48 -0
  25. package/action-icon/ActionIcon.stories.tsx +41 -0
  26. package/action-icon/ActionIcon.test.js +64 -0
  27. package/action-icon/types.d.ts +26 -0
  28. package/alert/Alert.accessibility.test.js +95 -0
  29. package/alert/Alert.js +35 -125
  30. package/alert/Alert.stories.tsx +28 -0
  31. package/alert/Alert.test.js +75 -0
  32. package/alert/types.d.ts +5 -5
  33. package/badge/Badge.accessibility.test.js +129 -0
  34. package/badge/Badge.d.ts +4 -0
  35. package/badge/Badge.js +141 -41
  36. package/badge/Badge.stories.tsx +210 -0
  37. package/badge/Badge.test.js +30 -0
  38. package/badge/types.d.ts +54 -0
  39. package/bleed/Bleed.js +14 -55
  40. package/bleed/Bleed.stories.tsx +95 -95
  41. package/bleed/types.d.ts +26 -2
  42. package/box/Box.accessibility.test.js +33 -0
  43. package/box/Box.d.ts +1 -1
  44. package/box/Box.js +30 -81
  45. package/box/Box.stories.tsx +38 -51
  46. package/box/Box.test.js +13 -0
  47. package/box/types.d.ts +3 -14
  48. package/bulleted-list/BulletedList.accessibility.test.js +107 -0
  49. package/bulleted-list/BulletedList.d.ts +7 -0
  50. package/bulleted-list/BulletedList.js +92 -0
  51. package/bulleted-list/BulletedList.stories.tsx +115 -0
  52. package/bulleted-list/types.d.ts +38 -0
  53. package/button/Button.accessibility.test.js +127 -0
  54. package/button/Button.d.ts +1 -1
  55. package/button/Button.js +63 -113
  56. package/button/Button.stories.tsx +151 -100
  57. package/button/Button.test.js +38 -0
  58. package/button/types.d.ts +12 -8
  59. package/card/Card.accessibility.test.js +36 -0
  60. package/card/Card.d.ts +1 -1
  61. package/card/Card.js +58 -102
  62. package/card/Card.stories.tsx +12 -42
  63. package/card/Card.test.js +39 -0
  64. package/card/types.d.ts +6 -11
  65. package/checkbox/Checkbox.accessibility.test.js +87 -0
  66. package/checkbox/Checkbox.d.ts +2 -2
  67. package/checkbox/Checkbox.js +144 -182
  68. package/checkbox/Checkbox.stories.tsx +166 -136
  69. package/checkbox/Checkbox.test.js +199 -0
  70. package/checkbox/types.d.ts +18 -6
  71. package/chip/Chip.accessibility.test.js +67 -0
  72. package/chip/Chip.d.ts +1 -1
  73. package/chip/Chip.js +47 -122
  74. package/chip/Chip.stories.tsx +104 -30
  75. package/chip/Chip.test.js +41 -0
  76. package/chip/types.d.ts +8 -16
  77. package/common/coreTokens.d.ts +237 -0
  78. package/common/coreTokens.js +184 -0
  79. package/common/utils.d.ts +1 -0
  80. package/common/utils.js +6 -12
  81. package/common/variables.d.ts +1395 -0
  82. package/common/variables.js +1030 -1375
  83. package/container/Container.d.ts +4 -0
  84. package/container/Container.js +194 -0
  85. package/container/Container.stories.tsx +214 -0
  86. package/container/types.d.ts +74 -0
  87. package/contextual-menu/ContextualMenu.accessibility.test.js +86 -0
  88. package/contextual-menu/ContextualMenu.d.ts +7 -0
  89. package/contextual-menu/ContextualMenu.js +71 -0
  90. package/contextual-menu/ContextualMenu.stories.tsx +182 -0
  91. package/contextual-menu/ContextualMenu.test.js +71 -0
  92. package/contextual-menu/MenuItemAction.d.ts +4 -0
  93. package/contextual-menu/MenuItemAction.js +46 -0
  94. package/contextual-menu/types.d.ts +22 -0
  95. package/date-input/Calendar.d.ts +4 -0
  96. package/date-input/Calendar.js +214 -0
  97. package/date-input/DateInput.accessibility.test.js +216 -0
  98. package/date-input/DateInput.js +171 -306
  99. package/date-input/DateInput.stories.tsx +203 -56
  100. package/date-input/DateInput.test.js +808 -0
  101. package/date-input/DatePicker.d.ts +4 -0
  102. package/date-input/DatePicker.js +115 -0
  103. package/date-input/Icons.d.ts +6 -0
  104. package/date-input/Icons.js +58 -0
  105. package/date-input/YearPicker.d.ts +4 -0
  106. package/date-input/YearPicker.js +100 -0
  107. package/date-input/types.d.ts +86 -22
  108. package/dialog/Dialog.accessibility.test.js +69 -0
  109. package/dialog/Dialog.d.ts +1 -1
  110. package/dialog/Dialog.js +68 -130
  111. package/dialog/Dialog.stories.tsx +320 -167
  112. package/dialog/Dialog.test.js +307 -0
  113. package/dialog/types.d.ts +18 -25
  114. package/divider/Divider.accessibility.test.js +33 -0
  115. package/divider/Divider.d.ts +4 -0
  116. package/divider/Divider.js +36 -0
  117. package/divider/Divider.stories.tsx +223 -0
  118. package/divider/Divider.test.js +38 -0
  119. package/divider/types.d.ts +21 -0
  120. package/dropdown/Dropdown.accessibility.test.js +180 -0
  121. package/dropdown/Dropdown.d.ts +1 -1
  122. package/dropdown/Dropdown.js +231 -329
  123. package/dropdown/Dropdown.stories.tsx +244 -64
  124. package/dropdown/Dropdown.test.js +599 -0
  125. package/dropdown/DropdownMenu.d.ts +4 -0
  126. package/dropdown/DropdownMenu.js +63 -0
  127. package/dropdown/DropdownMenuItem.d.ts +4 -0
  128. package/dropdown/DropdownMenuItem.js +70 -0
  129. package/dropdown/types.d.ts +37 -30
  130. package/file-input/FileInput.accessibility.test.js +160 -0
  131. package/file-input/FileInput.d.ts +2 -2
  132. package/file-input/FileInput.js +246 -357
  133. package/file-input/FileInput.stories.tsx +123 -12
  134. package/file-input/FileInput.test.js +459 -0
  135. package/file-input/FileItem.d.ts +4 -14
  136. package/file-input/FileItem.js +50 -99
  137. package/file-input/types.d.ts +25 -8
  138. package/flex/Flex.d.ts +4 -0
  139. package/flex/Flex.js +57 -0
  140. package/flex/Flex.stories.tsx +112 -0
  141. package/flex/types.d.ts +97 -0
  142. package/flex/types.js +5 -0
  143. package/footer/Footer.accessibility.test.js +117 -0
  144. package/footer/Footer.d.ts +1 -1
  145. package/footer/Footer.js +70 -192
  146. package/footer/Footer.stories.tsx +61 -21
  147. package/footer/Footer.test.js +85 -0
  148. package/footer/Icons.d.ts +3 -2
  149. package/footer/Icons.js +67 -8
  150. package/footer/types.d.ts +25 -26
  151. package/grid/Grid.d.ts +7 -0
  152. package/grid/Grid.js +76 -0
  153. package/grid/Grid.stories.tsx +219 -0
  154. package/grid/types.d.ts +115 -0
  155. package/grid/types.js +5 -0
  156. package/header/Header.accessibility.test.js +84 -0
  157. package/header/Header.d.ts +4 -3
  158. package/header/Header.js +99 -203
  159. package/header/Header.stories.tsx +152 -63
  160. package/header/Header.test.js +66 -0
  161. package/header/Icons.d.ts +2 -2
  162. package/header/Icons.js +4 -9
  163. package/header/types.d.ts +7 -21
  164. package/heading/Heading.accessibility.test.js +33 -0
  165. package/heading/Heading.js +10 -32
  166. package/heading/Heading.test.js +169 -0
  167. package/heading/types.d.ts +7 -7
  168. package/icon/Icon.accessibility.test.js +30 -0
  169. package/icon/Icon.d.ts +4 -0
  170. package/icon/Icon.js +33 -0
  171. package/icon/Icon.stories.tsx +28 -0
  172. package/icon/types.d.ts +4 -0
  173. package/icon/types.js +5 -0
  174. package/image/Image.accessibility.test.js +56 -0
  175. package/image/Image.d.ts +4 -0
  176. package/image/Image.js +70 -0
  177. package/image/Image.stories.tsx +129 -0
  178. package/image/types.d.ts +72 -0
  179. package/image/types.js +5 -0
  180. package/inset/Inset.js +14 -55
  181. package/inset/Inset.stories.tsx +37 -36
  182. package/inset/types.d.ts +26 -2
  183. package/layout/ApplicationLayout.d.ts +16 -6
  184. package/layout/ApplicationLayout.js +83 -174
  185. package/layout/ApplicationLayout.stories.tsx +85 -94
  186. package/layout/Icons.d.ts +8 -0
  187. package/layout/Icons.js +49 -48
  188. package/layout/types.d.ts +19 -35
  189. package/link/Link.accessibility.test.js +112 -0
  190. package/link/Link.d.ts +3 -2
  191. package/link/Link.js +64 -108
  192. package/link/Link.stories.tsx +159 -52
  193. package/link/Link.test.js +63 -0
  194. package/link/types.d.ts +15 -35
  195. package/main.d.ts +19 -18
  196. package/main.js +82 -120
  197. package/nav-tabs/NavTabs.accessibility.test.js +52 -0
  198. package/nav-tabs/NavTabs.d.ts +7 -0
  199. package/nav-tabs/NavTabs.js +93 -0
  200. package/nav-tabs/NavTabs.stories.tsx +276 -0
  201. package/nav-tabs/NavTabs.test.js +76 -0
  202. package/nav-tabs/NavTabsContext.d.ts +3 -0
  203. package/nav-tabs/NavTabsContext.js +8 -0
  204. package/nav-tabs/Tab.d.ts +4 -0
  205. package/nav-tabs/Tab.js +118 -0
  206. package/nav-tabs/types.d.ts +52 -0
  207. package/nav-tabs/types.js +5 -0
  208. package/number-input/NumberInput.accessibility.test.js +228 -0
  209. package/number-input/NumberInput.js +47 -44
  210. package/number-input/NumberInput.stories.tsx +44 -28
  211. package/number-input/NumberInput.test.js +989 -0
  212. package/number-input/NumberInputContext.d.ts +3 -4
  213. package/number-input/NumberInputContext.js +3 -14
  214. package/number-input/types.d.ts +34 -15
  215. package/package.json +52 -53
  216. package/paginator/Icons.d.ts +5 -0
  217. package/paginator/Icons.js +21 -47
  218. package/paginator/Paginator.accessibility.test.js +79 -0
  219. package/paginator/Paginator.js +34 -91
  220. package/paginator/Paginator.stories.tsx +24 -0
  221. package/paginator/Paginator.test.js +335 -0
  222. package/paginator/types.d.ts +3 -3
  223. package/paragraph/Paragraph.accessibility.test.js +28 -0
  224. package/paragraph/Paragraph.d.ts +5 -0
  225. package/paragraph/Paragraph.js +22 -0
  226. package/paragraph/Paragraph.stories.tsx +27 -0
  227. package/password-input/Icons.d.ts +6 -0
  228. package/password-input/Icons.js +35 -0
  229. package/password-input/PasswordInput.accessibility.test.js +153 -0
  230. package/password-input/PasswordInput.js +57 -123
  231. package/password-input/PasswordInput.stories.tsx +1 -33
  232. package/password-input/PasswordInput.test.js +198 -0
  233. package/password-input/types.d.ts +21 -17
  234. package/progress-bar/ProgressBar.accessibility.test.js +35 -0
  235. package/progress-bar/ProgressBar.js +65 -91
  236. package/progress-bar/ProgressBar.stories.tsx +93 -0
  237. package/progress-bar/ProgressBar.test.js +93 -0
  238. package/progress-bar/types.d.ts +3 -3
  239. package/quick-nav/QuickNav.accessibility.test.js +57 -0
  240. package/quick-nav/QuickNav.d.ts +4 -0
  241. package/quick-nav/QuickNav.js +94 -0
  242. package/quick-nav/QuickNav.stories.tsx +356 -0
  243. package/quick-nav/types.d.ts +21 -0
  244. package/quick-nav/types.js +5 -0
  245. package/radio-group/Radio.d.ts +1 -1
  246. package/radio-group/Radio.js +67 -73
  247. package/radio-group/RadioGroup.accessibility.test.js +97 -0
  248. package/radio-group/RadioGroup.js +108 -141
  249. package/radio-group/RadioGroup.stories.tsx +171 -36
  250. package/radio-group/RadioGroup.test.js +756 -0
  251. package/radio-group/types.d.ts +88 -10
  252. package/resultset-table/Icons.d.ts +7 -0
  253. package/resultset-table/Icons.js +47 -0
  254. package/resultset-table/ResultsetTable.accessibility.test.js +274 -0
  255. package/resultset-table/ResultsetTable.d.ts +7 -0
  256. package/resultset-table/ResultsetTable.js +170 -0
  257. package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +156 -30
  258. package/resultset-table/ResultsetTable.test.js +381 -0
  259. package/{resultsetTable → resultset-table}/types.d.ts +44 -11
  260. package/resultset-table/types.js +5 -0
  261. package/select/Icons.d.ts +10 -0
  262. package/select/Icons.js +89 -0
  263. package/select/Listbox.d.ts +4 -0
  264. package/select/Listbox.js +143 -0
  265. package/select/Option.d.ts +4 -0
  266. package/select/Option.js +87 -0
  267. package/select/Select.accessibility.test.js +217 -0
  268. package/select/Select.js +229 -502
  269. package/select/Select.stories.tsx +602 -204
  270. package/select/Select.test.js +2370 -0
  271. package/select/types.d.ts +64 -25
  272. package/sidenav/Icons.d.ts +7 -0
  273. package/sidenav/Icons.js +47 -0
  274. package/sidenav/Sidenav.accessibility.test.js +59 -0
  275. package/sidenav/Sidenav.d.ts +6 -5
  276. package/sidenav/Sidenav.js +132 -71
  277. package/sidenav/Sidenav.stories.tsx +250 -151
  278. package/sidenav/Sidenav.test.js +37 -0
  279. package/sidenav/SidenavContext.d.ts +5 -0
  280. package/sidenav/SidenavContext.js +13 -0
  281. package/sidenav/types.d.ts +52 -26
  282. package/slider/Slider.accessibility.test.js +104 -0
  283. package/slider/Slider.d.ts +2 -2
  284. package/slider/Slider.js +148 -180
  285. package/slider/Slider.test.js +254 -0
  286. package/slider/types.d.ts +11 -3
  287. package/spinner/Spinner.accessibility.test.js +96 -0
  288. package/spinner/Spinner.js +31 -75
  289. package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +53 -27
  290. package/spinner/Spinner.test.js +55 -0
  291. package/spinner/types.d.ts +3 -3
  292. package/status-light/StatusLight.accessibility.test.js +157 -0
  293. package/status-light/StatusLight.d.ts +4 -0
  294. package/status-light/StatusLight.js +51 -0
  295. package/status-light/StatusLight.stories.tsx +74 -0
  296. package/status-light/StatusLight.test.js +25 -0
  297. package/status-light/types.d.ts +17 -0
  298. package/status-light/types.js +5 -0
  299. package/switch/Switch.accessibility.test.js +89 -0
  300. package/switch/Switch.d.ts +2 -2
  301. package/switch/Switch.js +149 -114
  302. package/switch/Switch.stories.tsx +44 -67
  303. package/switch/Switch.test.js +180 -0
  304. package/switch/types.d.ts +13 -5
  305. package/table/DropdownTheme.js +62 -0
  306. package/table/Table.accessibility.test.js +82 -0
  307. package/table/Table.d.ts +6 -2
  308. package/table/Table.js +78 -35
  309. package/table/Table.stories.tsx +651 -0
  310. package/table/Table.test.js +113 -0
  311. package/table/types.d.ts +34 -6
  312. package/tabs/Tab.d.ts +4 -0
  313. package/tabs/Tab.js +116 -0
  314. package/tabs/Tabs.accessibility.test.js +56 -0
  315. package/tabs/Tabs.d.ts +1 -1
  316. package/tabs/Tabs.js +316 -145
  317. package/tabs/Tabs.stories.tsx +120 -14
  318. package/tabs/Tabs.test.js +294 -0
  319. package/tabs/types.d.ts +29 -15
  320. package/tag/Tag.accessibility.test.js +69 -0
  321. package/tag/Tag.d.ts +1 -1
  322. package/tag/Tag.js +43 -85
  323. package/tag/Tag.stories.tsx +37 -27
  324. package/tag/Tag.test.js +49 -0
  325. package/tag/types.d.ts +25 -16
  326. package/text-input/Suggestion.d.ts +4 -0
  327. package/text-input/Suggestion.js +67 -0
  328. package/text-input/Suggestions.d.ts +4 -0
  329. package/text-input/Suggestions.js +86 -0
  330. package/text-input/TextInput.accessibility.test.js +321 -0
  331. package/text-input/TextInput.js +329 -556
  332. package/text-input/TextInput.stories.tsx +281 -272
  333. package/text-input/TextInput.test.js +1756 -0
  334. package/text-input/types.d.ts +70 -24
  335. package/textarea/Textarea.accessibility.test.js +155 -0
  336. package/textarea/Textarea.js +85 -135
  337. package/textarea/Textarea.stories.tsx +174 -0
  338. package/textarea/Textarea.test.js +406 -0
  339. package/textarea/types.d.ts +27 -16
  340. package/toggle-group/ToggleGroup.accessibility.test.js +107 -0
  341. package/toggle-group/ToggleGroup.d.ts +2 -2
  342. package/toggle-group/ToggleGroup.js +92 -105
  343. package/toggle-group/ToggleGroup.stories.tsx +53 -8
  344. package/toggle-group/ToggleGroup.test.js +137 -0
  345. package/toggle-group/types.d.ts +34 -17
  346. package/typography/Typography.accessibility.test.js +339 -0
  347. package/typography/Typography.d.ts +4 -0
  348. package/typography/Typography.js +23 -0
  349. package/typography/Typography.stories.tsx +198 -0
  350. package/typography/types.d.ts +18 -0
  351. package/typography/types.js +5 -0
  352. package/useTheme.d.ts +1147 -1
  353. package/useTheme.js +4 -11
  354. package/useTranslatedLabels.d.ts +85 -0
  355. package/useTranslatedLabels.js +14 -0
  356. package/utils/BaseTypography.d.ts +21 -0
  357. package/utils/BaseTypography.js +94 -0
  358. package/utils/FocusLock.d.ts +13 -0
  359. package/utils/FocusLock.js +124 -0
  360. package/wizard/Wizard.accessibility.test.js +55 -0
  361. package/wizard/Wizard.d.ts +1 -1
  362. package/wizard/Wizard.js +70 -101
  363. package/wizard/Wizard.stories.tsx +48 -19
  364. package/wizard/Wizard.test.js +114 -0
  365. package/wizard/types.d.ts +13 -9
  366. package/ThemeContext.d.ts +0 -15
  367. package/ThemeContext.js +0 -243
  368. package/V3Select/V3Select.js +0 -455
  369. package/V3Select/index.d.ts +0 -27
  370. package/V3Textarea/V3Textarea.js +0 -260
  371. package/V3Textarea/index.d.ts +0 -27
  372. package/card/ice-cream.jpg +0 -0
  373. package/common/OpenSans.css +0 -81
  374. package/common/RequiredComponent.js +0 -32
  375. package/common/fonts/OpenSans-Bold.ttf +0 -0
  376. package/common/fonts/OpenSans-BoldItalic.ttf +0 -0
  377. package/common/fonts/OpenSans-ExtraBold.ttf +0 -0
  378. package/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  379. package/common/fonts/OpenSans-Italic.ttf +0 -0
  380. package/common/fonts/OpenSans-Light.ttf +0 -0
  381. package/common/fonts/OpenSans-LightItalic.ttf +0 -0
  382. package/common/fonts/OpenSans-Regular.ttf +0 -0
  383. package/common/fonts/OpenSans-SemiBold.ttf +0 -0
  384. package/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  385. package/date/Date.js +0 -373
  386. package/date/index.d.ts +0 -27
  387. package/input-text/Icons.js +0 -22
  388. package/input-text/InputText.js +0 -611
  389. package/input-text/index.d.ts +0 -36
  390. package/list/List.d.ts +0 -4
  391. package/list/List.js +0 -47
  392. package/list/List.stories.tsx +0 -95
  393. package/list/types.d.ts +0 -7
  394. package/number-input/numberInputContextTypes.d.ts +0 -19
  395. package/progress-bar/ProgressBar.stories.jsx +0 -58
  396. package/radio/Radio.d.ts +0 -4
  397. package/radio/Radio.js +0 -174
  398. package/radio/Radio.stories.tsx +0 -192
  399. package/radio/types.d.ts +0 -54
  400. package/resultsetTable/ResultsetTable.d.ts +0 -4
  401. package/resultsetTable/ResultsetTable.js +0 -251
  402. package/row/Row.d.ts +0 -3
  403. package/row/Row.js +0 -127
  404. package/row/Row.stories.tsx +0 -237
  405. package/row/types.d.ts +0 -10
  406. package/slider/Slider.stories.tsx +0 -177
  407. package/stack/Stack.d.ts +0 -3
  408. package/stack/Stack.js +0 -97
  409. package/stack/Stack.stories.tsx +0 -164
  410. package/stack/types.d.ts +0 -9
  411. package/table/Table.stories.jsx +0 -277
  412. package/text/Text.d.ts +0 -7
  413. package/text/Text.js +0 -30
  414. package/text/Text.stories.tsx +0 -19
  415. package/textarea/Textarea.stories.jsx +0 -136
  416. package/toggle/Toggle.js +0 -186
  417. package/toggle/index.d.ts +0 -21
  418. package/upload/Upload.js +0 -201
  419. package/upload/buttons-upload/ButtonsUpload.js +0 -111
  420. package/upload/buttons-upload/Icons.js +0 -40
  421. package/upload/dragAndDropArea/DragAndDropArea.js +0 -225
  422. package/upload/dragAndDropArea/Icons.js +0 -39
  423. package/upload/file-upload/FileToUpload.js +0 -115
  424. package/upload/file-upload/Icons.js +0 -66
  425. package/upload/files-upload/FilesToUpload.js +0 -109
  426. package/upload/index.d.ts +0 -15
  427. package/upload/transaction/Icons.js +0 -160
  428. package/upload/transaction/Transaction.js +0 -104
  429. package/upload/transactions/Transactions.js +0 -94
  430. /package/{list → action-icon}/types.js +0 -0
  431. /package/{radio → badge}/types.js +0 -0
  432. /package/{resultsetTable → bulleted-list}/types.js +0 -0
  433. /package/{row → container}/types.js +0 -0
  434. /package/{stack → contextual-menu}/types.js +0 -0
  435. /package/{number-input/numberInputContextTypes.js → divider/types.js} +0 -0
@@ -0,0 +1,117 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
5
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
6
+ var _react = _interopRequireDefault(require("react"));
7
+ var _react2 = require("@testing-library/react");
8
+ var _jestAxe = require("jest-axe");
9
+ var _Footer = _interopRequireDefault(require("./Footer.tsx"));
10
+ var social = [{
11
+ href: "https://www.linkedin.com/company/dxctechnology",
12
+ logo: /*#__PURE__*/_react["default"].createElement("svg", {
13
+ version: "1.1",
14
+ id: "Capa_1",
15
+ x: "0px",
16
+ y: "0px",
17
+ viewBox: "0 0 438.536 438.536",
18
+ fill: "currentColor"
19
+ }, /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("path", {
20
+ 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 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 h274.084c22.648,0,42.018-8.042,58.095-24.126c16.084-16.084,24.126-35.454,24.126-58.102V82.225 C438.532,59.576,430.49,40.204,414.41,24.123z M133.618,367.157H67.666V169.016h65.952V367.157z M127.626,132.332 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 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 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 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 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 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 H370.873z"
21
+ }))),
22
+ title: "Linkedin"
23
+ }, {
24
+ href: "https://x.com/dxctechnology",
25
+ logo: /*#__PURE__*/_react["default"].createElement("svg", {
26
+ width: "256",
27
+ height: "256",
28
+ viewBox: "0 0 256 256",
29
+ fill: "none",
30
+ xmlns: "http://www.w3.org/2000/svg"
31
+ }, /*#__PURE__*/_react["default"].createElement("rect", {
32
+ width: "256",
33
+ height: "256",
34
+ rx: "40",
35
+ fill: "white"
36
+ }), /*#__PURE__*/_react["default"].createElement("path", {
37
+ d: "M140.192 118.205L187.848 64H176.556L135.158 111.056L102.117 64H64L113.975 135.163L64 192H75.2914L118.982 142.296L153.883 192H192L140.192 118.205ZM124.722 135.787L119.65 128.697L79.3634 72.3294H96.7094L129.232 117.837L134.282 124.927L176.551 184.076H159.205L124.722 135.787Z",
38
+ fill: "#0F1419"
39
+ })),
40
+ title: "X"
41
+ }, {
42
+ href: "https://www.facebook.com/DXCTechnology/",
43
+ logo: /*#__PURE__*/_react["default"].createElement("svg", {
44
+ version: "1.1",
45
+ x: "0px",
46
+ y: "0px",
47
+ viewBox: "0 0 438.536 438.536",
48
+ fill: "currentColor",
49
+ width: "1000px",
50
+ height: "500px"
51
+ }, /*#__PURE__*/_react["default"].createElement("g", null, /*#__PURE__*/_react["default"].createElement("path", {
52
+ 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 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 h274.084c22.648,0,42.018-8.042,58.095-24.126c16.084-16.084,24.126-35.454,24.126-58.102V82.225 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 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 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"
53
+ }))),
54
+ title: "Facebook"
55
+ }];
56
+ var bottom = [{
57
+ href: "https://www.linkedin.com/company/dxctechnology",
58
+ text: "Linkedin"
59
+ }, {
60
+ href: "https://x.com/dxctechnology",
61
+ text: "X"
62
+ }, {
63
+ href: "https://www.facebook.com/DXCTechnology/",
64
+ text: "Facebook"
65
+ }];
66
+ describe("Footer component accessibility tests", function () {
67
+ it("Should not have basic accessibility issues", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
68
+ var _render, container, results;
69
+ return _regenerator["default"].wrap(function _callee$(_context) {
70
+ while (1) switch (_context.prev = _context.next) {
71
+ case 0:
72
+ _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Footer["default"], {
73
+ copyright: "Copyright",
74
+ socialLinks: social,
75
+ bottomLinks: bottom,
76
+ margin: "small",
77
+ mode: "default"
78
+ }, /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("a", {
79
+ href: "https://www.linkedin.com/company/dxctechnology"
80
+ }, "Linkedin")))), container = _render.container;
81
+ _context.next = 3;
82
+ return (0, _jestAxe.axe)(container);
83
+ case 3:
84
+ results = _context.sent;
85
+ expect(results).toHaveNoViolations();
86
+ case 5:
87
+ case "end":
88
+ return _context.stop();
89
+ }
90
+ }, _callee);
91
+ })));
92
+ it("Should not have basic accessibility issues for reduced mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
93
+ var _render2, container, results;
94
+ return _regenerator["default"].wrap(function _callee2$(_context2) {
95
+ while (1) switch (_context2.prev = _context2.next) {
96
+ case 0:
97
+ _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Footer["default"], {
98
+ copyright: "Copyright",
99
+ socialLinks: social,
100
+ bottomLinks: bottom,
101
+ margin: "small",
102
+ mode: "reduced"
103
+ }, /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("a", {
104
+ href: "https://www.linkedin.com/company/dxctechnology"
105
+ }, "Linkedin")))), container = _render2.container;
106
+ _context2.next = 3;
107
+ return (0, _jestAxe.axe)(container);
108
+ case 3:
109
+ results = _context2.sent;
110
+ expect(results).toHaveNoViolations();
111
+ case 5:
112
+ case "end":
113
+ return _context2.stop();
114
+ }
115
+ }, _callee2);
116
+ })));
117
+ });
@@ -1,4 +1,4 @@
1
1
  /// <reference types="react" />
2
2
  import FooterPropsType from "./types";
3
- declare const DxcFooter: ({ socialLinks, bottomLinks, copyright, children, padding, margin, tabIndex, }: FooterPropsType) => JSX.Element;
3
+ declare const DxcFooter: ({ socialLinks, bottomLinks, copyright, children, margin, tabIndex, mode, }: FooterPropsType) => JSX.Element;
4
4
  export default DxcFooter;
package/footer/Footer.js CHANGED
@@ -1,198 +1,94 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- var _typeof3 = require("@babel/runtime/helpers/typeof");
6
-
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
8
  exports["default"] = void 0;
11
-
12
- var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
13
-
14
9
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
15
-
16
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
17
-
18
10
  var _react = _interopRequireWildcard(require("react"));
19
-
20
11
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
21
-
22
- var _variables = require("../common/variables.js");
23
-
12
+ var _variables = require("../common/variables");
24
13
  var _useTheme = _interopRequireDefault(require("../useTheme"));
25
-
26
- var _BackgroundColorContext = require("../BackgroundColorContext");
27
-
14
+ var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
28
15
  var _Icons = require("./Icons");
29
-
30
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13;
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
-
16
+ var _Flex = _interopRequireDefault(require("../flex/Flex"));
17
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10;
18
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
19
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
36
20
  var DxcFooter = function DxcFooter(_ref) {
37
21
  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
-
22
+ bottomLinks = _ref.bottomLinks,
23
+ copyright = _ref.copyright,
24
+ children = _ref.children,
25
+ margin = _ref.margin,
26
+ _ref$tabIndex = _ref.tabIndex,
27
+ tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex,
28
+ _ref$mode = _ref.mode,
29
+ mode = _ref$mode === void 0 ? "default" : _ref$mode;
63
30
  var colorsTheme = (0, _useTheme["default"])();
31
+ var translatedLabels = (0, _useTranslatedLabels["default"])();
64
32
  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) {
33
+ return !colorsTheme.footer.logo ? mode === "default" ? _Icons.dxcLogo : _Icons.dxcSmallLogo : typeof colorsTheme.footer.logo === "string" ? /*#__PURE__*/_react["default"].createElement(LogoImg, {
34
+ mode: mode,
35
+ alt: translatedLabels.formFields.logoAlternativeText,
36
+ src: colorsTheme.footer.logo
37
+ }) : colorsTheme.footer.logo;
38
+ }, [colorsTheme]);
39
+ return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
40
+ theme: colorsTheme.footer
41
+ }, /*#__PURE__*/_react["default"].createElement(FooterContainer, {
42
+ margin: margin,
43
+ mode: mode
44
+ }, /*#__PURE__*/_react["default"].createElement(_Flex["default"], {
45
+ justifyContent: "space-between",
46
+ alignItems: "center",
47
+ wrap: "wrap",
48
+ gap: "1.5rem"
49
+ }, /*#__PURE__*/_react["default"].createElement(LogoContainer, {
50
+ mode: mode
51
+ }, footerLogo), mode === "default" && /*#__PURE__*/_react["default"].createElement(_Flex["default"], null, socialLinks === null || socialLinks === void 0 ? void 0 : socialLinks.map(function (link, index) {
108
52
  return /*#__PURE__*/_react["default"].createElement(SocialAnchor, {
53
+ href: link.href,
109
54
  tabIndex: tabIndex,
55
+ title: link.title,
56
+ "aria-label": link.title,
110
57
  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
58
+ index: index
59
+ }, /*#__PURE__*/_react["default"].createElement(SocialIconContainer, null, typeof link.logo === "string" ? /*#__PURE__*/_react["default"].createElement("img", {
60
+ src: link.logo,
61
+ alt: link.title
115
62
  }) : link.logo));
116
- });
117
- var bottomLink = bottomLinks === null || bottomLinks === void 0 ? void 0 : bottomLinks.map(function (link, index) {
63
+ }))), /*#__PURE__*/_react["default"].createElement(ChildComponents, null, children), mode === "default" && /*#__PURE__*/_react["default"].createElement(BottomContainer, null, /*#__PURE__*/_react["default"].createElement(BottomLinks, null, bottomLinks === null || bottomLinks === void 0 ? void 0 : bottomLinks.map(function (link, index) {
118
64
  return /*#__PURE__*/_react["default"].createElement("span", {
119
65
  key: "bottom".concat(index).concat(link.text)
120
66
  }, /*#__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, null, /*#__PURE__*/_react["default"].createElement(LogoContainer, null, footerLogo), /*#__PURE__*/_react["default"].createElement("div", null, socialLink)), isResponsivePhone && /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(FooterFooter, {
134
- className: "footerFooter",
135
- refSize: refSize
136
- }, /*#__PURE__*/_react["default"].createElement(BottomLinks, {
137
- refSize: refSize
138
- }, bottomLink), /*#__PURE__*/_react["default"].createElement(Copyright, {
139
- refSize: refSize
140
- }, copyright))), (!isResponsiveTablet && !isResponsivePhone || isResponsiveTablet) && /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(ChildComponents, {
141
- padding: padding
142
- }, /*#__PURE__*/_react["default"].createElement(_BackgroundColorContext.BackgroundColorProvider, {
143
- color: colorsTheme.footer.backgroundColor
144
- }, children)), /*#__PURE__*/_react["default"].createElement(FooterFooter, {
145
- className: "footerFooter"
146
- }, /*#__PURE__*/_react["default"].createElement(BottomLinks, {
147
- refSize: refSize
148
- }, bottomLink), /*#__PURE__*/_react["default"].createElement(Copyright, {
149
- refSize: refSize
150
- }, copyright)))));
67
+ href: link.href,
68
+ tabIndex: tabIndex
69
+ }, link.text));
70
+ })), /*#__PURE__*/_react["default"].createElement(Copyright, null, copyright || translatedLabels.footer.copyrightText(new Date().getFullYear())))));
151
71
  };
152
-
153
- 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) {
154
- return props.refSize <= _variables.responsiveSizes.mobileLarge ? "20px 20px 20px 20px" : "24px 36px 24px 36px";
155
- }, function (props) {
72
+ var FooterContainer = _styledComponents["default"].footer(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n background-color: ", ";\n box-sizing: border-box;\n display: flex;\n flex-direction: ", ";\n justify-content: space-between;\n margin-top: ", ";\n min-height: ", ";\n width: 100%;\n gap: ", ";\n @media (min-width: ", "rem) {\n padding: ", ";\n }\n @media (max-width: ", "rem) {\n padding: 20px;\n flex-direction: column;\n }\n"])), function (props) {
156
73
  return props.theme.backgroundColor;
157
74
  }, function (props) {
158
- return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
75
+ return (props === null || props === void 0 ? void 0 : props.mode) === "default" ? "column" : "row";
159
76
  }, function (props) {
160
- return props.theme.height;
161
- });
162
-
163
- var FooterHeader = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n justify-content: space-between;\n"])));
164
-
165
- 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"])), function (props) {
166
- return props.refSize <= _variables.responsiveSizes.mobileLarge ? "column" : "row";
77
+ return props.margin ? _variables.spaces[props.margin] : "0px";
167
78
  }, function (props) {
168
- return props.refSize <= _variables.responsiveSizes.mobileLarge ? "center" : "";
79
+ return (props === null || props === void 0 ? void 0 : props.mode) === "default" ? props.theme.height : "40px";
169
80
  }, function (props) {
81
+ return (props === null || props === void 0 ? void 0 : props.mode) === "default" ? "0px" : "32px";
82
+ }, _variables.responsiveSizes.small, function (props) {
83
+ return (props === null || props === void 0 ? void 0 : props.mode) === "default" ? "24px 32px" : "12px 32px";
84
+ }, _variables.responsiveSizes.small);
85
+ var BottomContainer = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n justify-content: space-between;\n align-items: flex-end;\n\n @media (min-width: ", "rem) {\n flex-direction: row;\n }\n @media (max-width: ", "rem) {\n flex-direction: column;\n align-items: center;\n }\n\n border-top: ", ";\n margin-top: 16px;\n"])), _variables.responsiveSizes.small, _variables.responsiveSizes.small, function (props) {
170
86
  return "".concat(props.theme.bottomLinksDividerThickness, " ").concat(props.theme.bottomLinksDividerStyle, " ").concat(props.theme.bottomLinksDividerColor);
171
87
  });
172
-
173
- 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 margin: ", ";\n"])), function (props) {
88
+ var ChildComponents = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n min-height: 16px;\n overflow: hidden;\n"])));
89
+ var Copyright = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n padding-top: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n color: ", ";\n\n @media (min-width: ", "rem) {\n max-width: 40%;\n text-align: right;\n }\n\n @media (max-width: ", "rem) {\n max-width: 100%;\n width: 100%;\n text-align: left;\n }\n"])), function (props) {
174
90
  return props.theme.bottomLinksDividerSpacing;
175
91
  }, function (props) {
176
- return props.refSize <= _variables.responsiveSizes.mobileLarge ? "100%" : "60%";
177
- }, function (props) {
178
- return props.refSize <= _variables.responsiveSizes.mobileLarge ? "100%" : "";
179
- }, function (props) {
180
- return props.refSize <= _variables.responsiveSizes.mobileLarge ? "40px 0 40px 0" : "";
181
- });
182
-
183
- var ChildComponents = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n min-height: 15px;\n padding: ", ";\n padding-top: ", ";\n padding-right: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n overflow: hidden;\n"])), function (props) {
184
- return props.padding && (0, _typeof2["default"])(props.padding) !== "object" ? _variables.spaces[props.padding] : "0px";
185
- }, function (props) {
186
- return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.top ? _variables.spaces[props.padding.top] : "";
187
- }, function (props) {
188
- return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.right ? _variables.spaces[props.padding.right] : "";
189
- }, function (props) {
190
- return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.bottom ? _variables.spaces[props.padding.bottom] : "";
191
- }, function (props) {
192
- return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.left ? _variables.spaces[props.padding.left] : "";
193
- });
194
-
195
- 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) {
196
92
  return props.theme.copyrightFontFamily;
197
93
  }, function (props) {
198
94
  return props.theme.copyrightFontSize;
@@ -202,47 +98,31 @@ var Copyright = _styledComponents["default"].div(_templateObject6 || (_templateO
202
98
  return props.theme.copyrightFontWeight;
203
99
  }, function (props) {
204
100
  return props.theme.copyrightFontColor;
205
- }, function (props) {
206
- return props.refSize <= _variables.responsiveSizes.mobileLarge ? "100%" : "40%";
207
- }, function (props) {
208
- return props.refSize <= _variables.responsiveSizes.mobileLarge ? "100%" : "";
209
- }, function (props) {
210
- return props.refSize <= _variables.responsiveSizes.mobileLarge ? "center" : "right";
211
- }, function (props) {
212
- return props.theme.bottomLinksDividerSpacing;
213
- });
214
-
215
- var LogoContainer = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n max-height: ", ";\n width: ", ";\n"])), function (props) {
216
- return props.theme.logoHeight;
101
+ }, _variables.responsiveSizes.small, _variables.responsiveSizes.small);
102
+ var LogoContainer = _styledComponents["default"].span(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n max-height: ", ";\n width: ", ";\n"])), function (props) {
103
+ return (props === null || props === void 0 ? void 0 : props.mode) === "default" ? props.theme.logoHeight : "16px";
217
104
  }, function (props) {
218
105
  return props.theme.logoWidth;
219
106
  });
220
-
221
- var LogoImg = _styledComponents["default"].img(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n max-height: ", ";\n width: ", ";\n"])), function (props) {
222
- return props.theme.logoHeight;
107
+ var LogoImg = _styledComponents["default"].img(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n max-height: ", ";\n width: ", ";\n"])), function (props) {
108
+ return (props === null || props === void 0 ? void 0 : props.mode) === "default" ? props.theme.logoHeight : "16px";
223
109
  }, function (props) {
224
110
  return props.theme.logoWidth;
225
111
  });
226
-
227
- var SocialAnchor = _styledComponents["default"].a(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n & {\n display: inline-flex;\n margin-left: ", ";\n }\n"])), function (props) {
112
+ var SocialAnchor = _styledComponents["default"].a(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n margin-left: ", ";\n border-radius: 4px;\n\n &:focus {\n outline: 2px solid #0095ff;\n outline-offset: 2px;\n }\n"])), function (props) {
228
113
  return props.index === 0 ? "0px" : props.theme.socialLinksGutter;
229
114
  });
230
-
231
- var SocialIconImg = _styledComponents["default"].img(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2["default"])([""])));
232
-
233
- var SocialIconContainer = _styledComponents["default"].div(_templateObject11 || (_templateObject11 = (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) {
115
+ var SocialIconContainer = _styledComponents["default"].div(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n height: ", ";\n width: ", ";\n color: ", ";\n overflow: hidden;\n\n img,\n svg {\n height: 100%;\n width: 100%;\n }\n"])), function (props) {
234
116
  return props.theme.socialLinksSize;
235
117
  }, function (props) {
236
118
  return props.theme.socialLinksSize;
237
119
  }, function (props) {
238
120
  return props.theme.socialLinksColor;
239
121
  });
240
-
241
- var Point = _styledComponents["default"].span(_templateObject12 || (_templateObject12 = (0, _taggedTemplateLiteral2["default"])(["\n margin: 0px 10px;\n color: ", ";\n"])), function (props) {
242
- return props.theme.bottomLinksFontColor;
243
- });
244
-
245
- var BottomLink = _styledComponents["default"].a(_templateObject13 || (_templateObject13 = (0, _taggedTemplateLiteral2["default"])(["\n text-decoration: ", ";\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n"])), function (props) {
122
+ var BottomLinks = _styledComponents["default"].div(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n flex-wrap: wrap;\n align-self: center;\n padding-top: ", ";\n color: #fff;\n\n @media (min-width: ", "rem) {\n max-width: 60%;\n }\n @media (max-width: ", "rem) {\n max-width: 100%;\n width: 100%;\n }\n\n & > span:not(:first-child):before {\n content: \"\xB7\";\n padding: 0 0.5rem;\n }\n"])), function (props) {
123
+ return props.theme.bottomLinksDividerSpacing;
124
+ }, _variables.responsiveSizes.small, _variables.responsiveSizes.small);
125
+ var BottomLink = _styledComponents["default"].a(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2["default"])(["\n text-decoration: ", ";\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n border-radius: 2px;\n\n &:focus {\n outline: 2px solid #0095ff;\n }\n"])), function (props) {
246
126
  return props.theme.bottomLinksTextDecoration;
247
127
  }, function (props) {
248
128
  return props.theme.bottomLinksFontColor;
@@ -255,6 +135,4 @@ var BottomLink = _styledComponents["default"].a(_templateObject13 || (_templateO
255
135
  }, function (props) {
256
136
  return props.theme.bottomLinksFontWeight;
257
137
  });
258
-
259
- var _default = DxcFooter;
260
- exports["default"] = _default;
138
+ var _default = exports["default"] = DxcFooter;
@@ -2,12 +2,15 @@ import React from "react";
2
2
  import DxcFooter from "./Footer";
3
3
  import Title from "../../.storybook/components/Title";
4
4
  import ExampleContainer from "../../.storybook/components/ExampleContainer";
5
+ import { HalstackProvider } from "../HalstackContext";
6
+ import DxcFlex from "../flex/Flex";
7
+ import DxcTypography from "../typography/Typography";
5
8
 
6
9
  const social = [
7
10
  {
8
11
  href: "https://www.linkedin.com/company/dxctechnology",
9
12
  logo: (
10
- <svg version="1.1" id="Capa_1" x="0px" y="0px" viewBox="0 0 438.536 438.536" fill="currentColor">
13
+ <svg version="1.1" x="0px" y="0px" viewBox="0 0 438.536 438.536" fill="currentColor">
11
14
  <g>
12
15
  <path
13
16
  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
@@ -25,17 +28,26 @@ const social = [
25
28
  </g>
26
29
  </svg>
27
30
  ),
31
+ title: "Linkedin",
28
32
  },
29
33
  {
30
- href: "https://twitter.com/dxctechnology",
31
- logo: "http://assets.stickpng.com/images/580b57fcd9996e24bc43c53e.png",
34
+ href: "https://x.com/dxctechnology",
35
+ logo: (
36
+ <svg width="256" height="256" viewBox="0 0 256 256" fill="none" xmlns="http://www.w3.org/2000/svg">
37
+ <rect width="256" height="256" rx="40" fill="white" />
38
+ <path
39
+ d="M140.192 118.205L187.848 64H176.556L135.158 111.056L102.117 64H64L113.975 135.163L64 192H75.2914L118.982 142.296L153.883 192H192L140.192 118.205ZM124.722 135.787L119.65 128.697L79.3634 72.3294H96.7094L129.232 117.837L134.282 124.927L176.551 184.076H159.205L124.722 135.787Z"
40
+ fill="#0F1419"
41
+ />
42
+ </svg>
43
+ ),
44
+ title: "X",
32
45
  },
33
46
  {
34
47
  href: "https://www.facebook.com/DXCTechnology/",
35
48
  logo: (
36
49
  <svg
37
50
  version="1.1"
38
- id="Capa_1"
39
51
  x="0px"
40
52
  y="0px"
41
53
  viewBox="0 0 438.536 438.536"
@@ -55,6 +67,7 @@ const social = [
55
67
  </g>
56
68
  </svg>
57
69
  ),
70
+ title: "Facebook",
58
71
  },
59
72
  ];
60
73
 
@@ -64,8 +77,8 @@ const bottom = [
64
77
  text: "Linkedin",
65
78
  },
66
79
  {
67
- href: "https://twitter.com/dxctechnology",
68
- text: "Twitter",
80
+ href: "https://x.com/dxctechnology",
81
+ text: "X",
69
82
  },
70
83
  {
71
84
  href: "https://www.facebook.com/DXCTechnology/",
@@ -78,6 +91,20 @@ export default {
78
91
  component: DxcFooter,
79
92
  };
80
93
 
94
+ const opinionatedTheme = {
95
+ footer: {
96
+ baseColor: "#000000",
97
+ fontColor: "#ffffff",
98
+ accentColor: "#0095ff",
99
+ logo: "https://upload.wikimedia.org/wikipedia/commons/thumb/b/b8/2021_Facebook_icon.svg/2048px-2021_Facebook_icon.svg.png",
100
+ },
101
+ };
102
+
103
+ const info = [
104
+ { label: "Example Label", text: "Example" },
105
+ { label: "Example Label", text: "Example" },
106
+ ];
107
+
81
108
  export const Chromatic = () => (
82
109
  <>
83
110
  <ExampleContainer>
@@ -92,6 +119,26 @@ export const Chromatic = () => (
92
119
  </div>
93
120
  </DxcFooter>
94
121
  </ExampleContainer>
122
+ <ExampleContainer pseudoState="pseudo-focus">
123
+ <Title title="Focused bottom and social links" theme="light" level={4} />
124
+ <DxcFooter copyright="Copyright" socialLinks={social} bottomLinks={bottom}>
125
+ <div>
126
+ <a href="https://www.linkedin.com/company/dxctechnology">Linkedin</a>
127
+ </div>
128
+ </DxcFooter>
129
+ </ExampleContainer>
130
+ <ExampleContainer>
131
+ <Title title="Reduced" theme="light" level={4} />
132
+ <DxcFooter mode="reduced">
133
+ <DxcFlex justifyContent="center" alignItems="center" gap={"1rem"}>
134
+ {info.map((tag, index) => (
135
+ <DxcTypography color="white" key={`tag${index}${tag.label}${tag.text}`} >
136
+ {tag.label}: {tag.text}
137
+ </DxcTypography>
138
+ ))}
139
+ </DxcFlex>
140
+ </DxcFooter>
141
+ </ExampleContainer>
95
142
  <Title title="Margins" theme="light" level={2} />
96
143
  <ExampleContainer>
97
144
  <Title title="Xxsmall margin" theme="light" level={4} />
@@ -109,22 +156,15 @@ export const Chromatic = () => (
109
156
  <Title title="Xxlarge margin" theme="light" level={4} />
110
157
  <DxcFooter margin="xxlarge"></DxcFooter>
111
158
  </ExampleContainer>
112
- <Title title="Padding" theme="light" level={2} />
159
+ <Title title="Opinionated theme" theme="light" level={2} />
113
160
  <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>
161
+ <HalstackProvider theme={opinionatedTheme}>
162
+ <DxcFooter copyright="Copyright" socialLinks={social} bottomLinks={bottom}>
163
+ <div>
164
+ <a href="https://www.linkedin.com/company/dxctechnology">Linkedin</a>
165
+ </div>
166
+ </DxcFooter>
167
+ </HalstackProvider>
128
168
  </ExampleContainer>
129
169
  </>
130
170
  );