@dxc-technology/halstack-react 0.0.0-8d998c7 → 0.0.0-8f4e799

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 (329) hide show
  1. package/BackgroundColorContext.d.ts +10 -0
  2. package/BackgroundColorContext.js +1 -4
  3. package/HalstackContext.d.ts +12 -0
  4. package/HalstackContext.js +295 -0
  5. package/accordion/Accordion.d.ts +1 -1
  6. package/accordion/Accordion.js +124 -137
  7. package/accordion/Accordion.stories.tsx +306 -0
  8. package/accordion/Accordion.test.js +71 -0
  9. package/accordion/types.d.ts +11 -11
  10. package/accordion-group/AccordionGroup.d.ts +1 -1
  11. package/accordion-group/AccordionGroup.js +16 -37
  12. package/accordion-group/AccordionGroup.stories.tsx +251 -0
  13. package/accordion-group/AccordionGroup.test.js +126 -0
  14. package/accordion-group/types.d.ts +16 -10
  15. package/alert/Alert.js +7 -4
  16. package/alert/Alert.stories.tsx +170 -0
  17. package/alert/Alert.test.js +92 -0
  18. package/alert/types.d.ts +1 -1
  19. package/badge/Badge.d.ts +4 -0
  20. package/badge/Badge.js +6 -4
  21. package/badge/types.d.ts +5 -0
  22. package/{radio → badge}/types.js +0 -0
  23. package/bleed/Bleed.d.ts +3 -0
  24. package/bleed/Bleed.js +51 -0
  25. package/bleed/Bleed.stories.tsx +341 -0
  26. package/bleed/types.d.ts +37 -0
  27. package/bleed/types.js +5 -0
  28. package/box/Box.d.ts +4 -0
  29. package/box/Box.js +29 -65
  30. package/box/{Box.stories.jsx → Box.stories.tsx} +0 -0
  31. package/box/Box.test.js +18 -0
  32. package/box/types.d.ts +43 -0
  33. package/box/types.js +5 -0
  34. package/bulleted-list/BulletedList.d.ts +7 -0
  35. package/bulleted-list/BulletedList.js +123 -0
  36. package/bulleted-list/BulletedList.stories.tsx +200 -0
  37. package/bulleted-list/types.d.ts +11 -0
  38. package/bulleted-list/types.js +5 -0
  39. package/button/Button.d.ts +1 -1
  40. package/button/Button.js +61 -87
  41. package/button/Button.stories.tsx +232 -242
  42. package/button/Button.test.js +35 -0
  43. package/button/types.d.ts +14 -18
  44. package/card/Card.js +26 -30
  45. package/card/Card.stories.tsx +201 -0
  46. package/card/Card.test.js +50 -0
  47. package/card/ice-cream.jpg +0 -0
  48. package/card/types.d.ts +4 -6
  49. package/checkbox/Checkbox.d.ts +1 -1
  50. package/checkbox/Checkbox.js +104 -108
  51. package/checkbox/Checkbox.stories.tsx +188 -0
  52. package/checkbox/Checkbox.test.js +155 -0
  53. package/checkbox/types.d.ts +11 -7
  54. package/chip/Chip.d.ts +4 -0
  55. package/chip/Chip.js +16 -76
  56. package/chip/Chip.stories.tsx +119 -0
  57. package/chip/Chip.test.js +56 -0
  58. package/chip/types.d.ts +45 -0
  59. package/chip/types.js +5 -0
  60. package/common/variables.js +319 -380
  61. package/date-input/DateInput.js +66 -55
  62. package/date-input/DateInput.stories.tsx +138 -0
  63. package/date-input/DateInput.test.js +479 -0
  64. package/date-input/types.d.ts +16 -9
  65. package/dialog/Dialog.d.ts +4 -0
  66. package/dialog/Dialog.js +52 -74
  67. package/dialog/Dialog.stories.tsx +211 -0
  68. package/dialog/Dialog.test.js +70 -0
  69. package/dialog/types.d.ts +43 -0
  70. package/dialog/types.js +5 -0
  71. package/dropdown/Dropdown.d.ts +1 -1
  72. package/dropdown/Dropdown.js +243 -273
  73. package/dropdown/Dropdown.stories.tsx +312 -0
  74. package/dropdown/Dropdown.test.js +591 -0
  75. package/dropdown/DropdownMenu.d.ts +4 -0
  76. package/dropdown/DropdownMenu.js +80 -0
  77. package/dropdown/DropdownMenuItem.d.ts +4 -0
  78. package/dropdown/DropdownMenuItem.js +92 -0
  79. package/dropdown/types.d.ts +30 -19
  80. package/file-input/FileInput.d.ts +4 -0
  81. package/file-input/FileInput.js +172 -111
  82. package/file-input/FileInput.stories.tsx +507 -0
  83. package/file-input/FileInput.test.js +457 -0
  84. package/file-input/FileItem.d.ts +14 -0
  85. package/file-input/FileItem.js +16 -23
  86. package/file-input/types.d.ts +112 -0
  87. package/file-input/types.js +5 -0
  88. package/flex/Flex.d.ts +4 -0
  89. package/flex/Flex.js +57 -0
  90. package/flex/Flex.stories.tsx +103 -0
  91. package/flex/types.d.ts +21 -0
  92. package/flex/types.js +5 -0
  93. package/footer/Footer.d.ts +1 -1
  94. package/footer/Footer.js +32 -113
  95. package/footer/Footer.stories.tsx +137 -0
  96. package/footer/Footer.test.js +109 -0
  97. package/footer/Icons.d.ts +2 -0
  98. package/footer/Icons.js +4 -4
  99. package/footer/types.d.ts +22 -18
  100. package/header/Header.d.ts +7 -0
  101. package/header/Header.js +119 -140
  102. package/header/Header.stories.tsx +172 -0
  103. package/header/Header.test.js +79 -0
  104. package/header/Icons.d.ts +2 -0
  105. package/header/Icons.js +4 -29
  106. package/header/types.d.ts +47 -0
  107. package/header/types.js +5 -0
  108. package/heading/Heading.d.ts +4 -0
  109. package/heading/Heading.js +7 -24
  110. package/heading/Heading.stories.tsx +54 -0
  111. package/heading/Heading.test.js +186 -0
  112. package/heading/types.d.ts +33 -0
  113. package/heading/types.js +5 -0
  114. package/inset/Inset.d.ts +3 -0
  115. package/inset/Inset.js +51 -0
  116. package/inset/Inset.stories.tsx +229 -0
  117. package/inset/types.d.ts +37 -0
  118. package/inset/types.js +5 -0
  119. package/layout/ApplicationLayout.d.ts +20 -0
  120. package/layout/ApplicationLayout.js +71 -135
  121. package/layout/ApplicationLayout.stories.tsx +162 -0
  122. package/layout/Icons.d.ts +5 -0
  123. package/layout/Icons.js +13 -2
  124. package/layout/SidenavContext.d.ts +5 -0
  125. package/layout/SidenavContext.js +19 -0
  126. package/layout/types.d.ts +42 -0
  127. package/layout/types.js +5 -0
  128. package/link/Link.d.ts +4 -0
  129. package/link/Link.js +60 -107
  130. package/link/Link.stories.tsx +193 -0
  131. package/link/Link.test.js +83 -0
  132. package/link/types.d.ts +54 -0
  133. package/link/types.js +5 -0
  134. package/main.d.ts +12 -12
  135. package/main.js +64 -58
  136. package/number-input/NumberInput.d.ts +4 -0
  137. package/number-input/NumberInput.js +16 -68
  138. package/number-input/NumberInput.stories.tsx +115 -0
  139. package/number-input/NumberInput.test.js +506 -0
  140. package/number-input/NumberInputContext.d.ts +4 -0
  141. package/number-input/NumberInputContext.js +5 -2
  142. package/number-input/numberInputContextTypes.d.ts +19 -0
  143. package/number-input/numberInputContextTypes.js +5 -0
  144. package/number-input/types.d.ts +124 -0
  145. package/number-input/types.js +5 -0
  146. package/package.json +16 -12
  147. package/paginator/Paginator.js +19 -46
  148. package/paginator/Paginator.stories.tsx +63 -0
  149. package/paginator/Paginator.test.js +308 -0
  150. package/paragraph/Paragraph.d.ts +6 -0
  151. package/paragraph/Paragraph.js +38 -0
  152. package/paragraph/Paragraph.stories.tsx +44 -0
  153. package/password-input/PasswordInput.d.ts +4 -0
  154. package/password-input/PasswordInput.js +22 -55
  155. package/password-input/{PasswordInput.stories.jsx → PasswordInput.stories.tsx} +4 -4
  156. package/password-input/PasswordInput.test.js +180 -0
  157. package/password-input/types.d.ts +110 -0
  158. package/password-input/types.js +5 -0
  159. package/progress-bar/ProgressBar.d.ts +2 -2
  160. package/progress-bar/ProgressBar.js +60 -54
  161. package/progress-bar/ProgressBar.stories.jsx +60 -0
  162. package/progress-bar/ProgressBar.test.js +110 -0
  163. package/progress-bar/types.d.ts +3 -4
  164. package/quick-nav/QuickNav.d.ts +4 -0
  165. package/quick-nav/QuickNav.js +118 -0
  166. package/quick-nav/QuickNav.stories.tsx +264 -0
  167. package/quick-nav/types.d.ts +21 -0
  168. package/quick-nav/types.js +5 -0
  169. package/radio-group/Radio.d.ts +4 -0
  170. package/radio-group/Radio.js +141 -0
  171. package/radio-group/RadioGroup.d.ts +4 -0
  172. package/radio-group/RadioGroup.js +281 -0
  173. package/radio-group/RadioGroup.stories.tsx +100 -0
  174. package/radio-group/RadioGroup.test.js +695 -0
  175. package/radio-group/types.d.ts +114 -0
  176. package/radio-group/types.js +5 -0
  177. package/resultsetTable/ResultsetTable.d.ts +4 -0
  178. package/resultsetTable/ResultsetTable.js +9 -29
  179. package/resultsetTable/ResultsetTable.stories.tsx +275 -0
  180. package/resultsetTable/ResultsetTable.test.js +348 -0
  181. package/resultsetTable/types.d.ts +67 -0
  182. package/resultsetTable/types.js +5 -0
  183. package/select/Icons.d.ts +10 -0
  184. package/select/Icons.js +93 -0
  185. package/select/Listbox.d.ts +4 -0
  186. package/select/Listbox.js +198 -0
  187. package/select/Option.d.ts +4 -0
  188. package/select/Option.js +110 -0
  189. package/select/Select.d.ts +4 -0
  190. package/select/Select.js +158 -380
  191. package/select/Select.stories.tsx +627 -0
  192. package/select/Select.test.js +2175 -0
  193. package/select/types.d.ts +210 -0
  194. package/select/types.js +5 -0
  195. package/sidenav/Sidenav.d.ts +10 -0
  196. package/sidenav/Sidenav.js +186 -63
  197. package/sidenav/Sidenav.stories.tsx +180 -0
  198. package/sidenav/Sidenav.test.js +44 -0
  199. package/sidenav/types.d.ts +73 -0
  200. package/sidenav/types.js +5 -0
  201. package/slider/Slider.d.ts +1 -1
  202. package/slider/Slider.js +143 -110
  203. package/slider/Slider.stories.tsx +183 -0
  204. package/slider/Slider.test.js +250 -0
  205. package/slider/types.d.ts +8 -9
  206. package/spinner/Spinner.d.ts +4 -0
  207. package/spinner/Spinner.js +9 -26
  208. package/spinner/Spinner.stories.jsx +103 -0
  209. package/spinner/Spinner.test.js +64 -0
  210. package/spinner/types.d.ts +32 -0
  211. package/spinner/types.js +5 -0
  212. package/switch/Switch.d.ts +2 -2
  213. package/switch/Switch.js +130 -58
  214. package/switch/Switch.stories.tsx +138 -0
  215. package/switch/Switch.test.js +212 -0
  216. package/switch/types.d.ts +9 -6
  217. package/table/Table.d.ts +4 -0
  218. package/table/Table.js +3 -3
  219. package/table/Table.stories.jsx +277 -0
  220. package/table/Table.test.js +26 -0
  221. package/table/types.d.ts +21 -0
  222. package/table/types.js +5 -0
  223. package/tabs/Tab.d.ts +4 -0
  224. package/tabs/Tab.js +135 -0
  225. package/tabs/Tabs.d.ts +1 -1
  226. package/tabs/Tabs.js +364 -108
  227. package/tabs/Tabs.stories.tsx +186 -0
  228. package/tabs/Tabs.test.js +351 -0
  229. package/tabs/types.d.ts +41 -20
  230. package/tabs-nav/NavTabs.d.ts +8 -0
  231. package/tabs-nav/NavTabs.js +125 -0
  232. package/tabs-nav/NavTabs.stories.tsx +170 -0
  233. package/tabs-nav/NavTabs.test.js +82 -0
  234. package/tabs-nav/Tab.d.ts +4 -0
  235. package/tabs-nav/Tab.js +130 -0
  236. package/tabs-nav/types.d.ts +53 -0
  237. package/tabs-nav/types.js +5 -0
  238. package/tag/Tag.d.ts +4 -0
  239. package/tag/Tag.js +35 -60
  240. package/tag/Tag.stories.tsx +142 -0
  241. package/tag/Tag.test.js +60 -0
  242. package/tag/types.d.ts +69 -0
  243. package/tag/types.js +5 -0
  244. package/text-input/Icons.d.ts +8 -0
  245. package/text-input/Icons.js +60 -0
  246. package/text-input/Suggestion.d.ts +4 -0
  247. package/text-input/Suggestion.js +57 -0
  248. package/text-input/Suggestions.d.ts +4 -0
  249. package/text-input/Suggestions.js +134 -0
  250. package/text-input/TextInput.d.ts +4 -0
  251. package/text-input/TextInput.js +166 -328
  252. package/text-input/TextInput.stories.tsx +481 -0
  253. package/text-input/TextInput.test.js +1713 -0
  254. package/text-input/types.d.ts +192 -0
  255. package/text-input/types.js +5 -0
  256. package/textarea/Textarea.d.ts +4 -0
  257. package/textarea/Textarea.js +39 -79
  258. package/textarea/Textarea.stories.jsx +37 -15
  259. package/textarea/Textarea.test.js +437 -0
  260. package/textarea/types.d.ts +137 -0
  261. package/textarea/types.js +5 -0
  262. package/toggle-group/ToggleGroup.d.ts +4 -0
  263. package/toggle-group/ToggleGroup.js +18 -46
  264. package/toggle-group/ToggleGroup.stories.tsx +173 -0
  265. package/toggle-group/ToggleGroup.test.js +156 -0
  266. package/toggle-group/types.d.ts +105 -0
  267. package/toggle-group/types.js +5 -0
  268. package/typography/Typography.d.ts +4 -0
  269. package/typography/Typography.js +131 -0
  270. package/typography/Typography.stories.tsx +198 -0
  271. package/typography/types.d.ts +18 -0
  272. package/typography/types.js +5 -0
  273. package/useTheme.d.ts +2 -0
  274. package/useTheme.js +2 -2
  275. package/useTranslatedLabels.d.ts +2 -0
  276. package/useTranslatedLabels.js +20 -0
  277. package/wizard/Wizard.d.ts +4 -0
  278. package/wizard/Wizard.js +118 -104
  279. package/wizard/Wizard.stories.tsx +233 -0
  280. package/wizard/Wizard.test.js +141 -0
  281. package/wizard/types.d.ts +65 -0
  282. package/wizard/types.js +5 -0
  283. package/ThemeContext.js +0 -246
  284. package/V3Select/V3Select.js +0 -455
  285. package/V3Select/index.d.ts +0 -27
  286. package/V3Textarea/V3Textarea.js +0 -260
  287. package/V3Textarea/index.d.ts +0 -27
  288. package/box/index.d.ts +0 -25
  289. package/chip/index.d.ts +0 -22
  290. package/date/Date.js +0 -373
  291. package/date/index.d.ts +0 -27
  292. package/dialog/index.d.ts +0 -18
  293. package/file-input/index.d.ts +0 -81
  294. package/header/index.d.ts +0 -25
  295. package/heading/index.d.ts +0 -17
  296. package/input-text/Icons.js +0 -22
  297. package/input-text/InputText.js +0 -611
  298. package/input-text/index.d.ts +0 -36
  299. package/link/index.d.ts +0 -23
  300. package/number-input/index.d.ts +0 -113
  301. package/password-input/index.d.ts +0 -94
  302. package/radio/Radio.d.ts +0 -4
  303. package/radio/Radio.js +0 -174
  304. package/radio/types.d.ts +0 -54
  305. package/resultsetTable/index.d.ts +0 -19
  306. package/select/index.d.ts +0 -131
  307. package/sidenav/index.d.ts +0 -13
  308. package/spinner/index.d.ts +0 -17
  309. package/table/index.d.ts +0 -13
  310. package/tag/index.d.ts +0 -24
  311. package/text-input/index.d.ts +0 -135
  312. package/textarea/index.d.ts +0 -117
  313. package/toggle/Toggle.js +0 -186
  314. package/toggle/index.d.ts +0 -21
  315. package/toggle-group/index.d.ts +0 -21
  316. package/upload/Upload.js +0 -201
  317. package/upload/buttons-upload/ButtonsUpload.js +0 -111
  318. package/upload/buttons-upload/Icons.js +0 -40
  319. package/upload/dragAndDropArea/DragAndDropArea.js +0 -225
  320. package/upload/dragAndDropArea/Icons.js +0 -39
  321. package/upload/file-upload/FileToUpload.js +0 -115
  322. package/upload/file-upload/Icons.js +0 -66
  323. package/upload/files-upload/FilesToUpload.js +0 -109
  324. package/upload/index.d.ts +0 -15
  325. package/upload/transaction/Icons.js +0 -160
  326. package/upload/transaction/Transaction.js +0 -104
  327. package/upload/transactions/Transactions.js +0 -94
  328. package/wizard/Icons.js +0 -65
  329. package/wizard/index.d.ts +0 -18
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
package/flex/Flex.d.ts ADDED
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ import FlexPropsType from "./types";
3
+ declare const DxcFlex: ({ children, ...props }: FlexPropsType) => JSX.Element;
4
+ export default DxcFlex;
package/flex/Flex.js ADDED
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = void 0;
9
+
10
+ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
11
+
12
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
13
+
14
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
15
+
16
+ var _react = _interopRequireDefault(require("react"));
17
+
18
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
19
+
20
+ var _templateObject;
21
+
22
+ var _excluded = ["children"];
23
+
24
+ var DxcFlex = function DxcFlex(_ref) {
25
+ var children = _ref.children,
26
+ props = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
27
+ return /*#__PURE__*/_react["default"].createElement(Flex, props, children);
28
+ };
29
+
30
+ var Flex = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n ", "\n"])), function (_ref2) {
31
+ var _ref2$direction = _ref2.direction,
32
+ direction = _ref2$direction === void 0 ? "row" : _ref2$direction,
33
+ _ref2$wrap = _ref2.wrap,
34
+ wrap = _ref2$wrap === void 0 ? "nowrap" : _ref2$wrap,
35
+ _ref2$justifyContent = _ref2.justifyContent,
36
+ justifyContent = _ref2$justifyContent === void 0 ? "flex-start" : _ref2$justifyContent,
37
+ _ref2$alignItems = _ref2.alignItems,
38
+ alignItems = _ref2$alignItems === void 0 ? "stretch" : _ref2$alignItems,
39
+ _ref2$alignContent = _ref2.alignContent,
40
+ alignContent = _ref2$alignContent === void 0 ? "normal" : _ref2$alignContent,
41
+ _ref2$alignSelf = _ref2.alignSelf,
42
+ alignSelf = _ref2$alignSelf === void 0 ? "auto" : _ref2$alignSelf,
43
+ _ref2$gap = _ref2.gap,
44
+ gap = _ref2$gap === void 0 ? "0" : _ref2$gap,
45
+ _ref2$order = _ref2.order,
46
+ order = _ref2$order === void 0 ? 0 : _ref2$order,
47
+ _ref2$grow = _ref2.grow,
48
+ grow = _ref2$grow === void 0 ? 0 : _ref2$grow,
49
+ _ref2$shrink = _ref2.shrink,
50
+ shrink = _ref2$shrink === void 0 ? 1 : _ref2$shrink,
51
+ _ref2$basis = _ref2.basis,
52
+ basis = _ref2$basis === void 0 ? "auto" : _ref2$basis;
53
+ return "\n flex-direction: ".concat(direction, "; \n flex-wrap: ").concat(wrap, "; \n justify-content: ").concat(justifyContent, "; \n align-items: ").concat(alignItems, ";\n align-content: ").concat(alignContent, ";\n align-self: ").concat(alignSelf, ";\n gap: ").concat((0, _typeof2["default"])(gap) === "object" ? "".concat(gap.rowGap, " ").concat(gap.columnGap) : gap, ";\n order: ").concat(order, ";\n flex-grow: ").concat(grow, ";\n flex-shrink: ").concat(shrink, ";\n flex-basis: ").concat(basis, ";\n ");
54
+ });
55
+
56
+ var _default = DxcFlex;
57
+ exports["default"] = _default;
@@ -0,0 +1,103 @@
1
+ import React from "react";
2
+ import Title from "../../.storybook/components/Title";
3
+ import styled from "styled-components";
4
+ import DxcFlex from "./Flex";
5
+
6
+ export default {
7
+ title: "Flex",
8
+ component: DxcFlex,
9
+ };
10
+
11
+ export const Chromatic = () => (
12
+ <>
13
+ <Title title="Default" level={4} />
14
+ <Container>
15
+ <DxcFlex>
16
+ <Placeholder />
17
+ <Placeholder width="50px" />
18
+ <Placeholder />
19
+ <Placeholder width="50px" />
20
+ <Placeholder width="50px" />
21
+ </DxcFlex>
22
+ </Container>
23
+ <Title title="Direction column, wrap, justify content end, align items center and gap" level={4} />
24
+ <Container>
25
+ <DxcFlex direction="column" wrap="wrap" justifyContent="end" alignItems="center" gap="20px">
26
+ <Placeholder />
27
+ <Placeholder width="100px" />
28
+ <Placeholder />
29
+ <Placeholder width="100px" />
30
+ <Placeholder />
31
+ </DxcFlex>
32
+ </Container>
33
+ <Title title="Wrap with align content space between, row and column gaps, and as a span" level={4} />
34
+ <Container height="250px">
35
+ <DxcFlex wrap="wrap" alignContent="space-between" as="span" gap={{ rowGap: "10px", columnGap: "20px" }}>
36
+ <Placeholder />
37
+ <Placeholder />
38
+ <Placeholder />
39
+ <Placeholder />
40
+ <Placeholder width="100px" />
41
+ <Placeholder />
42
+ <Placeholder />
43
+ <Placeholder width="100px" />
44
+ <Placeholder />
45
+ <Placeholder />
46
+ <Placeholder width="100px" />
47
+ <Placeholder />
48
+ </DxcFlex>
49
+ </Container>
50
+ <Title title="Basis 100%, order, grow and align self" level={4} />
51
+ <Container height="75px">
52
+ <DxcFlex basis="100%">
53
+ <DxcFlex order={3} grow={1} alignSelf="flex-end">
54
+ <PlaceholderGrowAndShrink>order 3, grow 1, align self end</PlaceholderGrowAndShrink>
55
+ </DxcFlex>
56
+ <DxcFlex order={-1} grow={4}>
57
+ <PlaceholderGrowAndShrink>order -1, grow 4</PlaceholderGrowAndShrink>
58
+ </DxcFlex>
59
+ <DxcFlex order={5} grow={1}>
60
+ <PlaceholderGrowAndShrink>order 5, grow 1</PlaceholderGrowAndShrink>
61
+ </DxcFlex>
62
+ <DxcFlex order={2} grow={2}>
63
+ <PlaceholderGrowAndShrink>order 2. grow 2</PlaceholderGrowAndShrink>
64
+ </DxcFlex>
65
+ </DxcFlex>
66
+ </Container>
67
+ <Title title="Basis and shrink" level={4} />
68
+ <Container>
69
+ <DxcFlex basis="600px">
70
+ <DxcFlex shrink={4} basis="400px">
71
+ <PlaceholderGrowAndShrink>shrink 4</PlaceholderGrowAndShrink>
72
+ </DxcFlex>
73
+ <DxcFlex shrink={2} basis="400px">
74
+ <PlaceholderGrowAndShrink>shrink 2</PlaceholderGrowAndShrink>
75
+ </DxcFlex>
76
+ <DxcFlex shrink={1} basis="400px">
77
+ <PlaceholderGrowAndShrink>shrink 1</PlaceholderGrowAndShrink>
78
+ </DxcFlex>
79
+ </DxcFlex>
80
+ </Container>
81
+ </>
82
+ );
83
+
84
+ const Container = styled.div<{ height?: string }>`
85
+ display: flex;
86
+ background: #f2eafa;
87
+ margin: 2.5rem;
88
+ ${({ height }) => (height ? `height: ${height}` : "max-height: 150px")};
89
+ `;
90
+
91
+ const Placeholder = styled.div<{ width?: string }>`
92
+ height: 40px;
93
+ min-width: ${({ width }) => width || "200px"};
94
+ border: 1px solid #a46ede;
95
+ background-color: #e5d5f6;
96
+ `;
97
+
98
+ const PlaceholderGrowAndShrink = styled.div`
99
+ height: 40px;
100
+ width: 100%;
101
+ border: 1px solid #a46ede;
102
+ background-color: #e5d5f6;
103
+ `;
@@ -0,0 +1,21 @@
1
+ /// <reference types="react" />
2
+ declare type Gap = {
3
+ rowGap: string;
4
+ columnGap: string;
5
+ };
6
+ declare type Props = {
7
+ direction?: "row" | "row-reverse" | "column" | "column-reverse";
8
+ wrap?: "nowrap" | "wrap" | "wrap-reverse";
9
+ justifyContent?: "flex-start" | "flex-end" | "start" | "end" | "left" | "right" | "center" | "space-between" | "space-around" | "space-evenly";
10
+ alignItems?: "stretch" | "flex-start" | "flex-end" | "start" | "end" | "self-start" | "self-end" | "center" | "baseline";
11
+ alignContent?: "normal" | "flex-start" | "flex-end" | "start" | "end" | "center" | "space-between" | "space-around" | "space-evenly" | "stretch";
12
+ alignSelf?: "auto" | "flex-start" | "flex-end" | "center" | "baseline" | "stretch";
13
+ gap?: string | Gap;
14
+ order?: number;
15
+ grow?: number;
16
+ shrink?: number;
17
+ basis?: string;
18
+ as?: keyof HTMLElementTagNameMap;
19
+ children: React.ReactNode;
20
+ };
21
+ export default Props;
package/flex/types.js ADDED
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -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, padding, margin, tabIndex, }: FooterPropsType) => JSX.Element;
4
4
  export default DxcFooter;
