@dxc-technology/halstack-react 0.0.0-414cb90 → 0.0.0-420b045

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 (323) 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 +15 -47
  7. package/accordion/Accordion.stories.tsx +307 -0
  8. package/accordion/Accordion.test.js +72 -0
  9. package/accordion/types.d.ts +8 -8
  10. package/accordion-group/AccordionGroup.d.ts +1 -1
  11. package/accordion-group/AccordionGroup.js +16 -17
  12. package/accordion-group/AccordionGroup.stories.tsx +225 -0
  13. package/accordion-group/AccordionGroup.test.js +151 -0
  14. package/accordion-group/types.d.ts +8 -8
  15. package/alert/Alert.js +6 -3
  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 +28 -64
  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 +45 -41
  51. package/checkbox/Checkbox.stories.tsx +188 -0
  52. package/checkbox/Checkbox.test.js +78 -0
  53. package/checkbox/types.d.ts +9 -5
  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 +304 -373
  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 +242 -272
  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 +130 -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 +55 -78
  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 +2 -27
  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 +161 -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.jsx → NumberInput.stories.tsx} +5 -5
  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 +14 -10
  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 +199 -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 +45 -33
  203. package/slider/Slider.stories.tsx +177 -0
  204. package/slider/Slider.test.js +150 -0
  205. package/slider/types.d.ts +6 -7
  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 +1 -1
  213. package/switch/Switch.js +37 -21
  214. package/switch/Switch.stories.tsx +160 -0
  215. package/switch/Switch.test.js +98 -0
  216. package/switch/types.d.ts +6 -2
  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/Tabs.d.ts +1 -1
  224. package/tabs/Tabs.js +20 -20
  225. package/tabs/Tabs.stories.tsx +112 -0
  226. package/tabs/Tabs.test.js +140 -0
  227. package/tabs/types.d.ts +29 -18
  228. package/tabs-nav/NavTabs.d.ts +8 -0
  229. package/tabs-nav/NavTabs.js +125 -0
  230. package/tabs-nav/NavTabs.stories.tsx +170 -0
  231. package/tabs-nav/NavTabs.test.js +82 -0
  232. package/tabs-nav/Tab.d.ts +4 -0
  233. package/tabs-nav/Tab.js +130 -0
  234. package/tabs-nav/types.d.ts +53 -0
  235. package/tabs-nav/types.js +5 -0
  236. package/tag/Tag.d.ts +4 -0
  237. package/tag/Tag.js +34 -59
  238. package/tag/Tag.stories.tsx +142 -0
  239. package/tag/Tag.test.js +60 -0
  240. package/tag/types.d.ts +69 -0
  241. package/tag/types.js +5 -0
  242. package/text-input/Suggestion.d.ts +4 -0
  243. package/text-input/Suggestion.js +55 -0
  244. package/text-input/TextInput.d.ts +4 -0
  245. package/text-input/TextInput.js +103 -167
  246. package/text-input/TextInput.stories.tsx +473 -0
  247. package/text-input/TextInput.test.js +1712 -0
  248. package/text-input/types.d.ts +178 -0
  249. package/text-input/types.js +5 -0
  250. package/textarea/Textarea.d.ts +4 -0
  251. package/textarea/Textarea.js +39 -79
  252. package/textarea/Textarea.stories.jsx +37 -15
  253. package/textarea/Textarea.test.js +437 -0
  254. package/textarea/types.d.ts +137 -0
  255. package/textarea/types.js +5 -0
  256. package/toggle-group/ToggleGroup.d.ts +4 -0
  257. package/toggle-group/ToggleGroup.js +18 -46
  258. package/toggle-group/ToggleGroup.stories.tsx +173 -0
  259. package/toggle-group/ToggleGroup.test.js +156 -0
  260. package/toggle-group/types.d.ts +105 -0
  261. package/toggle-group/types.js +5 -0
  262. package/typography/Typography.d.ts +4 -0
  263. package/typography/Typography.js +131 -0
  264. package/typography/Typography.stories.tsx +198 -0
  265. package/typography/types.d.ts +18 -0
  266. package/typography/types.js +5 -0
  267. package/useTheme.d.ts +2 -0
  268. package/useTheme.js +2 -2
  269. package/useTranslatedLabels.d.ts +2 -0
  270. package/useTranslatedLabels.js +20 -0
  271. package/wizard/Wizard.d.ts +4 -0
  272. package/wizard/Wizard.js +118 -104
  273. package/wizard/Wizard.stories.tsx +233 -0
  274. package/wizard/Wizard.test.js +141 -0
  275. package/wizard/types.d.ts +65 -0
  276. package/wizard/types.js +5 -0
  277. package/ThemeContext.js +0 -246
  278. package/V3Select/V3Select.js +0 -455
  279. package/V3Select/index.d.ts +0 -27
  280. package/V3Textarea/V3Textarea.js +0 -260
  281. package/V3Textarea/index.d.ts +0 -27
  282. package/box/index.d.ts +0 -25
  283. package/chip/index.d.ts +0 -22
  284. package/date/Date.js +0 -373
  285. package/date/index.d.ts +0 -27
  286. package/dialog/index.d.ts +0 -18
  287. package/file-input/index.d.ts +0 -81
  288. package/header/index.d.ts +0 -25
  289. package/heading/index.d.ts +0 -17
  290. package/input-text/Icons.js +0 -22
  291. package/input-text/InputText.js +0 -611
  292. package/input-text/index.d.ts +0 -36
  293. package/link/index.d.ts +0 -23
  294. package/number-input/index.d.ts +0 -113
  295. package/password-input/index.d.ts +0 -94
  296. package/radio/Radio.d.ts +0 -4
  297. package/radio/Radio.js +0 -174
  298. package/radio/types.d.ts +0 -54
  299. package/resultsetTable/index.d.ts +0 -19
  300. package/select/index.d.ts +0 -131
  301. package/sidenav/index.d.ts +0 -13
  302. package/spinner/index.d.ts +0 -17
  303. package/table/index.d.ts +0 -13
  304. package/tag/index.d.ts +0 -24
  305. package/text-input/index.d.ts +0 -135
  306. package/textarea/index.d.ts +0 -117
  307. package/toggle/Toggle.js +0 -186
  308. package/toggle/index.d.ts +0 -21
  309. package/toggle-group/index.d.ts +0 -21
  310. package/upload/Upload.js +0 -201
  311. package/upload/buttons-upload/ButtonsUpload.js +0 -111
  312. package/upload/buttons-upload/Icons.js +0 -40
  313. package/upload/dragAndDropArea/DragAndDropArea.js +0 -225
  314. package/upload/dragAndDropArea/Icons.js +0 -39
  315. package/upload/file-upload/FileToUpload.js +0 -115
  316. package/upload/file-upload/Icons.js +0 -66
  317. package/upload/files-upload/FilesToUpload.js +0 -109
  318. package/upload/index.d.ts +0 -15
  319. package/upload/transaction/Icons.js +0 -160
  320. package/upload/transaction/Transaction.js +0 -104
  321. package/upload/transactions/Transactions.js +0 -94
  322. package/wizard/Icons.js +0 -65
  323. 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,130 @@
