@dxc-technology/halstack-react 0.0.0-bd364ae → 0.0.0-bd47c58

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 (265) hide show
  1. package/BackgroundColorContext.d.ts +2 -2
  2. package/BackgroundColorContext.js +1 -1
  3. package/HalstackContext.d.ts +1337 -5
  4. package/HalstackContext.js +117 -77
  5. package/README.md +47 -0
  6. package/accordion/Accordion.d.ts +1 -1
  7. package/accordion/Accordion.js +110 -114
  8. package/accordion/Accordion.stories.tsx +105 -115
  9. package/accordion/Accordion.test.js +10 -11
  10. package/accordion/types.d.ts +1 -12
  11. package/accordion-group/AccordionGroup.d.ts +4 -3
  12. package/accordion-group/AccordionGroup.js +25 -65
  13. package/accordion-group/AccordionGroup.stories.tsx +93 -66
  14. package/accordion-group/AccordionGroup.test.js +27 -62
  15. package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
  16. package/accordion-group/AccordionGroupAccordion.js +43 -0
  17. package/accordion-group/types.d.ts +7 -12
  18. package/alert/Alert.js +5 -9
  19. package/alert/Alert.stories.tsx +28 -0
  20. package/alert/Alert.test.js +1 -1
  21. package/bleed/Bleed.stories.tsx +64 -63
  22. package/box/Box.d.ts +1 -1
  23. package/box/Box.js +8 -27
  24. package/box/Box.stories.tsx +38 -51
  25. package/box/Box.test.js +1 -1
  26. package/box/types.d.ts +0 -11
  27. package/bulleted-list/BulletedList.d.ts +7 -0
  28. package/bulleted-list/BulletedList.js +125 -0
  29. package/bulleted-list/BulletedList.stories.tsx +206 -0
  30. package/bulleted-list/types.d.ts +38 -0
  31. package/button/Button.d.ts +1 -1
  32. package/button/Button.js +42 -72
  33. package/button/Button.stories.tsx +159 -8
  34. package/button/Button.test.js +12 -1
  35. package/button/types.d.ts +9 -5
  36. package/card/Card.d.ts +1 -1
  37. package/card/Card.js +27 -45
  38. package/card/Card.stories.tsx +12 -42
  39. package/card/Card.test.js +1 -1
  40. package/card/types.d.ts +1 -6
  41. package/checkbox/Checkbox.d.ts +2 -2
  42. package/checkbox/Checkbox.js +94 -101
  43. package/checkbox/Checkbox.stories.tsx +131 -59
  44. package/checkbox/Checkbox.test.js +94 -17
  45. package/checkbox/types.d.ts +4 -0
  46. package/chip/Chip.js +28 -49
  47. package/chip/Chip.stories.tsx +121 -26
  48. package/chip/Chip.test.js +3 -5
  49. package/chip/types.d.ts +1 -1
  50. package/common/OpenSans.css +68 -80
  51. package/common/coreTokens.d.ts +146 -0
  52. package/common/coreTokens.js +167 -0
  53. package/common/utils.d.ts +1 -0
  54. package/common/utils.js +4 -4
  55. package/common/variables.d.ts +1490 -0
  56. package/common/variables.js +1016 -1117
  57. package/date-input/Calendar.d.ts +4 -0
  58. package/date-input/Calendar.js +258 -0
  59. package/date-input/DateInput.js +134 -237
  60. package/date-input/DateInput.stories.tsx +199 -33
  61. package/date-input/DateInput.test.js +494 -138
  62. package/date-input/DatePicker.d.ts +4 -0
  63. package/date-input/DatePicker.js +146 -0
  64. package/date-input/Icons.d.ts +6 -0
  65. package/date-input/Icons.js +75 -0
  66. package/date-input/YearPicker.d.ts +4 -0
  67. package/date-input/YearPicker.js +126 -0
  68. package/date-input/types.d.ts +51 -0
  69. package/dialog/Dialog.d.ts +1 -1
  70. package/dialog/Dialog.js +72 -79
  71. package/dialog/Dialog.stories.tsx +154 -171
  72. package/dialog/Dialog.test.js +334 -5
  73. package/dialog/types.d.ts +0 -12
  74. package/dropdown/Dropdown.d.ts +1 -1
  75. package/dropdown/Dropdown.js +246 -249
  76. package/dropdown/Dropdown.stories.tsx +245 -56
  77. package/dropdown/Dropdown.test.js +507 -110
  78. package/dropdown/DropdownMenu.d.ts +4 -0
  79. package/dropdown/DropdownMenu.js +74 -0
  80. package/dropdown/DropdownMenuItem.d.ts +4 -0
  81. package/dropdown/DropdownMenuItem.js +79 -0
  82. package/dropdown/types.d.ts +23 -3
  83. package/file-input/FileInput.d.ts +2 -2
  84. package/file-input/FileInput.js +174 -220
  85. package/file-input/FileInput.stories.tsx +122 -11
  86. package/file-input/FileInput.test.js +14 -14
  87. package/file-input/FileItem.d.ts +4 -14
  88. package/file-input/FileItem.js +39 -63
  89. package/file-input/types.d.ts +18 -1
  90. package/flex/Flex.d.ts +4 -0
  91. package/flex/Flex.js +71 -0
  92. package/flex/Flex.stories.tsx +112 -0
  93. package/flex/types.d.ts +97 -0
  94. package/footer/Footer.d.ts +1 -1
  95. package/footer/Footer.js +44 -64
  96. package/footer/Footer.stories.tsx +37 -16
  97. package/footer/Footer.test.js +16 -26
  98. package/footer/Icons.js +1 -1
  99. package/footer/types.d.ts +11 -12
  100. package/grid/Grid.d.ts +7 -0
  101. package/grid/Grid.js +91 -0
  102. package/grid/Grid.stories.tsx +219 -0
  103. package/grid/types.d.ts +115 -0
  104. package/header/Header.d.ts +4 -3
  105. package/header/Header.js +83 -110
  106. package/header/Header.stories.tsx +118 -39
  107. package/header/Header.test.js +2 -2
  108. package/header/Icons.js +2 -2
  109. package/header/types.d.ts +0 -13
  110. package/heading/Heading.js +1 -1
  111. package/heading/Heading.test.js +1 -1
  112. package/image/Image.d.ts +4 -0
  113. package/image/Image.js +85 -0
  114. package/image/Image.stories.tsx +127 -0
  115. package/image/types.d.ts +72 -0
  116. package/inset/Inset.stories.tsx +5 -4
  117. package/layout/ApplicationLayout.d.ts +15 -6
  118. package/layout/ApplicationLayout.js +44 -69
  119. package/layout/ApplicationLayout.stories.tsx +80 -44
  120. package/layout/types.d.ts +18 -29
  121. package/link/Link.js +4 -4
  122. package/link/Link.stories.tsx +73 -6
  123. package/link/Link.test.js +2 -4
  124. package/link/types.d.ts +3 -3
  125. package/main.d.ts +8 -9
  126. package/main.js +41 -49
  127. package/{tabs-nav → nav-tabs}/NavTabs.d.ts +2 -2
  128. package/{tabs-nav → nav-tabs}/NavTabs.js +13 -16
  129. package/{tabs-nav → nav-tabs}/NavTabs.stories.tsx +110 -6
  130. package/{tabs-nav → nav-tabs}/NavTabs.test.js +1 -1
  131. package/{tabs-nav → nav-tabs}/Tab.js +51 -37
  132. package/{tabs-nav → nav-tabs}/types.d.ts +9 -10
  133. package/number-input/NumberInput.d.ts +7 -0
  134. package/number-input/NumberInput.js +6 -4
  135. package/number-input/NumberInput.test.js +317 -98
  136. package/package.json +18 -22
  137. package/paginator/Icons.d.ts +5 -0
  138. package/paginator/Icons.js +16 -28
  139. package/paginator/Paginator.js +8 -16
  140. package/paginator/Paginator.stories.tsx +24 -0
  141. package/paginator/Paginator.test.js +91 -39
  142. package/paragraph/Paragraph.d.ts +5 -0
  143. package/paragraph/Paragraph.js +38 -0
  144. package/paragraph/Paragraph.stories.tsx +44 -0
  145. package/password-input/Icons.d.ts +6 -0
  146. package/password-input/Icons.js +39 -0
  147. package/password-input/PasswordInput.js +35 -82
  148. package/password-input/PasswordInput.stories.tsx +1 -0
  149. package/password-input/PasswordInput.test.js +34 -40
  150. package/progress-bar/ProgressBar.js +60 -54
  151. package/progress-bar/ProgressBar.stories.jsx +38 -3
  152. package/progress-bar/ProgressBar.test.js +68 -23
  153. package/quick-nav/QuickNav.js +23 -18
  154. package/quick-nav/QuickNav.stories.tsx +145 -26
  155. package/radio-group/Radio.d.ts +1 -1
  156. package/radio-group/Radio.js +46 -31
  157. package/radio-group/RadioGroup.js +31 -32
  158. package/radio-group/RadioGroup.stories.tsx +132 -18
  159. package/radio-group/RadioGroup.test.js +124 -97
  160. package/radio-group/types.d.ts +2 -2
  161. package/resultsetTable/Icons.d.ts +7 -0
  162. package/resultsetTable/Icons.js +51 -0
  163. package/resultsetTable/ResultsetTable.js +49 -108
  164. package/resultsetTable/ResultsetTable.stories.tsx +50 -25
  165. package/resultsetTable/ResultsetTable.test.js +61 -42
  166. package/resultsetTable/types.d.ts +1 -1
  167. package/select/Listbox.d.ts +1 -1
  168. package/select/Listbox.js +33 -16
  169. package/select/Option.js +11 -24
  170. package/select/Select.js +92 -71
  171. package/select/Select.stories.tsx +513 -136
  172. package/select/Select.test.js +413 -305
  173. package/select/types.d.ts +3 -6
  174. package/sidenav/Icons.d.ts +7 -0
  175. package/sidenav/Icons.js +51 -0
  176. package/sidenav/Sidenav.d.ts +6 -5
  177. package/sidenav/Sidenav.js +139 -48
  178. package/sidenav/Sidenav.stories.tsx +251 -151
  179. package/sidenav/Sidenav.test.js +25 -37
  180. package/sidenav/types.d.ts +52 -26
  181. package/slider/Slider.d.ts +2 -2
  182. package/slider/Slider.js +121 -97
  183. package/slider/Slider.stories.tsx +64 -1
  184. package/slider/Slider.test.js +122 -22
  185. package/slider/types.d.ts +4 -0
  186. package/spinner/Spinner.js +17 -23
  187. package/spinner/Spinner.stories.jsx +53 -27
  188. package/spinner/Spinner.test.js +1 -1
  189. package/switch/Switch.d.ts +2 -2
  190. package/switch/Switch.js +137 -70
  191. package/switch/Switch.stories.tsx +41 -30
  192. package/switch/Switch.test.js +145 -18
  193. package/switch/types.d.ts +4 -0
  194. package/table/Table.js +3 -3
  195. package/table/Table.stories.jsx +80 -1
  196. package/table/Table.test.js +2 -2
  197. package/tabs/Tab.d.ts +4 -0
  198. package/tabs/Tab.js +132 -0
  199. package/tabs/Tabs.js +358 -108
  200. package/tabs/Tabs.stories.tsx +119 -5
  201. package/tabs/Tabs.test.js +220 -10
  202. package/tabs/types.d.ts +13 -3
  203. package/tag/Tag.js +8 -10
  204. package/tag/Tag.stories.tsx +14 -1
  205. package/tag/Tag.test.js +1 -1
  206. package/tag/types.d.ts +1 -1
  207. package/text-input/Icons.d.ts +8 -0
  208. package/text-input/Icons.js +60 -0
  209. package/text-input/Suggestion.js +40 -11
  210. package/text-input/Suggestions.d.ts +4 -0
  211. package/text-input/Suggestions.js +134 -0
  212. package/text-input/TextInput.js +235 -348
  213. package/text-input/TextInput.stories.tsx +280 -185
  214. package/text-input/TextInput.test.js +736 -725
  215. package/text-input/types.d.ts +22 -3
  216. package/textarea/Textarea.js +3 -4
  217. package/textarea/Textarea.stories.jsx +60 -1
  218. package/textarea/Textarea.test.js +2 -4
  219. package/toggle-group/ToggleGroup.d.ts +2 -2
  220. package/toggle-group/ToggleGroup.js +85 -59
  221. package/toggle-group/ToggleGroup.stories.tsx +45 -0
  222. package/toggle-group/ToggleGroup.test.js +38 -24
  223. package/toggle-group/types.d.ts +23 -14
  224. package/typography/Typography.d.ts +4 -0
  225. package/typography/Typography.js +32 -0
  226. package/typography/Typography.stories.tsx +198 -0
  227. package/typography/types.d.ts +18 -0
  228. package/typography/types.js +5 -0
  229. package/useTheme.d.ts +1242 -1
  230. package/useTheme.js +1 -1
  231. package/useTranslatedLabels.d.ts +84 -1
  232. package/utils/BaseTypography.d.ts +21 -0
  233. package/utils/BaseTypography.js +108 -0
  234. package/utils/FocusLock.d.ts +13 -0
  235. package/utils/FocusLock.js +138 -0
  236. package/wizard/Wizard.js +10 -17
  237. package/wizard/Wizard.stories.tsx +40 -1
  238. package/wizard/Wizard.test.js +1 -1
  239. package/wizard/types.d.ts +3 -3
  240. package/card/ice-cream.jpg +0 -0
  241. package/common/RequiredComponent.js +0 -32
  242. package/list/List.d.ts +0 -4
  243. package/list/List.js +0 -47
  244. package/list/List.stories.tsx +0 -95
  245. package/list/types.d.ts +0 -7
  246. package/number-input/NumberInputContext.d.ts +0 -4
  247. package/number-input/NumberInputContext.js +0 -19
  248. package/number-input/numberInputContextTypes.d.ts +0 -19
  249. package/row/Row.d.ts +0 -3
  250. package/row/Row.js +0 -127
  251. package/row/Row.stories.tsx +0 -237
  252. package/row/types.d.ts +0 -28
  253. package/stack/Stack.d.ts +0 -3
  254. package/stack/Stack.js +0 -97
  255. package/stack/Stack.stories.tsx +0 -164
  256. package/stack/types.d.ts +0 -24
  257. package/text/Text.d.ts +0 -7
  258. package/text/Text.js +0 -30
  259. package/text/Text.stories.tsx +0 -19
  260. /package/{list → bulleted-list}/types.js +0 -0
  261. /package/{row → flex}/types.js +0 -0
  262. /package/{stack → grid}/types.js +0 -0
  263. /package/{tabs-nav → image}/types.js +0 -0
  264. /package/{tabs-nav → nav-tabs}/Tab.d.ts +0 -0
  265. /package/{number-input/numberInputContextTypes.js → nav-tabs/types.js} +0 -0