package/footer/Footer.js CHANGED
@@ -9,11 +9,9 @@ Object.defineProperty(exports, "__esModule", {
9
9
  });
10
10
  exports["default"] = void 0;
11
11
 
12
- var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
13
-
14
12
  var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
15
13
 
16
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
14
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
17
15
 
18
16
  var _react = _interopRequireWildcard(require("react"));
19
17
 
@@ -21,13 +19,15 @@ var _styledComponents = _interopRequireWildcard(require("styled-components"));
21
19
 
22
20
  var _variables = require("../common/variables.js");
23
21
 
24
- var _useTheme = _interopRequireDefault(require("../useTheme.js"));
22
+ var _useTheme = _interopRequireDefault(require("../useTheme"));
23
+
24
+ var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
25
25
 
26
- var _BackgroundColorContext = require("../BackgroundColorContext.js");
26
+ var _BackgroundColorContext = require("../BackgroundColorContext");
27
27
 
28
- var _Icons = _interopRequireDefault(require("./Icons"));
28
+ var _Icons = require("./Icons");
29
29
 
30
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13;
30
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14;
31
31
 
32
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
33
 
@@ -36,83 +36,37 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
36
36
  var DxcFooter = function DxcFooter(_ref) {
37
37
  var socialLinks = _ref.socialLinks,
38
38
  bottomLinks = _ref.bottomLinks,
39
- _ref$copyright = _ref.copyright,
40
- copyright = _ref$copyright === void 0 ? "" : _ref$copyright,
39
+ copyright = _ref.copyright,
41
40
  children = _ref.children,
42
41
  padding = _ref.padding,
43
42
  margin = _ref.margin,
44
43
  _ref$tabIndex = _ref.tabIndex,
45
44
  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
45
  var colorsTheme = (0, _useTheme["default"])();
46
+ var translatedLabels = (0, _useTranslatedLabels["default"])();
64
47
  var footerLogo = (0, _react.useMemo)(function () {
65
48
  if (!colorsTheme.footer.logo) {
66
- return _Icons["default"];
49
+ return _Icons.dxcLogo;
67
50
  }
68
51
 
69
52
  if (typeof colorsTheme.footer.logo === "string") {
70
53
  return /*#__PURE__*/_react["default"].createElement(LogoImg, {
71
- alt: "Logo",
54
+ alt: translatedLabels.formFields.logoAlternativeText,
72
55
  src: colorsTheme.footer.logo
73
56
  });
74
57
  }
75
58
 
76
59
  return colorsTheme.footer.logo;
77
60
  }, [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
61
  var socialLink = socialLinks === null || socialLinks === void 0 ? void 0 : socialLinks.map(function (link, index) {
108
62
  return /*#__PURE__*/_react["default"].createElement(SocialAnchor, {
109
63
  tabIndex: tabIndex,
110
64
  key: "social".concat(index).concat(link.href),
111
65
  index: index,
112
66
  href: link && link.href ? link.href : ""
113
- }, link.logo ? /*#__PURE__*/_react["default"].createElement(SocialIconContainer, null, (0, _typeof2["default"])(link.logo) === "object" ? link.logo : /*#__PURE__*/_react["default"].createElement(link.logo)) : link && link.logoSrc && /*#__PURE__*/_react["default"].createElement(SocialIcon, {
114
- src: link.logoSrc
115
- }));
67
+ }, /*#__PURE__*/_react["default"].createElement(SocialIconContainer, null, typeof link.logo === "string" ? /*#__PURE__*/_react["default"].createElement(SocialIconImg, {
68
+ src: link.logo
69
+ }) : link.logo));
116
70
  });
117
71
  var bottomLink = bottomLinks === null || bottomLinks === void 0 ? void 0 : bottomLinks.map(function (link, index) {
118
72
  return /*#__PURE__*/_react["default"].createElement("span", {
@@ -127,32 +81,17 @@ var DxcFooter = function DxcFooter(_ref) {
127
81
  return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
128
82
  theme: colorsTheme.footer
129
83
  }, /*#__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, {
84
+ margin: margin
85
+ }, /*#__PURE__*/_react["default"].createElement(FooterHeader, null, /*#__PURE__*/_react["default"].createElement(LogoContainer, null, footerLogo), /*#__PURE__*/_react["default"].createElement(SocialLinkContainer, null, socialLink)), /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(ChildComponents, {
141
86
  padding: padding
142
87
  }, /*#__PURE__*/_react["default"].createElement(_BackgroundColorContext.BackgroundColorProvider, {
143
88
  color: colorsTheme.footer.backgroundColor
144
89
  }, children)), /*#__PURE__*/_react["default"].createElement(FooterFooter, {
145
90
  className: "footerFooter"
146
- }, /*#__PURE__*/_react["default"].createElement(BottomLinks, {
147
- refSize: refSize
148
- }, bottomLink), /*#__PURE__*/_react["default"].createElement(Copyright, {
149
- refSize: refSize
150
- }, copyright)))));
91
+ }, /*#__PURE__*/_react["default"].createElement(BottomLinks, null, bottomLink), /*#__PURE__*/_react["default"].createElement(Copyright, null, copyright || translatedLabels.footer.copyrightText(new Date().getFullYear()))))));
151
92
  };
