@dxc-technology/halstack-react 8.0.0 → 9.0.1

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 (163) hide show
  1. package/BackgroundColorContext.d.ts +2 -2
  2. package/BackgroundColorContext.js +1 -1
  3. package/HalstackContext.d.ts +1329 -5
  4. package/HalstackContext.js +114 -73
  5. package/accordion/Accordion.js +13 -24
  6. package/accordion/Accordion.stories.tsx +102 -13
  7. package/accordion/Accordion.test.js +1 -1
  8. package/accordion/types.d.ts +3 -3
  9. package/accordion-group/AccordionGroup.js +2 -2
  10. package/accordion-group/AccordionGroup.test.js +1 -1
  11. package/accordion-group/types.d.ts +2 -2
  12. package/alert/Alert.js +3 -5
  13. package/alert/Alert.stories.tsx +28 -0
  14. package/alert/Alert.test.js +1 -1
  15. package/box/Box.js +3 -5
  16. package/box/Box.stories.tsx +15 -0
  17. package/box/Box.test.js +1 -1
  18. package/button/Button.js +13 -15
  19. package/button/Button.stories.tsx +150 -8
  20. package/button/Button.test.js +1 -1
  21. package/button/types.d.ts +3 -3
  22. package/card/Card.js +12 -13
  23. package/card/Card.stories.tsx +12 -13
  24. package/card/Card.test.js +1 -1
  25. package/checkbox/Checkbox.js +3 -3
  26. package/checkbox/Checkbox.stories.tsx +52 -0
  27. package/checkbox/Checkbox.test.js +1 -1
  28. package/checkbox/types.d.ts +2 -2
  29. package/chip/Chip.js +18 -26
  30. package/chip/Chip.stories.tsx +96 -9
  31. package/chip/Chip.test.js +3 -5
  32. package/common/utils.d.ts +1 -0
  33. package/common/utils.js +4 -4
  34. package/common/variables.d.ts +1625 -0
  35. package/common/variables.js +280 -288
  36. package/date-input/Calendar.d.ts +1 -1
  37. package/date-input/Calendar.js +43 -43
  38. package/date-input/DateInput.js +74 -32
  39. package/date-input/DateInput.stories.tsx +183 -30
  40. package/date-input/DateInput.test.js +120 -37
  41. package/date-input/DatePicker.js +38 -52
  42. package/date-input/Icons.d.ts +6 -0
  43. package/date-input/Icons.js +75 -0
  44. package/date-input/YearPicker.d.ts +1 -1
  45. package/date-input/YearPicker.js +23 -12
  46. package/date-input/types.d.ts +6 -8
  47. package/dialog/Dialog.js +61 -74
  48. package/dialog/Dialog.stories.tsx +211 -159
  49. package/dialog/Dialog.test.js +302 -3
  50. package/dialog/types.d.ts +2 -2
  51. package/dropdown/Dropdown.js +5 -8
  52. package/dropdown/Dropdown.stories.tsx +210 -84
  53. package/dropdown/Dropdown.test.js +3 -2
  54. package/dropdown/DropdownMenu.js +8 -18
  55. package/dropdown/DropdownMenuItem.js +4 -17
  56. package/dropdown/types.d.ts +3 -3
  57. package/file-input/FileInput.js +4 -8
  58. package/file-input/FileInput.stories.tsx +85 -2
  59. package/file-input/FileInput.test.js +1 -42
  60. package/file-input/FileItem.js +1 -0
  61. package/footer/Footer.js +6 -8
  62. package/footer/Footer.stories.tsx +91 -0
  63. package/footer/Footer.test.js +14 -26
  64. package/header/Header.d.ts +3 -2
  65. package/header/Header.js +21 -23
  66. package/header/Header.stories.tsx +149 -6
  67. package/header/Header.test.js +2 -2
  68. package/header/types.d.ts +2 -2
  69. package/heading/Heading.js +1 -1
  70. package/heading/Heading.test.js +1 -1
  71. package/layout/ApplicationLayout.d.ts +1 -1
  72. package/layout/ApplicationLayout.js +1 -1
  73. package/link/Link.js +2 -2
  74. package/link/Link.stories.tsx +60 -0
  75. package/link/Link.test.js +2 -4
  76. package/link/types.d.ts +2 -2
  77. package/main.d.ts +1 -1
  78. package/main.js +1 -1
  79. package/{tabs-nav → nav-tabs}/NavTabs.js +1 -1
  80. package/{tabs-nav → nav-tabs}/NavTabs.stories.tsx +96 -6
  81. package/{tabs-nav → nav-tabs}/NavTabs.test.js +1 -1
  82. package/{tabs-nav → nav-tabs}/Tab.js +37 -17
  83. package/number-input/NumberInput.test.js +1 -1
  84. package/package.json +2 -2
  85. package/paginator/Icons.d.ts +5 -0
  86. package/paginator/Icons.js +16 -28
  87. package/paginator/Paginator.js +6 -14
  88. package/paginator/Paginator.stories.tsx +24 -0
  89. package/paginator/Paginator.test.js +44 -47
  90. package/paragraph/Paragraph.d.ts +3 -4
  91. package/paragraph/Paragraph.js +5 -5
  92. package/password-input/PasswordInput.test.js +1 -1
  93. package/progress-bar/ProgressBar.d.ts +2 -2
  94. package/progress-bar/ProgressBar.js +5 -5
  95. package/progress-bar/ProgressBar.stories.jsx +35 -2
  96. package/progress-bar/ProgressBar.test.js +1 -1
  97. package/progress-bar/types.d.ts +4 -3
  98. package/quick-nav/QuickNav.stories.tsx +14 -0
  99. package/radio-group/RadioGroup.stories.tsx +131 -18
  100. package/radio-group/RadioGroup.test.js +1 -1
  101. package/resultsetTable/ResultsetTable.js +2 -2
  102. package/resultsetTable/ResultsetTable.test.js +18 -23
  103. package/resultsetTable/types.d.ts +3 -3
  104. package/select/Listbox.d.ts +1 -1
  105. package/select/Listbox.js +5 -34
  106. package/select/Option.js +11 -24
  107. package/select/Select.js +56 -35
  108. package/select/Select.stories.tsx +492 -145
  109. package/select/Select.test.js +76 -81
  110. package/select/types.d.ts +2 -2
  111. package/sidenav/Sidenav.js +9 -11
  112. package/sidenav/Sidenav.stories.tsx +148 -46
  113. package/slider/Slider.js +6 -7
  114. package/slider/Slider.stories.tsx +57 -0
  115. package/slider/Slider.test.js +1 -1
  116. package/slider/types.d.ts +2 -2
  117. package/spinner/Spinner.js +17 -23
  118. package/spinner/Spinner.stories.jsx +53 -27
  119. package/spinner/Spinner.test.js +1 -1
  120. package/switch/Switch.js +3 -3
  121. package/switch/Switch.stories.tsx +33 -0
  122. package/switch/Switch.test.js +1 -1
  123. package/switch/types.d.ts +2 -2
  124. package/table/Table.js +2 -2
  125. package/table/Table.stories.jsx +80 -1
  126. package/table/Table.test.js +1 -1
  127. package/tabs/Tab.js +12 -14
  128. package/tabs/Tabs.js +4 -6
  129. package/tabs/Tabs.stories.tsx +45 -5
  130. package/tabs/Tabs.test.js +4 -5
  131. package/tabs/types.d.ts +2 -2
  132. package/tag/Tag.js +7 -9
  133. package/tag/Tag.stories.tsx +14 -1
  134. package/tag/Tag.test.js +1 -1
  135. package/text-input/Suggestion.js +34 -7
  136. package/text-input/TextInput.js +10 -14
  137. package/text-input/TextInput.stories.tsx +92 -4
  138. package/text-input/TextInput.test.js +125 -26
  139. package/textarea/Textarea.js +3 -3
  140. package/textarea/Textarea.stories.jsx +60 -1
  141. package/textarea/Textarea.test.js +1 -1
  142. package/toggle-group/ToggleGroup.js +7 -4
  143. package/toggle-group/ToggleGroup.stories.tsx +42 -0
  144. package/toggle-group/ToggleGroup.test.js +1 -1
  145. package/toggle-group/types.d.ts +1 -1
  146. package/typography/Typography.d.ts +2 -2
  147. package/typography/Typography.js +14 -113
  148. package/typography/Typography.stories.tsx +1 -1
  149. package/useTheme.d.ts +1234 -1
  150. package/useTheme.js +1 -1
  151. package/useTranslatedLabels.d.ts +84 -1
  152. package/utils/BaseTypography.d.ts +21 -0
  153. package/utils/BaseTypography.js +108 -0
  154. package/utils/FocusLock.d.ts +13 -0
  155. package/utils/FocusLock.js +139 -0
  156. package/wizard/Wizard.js +2 -2
  157. package/wizard/Wizard.stories.tsx +20 -0
  158. package/wizard/Wizard.test.js +1 -1
  159. package/wizard/types.d.ts +5 -6
  160. /package/{tabs-nav → nav-tabs}/NavTabs.d.ts +0 -0
  161. /package/{tabs-nav → nav-tabs}/Tab.d.ts +0 -0
  162. /package/{tabs-nav → nav-tabs}/types.d.ts +0 -0
  163. /package/{tabs-nav → nav-tabs}/types.js +0 -0