package/image/Image.js ADDED
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports["default"] = void 0;
11
+
12
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
13
+
14
+ var _react = _interopRequireDefault(require("react"));
15
+
16
+ var _styledComponents = _interopRequireWildcard(require("styled-components"));
17
+
18
+ var _useTheme = _interopRequireDefault(require("../useTheme"));
19
+
20
+ var _BaseTypography = _interopRequireDefault(require("../utils/BaseTypography"));
21
+
22
+ var _templateObject;
23
+
24
+ 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); }
25
+
26
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
27
+
28
+ var CaptionWrapper = function CaptionWrapper(_ref) {
29
+ var condition = _ref.condition,
30
+ wrapper = _ref.wrapper,
31
+ children = _ref.children;
32
+ return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, condition ? wrapper(children) : children);
33
+ };
34
+
35
+ var DxcImage = function DxcImage(_ref2) {
36
+ var alt = _ref2.alt,
37
+ caption = _ref2.caption,
38
+ _ref2$lazyLoading = _ref2.lazyLoading,
39
+ lazyLoading = _ref2$lazyLoading === void 0 ? false : _ref2$lazyLoading,
40
+ src = _ref2.src,
41
+ srcSet = _ref2.srcSet,
42
+ sizes = _ref2.sizes,
43
+ width = _ref2.width,
44
+ height = _ref2.height,
45
+ objectFit = _ref2.objectFit,
46
+ objectPosition = _ref2.objectPosition,
47
+ onLoad = _ref2.onLoad,
48
+ onError = _ref2.onError;
49
+ var colorsTheme = (0, _useTheme["default"])();
50
+ return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
51
+ theme: colorsTheme.image
52
+ }, /*#__PURE__*/_react["default"].createElement(CaptionWrapper, {
53
+ condition: caption != undefined,
54
+ wrapper: function wrapper(children) {
55
+ return /*#__PURE__*/_react["default"].createElement(Figure, null, children, /*#__PURE__*/_react["default"].createElement(_BaseTypography["default"], {
56
+ as: "figcaption",
57
+ color: colorsTheme.image.captionFontColor,
58
+ fontFamily: colorsTheme.image.captionFontFamily,
59
+ fontSize: colorsTheme.image.captionFontSize,
60
+ fontStyle: colorsTheme.image.captionFontStyle,
61
+ fontWeight: colorsTheme.image.captionFontWeight,
62
+ lineHeight: colorsTheme.image.captionLineHeight
63
+ }, caption));
64
+ }
65
+ }, /*#__PURE__*/_react["default"].createElement("img", {
66
+ alt: alt,
67
+ loading: lazyLoading ? "lazy" : undefined,
68
+ onLoad: onLoad,
69
+ onError: onError,
70
+ src: src,
71
+ srcSet: srcSet,
72
+ sizes: sizes,
73
+ style: {
74
+ objectFit: objectFit,
75
+ objectPosition: objectPosition,
76
+ width: width,
77
+ height: height
78
+ }
79
+ })));
80
+ };
81
+
82
+ var Figure = _styledComponents["default"].figure(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n gap: 1rem;\n width: fit-content;\n margin: 0;\n padding: 0;\n"])));
83
+
84
+ var _default = DxcImage;
85
+ exports["default"] = _default;
@@ -0,0 +1,127 @@
1
+ import React from "react";
2
+ import DxcImage from "./Image";
3
+ import Title from "../../.storybook/components/Title";
4
+ import ExampleContainer from "../../.storybook/components/ExampleContainer";
5
+ import { DxcFlex, DxcInset, DxcParagraph } from "../main";
6
+
7
+ export default {
8
+ title: "Image",
9
+ component: DxcImage,
10
+ };
11
+
12
+ export const Chromatic = () => (
13
+ <>
14
+ <Title title="Image component" theme="light" level={2} />
15
+ <ExampleContainer>
16
+ <Title title="Simple image" theme="light" level={4} />
17
+ <DxcImage
18
+ alt="Example image"
19
+ width="100%"
20
+ src="https://images.ctfassets.net/hrltx12pl8hq/5596z2BCR9KmT1KeRBrOQa/4070fd4e2f1a13f71c2c46afeb18e41c/shutterstock_451077043-hero1.jpg"
21
+ />
22
+ </ExampleContainer>
23
+ <ExampleContainer>
24
+ <Title title="Image with text" theme="light" level={4} />
25
+ <DxcParagraph>
26
+ Lorem ipsum dolor sit amet consectetur. Tincidunt sed pharetra mollis duis volutpat urna. Hendrerit aliquet et
27
+ arcu purus. Sodales elementum sollicitudin consequat elementum tortor. Lectus eget cursus ut ac pharetra
28
+ lobortis integer eu. Potenti amet ac id risus ac nunc orci nibh. Tempus vitae vitae aenean arcu. Nibh tristique
29
+ porta dui enim eget tristique rutrum. Quisque faucibus suscipit nibh est sed. Netus venenatis congue diam in dui
30
+ morbi dignissim lorem. Urna aliquet sem in tincidunt. Nunc arcu nec fringilla enim purus ut justo nisi. Vel mus
31
+ ut ornare faucibus blandit diam sit vestibulum massa. Semper nullam sit sagittis hendrerit augue. In fermentum
32
+ metus proin arcu faucibus proin nibh sit. Vel integer sed enim in sed vel nec ut vitae. Commodo sagittis
33
+ volutpat id lorem.
34
+ </DxcParagraph>
35
+ <DxcInset top="2rem" bottom="2rem">
36
+ <DxcImage
37
+ alt="Ratatouille is a great movie"
38
+ caption="Ratatouille with a smile on his face."
39
+ src="https://hips.hearstapps.com/es.h-cdn.co/fotoes/images/cinefilia/por-que-ratatouille-nos-sigue-enamorando-10-anos-despues/136444706-1-esl-ES/Por-que-Ratatouille-nos-sigue-enamorando-10-anos-despues.jpg"
40
+ />
41
+ </DxcInset>
42
+ <DxcParagraph>
43
+ Lorem ipsum dolor sit amet consectetur. Tincidunt sed pharetra mollis duis volutpat urna. Hendrerit aliquet et
44
+ arcu purus. Sodales elementum sollicitudin consequat elementum tortor. Lectus eget cursus ut ac pharetra
45
+ lobortis integer eu. Potenti amet ac id risus ac nunc orci nibh. Tempus vitae vitae aenean arcu. Nibh tristique
46
+ porta dui enim eget tristique rutrum. Quisque faucibus suscipit nibh est sed. Netus venenatis congue diam in dui
47
+ morbi dignissim lorem. Urna aliquet sem in tincidunt. Nunc arcu nec fringilla enim purus ut justo nisi. Vel mus
48
+ ut ornare faucibus blandit diam sit vestibulum massa. Semper nullam sit sagittis hendrerit augue. In fermentum
49
+ metus proin arcu faucibus proin nibh sit. Vel integer sed enim in sed vel nec ut vitae. Commodo sagittis
50
+ volutpat id lorem.
51
+ </DxcParagraph>
52
+ </ExampleContainer>
53
+ <ExampleContainer>
54
+ <Title title="Example image" theme="light" level={4} />
55
+ <DxcFlex gap="1rem">
56
+ <DxcImage
57
+ alt="Camera pic"
58
+ caption="Picture of a camera and the sunset."
59
+ width="500px"
60
+ src="https://assets.entrepreneur.com/content/3x2/2000/20191009140007-GettyImages-1053962188.jpeg"
61
+ />
62
+ <DxcParagraph>
63
+ Lorem ipsum dolor sit amet consectetur. Tincidunt sed pharetra mollis duis volutpat urna. Hendrerit aliquet et
64
+ arcu purus. Sodales elementum sollicitudin consequat elementum tortor. Lectus eget cursus ut ac pharetra
65
+ lobortis integer eu. Potenti amet ac id risus ac nunc orci nibh. Tempus vitae vitae aenean arcu. Nibh
66
+ tristique porta dui enim eget tristique rutrum. Quisque faucibus suscipit nibh est sed. Netus venenatis congue
67
+ diam in dui morbi dignissim lorem. Urna aliquet sem in tincidunt. Nunc arcu nec fringilla enim purus ut justo
68
+ nisi. Vel mus ut ornare faucibus blandit diam sit vestibulum massa. Semper nullam sit sagittis hendrerit
69
+ augue. In fermentum metus proin arcu faucibus proin nibh sit. Vel integer sed enim in sed vel nec ut vitae.
70
+ Commodo sagittis volutpat id lorem. Lorem ipsum dolor sit amet consectetur. Tincidunt sed pharetra mollis duis
71
+ volutpat urna. Hendrerit aliquet et arcu purus. Sodales elementum sollicitudin consequat elementum tortor.
72
+ Lectus eget cursus ut ac pharetra lobortis integer eu. Potenti amet ac id risus ac nunc orci nibh. Tempus
73
+ vitae vitae aenean arcu. Nibh tristique porta dui enim eget tristique rutrum. Quisque faucibus suscipit nibh
74
+ est sed. Netus venenatis congue diam in dui morbi dignissim lorem. Urna aliquet sem in tincidunt. Nunc arcu
75
+ nec fringilla enim purus ut justo nisi. Vel mus ut ornare faucibus blandit diam sit vestibulum massa. Semper
76
+ nullam sit sagittis hendrerit augue. In fermentum metus proin arcu faucibus proin nibh sit. Vel integer sed
77
+ enim in sed vel nec ut vitae. Commodo sagittis volutpat id lorem.
78
+ </DxcParagraph>
79
+ </DxcFlex>
80
+ </ExampleContainer>
81
+ <ExampleContainer>
82
+ <Title title="Object position" theme="light" level={4} />
83
+ <DxcImage
84
+ alt="Moon pic"
85
+ caption="Picture of the moon."
86
+ width="250px"
87
+ src="https://interactive-examples.mdn.mozilla.net/media/examples/moon.jpg"
88
+ objectPosition="right top"
89
+ objectFit="none"
90
+ />
91
+ </ExampleContainer>
92
+ <ExampleContainer>
93
+ <Title title="Object fit: contain" theme="light" level={4} />
94
+ <div style={{ display: "flex", width: "fit-content", border: "1px solid #000", padding: "0.5rem" }}>
95
+ <DxcImage
96
+ alt="Dog pic"
97
+ src="https://cc-prod.scene7.com/is/image/CCProdAuthor/What-is-Stock-Photography_P1_mobile?$pjpeg$&jpegSize=200&wid=720"
98
+ width="200px"
99
+ height="200px"
100
+ objectFit="contain"
101
+ caption="Pretty dog."
102
+ />
103
+ </div>
104
+ </ExampleContainer>
105
+ <ExampleContainer>
106
+ <Title title="Object fit: cover" theme="light" level={4} />
107
+ <div style={{ width: "75%", height: "300px" }}>
108
+ <DxcImage
109
+ alt="Spaceship pic"
110
+ src="https://media.istockphoto.com/id/1344443930/es/foto/lanzamiento-de-cohetes-del-transbordador-espacial-en-el-cielo-y-nubes-al-espacio-exterior.jpg?s=612x612&w=0&k=20&c=CO2A96GnnWvJsgZuj9WfYCVIBVzicnQDfnzwD1nomN0="
111
+ objectFit="cover"
112
+ width="50%"
113
+ height="100%"
114
+ objectPosition="0px 0px"
115
+ />
116
+ <DxcImage
117
+ alt="Spaceship pic"
118
+ src="https://media.istockphoto.com/id/1344443930/es/foto/lanzamiento-de-cohetes-del-transbordador-espacial-en-el-cielo-y-nubes-al-espacio-exterior.jpg?s=612x612&w=0&k=20&c=CO2A96GnnWvJsgZuj9WfYCVIBVzicnQDfnzwD1nomN0="
119
+ objectFit="cover"
120
+ width="50%"
121
+ height="100%"
122
+ objectPosition="0px 0px"
123
+ />
124
+ </div>
125
+ </ExampleContainer>
126
+ </>
127
+ );
@@ -0,0 +1,72 @@
1
+ /// <reference types="react" />
2
+ declare type Props = {
3
+ /**
4
+ * Alternative text description displayed when the specified image is not loaded.
5
+ *
6
+ * See MDN: https://developer.mozilla.org/en-US/docs/Web/API/HTMLImageElement/alt
7
+ * See W3C alt decision tree: https://www.w3.org/WAI/tutorials/images/decision-tree/
8
+ */
9
+ alt: string;
10
+ /**
11
+ * Image legend with a descriptive purpose. It is placed below the image and is complementary to the alt attribute,
12
+ * which is required regardless of the presence of the caption or not.
13
+ */
14
+ caption?: string;
15
+ /**
16
+ * If true, the image will be loaded only when it is visible on the screen (lazy loading).
17
+ * Otherwise and by default, the image will be loaded as soon as the component is mounted (eager loading).
18
+ */
19
+ lazyLoading?: boolean;
20
+ /**
21
+ * URL of the image. This prop is required and must be valid.
22
+ */
23
+ src: string;
24
+ /**
25
+ * List of one or more strings separated by commas indicating a set of possible images for the user agent to use.
26
+ *
27
+ * See MDN: https://developer.mozilla.org/en-US/docs/Web/API/HTMLImageElement/srcset
28
+ */
29
+ srcSet?: string;
30
+ /**
31
+ * One or more strings separated by commas, indicating a set of source sizes.
32
+ * If the srcSet attribute is absent or contains no values with a width descriptor,
33
+ * then this attribute has no effect.
34
+ *
35
+ * See MDN: https://developer.mozilla.org/en-US/docs/Web/API/HTMLImageElement/sizes
36
+ */
37
+ sizes?: string;
38
+ /**
39
+ * Sets the rendered width of the image.
40
+ */
41
+ width?: string;
42
+ /**
43
+ * Sets the rendered height of the image.
44
+ */
45
+ height?: string;
46
+ /**
47
+ * Sets the object-fit CSS property.
48
+ *
49
+ * See MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/object-fit
50
+ */
51
+ objectFit?: "contain" | "cover" | "fill" | "none" | "scale-down";
52
+ /**
53
+ * Sets the object-position CSS property.
54
+ *
55
+ * See MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/object-position
56
+ */
57
+ objectPosition?: string;
58
+ /**
59
+ * This function will be called when the image is loaded.
60
+ */
61
+ onLoad?: React.ReactEventHandler<HTMLImageElement>;
62
+ /**
63
+ * This function will be called when the image fails to load.
64
+ */
65
+ onError?: React.ReactEventHandler<HTMLImageElement>;
66
+ };
67
+ export declare type CaptionWrapperProps = {
68
+ condition: boolean;
69
+ wrapper: (children: React.ReactNode) => JSX.Element;
70
+ children: React.ReactNode;
71
+ };
72
+ export default Props;
@@ -1,7 +1,7 @@
1
1
  import React from "react";
2
2
  import Title from "../../.storybook/components/Title";
3
3
  import styled from "styled-components";
4
- import DxcStack from "./../stack/Stack";
4
+ import DxcFlex from "./../flex/Flex";
5
5
  import DxcInset from "./Inset";
6
6
 
7
7
  export default {
@@ -203,15 +203,15 @@ export const Chromatic = () => (
203
203
  <Placeholder></Placeholder>
204
204
  </DxcInset>
205
205
  </Container>
206
- <Title title="Inside a stack" level={4} />
206
+ <Title title="Inside a flex column" level={4} />
207
207
  <Container>
208
- <DxcStack gutter="medium" divider>
208
+ <DxcFlex direction="column" gap="1rem">
209
209
  <Placeholder></Placeholder>
210
210
  <DxcInset top="0.25rem" right="1.5rem" bottom="2rem" left="4rem">
211
211
  <Placeholder></Placeholder>
212
212
  </DxcInset>
213
213
  <Placeholder></Placeholder>
214
- </DxcStack>
214
+ </DxcFlex>
215
215
  </Container>
216
216
  </>
217
217
  );
@@ -225,5 +225,6 @@ const Placeholder = styled.div`
225
225
  min-height: 40px;
226
226
  min-width: 120px;
227
227
  border: 1px solid #a46ede;
228
+ border-radius: 0.5rem;
228
229
  background-color: #e5d5f6;
229
230
  `;
@@ -1,11 +1,20 @@
1
- /// <reference types="react" />
2
- import AppLayoutPropsType, { AppLayoutSidenavPropsType, AppLayoutFooterPropsType, AppLayoutMainPropsType, AppLayoutHeaderPropsType } from "./types";
1
+ import React from "react";
2
+ import AppLayoutPropsType, { AppLayoutMainPropsType } from "./types";
3
3
  declare const DxcApplicationLayout: {
4
- ({ visibilityToggleLabel, children }: AppLayoutPropsType): JSX.Element;
5
- Header: ({ children }: AppLayoutHeaderPropsType) => JSX.Element;
4
+ ({ visibilityToggleLabel, header, sidenav, footer, children, }: AppLayoutPropsType): JSX.Element;
5
+ Header: {
6
+ ({ underlined, content, responsiveContent, onClick, margin, tabIndex, }: import("../header/types").default): JSX.Element;
7
+ Dropdown: (props: import("../dropdown/types").default) => JSX.Element;
8
+ };
6
9
  Main: ({ children }: AppLayoutMainPropsType) => JSX.Element;
7
- Footer: ({ children }: AppLayoutFooterPropsType) => JSX.Element;
8
- SideNav: ({ ...childProps }: AppLayoutSidenavPropsType) => JSX.Element;
10
+ Footer: ({ socialLinks, bottomLinks, copyright, children, margin, tabIndex, }: import("../footer/types").default) => JSX.Element;
11
+ SideNav: {
12
+ ({ title, children }: import("../sidenav/types").default): JSX.Element;
13
+ Section: ({ children }: import("../sidenav/types").SidenavSectionPropsType) => JSX.Element;
14
+ Group: ({ title, collapsable, icon, children }: import("../sidenav/types").SidenavGroupPropsType) => JSX.Element;
15
+ Link: React.ForwardRefExoticComponent<import("../sidenav/types").SidenavLinkPropsType & React.RefAttributes<HTMLAnchorElement>>;
16
+ Title: ({ children }: import("../sidenav/types").SidenavTitlePropsType) => JSX.Element;
17
+ };
9
18
  useResponsiveSidenavVisibility: () => (isSidenavVisible: boolean) => void;
10
19
  };
11
20
  export default DxcApplicationLayout;
@@ -13,8 +13,6 @@ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/hel
13
13
 
14
14
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
15
15
 
16
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
17
-
18
16
  var _react = _interopRequireWildcard(require("react"));
19
17
 
20
18
  var _Header = _interopRequireDefault(require("../header/Header"));
@@ -25,17 +23,15 @@ var _Sidenav = _interopRequireDefault(require("../sidenav/Sidenav"));
25
23
 
26
24
  var _styledComponents = _interopRequireDefault(require("styled-components"));
27
25
 
28
- var _variables = require("../common/variables.js");
26
+ var _variables = require("../common/variables");
29
27
 
30
28
  var _Icons = require("./Icons");
31
29
 
32
- var _uuid = require("uuid");
33
-
34
30
  var _SidenavContext = require("./SidenavContext");
35
31
 
36
32
  var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
37
33
 
38
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9;
34
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8;
39
35
 
40
36
  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); }
