@dxc-technology/halstack-react 0.0.0-dcd93c4 → 0.0.0-dcee34a
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.
- package/HalstackContext.js +98 -50
- package/accordion/Accordion.js +117 -104
- package/accordion/Accordion.stories.tsx +103 -15
- package/accordion/Accordion.test.js +9 -10
- package/accordion/types.d.ts +5 -4
- package/accordion-group/AccordionGroup.js +1 -21
- package/accordion-group/AccordionGroup.stories.tsx +27 -1
- package/accordion-group/AccordionGroup.test.js +20 -45
- package/accordion-group/types.d.ts +10 -3
- package/alert/Alert.js +1 -1
- package/alert/Alert.stories.tsx +28 -0
- package/bleed/Bleed.stories.tsx +63 -63
- package/box/Box.js +1 -1
- package/box/Box.stories.tsx +15 -0
- package/box/types.d.ts +1 -0
- package/bulleted-list/BulletedList.d.ts +7 -0
- package/bulleted-list/BulletedList.js +123 -0
- package/bulleted-list/BulletedList.stories.tsx +200 -0
- package/bulleted-list/types.d.ts +11 -0
- package/button/Button.js +50 -70
- package/button/Button.stories.tsx +159 -8
- package/button/types.d.ts +7 -7
- package/card/types.d.ts +1 -0
- package/checkbox/Checkbox.d.ts +2 -2
- package/checkbox/Checkbox.js +92 -99
- package/checkbox/Checkbox.stories.tsx +131 -59
- package/checkbox/Checkbox.test.js +93 -16
- package/checkbox/types.d.ts +6 -2
- package/chip/Chip.js +16 -22
- package/chip/Chip.stories.tsx +96 -9
- package/chip/types.d.ts +1 -1
- package/common/variables.js +328 -260
- package/date-input/Calendar.d.ts +4 -0
- package/date-input/Calendar.js +258 -0
- package/date-input/DateInput.js +134 -237
- package/date-input/DateInput.stories.tsx +199 -33
- package/date-input/DateInput.test.js +494 -138
- package/date-input/DatePicker.d.ts +4 -0
- package/date-input/DatePicker.js +146 -0
- package/date-input/Icons.d.ts +6 -0
- package/date-input/Icons.js +75 -0
- package/date-input/YearPicker.d.ts +4 -0
- package/date-input/YearPicker.js +126 -0
- package/date-input/types.d.ts +51 -0
- package/dialog/Dialog.js +50 -28
- package/dialog/Dialog.stories.tsx +99 -22
- package/dialog/Dialog.test.js +34 -4
- package/dialog/types.d.ts +3 -2
- package/dropdown/Dropdown.d.ts +1 -1
- package/dropdown/Dropdown.js +246 -249
- package/dropdown/Dropdown.stories.tsx +245 -56
- package/dropdown/Dropdown.test.js +504 -108
- package/dropdown/DropdownMenu.d.ts +4 -0
- package/dropdown/DropdownMenu.js +70 -0
- package/dropdown/DropdownMenuItem.d.ts +4 -0
- package/dropdown/DropdownMenuItem.js +81 -0
- package/dropdown/types.d.ts +25 -5
- package/file-input/FileInput.d.ts +2 -2
- package/file-input/FileInput.js +177 -219
- package/file-input/FileInput.stories.tsx +122 -11
- package/file-input/FileInput.test.js +53 -12
- package/file-input/FileItem.d.ts +4 -14
- package/file-input/FileItem.js +38 -63
- package/file-input/types.d.ts +17 -0
- package/flex/Flex.d.ts +4 -0
- package/flex/Flex.js +69 -0
- package/flex/Flex.stories.tsx +103 -0
- package/flex/types.d.ts +32 -0
- package/footer/Footer.stories.tsx +99 -1
- package/footer/types.d.ts +2 -1
- package/header/Header.js +87 -87
- package/header/Header.stories.tsx +152 -9
- package/header/Icons.js +2 -2
- package/header/types.d.ts +3 -2
- package/inset/Inset.stories.tsx +4 -4
- package/layout/ApplicationLayout.d.ts +15 -6
- package/layout/ApplicationLayout.js +36 -64
- package/layout/ApplicationLayout.stories.tsx +80 -44
- package/layout/types.d.ts +17 -27
- package/link/Link.js +2 -2
- package/link/Link.stories.tsx +72 -5
- package/link/types.d.ts +1 -1
- package/main.d.ts +6 -10
- package/main.js +28 -60
- package/{tabs-nav → nav-tabs}/NavTabs.js +6 -6
- package/{tabs-nav → nav-tabs}/NavTabs.stories.tsx +96 -6
- package/{tabs-nav → nav-tabs}/Tab.js +37 -20
- package/{tabs-nav → nav-tabs}/types.d.ts +1 -1
- package/number-input/NumberInput.test.js +43 -7
- package/package.json +16 -21
- package/paginator/Icons.d.ts +5 -0
- package/paginator/Icons.js +16 -28
- package/paginator/Paginator.js +6 -12
- package/paginator/Paginator.stories.tsx +24 -0
- package/paginator/Paginator.test.js +18 -11
- package/paragraph/Paragraph.d.ts +6 -0
- package/paragraph/Paragraph.js +38 -0
- package/paragraph/Paragraph.stories.tsx +44 -0
- package/password-input/PasswordInput.test.js +13 -12
- package/progress-bar/ProgressBar.d.ts +2 -2
- package/progress-bar/ProgressBar.js +59 -53
- package/progress-bar/ProgressBar.stories.jsx +38 -3
- package/progress-bar/ProgressBar.test.js +67 -22
- package/progress-bar/types.d.ts +3 -4
- package/quick-nav/QuickNav.js +18 -17
- package/quick-nav/QuickNav.stories.tsx +145 -26
- package/radio-group/Radio.d.ts +1 -1
- package/radio-group/Radio.js +43 -28
- package/radio-group/RadioGroup.js +24 -24
- package/radio-group/RadioGroup.stories.tsx +132 -18
- package/radio-group/RadioGroup.test.js +123 -96
- package/radio-group/types.d.ts +2 -2
- package/resultsetTable/Icons.d.ts +7 -0
- package/resultsetTable/Icons.js +51 -0
- package/resultsetTable/ResultsetTable.js +48 -107
- package/resultsetTable/ResultsetTable.stories.tsx +50 -25
- package/resultsetTable/ResultsetTable.test.js +40 -63
- package/resultsetTable/types.d.ts +2 -2
- package/select/Listbox.js +4 -10
- package/select/Option.js +11 -24
- package/select/Select.js +54 -50
- package/select/Select.stories.tsx +494 -149
- package/select/Select.test.js +338 -272
- package/select/types.d.ts +3 -5
- package/sidenav/Sidenav.d.ts +6 -5
- package/sidenav/Sidenav.js +174 -55
- package/sidenav/Sidenav.stories.tsx +249 -149
- package/sidenav/Sidenav.test.js +25 -37
- package/sidenav/types.d.ts +50 -27
- package/slider/Slider.d.ts +2 -2
- package/slider/Slider.js +120 -95
- package/slider/Slider.stories.tsx +64 -1
- package/slider/Slider.test.js +121 -21
- package/slider/types.d.ts +6 -2
- package/spinner/Spinner.js +2 -2
- package/spinner/Spinner.stories.jsx +27 -1
- package/switch/Switch.d.ts +2 -2
- package/switch/Switch.js +135 -68
- package/switch/Switch.stories.tsx +41 -30
- package/switch/Switch.test.js +144 -17
- package/switch/types.d.ts +6 -2
- package/table/Table.js +1 -1
- package/table/Table.stories.jsx +80 -1
- package/table/Table.test.js +1 -1
- package/tabs/Tab.d.ts +4 -0
- package/tabs/Tab.js +133 -0
- package/tabs/Tabs.js +360 -104
- package/tabs/Tabs.stories.tsx +119 -5
- package/tabs/Tabs.test.js +217 -6
- package/tabs/types.d.ts +15 -5
- package/tag/Tag.js +1 -1
- package/tag/Tag.stories.tsx +14 -1
- package/tag/types.d.ts +1 -1
- package/text-input/Icons.d.ts +8 -0
- package/text-input/Icons.js +60 -0
- package/text-input/Suggestion.js +38 -9
- package/text-input/Suggestions.d.ts +4 -0
- package/text-input/Suggestions.js +134 -0
- package/text-input/TextInput.js +195 -292
- package/text-input/TextInput.stories.tsx +280 -185
- package/text-input/TextInput.test.js +737 -725
- package/text-input/types.d.ts +22 -3
- package/textarea/Textarea.stories.jsx +60 -1
- package/toggle-group/ToggleGroup.stories.tsx +42 -0
- package/toggle-group/types.d.ts +1 -1
- package/typography/Typography.d.ts +4 -0
- package/typography/Typography.js +131 -0
- package/typography/Typography.stories.tsx +198 -0
- package/typography/types.d.ts +18 -0
- package/wizard/Wizard.js +9 -16
- package/wizard/Wizard.stories.tsx +40 -1
- package/wizard/types.d.ts +5 -4
- package/common/RequiredComponent.js +0 -32
- package/inline/Inline.d.ts +0 -4
- package/inline/Inline.js +0 -60
- package/inline/Inline.stories.tsx +0 -319
- package/inline/types.d.ts +0 -36
- package/list/List.d.ts +0 -4
- package/list/List.js +0 -47
- package/list/List.stories.tsx +0 -89
- package/list/types.d.ts +0 -7
- package/row/Row.d.ts +0 -3
- package/row/Row.js +0 -127
- package/row/Row.stories.tsx +0 -237
- package/row/types.d.ts +0 -28
- package/stack/Stack.d.ts +0 -4
- package/stack/Stack.js +0 -56
- package/stack/Stack.stories.tsx +0 -263
- package/stack/types.d.ts +0 -32
- package/tabs-nav/types.js +0 -5
- package/text/Text.d.ts +0 -7
- package/text/Text.js +0 -30
- package/text/Text.stories.tsx +0 -19
- /package/{inline → bulleted-list}/types.js +0 -0
- /package/{list → flex}/types.js +0 -0
- /package/{tabs-nav → nav-tabs}/NavTabs.d.ts +0 -0
- /package/{tabs-nav → nav-tabs}/NavTabs.test.js +0 -0
- /package/{tabs-nav → nav-tabs}/Tab.d.ts +0 -0
- /package/{row → nav-tabs}/types.js +0 -0
- /package/{stack → typography}/types.js +0 -0
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import DxcHeader from "./Header";
|
|
3
|
+
import DxcButton from "../button/Button";
|
|
3
4
|
import Title from "../../.storybook/components/Title";
|
|
4
5
|
import ExampleContainer from "../../.storybook/components/ExampleContainer";
|
|
5
6
|
import { userEvent, waitFor, within } from "@storybook/testing-library";
|
|
7
|
+
import DxcFlex from "../flex/Flex";
|
|
8
|
+
import DxcLink from "../link/Link";
|
|
9
|
+
import { HalstackProvider } from "../HalstackContext";
|
|
6
10
|
|
|
7
11
|
export default {
|
|
8
12
|
title: "Header",
|
|
@@ -16,16 +20,99 @@ const options: any = [
|
|
|
16
20
|
},
|
|
17
21
|
];
|
|
18
22
|
|
|
23
|
+
const options2: any = [
|
|
24
|
+
{
|
|
25
|
+
value: 1,
|
|
26
|
+
label: "Home",
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
value: 2,
|
|
30
|
+
label: "Release notes",
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
value: 3,
|
|
34
|
+
label: "Sign out",
|
|
35
|
+
},
|
|
36
|
+
];
|
|
37
|
+
|
|
38
|
+
const opinionatedTheme = {
|
|
39
|
+
header: {
|
|
40
|
+
baseColor: "#ffffff",
|
|
41
|
+
accentColor: "#000000",
|
|
42
|
+
fontColor: "#000000",
|
|
43
|
+
menuBaseColor: "#ffffff",
|
|
44
|
+
hamburguerColor: "#000000",
|
|
45
|
+
logo: (
|
|
46
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="73" height="40" viewBox="0 0 73 40">
|
|
47
|
+
<g id="g10" transform="translate(0)">
|
|
48
|
+
<g id="g12">
|
|
49
|
+
<path
|
|
50
|
+
id="path14"
|
|
51
|
+
d="M91.613-28.177v2.514H90.231V-28.15l-2.415-3.82h1.616l1.5,2.532,1.526-2.532h1.571ZM83.9-25.555A3.15,3.15,0,0,1,80.6-28.8v-.018a3.231,3.231,0,0,1,3.294-3.262,3.442,3.442,0,0,1,2.469.865l-.87,1.054a2.311,2.311,0,0,0-1.643-.64,1.891,1.891,0,0,0-1.8,1.964v.018a1.886,1.886,0,0,0,1.9,2,2.2,2.2,0,0,0,1.3-.378v-.9H83.858v-1.2h2.729v2.738A4.071,4.071,0,0,1,83.9-25.555Zm-6.416-3.261a1.913,1.913,0,0,0-1.9-1.982A1.883,1.883,0,0,0,73.7-28.835v.018a1.913,1.913,0,0,0,1.9,1.982A1.883,1.883,0,0,0,77.486-28.8Zm-1.9,3.261a3.225,3.225,0,0,1-3.33-3.243v-.018A3.255,3.255,0,0,1,75.6-32.078a3.225,3.225,0,0,1,3.331,3.243v.018A3.255,3.255,0,0,1,75.583-25.555Zm-9.173-.108V-31.97h1.382v5.045h3.133v1.261Zm-3.433-3.153a1.913,1.913,0,0,0-1.9-1.982,1.883,1.883,0,0,0-1.886,1.964v.018a1.913,1.913,0,0,0,1.9,1.982A1.883,1.883,0,0,0,62.978-28.8Zm-1.9,3.261a3.225,3.225,0,0,1-3.33-3.243v-.018a3.255,3.255,0,0,1,3.348-3.262,3.225,3.225,0,0,1,3.331,3.243v.018A3.255,3.255,0,0,1,61.075-25.555Zm-6.508-.108-3.043-4.009v4.009H50.159V-31.97h1.275l2.944,3.883V-31.97h1.364v6.306Zm-8.246,0v-2.531h-2.55v2.531H42.389V-31.97h1.382v2.5h2.55v-2.5H47.7v6.306Zm-8.432.108A3.178,3.178,0,0,1,34.666-28.8v-.018a3.2,3.2,0,0,1,3.276-3.262,3.237,3.237,0,0,1,2.478.973l-.88,1.018a2.315,2.315,0,0,0-1.606-.712,1.866,1.866,0,0,0-1.822,1.964v.018a1.87,1.87,0,0,0,1.822,1.982,2.265,2.265,0,0,0,1.651-.739l.88.891A3.206,3.206,0,0,1,37.889-25.555Zm-9.805-.108V-31.97h4.739v1.235H29.458v1.279h2.962v1.234H29.458V-26.9h3.411v1.234ZM24.322-30.69v5.027H22.939V-30.69H21.028v-1.28h5.206v1.28H24.322"
|
|
52
|
+
transform="translate(-21.028 65.555)"
|
|
53
|
+
fill="#100f0d"
|
|
54
|
+
/>
|
|
55
|
+
<path
|
|
56
|
+
id="path16"
|
|
57
|
+
d="M75.836-76.712a8.975,8.975,0,0,1,2.246-3.9,8.393,8.393,0,0,1,6.058-2.457h9.824v-5.67H84.139a14.611,14.611,0,0,0-10.232,4.221,14.509,14.509,0,0,0-3.076,4.536,11.913,11.913,0,0,0-.973,3.271Zm0,4.325a8.978,8.978,0,0,0,2.246,3.9,8.394,8.394,0,0,0,6.058,2.457h9.824v5.67H84.139A14.611,14.611,0,0,1,73.907-64.58a14.506,14.506,0,0,1-3.076-4.536,11.91,11.91,0,0,1-.973-3.271ZM57.522-69.832l-7.5,9.473H42.581L53.818-74.55,42.581-88.739H50.02l7.5,9.472,7.5-9.472h7.439L61.225-74.55l11.237,14.19H65.023Zm-12.336-6.88a11.935,11.935,0,0,0-.973-3.271,14.515,14.515,0,0,0-3.076-4.536A14.612,14.612,0,0,0,30.9-88.739H21.081v5.67H30.9a8.394,8.394,0,0,1,6.058,2.457,8.978,8.978,0,0,1,2.246,3.9Zm0,4.325a11.932,11.932,0,0,1-.973,3.271,14.511,14.511,0,0,1-3.076,4.536A14.611,14.611,0,0,1,30.9-60.359H21.081v-5.67H30.9a8.4,8.4,0,0,0,6.058-2.457,8.981,8.981,0,0,0,2.246-3.9h5.978"
|
|
58
|
+
transform="translate(-21.049 88.739)"
|
|
59
|
+
fill="#5f249f"
|
|
60
|
+
/>
|
|
61
|
+
</g>
|
|
62
|
+
</g>
|
|
63
|
+
</svg>
|
|
64
|
+
),
|
|
65
|
+
logoResponsive: (
|
|
66
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="73" height="40" viewBox="0 0 73 40">
|
|
67
|
+
<g id="g10" transform="translate(0)">
|
|
68
|
+
<g id="g12">
|
|
69
|
+
<path
|
|
70
|
+
id="path14"
|
|
71
|
+
d="M91.613-28.177v2.514H90.231V-28.15l-2.415-3.82h1.616l1.5,2.532,1.526-2.532h1.571ZM83.9-25.555A3.15,3.15,0,0,1,80.6-28.8v-.018a3.231,3.231,0,0,1,3.294-3.262,3.442,3.442,0,0,1,2.469.865l-.87,1.054a2.311,2.311,0,0,0-1.643-.64,1.891,1.891,0,0,0-1.8,1.964v.018a1.886,1.886,0,0,0,1.9,2,2.2,2.2,0,0,0,1.3-.378v-.9H83.858v-1.2h2.729v2.738A4.071,4.071,0,0,1,83.9-25.555Zm-6.416-3.261a1.913,1.913,0,0,0-1.9-1.982A1.883,1.883,0,0,0,73.7-28.835v.018a1.913,1.913,0,0,0,1.9,1.982A1.883,1.883,0,0,0,77.486-28.8Zm-1.9,3.261a3.225,3.225,0,0,1-3.33-3.243v-.018A3.255,3.255,0,0,1,75.6-32.078a3.225,3.225,0,0,1,3.331,3.243v.018A3.255,3.255,0,0,1,75.583-25.555Zm-9.173-.108V-31.97h1.382v5.045h3.133v1.261Zm-3.433-3.153a1.913,1.913,0,0,0-1.9-1.982,1.883,1.883,0,0,0-1.886,1.964v.018a1.913,1.913,0,0,0,1.9,1.982A1.883,1.883,0,0,0,62.978-28.8Zm-1.9,3.261a3.225,3.225,0,0,1-3.33-3.243v-.018a3.255,3.255,0,0,1,3.348-3.262,3.225,3.225,0,0,1,3.331,3.243v.018A3.255,3.255,0,0,1,61.075-25.555Zm-6.508-.108-3.043-4.009v4.009H50.159V-31.97h1.275l2.944,3.883V-31.97h1.364v6.306Zm-8.246,0v-2.531h-2.55v2.531H42.389V-31.97h1.382v2.5h2.55v-2.5H47.7v6.306Zm-8.432.108A3.178,3.178,0,0,1,34.666-28.8v-.018a3.2,3.2,0,0,1,3.276-3.262,3.237,3.237,0,0,1,2.478.973l-.88,1.018a2.315,2.315,0,0,0-1.606-.712,1.866,1.866,0,0,0-1.822,1.964v.018a1.87,1.87,0,0,0,1.822,1.982,2.265,2.265,0,0,0,1.651-.739l.88.891A3.206,3.206,0,0,1,37.889-25.555Zm-9.805-.108V-31.97h4.739v1.235H29.458v1.279h2.962v1.234H29.458V-26.9h3.411v1.234ZM24.322-30.69v5.027H22.939V-30.69H21.028v-1.28h5.206v1.28H24.322"
|
|
72
|
+
transform="translate(-21.028 65.555)"
|
|
73
|
+
fill="#100f0d"
|
|
74
|
+
/>
|
|
75
|
+
<path
|
|
76
|
+
id="path16"
|
|
77
|
+
d="M75.836-76.712a8.975,8.975,0,0,1,2.246-3.9,8.393,8.393,0,0,1,6.058-2.457h9.824v-5.67H84.139a14.611,14.611,0,0,0-10.232,4.221,14.509,14.509,0,0,0-3.076,4.536,11.913,11.913,0,0,0-.973,3.271Zm0,4.325a8.978,8.978,0,0,0,2.246,3.9,8.394,8.394,0,0,0,6.058,2.457h9.824v5.67H84.139A14.611,14.611,0,0,1,73.907-64.58a14.506,14.506,0,0,1-3.076-4.536,11.91,11.91,0,0,1-.973-3.271ZM57.522-69.832l-7.5,9.473H42.581L53.818-74.55,42.581-88.739H50.02l7.5,9.472,7.5-9.472h7.439L61.225-74.55l11.237,14.19H65.023Zm-12.336-6.88a11.935,11.935,0,0,0-.973-3.271,14.515,14.515,0,0,0-3.076-4.536A14.612,14.612,0,0,0,30.9-88.739H21.081v5.67H30.9a8.394,8.394,0,0,1,6.058,2.457,8.978,8.978,0,0,1,2.246,3.9Zm0,4.325a11.932,11.932,0,0,1-.973,3.271,14.511,14.511,0,0,1-3.076,4.536A14.611,14.611,0,0,1,30.9-60.359H21.081v-5.67H30.9a8.4,8.4,0,0,0,6.058-2.457,8.981,8.981,0,0,0,2.246-3.9h5.978"
|
|
78
|
+
transform="translate(-21.049 88.739)"
|
|
79
|
+
fill="#5f249f"
|
|
80
|
+
/>
|
|
81
|
+
</g>
|
|
82
|
+
</g>
|
|
83
|
+
</svg>
|
|
84
|
+
),
|
|
85
|
+
contentColor: "#000000",
|
|
86
|
+
overlayColor: "#000000b3",
|
|
87
|
+
},
|
|
88
|
+
};
|
|
89
|
+
|
|
19
90
|
export const Chromatic = () => (
|
|
20
91
|
<>
|
|
21
92
|
<ExampleContainer>
|
|
22
93
|
<Title title="Default with dropdown" theme="light" level={4} />
|
|
23
|
-
<DxcHeader
|
|
94
|
+
<DxcHeader
|
|
95
|
+
content={<DxcHeader.Dropdown options={options} label="Default Dropdown" onSelectOption={() => {}} />}
|
|
96
|
+
/>
|
|
24
97
|
</ExampleContainer>
|
|
25
98
|
<ExampleContainer>
|
|
26
99
|
<Title title="Underlined with text" theme="light" level={4} />
|
|
27
100
|
<DxcHeader underlined content={<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras felis.</p>} />
|
|
28
101
|
</ExampleContainer>
|
|
102
|
+
<ExampleContainer>
|
|
103
|
+
<Title title="Underlined, dropdown and links" theme="light" level={4} />
|
|
104
|
+
<DxcHeader
|
|
105
|
+
content={
|
|
106
|
+
<DxcFlex alignItems="center" gap="4rem">
|
|
107
|
+
<DxcLink>Link 1</DxcLink>
|
|
108
|
+
<DxcLink>Link 2</DxcLink>
|
|
109
|
+
<DxcLink>Link 3</DxcLink>
|
|
110
|
+
<DxcHeader.Dropdown options={options2} label="Label" onSelectOption={() => {}} />
|
|
111
|
+
</DxcFlex>
|
|
112
|
+
}
|
|
113
|
+
underlined
|
|
114
|
+
/>
|
|
115
|
+
</ExampleContainer>
|
|
29
116
|
<Title title="Margins" theme="light" level={2} />
|
|
30
117
|
<ExampleContainer>
|
|
31
118
|
<Title title="Xxsmall margin" theme="light" level={4} />
|
|
@@ -62,7 +149,6 @@ export const Chromatic = () => (
|
|
|
62
149
|
<DxcHeader underlined margin="xxlarge" />
|
|
63
150
|
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras felis.</p>
|
|
64
151
|
</ExampleContainer>
|
|
65
|
-
|
|
66
152
|
<Title title="Paddings" theme="light" level={2} />
|
|
67
153
|
<ExampleContainer>
|
|
68
154
|
<Title title="Xxsmall padding" theme="light" level={4} />
|
|
@@ -92,6 +178,21 @@ export const Chromatic = () => (
|
|
|
92
178
|
<Title title="Xxlarge padding" theme="light" level={4} />
|
|
93
179
|
<DxcHeader underlined padding="xxlarge" />
|
|
94
180
|
</ExampleContainer>
|
|
181
|
+
<Title title="Opinionated theme" theme="light" level={2} />
|
|
182
|
+
<ExampleContainer>
|
|
183
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
184
|
+
<DxcHeader
|
|
185
|
+
underlined
|
|
186
|
+
content={<DxcButton label={"Custom Button"} />}
|
|
187
|
+
responsiveContent={(closeHandler) => (
|
|
188
|
+
<>
|
|
189
|
+
<DxcButton label={"Custom Button"} onClick={closeHandler} />
|
|
190
|
+
Custom content
|
|
191
|
+
</>
|
|
192
|
+
)}
|
|
193
|
+
/>
|
|
194
|
+
</HalstackProvider>
|
|
195
|
+
</ExampleContainer>
|
|
95
196
|
</>
|
|
96
197
|
);
|
|
97
198
|
|
|
@@ -120,18 +221,34 @@ const RespHeaderHover = () => (
|
|
|
120
221
|
</ExampleContainer>
|
|
121
222
|
);
|
|
122
223
|
|
|
123
|
-
const
|
|
224
|
+
const RespHeaderMenuMobile = () => (
|
|
225
|
+
<ExampleContainer>
|
|
226
|
+
<Title title="Responsive menu" theme="light" level={4} />
|
|
227
|
+
<DxcHeader responsiveContent={(closeHandler) => <p>Lorem ipsum dolor sit amet.</p>} underlined />
|
|
228
|
+
</ExampleContainer>
|
|
229
|
+
);
|
|
230
|
+
|
|
231
|
+
const RespHeaderMenuTablet = () => (
|
|
124
232
|
<ExampleContainer>
|
|
125
233
|
<Title title="Responsive menu" theme="light" level={4} />
|
|
126
234
|
<DxcHeader responsiveContent={(closeHandler) => <p>Lorem ipsum dolor sit amet.</p>} underlined />
|
|
127
235
|
</ExampleContainer>
|
|
128
236
|
);
|
|
129
237
|
|
|
238
|
+
const RespHeaderMenuOpinionated = () => (
|
|
239
|
+
<ExampleContainer>
|
|
240
|
+
<Title title="Responsive menu" theme="light" level={4} />
|
|
241
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
242
|
+
<DxcHeader responsiveContent={(closeHandler) => <p>Lorem ipsum dolor sit amet.</p>} underlined />
|
|
243
|
+
</HalstackProvider>
|
|
244
|
+
</ExampleContainer>
|
|
245
|
+
);
|
|
246
|
+
|
|
130
247
|
ResponsiveHeader.parameters = {
|
|
131
248
|
viewport: {
|
|
132
249
|
defaultViewport: "iphonex",
|
|
133
250
|
},
|
|
134
|
-
chromatic: { viewports: [
|
|
251
|
+
chromatic: { viewports: [375] },
|
|
135
252
|
};
|
|
136
253
|
|
|
137
254
|
export const ResponsiveHeaderFocus = RespHeaderFocus.bind({});
|
|
@@ -139,7 +256,7 @@ ResponsiveHeaderFocus.parameters = {
|
|
|
139
256
|
viewport: {
|
|
140
257
|
defaultViewport: "iphonex",
|
|
141
258
|
},
|
|
142
|
-
chromatic: { viewports: [
|
|
259
|
+
chromatic: { viewports: [375] },
|
|
143
260
|
};
|
|
144
261
|
ResponsiveHeaderFocus.play = async ({ canvasElement }) => {
|
|
145
262
|
const canvas = within(canvasElement);
|
|
@@ -151,21 +268,47 @@ ResponsiveHeaderHover.parameters = {
|
|
|
151
268
|
viewport: {
|
|
152
269
|
defaultViewport: "iphonex",
|
|
153
270
|
},
|
|
154
|
-
chromatic: { viewports: [
|
|
271
|
+
chromatic: { viewports: [375] },
|
|
155
272
|
};
|
|
156
273
|
ResponsiveHeaderHover.play = async ({ canvasElement }) => {
|
|
157
274
|
const canvas = within(canvasElement);
|
|
158
275
|
await waitFor(() => canvas.findByText("Menu"));
|
|
159
276
|
};
|
|
160
277
|
|
|
161
|
-
export const
|
|
162
|
-
|
|
278
|
+
export const ResponsiveHeaderMenuMobile = RespHeaderMenuMobile.bind({});
|
|
279
|
+
ResponsiveHeaderMenuMobile.parameters = {
|
|
163
280
|
viewport: {
|
|
164
281
|
defaultViewport: "iphonex",
|
|
165
282
|
},
|
|
283
|
+
chromatic: { viewports: [375] },
|
|
284
|
+
};
|
|
285
|
+
ResponsiveHeaderMenuMobile.play = async ({ canvasElement }) => {
|
|
286
|
+
const canvas = within(canvasElement);
|
|
287
|
+
await waitFor(() => canvas.findByText("Menu"));
|
|
288
|
+
await userEvent.click(canvas.getByText("Menu"));
|
|
289
|
+
};
|
|
290
|
+
|
|
291
|
+
export const ResponsiveHeaderMenuTablet = RespHeaderMenuTablet.bind({});
|
|
292
|
+
ResponsiveHeaderMenuTablet.parameters = {
|
|
293
|
+
viewport: {
|
|
294
|
+
defaultViewport: "pixelxl",
|
|
295
|
+
},
|
|
296
|
+
chromatic: { viewports: [720] },
|
|
297
|
+
};
|
|
298
|
+
ResponsiveHeaderMenuTablet.play = async ({ canvasElement }) => {
|
|
299
|
+
const canvas = within(canvasElement);
|
|
300
|
+
await waitFor(() => canvas.findByText("Menu"));
|
|
301
|
+
await userEvent.click(canvas.getByText("Menu"));
|
|
302
|
+
};
|
|
303
|
+
|
|
304
|
+
export const ResponsiveHeaderMenuOpinionated = RespHeaderMenuOpinionated.bind({});
|
|
305
|
+
ResponsiveHeaderMenuOpinionated.parameters = {
|
|
306
|
+
viewport: {
|
|
307
|
+
defaultViewport: "pixelxl",
|
|
308
|
+
},
|
|
166
309
|
chromatic: { viewports: [720] },
|
|
167
310
|
};
|
|
168
|
-
|
|
311
|
+
ResponsiveHeaderMenuOpinionated.play = async ({ canvasElement }) => {
|
|
169
312
|
const canvas = within(canvasElement);
|
|
170
313
|
await waitFor(() => canvas.findByText("Menu"));
|
|
171
314
|
await userEvent.click(canvas.getByText("Menu"));
|
package/header/Icons.js
CHANGED
|
@@ -23,12 +23,12 @@ var dxcLogo = /*#__PURE__*/_react["default"].createElement("svg", {
|
|
|
23
23
|
id: "path14",
|
|
24
24
|
d: "M91.613-28.177v2.514H90.231V-28.15l-2.415-3.82h1.616l1.5,2.532,1.526-2.532h1.571ZM83.9-25.555A3.15,3.15,0,0,1,80.6-28.8v-.018a3.231,3.231,0,0,1,3.294-3.262,3.442,3.442,0,0,1,2.469.865l-.87,1.054a2.311,2.311,0,0,0-1.643-.64,1.891,1.891,0,0,0-1.8,1.964v.018a1.886,1.886,0,0,0,1.9,2,2.2,2.2,0,0,0,1.3-.378v-.9H83.858v-1.2h2.729v2.738A4.071,4.071,0,0,1,83.9-25.555Zm-6.416-3.261a1.913,1.913,0,0,0-1.9-1.982A1.883,1.883,0,0,0,73.7-28.835v.018a1.913,1.913,0,0,0,1.9,1.982A1.883,1.883,0,0,0,77.486-28.8Zm-1.9,3.261a3.225,3.225,0,0,1-3.33-3.243v-.018A3.255,3.255,0,0,1,75.6-32.078a3.225,3.225,0,0,1,3.331,3.243v.018A3.255,3.255,0,0,1,75.583-25.555Zm-9.173-.108V-31.97h1.382v5.045h3.133v1.261Zm-3.433-3.153a1.913,1.913,0,0,0-1.9-1.982,1.883,1.883,0,0,0-1.886,1.964v.018a1.913,1.913,0,0,0,1.9,1.982A1.883,1.883,0,0,0,62.978-28.8Zm-1.9,3.261a3.225,3.225,0,0,1-3.33-3.243v-.018a3.255,3.255,0,0,1,3.348-3.262,3.225,3.225,0,0,1,3.331,3.243v.018A3.255,3.255,0,0,1,61.075-25.555Zm-6.508-.108-3.043-4.009v4.009H50.159V-31.97h1.275l2.944,3.883V-31.97h1.364v6.306Zm-8.246,0v-2.531h-2.55v2.531H42.389V-31.97h1.382v2.5h2.55v-2.5H47.7v6.306Zm-8.432.108A3.178,3.178,0,0,1,34.666-28.8v-.018a3.2,3.2,0,0,1,3.276-3.262,3.237,3.237,0,0,1,2.478.973l-.88,1.018a2.315,2.315,0,0,0-1.606-.712,1.866,1.866,0,0,0-1.822,1.964v.018a1.87,1.87,0,0,0,1.822,1.982,2.265,2.265,0,0,0,1.651-.739l.88.891A3.206,3.206,0,0,1,37.889-25.555Zm-9.805-.108V-31.97h4.739v1.235H29.458v1.279h2.962v1.234H29.458V-26.9h3.411v1.234ZM24.322-30.69v5.027H22.939V-30.69H21.028v-1.28h5.206v1.28H24.322",
|
|
25
25
|
transform: "translate(-21.028 65.555)",
|
|
26
|
-
fill: "#
|
|
26
|
+
fill: "#010101"
|
|
27
27
|
}), /*#__PURE__*/_react["default"].createElement("path", {
|
|
28
28
|
id: "path16",
|
|
29
29
|
d: "M75.836-76.712a8.975,8.975,0,0,1,2.246-3.9,8.393,8.393,0,0,1,6.058-2.457h9.824v-5.67H84.139a14.611,14.611,0,0,0-10.232,4.221,14.509,14.509,0,0,0-3.076,4.536,11.913,11.913,0,0,0-.973,3.271Zm0,4.325a8.978,8.978,0,0,0,2.246,3.9,8.394,8.394,0,0,0,6.058,2.457h9.824v5.67H84.139A14.611,14.611,0,0,1,73.907-64.58a14.506,14.506,0,0,1-3.076-4.536,11.91,11.91,0,0,1-.973-3.271ZM57.522-69.832l-7.5,9.473H42.581L53.818-74.55,42.581-88.739H50.02l7.5,9.472,7.5-9.472h7.439L61.225-74.55l11.237,14.19H65.023Zm-12.336-6.88a11.935,11.935,0,0,0-.973-3.271,14.515,14.515,0,0,0-3.076-4.536A14.612,14.612,0,0,0,30.9-88.739H21.081v5.67H30.9a8.394,8.394,0,0,1,6.058,2.457,8.978,8.978,0,0,1,2.246,3.9Zm0,4.325a11.932,11.932,0,0,1-.973,3.271,14.511,14.511,0,0,1-3.076,4.536A14.611,14.611,0,0,1,30.9-60.359H21.081v-5.67H30.9a8.4,8.4,0,0,0,6.058-2.457,8.981,8.981,0,0,0,2.246-3.9h5.978",
|
|
30
30
|
transform: "translate(-21.049 88.739)",
|
|
31
|
-
fill: "#
|
|
31
|
+
fill: "#603494"
|
|
32
32
|
}))));
|
|
33
33
|
|
|
34
34
|
exports.dxcLogo = dxcLogo;
|
package/header/types.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
|
|
3
|
-
declare type Padding = {
|
|
2
|
+
export declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
|
|
3
|
+
export declare type Padding = {
|
|
4
4
|
top?: Space;
|
|
5
5
|
bottom?: Space;
|
|
6
6
|
left?: Space;
|
|
@@ -32,6 +32,7 @@ declare type Props = {
|
|
|
32
32
|
*/
|
|
33
33
|
margin?: Space;
|
|
34
34
|
/**
|
|
35
|
+
* @deprecated This prop will be removed shortly, consider using the Inset component for this purpose.
|
|
35
36
|
* Size of the padding to be applied to the custom area of the component
|
|
36
37
|
* ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
|
|
37
38
|
* You can pass an object with 'top', 'bottom', 'left' and 'right' properties in
|
package/inset/Inset.stories.tsx
CHANGED
|
@@ -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
|
|
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
|
|
206
|
+
<Title title="Inside a flex column" level={4} />
|
|
207
207
|
<Container>
|
|
208
|
-
<
|
|
208
|
+
<DxcFlex direction="column" gap="0.75rem">
|
|
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
|
-
</
|
|
214
|
+
</DxcFlex>
|
|
215
215
|
</Container>
|
|
216
216
|
</>
|
|
217
217
|
);
|
|
@@ -1,11 +1,20 @@
|
|
|
1
|
-
|
|
2
|
-
import AppLayoutPropsType, {
|
|
1
|
+
import React from "react";
|
|
2
|
+
import AppLayoutPropsType, { AppLayoutMainPropsType } from "./types";
|
|
3
3
|
declare const DxcApplicationLayout: {
|
|
4
|
-
({ visibilityToggleLabel, children }: AppLayoutPropsType): JSX.Element;
|
|
5
|
-
Header:
|
|
4
|
+
({ visibilityToggleLabel, header, sidenav, footer, children, }: AppLayoutPropsType): JSX.Element;
|
|
5
|
+
Header: {
|
|
6
|
+
({ underlined, content, responsiveContent, onClick, margin, padding, tabIndex, }: import("../header/types").default): JSX.Element;
|
|
7
|
+
Dropdown: (props: any) => JSX.Element;
|
|
8
|
+
};
|
|
6
9
|
Main: ({ children }: AppLayoutMainPropsType) => JSX.Element;
|
|
7
|
-
Footer: ({ children }:
|
|
8
|
-
SideNav:
|
|
10
|
+
Footer: ({ socialLinks, bottomLinks, copyright, children, padding, margin, tabIndex, }: import("../footer/types").default) => JSX.Element;
|
|
11
|
+
SideNav: {
|
|
12
|
+
({ children, title }: import("../sidenav/types").default): JSX.Element;
|
|
13
|
+
Section: ({ children }: import("../sidenav/types").SidenavSectionPropsType) => JSX.Element;
|
|
14
|
+
Group: ({ children, title, collapsable, icon }: 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"));
|
|
@@ -29,13 +27,11 @@ var _variables = require("../common/variables.js");
|
|
|
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
|
|
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
|
|
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
|
|
52
|
-
|
|
53
|
-
|
|
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() {
|
|
@@ -89,47 +76,37 @@ var defaultFooter = function defaultFooter() {
|
|
|
89
76
|
});
|
|
90
77
|
};
|
|
91
78
|
|
|
92
|
-
var defaultHeader = function defaultHeader() {
|
|
93
|
-
return /*#__PURE__*/_react["default"].createElement(_Header["default"], {
|
|
94
|
-
underlined: true
|
|
95
|
-
});
|
|
96
|
-
};
|
|
97
|
-
|
|
98
79
|
var childTypeExists = function childTypeExists(children, childType) {
|
|
99
80
|
return children.find(function (child) {
|
|
100
81
|
return (child === null || child === void 0 ? void 0 : child.type) === childType;
|
|
101
82
|
});
|
|
102
83
|
};
|
|
103
84
|
|
|
104
|
-
var DxcApplicationLayout = function DxcApplicationLayout(
|
|
105
|
-
var
|
|
106
|
-
visibilityToggleLabel =
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
appLayoutId = _useState2[0];
|
|
85
|
+
var DxcApplicationLayout = function DxcApplicationLayout(_ref2) {
|
|
86
|
+
var _ref2$visibilityToggl = _ref2.visibilityToggleLabel,
|
|
87
|
+
visibilityToggleLabel = _ref2$visibilityToggl === void 0 ? "" : _ref2$visibilityToggl,
|
|
88
|
+
header = _ref2.header,
|
|
89
|
+
sidenav = _ref2.sidenav,
|
|
90
|
+
footer = _ref2.footer,
|
|
91
|
+
children = _ref2.children;
|
|
112
92
|
|
|
113
|
-
var
|
|
93
|
+
var _useState = (0, _react.useState)(false),
|
|
94
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
95
|
+
isSidenavVisibleResponsive = _useState2[0],
|
|
96
|
+
setIsSidenavVisibleResponsive = _useState2[1];
|
|
114
97
|
|
|
115
98
|
var _useState3 = (0, _react.useState)(false),
|
|
116
99
|
_useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
var _useState5 = (0, _react.useState)(false),
|
|
121
|
-
_useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
|
|
122
|
-
isResponsive = _useState6[0],
|
|
123
|
-
setIsResponsive = _useState6[1];
|
|
100
|
+
isResponsive = _useState4[0],
|
|
101
|
+
setIsResponsive = _useState4[1];
|
|
124
102
|
|
|
125
103
|
var ref = (0, _react.useRef)(null);
|
|
126
104
|
var translatedLabels = (0, _useTranslatedLabels["default"])();
|
|
127
105
|
|
|
128
106
|
var childrenArray = _react["default"].Children.toArray(children);
|
|
129
107
|
|
|
130
|
-
var
|
|
131
|
-
var
|
|
132
|
-
var sidenav = childTypeExists(childrenArray, Sidenav);
|
|
108
|
+
var headerContent = header || defaultHeader();
|
|
109
|
+
var footerContent = footer || defaultFooter();
|
|
133
110
|
var main = childTypeExists(childrenArray, Main);
|
|
134
111
|
|
|
135
112
|
var handleResize = function handleResize() {
|
|
@@ -142,34 +119,31 @@ var DxcApplicationLayout = function DxcApplicationLayout(_ref5) {
|
|
|
142
119
|
});
|
|
143
120
|
};
|
|
144
121
|
|
|
145
|
-
(0, _react.
|
|
122
|
+
(0, _react.useLayoutEffect)(function () {
|
|
146
123
|
handleResize();
|
|
147
124
|
window.addEventListener("resize", handleResize);
|
|
148
125
|
return function () {
|
|
149
126
|
window.removeEventListener("resize", handleResize);
|
|
150
127
|
};
|
|
151
|
-
}, [
|
|
128
|
+
}, []);
|
|
152
129
|
(0, _react.useEffect)(function () {
|
|
153
130
|
!isResponsive && setIsSidenavVisibleResponsive(false);
|
|
154
|
-
}, [isResponsive
|
|
131
|
+
}, [isResponsive]);
|
|
155
132
|
return /*#__PURE__*/_react["default"].createElement(ApplicationLayoutContainer, {
|
|
156
133
|
hasSidenav: sidenav ? true : false,
|
|
157
134
|
isSidenavVisible: isSidenavVisibleResponsive,
|
|
158
135
|
ref: ref
|
|
159
|
-
}, /*#__PURE__*/_react["default"].createElement(HeaderContainer, null,
|
|
136
|
+
}, /*#__PURE__*/_react["default"].createElement(HeaderContainer, null, headerContent), sidenav && isResponsive && /*#__PURE__*/_react["default"].createElement(VisibilityToggle, null, /*#__PURE__*/_react["default"].createElement(HamburgerTrigger, {
|
|
160
137
|
onClick: handleSidenavVisibility,
|
|
161
|
-
"aria-labelledby": visibilityToggleLabel ? visibilityToggleLabelId : undefined,
|
|
162
138
|
"aria-label": visibilityToggleLabel ? undefined : translatedLabels.applicationLayout.visibilityToggleTitle,
|
|
163
139
|
title: translatedLabels.applicationLayout.visibilityToggleTitle
|
|
164
|
-
}, _Icons.hamburgerIcon, visibilityToggleLabel
|
|
165
|
-
id: visibilityToggleLabelId
|
|
166
|
-
}, visibilityToggleLabel))), /*#__PURE__*/_react["default"].createElement(BodyContainer, null, /*#__PURE__*/_react["default"].createElement(_SidenavContext.SidenavContextProvider, {
|
|
140
|
+
}, _Icons.hamburgerIcon, visibilityToggleLabel)), /*#__PURE__*/_react["default"].createElement(BodyContainer, null, /*#__PURE__*/_react["default"].createElement(_SidenavContext.SidenavContextProvider, {
|
|
167
141
|
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),
|
|
142
|
+
}, 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
143
|
};
|
|
170
144
|
|
|
171
145
|
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:
|
|
146
|
+
return props.hasSidenav && "top: 116px";
|
|
173
147
|
}, function (props) {
|
|
174
148
|
return props.isSidenavVisible && "overflow: hidden;";
|
|
175
149
|
});
|
|
@@ -178,22 +152,20 @@ var HeaderContainer = _styledComponents["default"].div(_templateObject2 || (_tem
|
|
|
178
152
|
|
|
179
153
|
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"])));
|
|
180
154
|
|
|
181
|
-
var HamburgerTrigger = _styledComponents["default"].button(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n
|
|
182
|
-
|
|
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"])));
|
|
155
|
+
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
156
|
|
|
185
|
-
var BodyContainer = _styledComponents["default"].div(
|
|
157
|
+
var BodyContainer = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: row;\n flex: 1;\n"])));
|
|
186
158
|
|
|
187
|
-
var SidenavContainer = _styledComponents["default"].div(
|
|
159
|
+
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
160
|
|
|
189
|
-
var MainContainer = _styledComponents["default"].div(
|
|
161
|
+
var MainContainer = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n width: 100%;\n"])));
|
|
190
162
|
|
|
191
|
-
var MainContentContainer = _styledComponents["default"].div(
|
|
163
|
+
var MainContentContainer = _styledComponents["default"].div(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n flex: 1;\n"])));
|
|
192
164
|
|
|
193
|
-
DxcApplicationLayout.Header =
|
|
165
|
+
DxcApplicationLayout.Header = _Header["default"];
|
|
194
166
|
DxcApplicationLayout.Main = Main;
|
|
195
|
-
DxcApplicationLayout.Footer =
|
|
196
|
-
DxcApplicationLayout.SideNav =
|
|
167
|
+
DxcApplicationLayout.Footer = _Footer["default"];
|
|
168
|
+
DxcApplicationLayout.SideNav = _Sidenav["default"];
|
|
197
169
|
DxcApplicationLayout.useResponsiveSidenavVisibility = _SidenavContext.useResponsiveSidenavVisibility;
|
|
198
170
|
var _default = DxcApplicationLayout;
|
|
199
171
|
exports["default"] = _default;
|