@@ -3,13 +3,14 @@ import DxcFileInput from "./FileInput";
3
3
  import Title from "../../.storybook/components/Title";
4
4
  import ExampleContainer from "../../.storybook/components/ExampleContainer";
5
5
  import FileItem from "./FileItem";
6
+ import { HalstackProvider } from "../HalstackContext";
6
7
 
7
8
  export default {
8
9
  title: "File input",
9
10
  component: DxcFileInput,
10
11
  };
11
12
 
12
- const picPreview = "https://cdn.mos.cms.futurecdn.net/CAZ6JXi6huSuN4QGE627NR.jpg"
13
+ const picPreview = "https://cdn.mos.cms.futurecdn.net/CAZ6JXi6huSuN4QGE627NR.jpg";
13
14
 
14
15
  const file1 = new File(["file1"], "file.pdf", { type: "text/plain" });
15
16
  const file2 = new File(["file2"], "file2.mp3", {
@@ -63,6 +64,12 @@ const filesExamples = [
63
64
  },
64
65
  ];
65
66
 
67
+ const opinionatedTheme = {
68
+ fileInput: {
69
+ fontColor: "#000000",
70
+ },
71
+ };
72
+
66
73
  export const Chromatic = () => (
67
74
  <>
68
75
  <Title title="File item states" theme="light" level={2} />
@@ -529,7 +536,83 @@ export const Chromatic = () => (
529
536
  mode="dropzone"
530
537
  margin="xxlarge"
531
538
  />
532
- <hr />
539
+ </ExampleContainer>
540
+ <Title title="Opinionated theme" theme="light" level={2} />
541
+ <ExampleContainer>
542
+ <HalstackProvider theme={opinionatedTheme}>
543
+ <Title title="Single file" theme="light" level={4} />
544
+ <DxcFileInput
545
+ label="File input"
546
+ helperText="Please select files"
547
+ value={fileExample}
548
+ multiple={false}
549
+ callbackFile={() => {}}
550
+ />
551
+ </HalstackProvider>
552
+ </ExampleContainer>
553
+ <ExampleContainer>
554
+ <HalstackProvider theme={opinionatedTheme}>
555
+ <Title title="Invalid single file" theme="light" level={4} />
556
+ <DxcFileInput
557
+ label="File input"
558
+ helperText="Please select files"
559
+ value={fileExampleError}
560
+ multiple={false}
561
+ callbackFile={() => {}}
562
+ />
563
+ </HalstackProvider>
564
+ </ExampleContainer>
565
+ <ExampleContainer>
566
+ <Title title="Single file" theme="light" level={4} />
567
+ <HalstackProvider theme={opinionatedTheme}>
568
+ <DxcFileInput
569
+ mode="filedrop"
570
+ label="File input"
571
+ helperText="Please select files"
572
+ value={fileExample}
573
+ multiple={false}
574
+ callbackFile={() => {}}
575
+ />
576
+ </HalstackProvider>
577
+ </ExampleContainer>
578
+ <ExampleContainer>
579
+ <Title title="Invalid single file" theme="light" level={4} />
580
+ <HalstackProvider theme={opinionatedTheme}>
581
+ <DxcFileInput
582
+ mode="filedrop"
583
+ label="File input"
584
+ helperText="Please select files"
585
+ value={fileExampleError}
586
+ multiple={false}
587
+ callbackFile={() => {}}
588
+ />
589
+ </HalstackProvider>
590
+ </ExampleContainer>
591
+ <ExampleContainer>
592
+ <Title title="Single file" theme="light" level={4} />
593
+ <HalstackProvider theme={opinionatedTheme}>
594
+ <DxcFileInput
595
+ label="File input"
596
+ helperText="Please select files"
597
+ mode="dropzone"
598
+ value={fileExample}
599
+ callbackFile={() => {}}
600
+ multiple={false}
601
+ />
602
+ </HalstackProvider>
603
+ </ExampleContainer>
604
+ <ExampleContainer>
605
+ <Title title="Invalid single file" theme="light" level={4} />{" "}
606
+ <HalstackProvider theme={opinionatedTheme}>
607
+ <DxcFileInput
608
+ label="File input"
609
+ helperText="Please select files"
610
+ mode="dropzone"
611
+ value={fileExampleError}
612
+ callbackFile={() => {}}
613
+ multiple={false}
614
+ />
615
+ </HalstackProvider>
533
616
  </ExampleContainer>
534
617
  </>
535
618
  );
@@ -12,7 +12,7 @@ var _react2 = require("@testing-library/react");
12
12
 
13
13
  var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
14
14
 
15
- var _FileInput = _interopRequireDefault(require("./FileInput"));
15
+ var _FileInput = _interopRequireDefault(require("./FileInput.tsx"));
16
16
 
17
17
  var file1 = new File(["file1"], "file1.png", {
18
18
  type: "image/png"
@@ -454,45 +454,4 @@ describe("FileInput component tests", function () {
454
454
  }
455
455
  }, _callee6);
456
456
  })));