41
37
 
@@ -43,24 +39,15 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
43
39
 
44
40
  var year = new Date().getFullYear();
45
41
 
46
- var Header = function Header(_ref) {
42
+ var Main = function Main(_ref) {
47
43
  var children = _ref.children;
48
44
  return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, children);
49
45
  };
50
46
 
51
- var Main = function Main(_ref2) {
52
- var children = _ref2.children;
53
- return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, children);
54
- };
55
-
56
- var Footer = function Footer(_ref3) {
57
- var children = _ref3.children;
58
- return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, children);
59
- };
60
-
61
- var Sidenav = function Sidenav(_ref4) {
62
- var childProps = (0, _extends2["default"])({}, _ref4);
63
- return /*#__PURE__*/_react["default"].createElement(_Sidenav["default"], childProps, childProps.children);
47
+ var defaultHeader = function defaultHeader() {
48
+ return /*#__PURE__*/_react["default"].createElement(_Header["default"], {
49
+ underlined: true
50
+ });
64
51
  };
65
52
 
66
53
  var defaultFooter = function defaultFooter() {
@@ -78,58 +65,51 @@ var defaultFooter = function defaultFooter() {
78
65
  }],
79
66
  socialLinks: [{
80
67
  href: "https://www.linkedin.com/company/dxctechnology",
81
- logo: _Icons.linkedinLogo
68
+ logo: _Icons.linkedinLogo,
69
+ title: "Linkedin"
82
70
  }, {
83
71
  href: "https://twitter.com/dxctechnology",
84
- logo: _Icons.twitterLogo
72
+ logo: _Icons.twitterLogo,
73
+ title: "Twitter"
85
74
  }, {
86
75
  href: "https://www.facebook.com/DXCTechnology/",
87
- logo: _Icons.facebookLogo
76
+ logo: _Icons.facebookLogo,
77
+ title: "Facebook"
88
78
  }]
89
79
  });