152
93
 
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) {
94
+ var FooterContainer = _styledComponents["default"].footer(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n @media (min-width: ", "rem) {\n padding: 24px 36px 24px 36px;\n }\n\n @media (max-width: ", "rem) {\n //mobile phones\n padding: 20px;\n }\n\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"])), _variables.responsiveSizes.small, _variables.responsiveSizes.small, function (props) {
156
95
  return props.theme.backgroundColor;
157
96
  }, function (props) {
158
97
  return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
@@ -160,27 +99,17 @@ var FooterContainer = _styledComponents["default"].footer(_templateObject || (_t
160
99
  return props.theme.height;
161
100
  });
162
101
 
163
- var FooterHeader = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n justify-content: space-between;\n"])));
102
+ 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"])));
164
103
 
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";
167
- }, function (props) {
168
- return props.refSize <= _variables.responsiveSizes.mobileLarge ? "center" : "";
169
- }, function (props) {
104
+ var FooterFooter = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (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\n @media (max-width: ", "rem) {\n //mobile phones\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
105
  return "".concat(props.theme.bottomLinksDividerThickness, " ").concat(props.theme.bottomLinksDividerStyle, " ").concat(props.theme.bottomLinksDividerColor);
171
106
  });
172
107
 
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) {
108
+ var BottomLinks = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n padding-top: ", ";\n display: inline-flex;\n flex-wrap: wrap;\n\n @media (min-width: ", "rem) {\n max-width: 60%;\n }\n\n @media (max-width: ", "rem) {\n //mobile phones\n max-width: 100%;\n width: 100%;\n }\n\n & > span:last-child span {\n display: none;\n }\n align-self: center;\n"])), function (props) {
174
109
  return props.theme.bottomLinksDividerSpacing;
175
- }, 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
- });
110
+ }, _variables.responsiveSizes.small, _variables.responsiveSizes.small);
182
111
 
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) {
112
+ 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) {
184
113
  return props.padding && (0, _typeof2["default"])(props.padding) !== "object" ? _variables.spaces[props.padding] : "0px";
185
114
  }, function (props) {
186
115
  return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.top ? _variables.spaces[props.padding.top] : "";
@@ -192,7 +121,7 @@ var ChildComponents = _styledComponents["default"].div(_templateObject5 || (_tem
192
121
  return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.left ? _variables.spaces[props.padding.left] : "";
193
122
  });
194
123
 
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) {
124
+ 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\n @media (min-width: ", "rem) {\n max-width: 40%;\n text-align: right;\n }\n\n @media (max-width: ", "rem) {\n //mobile phones\n max-width: 100%;\n width: 100%;\n text-align: left;\n }\n\n padding-top: ", ";\n"])), function (props) {
196
125
  return props.theme.copyrightFontFamily;
197
126
  }, function (props) {
198
127
  return props.theme.copyrightFontSize;
@@ -202,13 +131,7 @@ var Copyright = _styledComponents["default"].div(_templateObject6 || (_templateO
202
131
  return props.theme.copyrightFontWeight;
203
132
  }, function (props) {
204
133
  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) {
134
+ }, _variables.responsiveSizes.small, _variables.responsiveSizes.small, function (props) {
212
135
  return props.theme.bottomLinksDividerSpacing;
213
136
  });
214
137
 
@@ -224,19 +147,15 @@ var LogoImg = _styledComponents["default"].img(_templateObject8 || (_templateObj
224
147
  return props.theme.logoWidth;
225
148
  });
226
149
 
227
- var SocialAnchor = _styledComponents["default"].a(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n & {\n display: inline-flex;\n margin-left: ", ";\n }\n"])), function (props) {
150
+ var SocialLinkContainer = _styledComponents["default"].div(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-self: center;\n"])));
151
+
152
+ var SocialAnchor = _styledComponents["default"].a(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2["default"])(["\n & {\n display: inline-flex;\n margin-left: ", ";\n }\n"])), function (props) {
228
153
  return props.index === 0 ? "0px" : props.theme.socialLinksGutter;
229
154
  });
230
155
 
231
- var SocialIcon = _styledComponents["default"].img(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2["default"])(["\n & {\n display: inline-flex;\n height: ", ";\n width: ", ";\n fill: ", ";\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
- });
156
+ var SocialIconImg = _styledComponents["default"].img(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2["default"])([""])));
238
157
 