457
- test("File input sends value when submitted in a form", function () {
458
- var newFile = new File(["newFile"], "newFile.pdf", {
459
- type: "pdf"
460
- });
461
- var handlerOnSubmit = jest.fn(function (e) {
462
- e.preventDefault();
463
- var formData = new FormData(e.target);
464
- var formProps = Object.fromEntries(formData);
465
- expect(formProps).toStrictEqual({
466
- file: newFile
467
- });
468
- });
469
-
470
- var _render17 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement("form", {
471
- onSubmit: handlerOnSubmit
472
- }, /*#__PURE__*/_react["default"].createElement(_FileInput["default"], {
473
- label: "File input label",
474
- name: "file",
475
- helperText: "File input helper text",
476
- mode: "filedrop",
477
- buttonLabel: "Choose",
478
- dropAreaLabel: "(or drop the files)"
479
- }), /*#__PURE__*/_react["default"].createElement("button", {
480
- type: "submit"
481
- }, "Submit"))),
482
- getByText = _render17.getByText,
483
- getByLabelText = _render17.getByLabelText;
484
-
485
- var inputFile = getByLabelText("File input label", {
486
- hidden: true
487
- });
488
- var submit = getByText("Submit");
489
-
490
- _react2.fireEvent.change(inputFile, {
491
- target: {
492
- files: [newFile]
493
- }
494
- });
495
-
496
- _userEvent["default"].click(submit);
497
- });
498
457
  });
@@ -86,6 +86,7 @@ var FileItem = function FileItem(_ref) {
86
86
  onClick: function onClick() {
87
87
  onDelete(fileName);
88
88
  },
89
+ type: "button",
89
90
  title: translatedLabels.fileInput.deleteFileActionTitle,
90
91
  "aria-label": translatedLabels.fileInput.deleteFileActionTitle,
91
92
  tabIndex: tabIndex
package/footer/Footer.js CHANGED
@@ -17,7 +17,7 @@ var _react = _interopRequireWildcard(require("react"));
17
17
 
18
18
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
19
19
 
20
- var _variables = require("../common/variables.js");
20
+ var _variables = require("../common/variables");
21
21
 
22
22
  var _useTheme = _interopRequireDefault(require("../useTheme"));
23
23
 
@@ -74,9 +74,7 @@ var DxcFooter = function DxcFooter(_ref) {
74
74
  }, /*#__PURE__*/_react["default"].createElement(BottomLink, {
75
75
  tabIndex: tabIndex,
76
76
  href: link && link.href ? link.href : ""
77
- }, link && link.text ? link.text : ""), /*#__PURE__*/_react["default"].createElement(Point, {
78
- index: index
79
- }, "\xB7"));
77
+ }, link && link.text ? link.text : ""), /*#__PURE__*/_react["default"].createElement(Point, null, "\xB7"));
80
78
  });