90
80
  };
91
81
 
92
- var defaultHeader = function defaultHeader() {
93
- return /*#__PURE__*/_react["default"].createElement(_Header["default"], {
94
- underlined: true
95
- });
96
- };
97
-
98
82
  var childTypeExists = function childTypeExists(children, childType) {
99
83
  return children.find(function (child) {
100
84
  return (child === null || child === void 0 ? void 0 : child.type) === childType;
101
85
  });
102
86
  };
103
87
 
104
- var DxcApplicationLayout = function DxcApplicationLayout(_ref5) {
105
- var _ref5$visibilityToggl = _ref5.visibilityToggleLabel,
106
- visibilityToggleLabel = _ref5$visibilityToggl === void 0 ? "" : _ref5$visibilityToggl,
107
- children = _ref5.children;
108
-
109
- var _useState = (0, _react.useState)("appLayout-".concat((0, _uuid.v4)())),
110
- _useState2 = (0, _slicedToArray2["default"])(_useState, 1),
111
- appLayoutId = _useState2[0];
88
+ var DxcApplicationLayout = function DxcApplicationLayout(_ref2) {
89
+ var _ref2$visibilityToggl = _ref2.visibilityToggleLabel,
90
+ visibilityToggleLabel = _ref2$visibilityToggl === void 0 ? "" : _ref2$visibilityToggl,
91
+ header = _ref2.header,
92
+ sidenav = _ref2.sidenav,
93
+ footer = _ref2.footer,
94
+ children = _ref2.children;
112
95
 
113
- var visibilityToggleLabelId = "label-".concat(appLayoutId);
96
+ var _useState = (0, _react.useState)(false),
97
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
98
+ isSidenavVisibleResponsive = _useState2[0],
99
+ setIsSidenavVisibleResponsive = _useState2[1];
114
100
 
115
101
  var _useState3 = (0, _react.useState)(false),
116
102
  _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
117
- isSidenavVisibleResponsive = _useState4[0],
118
- setIsSidenavVisibleResponsive = _useState4[1];
119
-
120
- var _useState5 = (0, _react.useState)(false),
121
- _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
122
- isResponsive = _useState6[0],
123
- setIsResponsive = _useState6[1];
103
+ isResponsive = _useState4[0],
104
+ setIsResponsive = _useState4[1];
124
105
 
125
106
  var ref = (0, _react.useRef)(null);
126
107
  var translatedLabels = (0, _useTranslatedLabels["default"])();
127
108
 
128
109
  var childrenArray = _react["default"].Children.toArray(children);
129
110
 
130
- var header = childTypeExists(childrenArray, _Header["default"]) || childTypeExists(childrenArray, Header) || defaultHeader();
131
- var footer = childTypeExists(childrenArray, _Footer["default"]) || childTypeExists(childrenArray, Footer) || defaultFooter();
132
- var sidenav = childTypeExists(childrenArray, Sidenav);
111
+ var headerContent = header || defaultHeader();
112
+ var footerContent = footer || defaultFooter();
133
113
  var main = childTypeExists(childrenArray, Main);
134
114
 
135
115
  var handleResize = function handleResize() {
@@ -142,58 +122,53 @@ var DxcApplicationLayout = function DxcApplicationLayout(_ref5) {
142
122
  });
143
123
  };
144
124
 
145
- (0, _react.useEffect)(function () {
125
+ (0, _react.useLayoutEffect)(function () {
146
126
  handleResize();
147
127
  window.addEventListener("resize", handleResize);
148
128
  return function () {
149
129
  window.removeEventListener("resize", handleResize);
150
130
  };
151
- }, [setIsResponsive]);
131
+ }, []);
152
132
  (0, _react.useEffect)(function () {
153
133
  !isResponsive && setIsSidenavVisibleResponsive(false);
154
- }, [isResponsive, setIsSidenavVisibleResponsive]);
134
+ }, [isResponsive]);
155
135
  return /*#__PURE__*/_react["default"].createElement(ApplicationLayoutContainer, {
156
136
  hasSidenav: sidenav ? true : false,
157
137
  isSidenavVisible: isSidenavVisibleResponsive,
158
138
  ref: ref
159
- }, /*#__PURE__*/_react["default"].createElement(HeaderContainer, null, header), sidenav && isResponsive && /*#__PURE__*/_react["default"].createElement(VisibilityToggle, null, /*#__PURE__*/_react["default"].createElement(HamburgerTrigger, {
139
+ }, /*#__PURE__*/_react["default"].createElement(HeaderContainer, null, headerContent), sidenav && isResponsive && /*#__PURE__*/_react["default"].createElement(VisibilityToggle, null, /*#__PURE__*/_react["default"].createElement(HamburgerTrigger, {
160
140
  onClick: handleSidenavVisibility,
161
- "aria-labelledby": visibilityToggleLabel ? visibilityToggleLabelId : undefined,
162
141
  "aria-label": visibilityToggleLabel ? undefined : translatedLabels.applicationLayout.visibilityToggleTitle,
163
142
  title: translatedLabels.applicationLayout.visibilityToggleTitle
164
- }, _Icons.hamburgerIcon), visibilityToggleLabel && /*#__PURE__*/_react["default"].createElement(VisibilityToggleLabel, {
165
- id: visibilityToggleLabelId
166
- }, visibilityToggleLabel)), /*#__PURE__*/_react["default"].createElement(BodyContainer, null, /*#__PURE__*/_react["default"].createElement(_SidenavContext.SidenavContextProvider, {
143
+ }, _Icons.hamburgerIcon, visibilityToggleLabel)), /*#__PURE__*/_react["default"].createElement(BodyContainer, null, /*#__PURE__*/_react["default"].createElement(_SidenavContext.SidenavContextProvider, {
167
144
  value: setIsSidenavVisibleResponsive
168
- }, sidenav && (isResponsive ? isSidenavVisibleResponsive : true) && /*#__PURE__*/_react["default"].createElement(SidenavContainer, null, sidenav)), /*#__PURE__*/_react["default"].createElement(MainContainer, null, /*#__PURE__*/_react["default"].createElement(MainContentContainer, null, main), footer)));
145
+ }, sidenav && (isResponsive ? isSidenavVisibleResponsive : true) && /*#__PURE__*/_react["default"].createElement(SidenavContainer, null, sidenav)), /*#__PURE__*/_react["default"].createElement(MainContainer, null, /*#__PURE__*/_react["default"].createElement(MainContentContainer, null, main), footerContent)));
169
146
  };