1
+ import React from "react";
2
+ import DxcFooter from "./Footer";
3
+ import Title from "../../.storybook/components/Title";
4
+ import ExampleContainer from "../../.storybook/components/ExampleContainer";
5
+
6
+ const social = [
7
+ {
8
+ href: "https://www.linkedin.com/company/dxctechnology",
9
+ logo: (
10
+ <svg version="1.1" id="Capa_1" x="0px" y="0px" viewBox="0 0 438.536 438.536" fill="currentColor">
11
+ <g>
12
+ <path
13
+ d="M414.41,24.123C398.333,8.042,378.963,0,356.315,0H82.228C59.58,0,40.21,8.042,24.126,24.123
14
+ C8.045,40.207,0.003,59.576,0.003,82.225v274.084c0,22.647,8.042,42.018,24.123,58.102c16.084,16.084,35.454,24.126,58.102,24.126
15
+ h274.084c22.648,0,42.018-8.042,58.095-24.126c16.084-16.084,24.126-35.454,24.126-58.102V82.225
16
+ C438.532,59.576,430.49,40.204,414.41,24.123z M133.618,367.157H67.666V169.016h65.952V367.157z M127.626,132.332
17
+ c-6.851,6.567-15.893,9.851-27.124,9.851h-0.288c-10.848,0-19.648-3.284-26.407-9.851c-6.76-6.567-10.138-14.703-10.138-24.41
18
+ c0-9.897,3.476-18.083,10.421-24.556c6.95-6.471,15.942-9.708,26.98-9.708c11.039,0,19.89,3.237,26.553,9.708
19
+ c6.661,6.473,10.088,14.659,10.277,24.556C137.899,117.625,134.477,125.761,127.626,132.332z M370.873,367.157h-65.952v-105.92
20
+ c0-29.879-11.036-44.823-33.116-44.823c-8.374,0-15.42,2.331-21.128,6.995c-5.715,4.661-9.996,10.324-12.847,16.991
21
+ c-1.335,3.422-1.999,8.75-1.999,15.981v110.775h-65.952c0.571-119.529,0.571-185.579,0-198.142h65.952v27.974
22
+ c13.867-21.681,33.558-32.544,59.101-32.544c22.84,0,41.21,7.52,55.104,22.554c13.895,15.037,20.841,37.214,20.841,66.519v113.64
23
+ H370.873z"
24
+ />
25
+ </g>
26
+ </svg>
27
+ ),
28
+ },
29
+ {
30
+ href: "https://twitter.com/dxctechnology",
31
+ logo: "http://assets.stickpng.com/images/580b57fcd9996e24bc43c53e.png",
32
+ },
33
+ {
34
+ href: "https://www.facebook.com/DXCTechnology/",
35
+ logo: (
36
+ <svg
37
+ version="1.1"
38
+ id="Capa_1"
39
+ x="0px"
40
+ y="0px"
41
+ viewBox="0 0 438.536 438.536"
42
+ fill="currentColor"
43
+ width="1000px"
44
+ height="500px"
45
+ >
46
+ <g>
47
+ <path
48
+ d="M414.41,24.123C398.333,8.042,378.963,0,356.315,0H82.228C59.58,0,40.21,8.042,24.126,24.123
49
+ C8.045,40.207,0.003,59.576,0.003,82.225v274.084c0,22.647,8.042,42.018,24.123,58.102c16.084,16.084,35.454,24.126,58.102,24.126
50
+ h274.084c22.648,0,42.018-8.042,58.095-24.126c16.084-16.084,24.126-35.454,24.126-58.102V82.225
51
+ C438.532,59.576,430.49,40.204,414.41,24.123z M373.155,225.548h-49.963V406.84h-74.802V225.548H210.99V163.02h37.401v-37.402
52
+ c0-26.838,6.283-47.107,18.843-60.813c12.559-13.706,33.304-20.555,62.242-20.555h49.963v62.526h-31.401
53
+ c-10.663,0-17.467,1.853-20.417,5.568c-2.949,3.711-4.428,10.23-4.428,19.558v31.119h56.534L373.155,225.548z"
54
+ />
55
+ </g>
56
+ </svg>
57
+ ),
58
+ },
59
+ ];
60
+
61
+ const bottom = [
62
+ {
63
+ href: "https://www.linkedin.com/company/dxctechnology",
64
+ text: "Linkedin",
65
+ },
66
+ {
67
+ href: "https://twitter.com/dxctechnology",
68
+ text: "Twitter",
69
+ },
70
+ {
71
+ href: "https://www.facebook.com/DXCTechnology/",
72
+ text: "Facebook",
73
+ },
74
+ ];
75
+
76
+ export default {
77
+ title: "Footer",
78
+ component: DxcFooter,
79
+ };
80
+
81
+ export const Chromatic = () => (
82
+ <>
83
+ <ExampleContainer>
84
+ <Title title="Default" theme="light" level={4} />
85
+ <DxcFooter />
86
+ </ExampleContainer>
87
+ <ExampleContainer>
88
+ <Title title="With children, copyright, bottom links and social links" theme="light" level={4} />
89
+ <DxcFooter copyright="Copyright" socialLinks={social} bottomLinks={bottom}>
90
+ <div>
91
+ <a href="https://www.linkedin.com/company/dxctechnology">Linkedin</a>
92
+ </div>
93
+ </DxcFooter>
94
+ </ExampleContainer>
95
+ <Title title="Margins" theme="light" level={2} />
96
+ <ExampleContainer>
97
+ <Title title="Xxsmall margin" theme="light" level={4} />
98
+ <DxcFooter margin="xxsmall"></DxcFooter>
99
+ <Title title="Xsmall margin" theme="light" level={4} />
100
+ <DxcFooter margin="xsmall"></DxcFooter>
101
+ <Title title="Small margin" theme="light" level={4} />
102
+ <DxcFooter margin="small"></DxcFooter>
103
+ <Title title="Medium margin" theme="light" level={4} />
104
+ <DxcFooter margin="medium"></DxcFooter>
105
+ <Title title="Large margin" theme="light" level={4} />
106
+ <DxcFooter margin="large"></DxcFooter>
107
+ <Title title="Xlarge margin" theme="light" level={4} />
108
+ <DxcFooter margin="xlarge"></DxcFooter>
109
+ <Title title="Xxlarge margin" theme="light" level={4} />
110
+ <DxcFooter margin="xxlarge"></DxcFooter>
111
+ </ExampleContainer>
112
+ <Title title="Padding" theme="light" level={2} />
113
+ <ExampleContainer>
114
+ <Title title="Xxsmall padding" theme="light" level={4} />
115
+ <DxcFooter padding="xxsmall"></DxcFooter>
116
+ <Title title="Xsmall padding" theme="light" level={4} />
117
+ <DxcFooter padding="xsmall"></DxcFooter>
118
+ <Title title="Small padding" theme="light" level={4} />
119
+ <DxcFooter padding="small"></DxcFooter>
120
+ <Title title="Medium padding" theme="light" level={4} />
121
+ <DxcFooter padding="medium"></DxcFooter>
122
+ <Title title="Large padding" theme="light" level={4} />
123
+ <DxcFooter padding="large"></DxcFooter>
124
+ <Title title="Xlarge padding" theme="light" level={4} />
125
+ <DxcFooter padding="xlarge"></DxcFooter>
126
+ <Title title="Xxlarge padding" theme="light" level={4} />
127
+ <DxcFooter padding="xxlarge"></DxcFooter>
128
+ </ExampleContainer>
129
+ </>
130
+ );