81
79
  return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
82
80
  theme: colorsTheme.footer
@@ -91,7 +89,7 @@ var DxcFooter = function DxcFooter(_ref) {
91
89
  }, /*#__PURE__*/_react["default"].createElement(BottomLinks, null, bottomLink), /*#__PURE__*/_react["default"].createElement(Copyright, null, copyright || translatedLabels.footer.copyrightText(new Date().getFullYear()))))));
92
90
  };
93
91
 
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) {
92
+ 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 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) {
95
93
  return props.theme.backgroundColor;
96
94
  }, function (props) {
97
95
  return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
@@ -101,11 +99,11 @@ var FooterContainer = _styledComponents["default"].footer(_templateObject || (_t
101
99
 
102
100
  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"])));
103
101
 
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) {
102
+ 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 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) {
105
103
  return "".concat(props.theme.bottomLinksDividerThickness, " ").concat(props.theme.bottomLinksDividerStyle, " ").concat(props.theme.bottomLinksDividerColor);
106
104
  });
107
105
 
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) {
106
+ 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 max-width: 100%;\n width: 100%;\n }\n\n & > span:last-child span {\n display: none;\n }\n align-self: center;\n"])), function (props) {
109
107
  return props.theme.bottomLinksDividerSpacing;
110
108
  }, _variables.responsiveSizes.small, _variables.responsiveSizes.small);
111
109
 
@@ -121,7 +119,7 @@ var ChildComponents = _styledComponents["default"].div(_templateObject5 || (_tem
121
119
  return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.left ? _variables.spaces[props.padding.left] : "";
122
120
  });
123
121
 
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) {
122
+ 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 max-width: 100%;\n width: 100%;\n text-align: left;\n }\n\n padding-top: ", ";\n"])), function (props) {
125
123
  return props.theme.copyrightFontFamily;