170
147
 
171
148
  var ApplicationLayoutContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n position: absolute;\n top: 64px;\n bottom: 0;\n left: 0;\n right: 0;\n display: flex;\n flex-direction: column;\n\n @media (max-width: ", "rem) {\n ", ";\n ", "\n }\n"])), _variables.responsiveSizes.medium, function (props) {
172
- return props.hasSidenav && "top: 112px";
149
+ return props.hasSidenav && "top: 116px";
173
150
  }, function (props) {
174
151
  return props.isSidenavVisible && "overflow: hidden;";
175
152
  });
176
153
 
177
154
  var HeaderContainer = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n z-index: 3;\n"])));
178
155
 
179
- var VisibilityToggle = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n position: fixed;\n top: 64px;\n left: 0;\n right: 0;\n box-sizing: border-box;\n display: flex;\n align-items: center;\n padding: 12px 16px;\n gap: 10px;\n width: 100%;\n background-color: #f2f2f2;\n user-select: none;\n z-index: 2;\n"])));
180
-
181
- var HamburgerTrigger = _styledComponents["default"].button(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n border: 0px solid transparent;\n border-radius: 2px;\n padding: 3px;\n background-color: transparent;\n box-shadow: 0 0 0 2px transparent;\n cursor: pointer;\n\n :hover {\n background-color: #e6e6e6;\n }\n :active {\n background-color: #cccccc;\n }\n :focus,\n :focus-visible {\n outline: none;\n box-shadow: 0 0 0 2px #0095ff;\n }\n & > svg {\n height: 20px;\n width: 20px;\n }\n"])));
156
+ var VisibilityToggle = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n position: fixed;\n top: 64px;\n left: 0;\n right: 0;\n box-sizing: border-box;\n display: flex;\n align-items: center;\n padding: 4px 16px;\n width: 100%;\n background-color: #f2f2f2;\n user-select: none;\n z-index: 2;\n"])));
182
157
 
183
- var VisibilityToggleLabel = _styledComponents["default"].span(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n font-family: Open Sans, sans-serif;\n font-weight: 600;\n font-size: 14px;\n"])));
158
+ var HamburgerTrigger = _styledComponents["default"].button(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n gap: 10px;\n border: 0px solid transparent;\n border-radius: 2px;\n padding: 12px 4px;\n background-color: transparent;\n box-shadow: 0 0 0 2px transparent;\n font-family: Open Sans, sans-serif;\n font-weight: 600;\n font-size: 14px;\n color: #000;\n cursor: pointer;\n :active {\n background-color: #cccccc;\n }\n :focus,\n :focus-visible {\n outline: none;\n box-shadow: 0 0 0 2px #0095ff;\n }\n & > svg {\n height: 20px;\n width: 20px;\n }\n"])));
184
159
 
185
- var BodyContainer = _styledComponents["default"].div(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: row;\n flex: 1;\n"])));
160
+ var BodyContainer = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: row;\n flex: 1;\n"])));
186
161
 
187
- var SidenavContainer = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n position: sticky;\n top: 64px;\n display: flex;\n height: calc(100vh - 64px);\n z-index: 1;\n\n @media (max-width: ", "rem) {\n position: fixed;\n top: 112px;\n }\n"])), _variables.responsiveSizes.medium);
162
+ var SidenavContainer = _styledComponents["default"].div(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n position: sticky;\n top: 64px;\n display: flex;\n height: calc(100vh - 64px);\n z-index: 1;\n\n @media (max-width: ", "rem) {\n position: absolute;\n top: 0px;\n height: 100%;\n }\n"])), _variables.responsiveSizes.medium);
188
163
 
189
- var MainContainer = _styledComponents["default"].div(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n width: 100%;\n"])));
164
+ var MainContainer = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n width: 100%;\n"])));
190
165
 
191
- var MainContentContainer = _styledComponents["default"].div(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n flex: 1;\n"])));
166
+ var MainContentContainer = _styledComponents["default"].main(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n flex: 1;\n background-color: #fff;\n"])));
192
167
 
193
- DxcApplicationLayout.Header = Header;
168
+ DxcApplicationLayout.Header = _Header["default"];
194
169
  DxcApplicationLayout.Main = Main;
195
- DxcApplicationLayout.Footer = Footer;
196
- DxcApplicationLayout.SideNav = Sidenav;
170
+ DxcApplicationLayout.Footer = _Footer["default"];
171
+ DxcApplicationLayout.SideNav = _Sidenav["default"];
197
172
  DxcApplicationLayout.useResponsiveSidenavVisibility = _SidenavContext.useResponsiveSidenavVisibility;
198
173
  var _default = DxcApplicationLayout;
199
174
  exports["default"] = _default;