239
- 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\n img,\n svg {\n height: 100%;\n width: 100%;\n }\n"])), function (props) {
158
+ 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) {
240
159
  return props.theme.socialLinksSize;
241
160
  }, function (props) {
242
161
  return props.theme.socialLinksSize;
@@ -244,11 +163,11 @@ var SocialIconContainer = _styledComponents["default"].div(_templateObject11 ||
244
163
  return props.theme.socialLinksColor;
245
164
  });
246
165
 
247
- var Point = _styledComponents["default"].span(_templateObject12 || (_templateObject12 = (0, _taggedTemplateLiteral2["default"])(["\n margin: 0px 10px;\n color: ", ";\n"])), function (props) {
166
+ var Point = _styledComponents["default"].span(_templateObject13 || (_templateObject13 = (0, _taggedTemplateLiteral2["default"])(["\n margin: 0px 10px;\n color: ", ";\n"])), function (props) {
248
167
  return props.theme.bottomLinksFontColor;
249
168
  });
250
169
 
251
- 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) {
170
+ 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) {
252
171
  return props.theme.bottomLinksTextDecoration;
253
172
  }, function (props) {
254
173
  return props.theme.bottomLinksFontColor;
@@ -0,0 +1,137 @@
1
+ import React from "react";
2
+ import DxcFooter from "./Footer";
3
+ import Title from "../../.storybook/components/Title";
4
+ import ExampleContainer from "../../.storybook/components/ExampleContainer";
5
+
6
+ const social = [
7
+ {
8
+ href: "https://www.linkedin.com/company/dxctechnology",
9
+ logo: (
10
+ <svg version="1.1" id="Capa_1" x="0px" y="0px" viewBox="0 0 438.536 438.536" fill="currentColor">
11
+ <g>
12
+ <path
13
+ d="M414.41,24.123C398.333,8.042,378.963,0,356.315,0H82.228C59.58,0,40.21,8.042,24.126,24.123
14
+ C8.045,40.207,0.003,59.576,0.003,82.225v274.084c0,22.647,8.042,42.018,24.123,58.102c16.084,16.084,35.454,24.126,58.102,24.126
15
+ h274.084c22.648,0,42.018-8.042,58.095-24.126c16.084-16.084,24.126-35.454,24.126-58.102V82.225
16
+ C438.532,59.576,430.49,40.204,414.41,24.123z M133.618,367.157H67.666V169.016h65.952V367.157z M127.626,132.332
17
+ c-6.851,6.567-15.893,9.851-27.124,9.851h-0.288c-10.848,0-19.648-3.284-26.407-9.851c-6.76-6.567-10.138-14.703-10.138-24.41
18
+ c0-9.897,3.476-18.083,10.421-24.556c6.95-6.471,15.942-9.708,26.98-9.708c11.039,0,19.89,3.237,26.553,9.708
19
+ c6.661,6.473,10.088,14.659,10.277,24.556C137.899,117.625,134.477,125.761,127.626,132.332z M370.873,367.157h-65.952v-105.92
20
+ c0-29.879-11.036-44.823-33.116-44.823c-8.374,0-15.42,2.331-21.128,6.995c-5.715,4.661-9.996,10.324-12.847,16.991
21
+ c-1.335,3.422-1.999,8.75-1.999,15.981v110.775h-65.952c0.571-119.529,0.571-185.579,0-198.142h65.952v27.974
22
+ c13.867-21.681,33.558-32.544,59.101-32.544c22.84,0,41.21,7.52,55.104,22.554c13.895,15.037,20.841,37.214,20.841,66.519v113.64
23
+ H370.873z"
24
+ />
25
+ </g>
26
+ </svg>
27
+ ),
28
+ },
29
+ {
30
+ href: "https://twitter.com/dxctechnology",
31
+ logo: (
32
+ <svg viewBox="0 0 248 204" fill="currentColor">
33
+ <path
34
+ fill="#1d9bf0"
35
+ d="M221.95 51.29c.15 2.17.15 4.34.15 6.53 0 66.73-50.8 143.69-143.69 143.69v-.04c-27.44.04-54.31-7.82-77.41-22.64 3.99.48 8 .72 12.02.73 22.74.02 44.83-7.61 62.72-21.66-21.61-.41-40.56-14.5-47.18-35.07 7.57 1.46 15.37 1.16 22.8-.87-23.56-4.76-40.51-25.46-40.51-49.5v-.64c7.02 3.91 14.88 6.08 22.92 6.32C11.58 63.31 4.74 33.79 18.14 10.71c25.64 31.55 63.47 50.73 104.08 52.76-4.07-17.54 1.49-35.92 14.61-48.25 20.34-19.12 52.33-18.14 71.45 2.19 11.31-2.23 22.15-6.38 32.07-12.26-3.77 11.69-11.66 21.62-22.2 27.93 10.01-1.18 19.79-3.86 29-7.95-6.78 10.16-15.32 19.01-25.2 26.16z"
36
+ />
37
+ </svg>
38
+ ),
39
+ },
40
+ {
41
+ href: "https://www.facebook.com/DXCTechnology/",
42
+ logo: (
43
+ <svg
44
+ version="1.1"
45
+ id="Capa_1"
46
+ x="0px"
47
+ y="0px"
48
+ viewBox="0 0 438.536 438.536"
49
+ fill="currentColor"
50
+ width="1000px"
51
+ height="500px"
52
+ >
53
+ <g>
54
+ <path
55
+ d="M414.41,24.123C398.333,8.042,378.963,0,356.315,0H82.228C59.58,0,40.21,8.042,24.126,24.123
56
+ C8.045,40.207,0.003,59.576,0.003,82.225v274.084c0,22.647,8.042,42.018,24.123,58.102c16.084,16.084,35.454,24.126,58.102,24.126
57
+ h274.084c22.648,0,42.018-8.042,58.095-24.126c16.084-16.084,24.126-35.454,24.126-58.102V82.225
58
+ C438.532,59.576,430.49,40.204,414.41,24.123z M373.155,225.548h-49.963V406.84h-74.802V225.548H210.99V163.02h37.401v-37.402
59
+ c0-26.838,6.283-47.107,18.843-60.813c12.559-13.706,33.304-20.555,62.242-20.555h49.963v62.526h-31.401
60
+ c-10.663,0-17.467,1.853-20.417,5.568c-2.949,3.711-4.428,10.23-4.428,19.558v31.119h56.534L373.155,225.548z"
61
+ />
62
+ </g>
63
+ </svg>
64
+ ),
65
+ },
66
+ ];
67
+
68
+ const bottom = [
69
+ {
70
+ href: "https://www.linkedin.com/company/dxctechnology",
71
+ text: "Linkedin",
72
+ },
73
+ {
74
+ href: "https://twitter.com/dxctechnology",
75
+ text: "Twitter",
76
+ },
77
+ {
78
+ href: "https://www.facebook.com/DXCTechnology/",
79
+ text: "Facebook",
80
+ },
81
+ ];
82
+
83
+ export default {
84
+ title: "Footer",
85
+ component: DxcFooter,
86
+ };
87
+
88
+ export const Chromatic = () => (
89
+ <>
90
+ <ExampleContainer>
91
+ <Title title="Default" theme="light" level={4} />
92
+ <DxcFooter />
93
+ </ExampleContainer>
94
+ <ExampleContainer>
95
+ <Title title="With children, copyright, bottom links and social links" theme="light" level={4} />
96
+ <DxcFooter copyright="Copyright" socialLinks={social} bottomLinks={bottom}>
97
+ <div>
98
+ <a href="https://www.linkedin.com/company/dxctechnology">Linkedin</a>
99
+ </div>
100
+ </DxcFooter>
101
+ </ExampleContainer>
102
+ <Title title="Margins" theme="light" level={2} />
103
+ <ExampleContainer>
104
+ <Title title="Xxsmall margin" theme="light" level={4} />
105
+ <DxcFooter margin="xxsmall"></DxcFooter>
106
+ <Title title="Xsmall margin" theme="light" level={4} />
107
+ <DxcFooter margin="xsmall"></DxcFooter>
108
+ <Title title="Small margin" theme="light" level={4} />
109
+ <DxcFooter margin="small"></DxcFooter>
110
+ <Title title="Medium margin" theme="light" level={4} />
111
+ <DxcFooter margin="medium"></DxcFooter>
112
+ <Title title="Large margin" theme="light" level={4} />
113
+ <DxcFooter margin="large"></DxcFooter>
114
+ <Title title="Xlarge margin" theme="light" level={4} />
115
+ <DxcFooter margin="xlarge"></DxcFooter>
116
+ <Title title="Xxlarge margin" theme="light" level={4} />
117
+ <DxcFooter margin="xxlarge"></DxcFooter>
118
+ </ExampleContainer>
119
+ <Title title="Padding" theme="light" level={2} />
120
+ <ExampleContainer>
121
+ <Title title="Xxsmall padding" theme="light" level={4} />
122
+ <DxcFooter padding="xxsmall"></DxcFooter>
123
+ <Title title="Xsmall padding" theme="light" level={4} />
124
+ <DxcFooter padding="xsmall"></DxcFooter>
125
+ <Title title="Small padding" theme="light" level={4} />
126
+ <DxcFooter padding="small"></DxcFooter>
127
+ <Title title="Medium padding" theme="light" level={4} />
128
+ <DxcFooter padding="medium"></DxcFooter>
129
+ <Title title="Large padding" theme="light" level={4} />
130
+ <DxcFooter padding="large"></DxcFooter>
131
+ <Title title="Xlarge padding" theme="light" level={4} />
132
+ <DxcFooter padding="xlarge"></DxcFooter>
133
+ <Title title="Xxlarge padding" theme="light" level={4} />
134
+ <DxcFooter padding="xxlarge"></DxcFooter>
135
+ </ExampleContainer>
136
+ </>
137
+ );