126
124
  }, function (props) {
127
125
  return props.theme.copyrightFontSize;
@@ -2,6 +2,7 @@ import React from "react";
2
2
  import DxcFooter from "./Footer";
3
3
  import Title from "../../.storybook/components/Title";
4
4
  import ExampleContainer from "../../.storybook/components/ExampleContainer";
5
+ import { HalstackProvider } from "../HalstackContext";
5
6
 
6
7
  const social = [
7
8
  {
@@ -85,6 +86,86 @@ export default {
85
86
  component: DxcFooter,
86
87
  };
87
88
 
89
+ const opinionatedTheme = {
90
+ footer: {
91
+ baseColor: "#000000",
92
+ fontColor: "#ffffff",
93
+ accentColor: "#0095ff",
94
+ logo: (
95
+ <svg id="g10" xmlns="http://www.w3.org/2000/svg" width="280.781" height="32" viewBox="0 0 280.781 32">
96
+ <g id="g12">
97
+ <path
98
+ id="path14"
99
+ d="M171.5-54.124v12.539h-3.6V-54.124h-4.973v-3.191h13.54v3.191H171.5"
100
+ transform="translate(-68.528 65.45)"
101
+ fill="#fff"
102
+ />
103
+ <path
104
+ id="path16"
105
+ d="M189.96-41.585V-57.315h12.326v3.079h-8.753v3.191h7.7v3.078h-7.7v3.3h8.87v3.078H189.96"
106
+ transform="translate(-77.56 65.45)"
107
+ fill="#fff"
108
+ />
109
+ <path
110
+ id="path18"
111
+ d="M223.558-41.438a8.1,8.1,0,0,1-8.382-8.1v-.045a8.161,8.161,0,0,1,8.522-8.146,8.6,8.6,0,0,1,6.444,2.431l-2.289,2.543a6.133,6.133,0,0,0-4.178-1.778,4.743,4.743,0,0,0-4.738,4.905v.045a4.752,4.752,0,0,0,4.738,4.95,6,6,0,0,0,4.295-1.845l2.288,2.228a8.491,8.491,0,0,1-6.7,2.813"
112
+ transform="translate(-86.019 65.583)"
113
+ fill="#fff"
114
+ />
115
+ <path
116
+ id="path20"
117
+ d="M254.988-41.585V-47.9h-6.63v6.315h-3.6V-57.315h3.6v6.225h6.63v-6.225h3.594v15.731h-3.594"
118
+ transform="translate(-95.903 65.45)"
119
+ fill="#fff"
120
+ />
121
+ <path
122
+ id="path22"
123
+ d="M285.991-41.585l-7.914-10v10h-3.549V-57.315h3.316l7.657,9.685v-9.685h3.549v15.731h-3.058"
124
+ transform="translate(-105.869 65.45)"
125
+ fill="#fff"
126
+ />
127
+ <path
128
+ id="path24"
129
+ d="M317.2-49.583a4.869,4.869,0,0,0-4.949-4.95,4.793,4.793,0,0,0-4.9,4.905v.045a4.869,4.869,0,0,0,4.949,4.95,4.793,4.793,0,0,0,4.9-4.905Zm-4.949,8.145c-5.043,0-8.661-3.623-8.661-8.1v-.045c0-4.478,3.666-8.146,8.708-8.146s8.66,3.623,8.66,8.1v.045c0,4.477-3.664,8.145-8.708,8.145"
130
+ transform="translate(-115.631 65.583)"
131
+ fill="#fff"
132
+ />
133
+ <path
134
+ id="path26"
135
+ d="M336.786-41.585V-57.315h3.6v12.584h8.148v3.146H336.786"
136
+ transform="translate(-126.654 65.45)"
137
+ fill="#fff"
138
+ />
139
+ <path
140
+ id="path28"
141
+ d="M372.78-49.583a4.87,4.87,0,0,0-4.949-4.95,4.794,4.794,0,0,0-4.9,4.905v.045a4.869,4.869,0,0,0,4.949,4.95,4.794,4.794,0,0,0,4.9-4.905Zm-4.949,8.145c-5.043,0-8.662-3.623-8.662-8.1v-.045c0-4.478,3.666-8.146,8.708-8.146s8.661,3.623,8.661,8.1v.045c0,4.477-3.666,8.145-8.708,8.145"
142
+ transform="translate(-135.016 65.583)"
143
+ fill="#fff"
144
+ />
145
+ <path
146
+ id="path30"
147
+ d="M399.735-41.438c-5.09,0-8.592-3.443-8.592-8.1v-.045a8.243,8.243,0,0,1,8.568-8.146,9.18,9.18,0,0,1,6.42,2.16l-2.265,2.634a6.141,6.141,0,0,0-4.272-1.6,4.807,4.807,0,0,0-4.692,4.905v.045a4.8,4.8,0,0,0,4.949,4.995,5.89,5.89,0,0,0,3.384-.945v-2.25h-3.618v-2.992h7.1v6.841a10.837,10.837,0,0,1-6.98,2.5"
148
+ transform="translate(-145.284 65.583)"
149
+ fill="#fff"
150
+ />
151
+ <path
152
+ id="path32"
153
+ d="M428.664-47.855v6.27h-3.6v-6.2l-6.28-9.528h4.2L426.89-51l3.968-6.315h4.085l-6.28,9.46"
154
+ transform="translate(-154.162 65.45)"
155
+ fill="#fff"
156
+ />
157
+ <path
158
+ id="path34"
159
+ d="M84.218-55.737a10.063,10.063,0,0,1,2.589-4.4,9.792,9.792,0,0,1,6.985-2.77h11.328V-69.3H93.792a17.041,17.041,0,0,0-11.8,4.759,16.344,16.344,0,0,0-3.547,5.115,13.247,13.247,0,0,0-1.122,3.688Zm0,4.877a10.065,10.065,0,0,0,2.589,4.4,9.793,9.793,0,0,0,6.985,2.77h11.328V-37.3H93.792a17.042,17.042,0,0,1-11.8-4.759,16.339,16.339,0,0,1-3.547-5.114,13.251,13.251,0,0,1-1.122-3.688ZM63.1-47.98,54.45-37.3H45.873l12.957-16-12.957-16H54.45L63.1-58.619l8.65-10.68h8.578l-12.957,16,12.957,16H71.749ZM48.875-55.737a13.212,13.212,0,0,0-1.122-3.688,16.359,16.359,0,0,0-3.546-5.115,17.043,17.043,0,0,0-11.8-4.759H21.08v6.393H32.408a9.79,9.79,0,0,1,6.985,2.77,10.072,10.072,0,0,1,2.59,4.4Zm0,4.877a13.215,13.215,0,0,1-1.122,3.688,16.353,16.353,0,0,1-3.546,5.114,17.044,17.044,0,0,1-11.8,4.759H21.08v-6.393H32.408a9.791,9.791,0,0,0,6.985-2.77,10.074,10.074,0,0,0,2.59-4.4h6.892"
160
+ transform="translate(-21.08 69.298)"
161
+ fill="#fff"
162
+ />
163
+ </g>
164
+ </svg>
165
+ ),
166
+ },
167
+ };
168
+
88
169
  export const Chromatic = () => (
89
170
  <>
90
171
  <ExampleContainer>
@@ -133,5 +214,15 @@ export const Chromatic = () => (
133
214
  <Title title="Xxlarge padding" theme="light" level={4} />
134
215
  <DxcFooter padding="xxlarge"></DxcFooter>
135
216
  </ExampleContainer>
217
+ <Title title="Opinionated theme" theme="light" level={2} />
218
+ <ExampleContainer>
219
+ <HalstackProvider theme={opinionatedTheme}>
220
+ <DxcFooter copyright="Copyright" socialLinks={social} bottomLinks={bottom}>
221
+ <div>
222
+ <a href="https://www.linkedin.com/company/dxctechnology">Linkedin</a>
223
+ </div>
224
+ </DxcFooter>
225
+ </HalstackProvider>
226
+ </ExampleContainer>
136
227
  </>
137
228
  );
@@ -6,10 +6,16 @@ var _react = _interopRequireDefault(require("react"));
6
6
 
7
7
  var _react2 = require("@testing-library/react");
8
8
 
9
- var _linkedin = _interopRequireDefault(require("../../app/src/images/linkedin.svg"));
10
-
11
- var _Footer = _interopRequireDefault(require("./Footer"));
12
-
9
+ var _Footer = _interopRequireDefault(require("./Footer.tsx"));
10
+
11
+ var social = [{
12
+ href: "https://www.test.com/social",
13
+ logo: "https://developer.apple.com/design/human-interface-guidelines/foundations/app-icons/images/icon-and-image-large-icon-settings_2x.png"
14
+ }];
15
+ var bottom = [{
16
+ href: "https://www.test.com/bottom",
17
+ text: "bottom-link-text"
18
+ }];
13
19
  describe("Footer component tests", function () {
14
20
  test("Footer renders with default logo", function () {
15
21
  var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Footer["default"], null)),
@@ -18,32 +24,22 @@ describe("Footer component tests", function () {
18
24
  expect(getByTitle("DXC Logo")).toBeTruthy();
19
25
  });
20
26
  test("Footer renders with social links", function () {
21
- var social = [{
22
- href: "https://www.test.com/test",
23
- logo: _linkedin["default"]
24
- }];
25
-
26
27
  var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Footer["default"], {
27
28
  socialLinks: social
28
29
  })),
29
30
  getByRole = _render2.getByRole;
30
31
 
31
32
  var socialIcon = getByRole("link");
32
- expect(socialIcon.getAttribute("href")).toBe("https://www.test.com/test");
33
+ expect(socialIcon.getAttribute("href")).toBe("https://www.test.com/social");
33
34
  });
34
35
  test("Footer renders with bottom links", function () {
35
- var bottom = [{
36
- href: "https://www.test.com/test",
37
- text: "bottom-link-text"
38
- }];
39
-
40
36
  var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Footer["default"], {
41
37
  bottomLinks: bottom
42
38
  })),
43
39
  getByText = _render3.getByText;
44
40
 
45
41
  var link = getByText("bottom-link-text");
46
- expect(link.getAttribute("href")).toBe("https://www.test.com/test");
42
+ expect(link.getAttribute("href")).toBe("https://www.test.com/bottom");
47
43
  });
48
44
  test("Footer renders with copyright text", function () {
49
45
  var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Footer["default"], {
@@ -54,7 +50,7 @@ describe("Footer component tests", function () {
54
50
  expect(getByText("test-copyright")).toBeTruthy();
55
51
  });
56
52
  test("Footer renders with correct children", function () {
57
- //We need to force the offsetWidth value
53
+ // We need to force the offsetWidth value
58
54
  Object.defineProperty(HTMLElement.prototype, "offsetWidth", {
59
55
  configurable: true,
60
56
  value: 1024
@@ -66,7 +62,7 @@ describe("Footer component tests", function () {
66
62
  expect(getByText("footer-child-text")).toBeTruthy();
67
63
  });
68
64
  test("Footer renders with children in mobile", function () {
69
- //425 is mobile width
65
+ // 425 is mobile width
70
66
  Object.defineProperty(HTMLElement.prototype, "offsetWidth", {
71
67
  configurable: true,
72
68
  value: 425
@@ -82,14 +78,6 @@ describe("Footer component tests", function () {
82
78
  configurable: true,
83
79
  value: 1024
84
80
  });
85
- var social = [{
86
- href: "https://www.test.com/social",
87
- logo: _linkedin["default"]
88
- }];
89
- var bottom = [{
90
- href: "https://www.test.com/bottom",
91
- text: "bottom-link-text"
92
- }];
93
81
 
94
82
  var _render7 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Footer["default"], {
95
83
  socialLinks: social,
@@ -1,7 +1,8 @@
1
- /// <reference types="react" />
1
+ import React from "react";
2
+ import DxcDropdown from "../dropdown/Dropdown";
2
3
  import HeaderPropsType from "./types";
3
4
  declare const DxcHeader: {
4
5
  ({ underlined, content, responsiveContent, onClick, margin, padding, tabIndex, }: HeaderPropsType): JSX.Element;
5
- Dropdown: (props: any) => JSX.Element;
6
+ Dropdown: (props: React.ComponentProps<typeof DxcDropdown>) => JSX.Element;
6
7
  };
7
8
  export default DxcHeader;
package/header/Header.js CHANGED
@@ -23,7 +23,7 @@ var _Dropdown = _interopRequireDefault(require("../dropdown/Dropdown"));
23
23
 
24
24
  var _Icons = require("./Icons");
25
25
 
26
- var _variables = require("../common/variables.js");
26
+ var _variables = require("../common/variables");
27
27
 
28
28
  var _useTheme = _interopRequireDefault(require("../useTheme"));
29
29
 
@@ -39,14 +39,11 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
39
39
 
40
40
  var closeIcon = /*#__PURE__*/_react["default"].createElement("svg", {
41
41
  xmlns: "http://www.w3.org/2000/svg",
42
- height: "24",
43
42
  viewBox: "0 0 24 24",
43
+ height: "24",
44
44
  width: "24"
45
45
  }, /*#__PURE__*/_react["default"].createElement("path", {
46
- d: "M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"
47
- }), /*#__PURE__*/_react["default"].createElement("path", {
48
- d: "M0 0h24v24H0z",
49
- fill: "none"
46
+ d: "M6.4 19 5 17.6l5.6-5.6L5 6.4 6.4 5l5.6 5.6L17.6 5 19 6.4 13.4 12l5.6 5.6-1.4 1.4-5.6-5.6Z"
50
47
  }));
51
48
 
52
49
  var hamburgerIcon = /*#__PURE__*/_react["default"].createElement("svg", {
@@ -62,7 +59,7 @@ var Dropdown = function Dropdown(props) {
62
59
  return /*#__PURE__*/_react["default"].createElement(HeaderDropdown, null, /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], props));
63
60
  };
64
61
 
65
- var HeaderDropdown = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n button {\n background-color: transparent;\n :hover {\n background-color: transparent;\n }\n }\n"])));
62
+ var HeaderDropdown = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n button {\n background-color: transparent;\n :hover {\n background-color: transparent;\n }\n }\n"])));
66
63
 
67
64
  var getLogoElement = function getLogoElement(themeInput, logoLabel) {
68
65
  if (!themeInput) return _Icons.dxcLogo;else if (typeof themeInput === "string") return /*#__PURE__*/_react["default"].createElement(LogoImg, {
@@ -110,9 +107,9 @@ var DxcHeader = function DxcHeader(_ref2) {
110
107
  isMenuVisible = _useState4[0],
111
108
  setIsMenuVisible = _useState4[1];
112
109
 
113
- var handleResize = function handleResize() {
110
+ var handleResize = (0, _react.useCallback)(function () {
114
111
  setIsResponsive(window.matchMedia("(max-width: ".concat(_variables.responsiveSizes.medium, "rem)")).matches);
115
- };
112
+ }, []);
116
113
 
117
114
  var handleMenu = function handleMenu() {
118
115
  if (isResponsive && !isMenuVisible) {
@@ -134,7 +131,7 @@ var DxcHeader = function DxcHeader(_ref2) {
134
131
  return function () {
135
132
  window.removeEventListener("resize", handleResize);
136
133
  };
137
- }, []);
134
+ }, [handleResize]);
138
135
  (0, _react.useEffect)(function () {
139
136
  !isResponsive && setIsMenuVisible(false);
140
137
  }, [isResponsive]);
@@ -158,7 +155,8 @@ var DxcHeader = function DxcHeader(_ref2) {
158
155
  }, /*#__PURE__*/_react["default"].createElement(ResponsiveIconsContainer, null, /*#__PURE__*/_react["default"].createElement(ResponsiveLogoContainer, null, headerResponsiveLogo), /*#__PURE__*/_react["default"].createElement(CloseAction, {
159
156
  tabIndex: tabIndex,
160
157
  onClick: handleMenu,
161
- "aria-label": translatedLabels.header.closeIcon
158
+ "aria-label": translatedLabels.header.closeIcon,
159
+ title: translatedLabels.header.closeIcon
162
160
  }, closeIcon)), /*#__PURE__*/_react["default"].createElement(_BackgroundColorContext.BackgroundColorProvider, {
163
161
  color: colorsTheme.header.menuBackgroundColor
164
162
  }, /*#__PURE__*/_react["default"].createElement(Content, {
@@ -183,7 +181,9 @@ var DxcHeader = function DxcHeader(_ref2) {
183
181
 
184
182
  DxcHeader.Dropdown = Dropdown;
185
183
 
186
- var HeaderContainer = _styledComponents["default"].header(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n margin-bottom: ", ";\n padding: ", ";\n background-color: ", ";\n border-bottom: ", ";\n min-height: ", ";\n box-shadow: none;\n display: flex;\n align-items: center;\n flex-direction: row;\n justify-content: space-between;\n box-sizing: border-box;\n"])), function (props) {
184
+ var HeaderContainer = _styledComponents["default"].header(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n box-sizing: border-box;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n min-height: ", ";\n margin-bottom: ", ";\n padding: ", ";\n background-color: ", ";\n border-bottom: ", ";\n"])), function (props) {
185
+ return props.theme.minHeight;
186
+ }, function (props) {
187
187
  return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
188
188
  }, function (props) {
189
189
  return "".concat(props.theme.paddingTop, " ").concat(props.theme.paddingRight, " ").concat(props.theme.paddingBottom, " ").concat(props.theme.paddingLeft);
@@ -191,12 +191,10 @@ var HeaderContainer = _styledComponents["default"].header(_templateObject2 || (_
191
191
  return props.theme.backgroundColor;
192
192
  }, function (props) {
193
193
  return props.underlined && "".concat(props.theme.underlinedThickness, " ").concat(props.theme.underlinedStyle, " ").concat(props.theme.underlinedColor);
194
- }, function (props) {
195
- return props.theme.minHeight;
196
194
  });
197
195
 
198
196
  var LogoAnchor = _styledComponents["default"].a(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n ", ";\n"])), function (props) {
199
- return props.interactuable ? "cursor: pointer" : "cursor: default; outline:none";
197
+ return props.interactuable ? "cursor: pointer" : "cursor: default; outline:none;";
200
198
  });
201
199
 
202
200
  var LogoImg = _styledComponents["default"].img(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n max-height: ", ";\n width: ", ";\n"])), function (props) {
@@ -211,7 +209,7 @@ var LogoContainer = _styledComponents["default"].div(_templateObject5 || (_templ
211
209
  return props.theme.logoWidth;
212
210
  });
213
211
 
214
- var ChildContainer = _styledComponents["default"].div(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n width: calc(100% - 186px);\n display: flex;\n align-items: center;\n flex-grow: 1;\n\n justify-content: flex-end;\n padding: ", ";\n padding-top: ", ";\n padding-right: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n"])), function (props) {
212
+ var ChildContainer = _styledComponents["default"].div(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n justify-content: flex-end;\n flex-grow: 1;\n width: calc(100% - 186px);\n padding: ", ";\n padding-top: ", ";\n padding-right: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n"])), function (props) {
215
213
  return props.padding && (0, _typeof2["default"])(props.padding) !== "object" ? _variables.spaces[props.padding] : "0px";
216
214
  }, function (props) {
217
215
  return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.top ? _variables.spaces[props.padding.top] : "";
@@ -223,9 +221,7 @@ var ChildContainer = _styledComponents["default"].div(_templateObject6 || (_temp
223
221
  return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.left ? _variables.spaces[props.padding.left] : "";
224
222
  });
225
223
 
226
- var ContentContainer = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n width: calc(100% - 186px);\n display: flex;\n align-items: center;\n flex-grow: 1;\n color: ", ";\n\n justify-content: flex-end;\n padding: ", ";\n padding-top: ", ";\n padding-right: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n"])), function (props) {
227
- return props.backgroundType === "dark" ? props.theme.contentColorOnDark : props.theme.contentColor;
228
- }, function (props) {
224
+ var ContentContainer = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n flex-grow: 1;\n justify-content: flex-end;\n width: calc(100% - 186px);\n padding: ", ";\n padding-top: ", ";\n padding-right: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n color: ", ";\n"])), function (props) {
229
225
  return props.padding && (0, _typeof2["default"])(props.padding) !== "object" ? _variables.spaces[props.padding] : "0px";
230
226
  }, function (props) {
231
227
  return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.top ? _variables.spaces[props.padding.top] : "";
@@ -235,6 +231,8 @@ var ContentContainer = _styledComponents["default"].div(_templateObject7 || (_te
235
231
  return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.bottom ? _variables.spaces[props.padding.bottom] : "";
236
232
  }, function (props) {
237
233
  return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.left ? _variables.spaces[props.padding.left] : "";
234
+ }, function (props) {
235
+ return props.backgroundType === "dark" ? props.theme.contentColorOnDark : props.theme.contentColor;
238
236
  });
239
237
 
240
238
  var HamburguerTrigger = _styledComponents["default"].button(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n width: 54px;\n cursor: pointer;\n border: 1px solid transparent;\n border-radius: 2px;\n background-color: transparent;\n :hover {\n background-color: ", ";\n }\n &:focus {\n outline: ", " auto 1px;\n }\n & > svg {\n fill: ", ";\n }\n font-family: ", ";\n font-style: ", ";\n font-size: ", ";\n text-transform: ", ";\n font-weight: ", ";\n color: ", ";\n"])), function (props) {
@@ -259,7 +257,7 @@ var HamburguerTrigger = _styledComponents["default"].button(_templateObject8 ||
259
257
 
260
258
  var MainContainer = _styledComponents["default"].div(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-grow: 1;\n"])));
261
259
 
262
- var ResponsiveMenu = _styledComponents["default"].div(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n background-color: ", ";\n position: fixed;\n top: 0;\n right: 0;\n z-index: ", ";\n\n @media (max-width: ", "rem) and (min-width: ", "rem) {\n //tablet\n width: ", ";\n }\n\n @media (not((max-width: ", "rem) and (min-width: ", "rem))) {\n //mobile phones\n width: ", ";\n }\n\n height: 100vh;\n padding: 20px;\n transform: ", ";\n opacity: ", ";\n transition-property: transform, opacity;\n transition-duration: 0.6s;\n transition-timing-function: ease-in-out;\n box-sizing: border-box;\n"])), function (props) {
260
+ var ResponsiveMenu = _styledComponents["default"].div(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n background-color: ", ";\n position: fixed;\n top: 0;\n right: 0;\n z-index: ", ";\n\n @media (max-width: ", "rem) and (min-width: ", "rem) {\n width: ", ";\n }\n\n @media (not((max-width: ", "rem) and (min-width: ", "rem))) {\n width: ", ";\n }\n\n height: 100vh;\n padding: 20px;\n transform: ", ";\n opacity: ", ";\n transition-property: transform, opacity;\n transition-duration: 0.6s;\n transition-timing-function: ease-in-out;\n box-sizing: border-box;\n"])), function (props) {
263
261
  return props.theme.menuBackgroundColor;
264
262
  }, function (props) {
265
263
  return props.theme.menuZindex;
@@ -281,15 +279,15 @@ var ResponsiveLogoContainer = _styledComponents["default"].div(_templateObject11
281
279
 
282
280
  var ResponsiveIconsContainer = _styledComponents["default"].div(_templateObject12 || (_templateObject12 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n justify-content: space-between;\n align-items: center;\n"])));
283
281
 
284
- var CloseAction = _styledComponents["default"].button(_templateObject13 || (_templateObject13 = (0, _taggedTemplateLiteral2["default"])(["\n cursor: pointer;\n padding: 6px;\n height: 36px;\n width: 36px;\n border: 1px solid transparent;\n border-radius: 2px;\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n background-color: transparent;\n :focus,\n :focus-visible {\n outline: ", " auto 1px;\n }\n"])), function (props) {
282
+ var CloseAction = _styledComponents["default"].button(_templateObject13 || (_templateObject13 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n justify-content: center;\n align-content: center;\n padding: 6px;\n border: unset;\n border-radius: 2px;\n background-color: transparent;\n cursor: pointer;\n\n :focus,\n :focus-visible {\n outline: ", " auto 1px;\n }\n\n svg {\n height: 24px;\n width: 24px;\n }\n"])), function (props) {
285
283
  return props.theme.hamburguerFocusColor;
286
284
  });
287
285
 
288
- var MenuContent = _styledComponents["default"].div(_templateObject14 || (_templateObject14 = (0, _taggedTemplateLiteral2["default"])(["\n height: 100%;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n color: ", ";\n"])), function (props) {
286
+ var MenuContent = _styledComponents["default"].div(_templateObject14 || (_templateObject14 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n height: 100%;\n color: ", ";\n"])), function (props) {
289
287
  return props.backgroundType === "dark" ? props.theme.contentColorOnDark : props.theme.contentColor;
290
288
  });
291
289
 
292
- var Overlay = _styledComponents["default"].div(_templateObject15 || (_templateObject15 = (0, _taggedTemplateLiteral2["default"])(["\n position: fixed;\n top: 0;\n left: 0;\n width: 100vw;\n height: 100vh;\n background-color: ", ";\n opacity: ", " !important;\n visibility: ", ";\n opacity: ", ";\n\n @media (max-width: ", "rem) {\n //mobile phones\n display: none;\n }\n\n transition: opacity 0.2s 0.2s ease-in-out;\n z-index: ", ";\n"])), function (props) {
290
+ var Overlay = _styledComponents["default"].div(_templateObject15 || (_templateObject15 = (0, _taggedTemplateLiteral2["default"])(["\n position: fixed;\n top: 0;\n left: 0;\n width: 100vw;\n height: 100vh;\n background-color: ", ";\n opacity: ", " !important;\n visibility: ", ";\n opacity: ", ";\n\n @media (max-width: ", "rem) {\n display: none;\n }\n\n transition: opacity 0.2s 0.2s ease-in-out;\n z-index: ", ";\n"])), function (props) {
293
291
  return props.theme.overlayColor;
294
292
  }, function (props) {
295
293
  return props.theme.overlayOpacity;