@dxc-technology/halstack-react 0.0.0-da90bf9 → 0.0.0-da9270d
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/BackgroundColorContext.d.ts +1 -0
- package/BackgroundColorContext.js +8 -24
- package/HalstackContext.d.ts +1235 -0
- package/HalstackContext.js +310 -0
- package/README.md +47 -0
- package/accordion/Accordion.d.ts +4 -0
- package/accordion/Accordion.js +120 -291
- package/accordion/Accordion.stories.tsx +283 -0
- package/accordion/Accordion.test.js +56 -0
- package/accordion/types.d.ts +57 -0
- package/accordion/types.js +5 -0
- package/accordion-group/AccordionGroup.d.ts +8 -0
- package/accordion-group/AccordionGroup.js +57 -142
- package/accordion-group/AccordionGroup.stories.tsx +252 -0
- package/accordion-group/AccordionGroup.test.js +98 -0
- package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
- package/accordion-group/AccordionGroupAccordion.js +31 -0
- package/accordion-group/types.d.ts +67 -0
- package/accordion-group/types.js +5 -0
- package/alert/Alert.d.ts +4 -0
- package/alert/Alert.js +55 -204
- package/alert/Alert.stories.tsx +198 -0
- package/alert/Alert.test.js +75 -0
- package/alert/types.d.ts +49 -0
- package/alert/types.js +5 -0
- package/badge/Badge.d.ts +4 -0
- package/badge/Badge.js +15 -30
- package/badge/types.d.ts +5 -0
- package/badge/types.js +5 -0
- package/bleed/Bleed.d.ts +3 -0
- package/bleed/Bleed.js +43 -0
- package/bleed/Bleed.stories.tsx +342 -0
- package/bleed/types.d.ts +37 -0
- package/bleed/types.js +5 -0
- package/box/Box.d.ts +4 -0
- package/box/Box.js +35 -116
- package/box/Box.stories.tsx +119 -0
- package/box/Box.test.js +13 -0
- package/box/types.d.ts +32 -0
- package/box/types.js +5 -0
- package/bulleted-list/BulletedList.d.ts +7 -0
- package/bulleted-list/BulletedList.js +89 -0
- package/bulleted-list/BulletedList.stories.tsx +115 -0
- package/bulleted-list/types.d.ts +38 -0
- package/bulleted-list/types.js +5 -0
- package/button/Button.d.ts +4 -0
- package/button/Button.js +67 -185
- package/button/Button.stories.tsx +344 -0
- package/button/Button.test.js +36 -0
- package/button/types.d.ts +57 -0
- package/button/types.js +5 -0
- package/card/Card.d.ts +4 -0
- package/card/Card.js +60 -194
- package/card/Card.stories.tsx +171 -0
- package/card/Card.test.js +39 -0
- package/card/types.d.ts +62 -0
- package/card/types.js +5 -0
- package/checkbox/Checkbox.d.ts +4 -0
- package/checkbox/Checkbox.js +147 -231
- package/checkbox/Checkbox.stories.tsx +222 -0
- package/checkbox/Checkbox.test.js +199 -0
- package/checkbox/types.d.ts +72 -0
- package/checkbox/types.js +5 -0
- package/chip/Chip.d.ts +4 -0
- package/chip/Chip.js +50 -194
- package/chip/Chip.stories.tsx +214 -0
- package/chip/Chip.test.js +41 -0
- package/chip/types.d.ts +45 -0
- package/chip/types.js +5 -0
- package/common/OpenSans.css +68 -80
- package/common/coreTokens.d.ts +237 -0
- package/common/coreTokens.js +184 -0
- package/common/utils.d.ts +1 -0
- package/common/utils.js +6 -12
- package/common/variables.d.ts +1381 -0
- package/common/variables.js +1006 -1319
- package/container/Container.d.ts +4 -0
- package/container/Container.js +194 -0
- package/container/Container.stories.tsx +214 -0
- package/container/types.d.ts +74 -0
- package/container/types.js +5 -0
- package/date-input/Calendar.d.ts +4 -0
- package/date-input/Calendar.js +214 -0
- package/date-input/DateInput.d.ts +4 -0
- package/date-input/DateInput.js +179 -356
- package/date-input/DateInput.stories.tsx +285 -0
- package/date-input/DateInput.test.js +808 -0
- package/date-input/DatePicker.d.ts +4 -0
- package/date-input/DatePicker.js +115 -0
- package/date-input/Icons.d.ts +6 -0
- package/date-input/Icons.js +58 -0
- package/date-input/YearPicker.d.ts +4 -0
- package/date-input/YearPicker.js +100 -0
- package/date-input/types.d.ts +164 -0
- package/date-input/types.js +5 -0
- package/dialog/Dialog.d.ts +4 -0
- package/dialog/Dialog.js +70 -184
- package/dialog/Dialog.stories.tsx +365 -0
- package/dialog/Dialog.test.js +307 -0
- package/dialog/types.d.ts +36 -0
- package/dialog/types.js +5 -0
- package/dropdown/Dropdown.d.ts +4 -0
- package/dropdown/Dropdown.js +247 -457
- package/dropdown/Dropdown.stories.tsx +438 -0
- package/dropdown/Dropdown.test.js +599 -0
- package/dropdown/DropdownMenu.d.ts +4 -0
- package/dropdown/DropdownMenu.js +63 -0
- package/dropdown/DropdownMenuItem.d.ts +4 -0
- package/dropdown/DropdownMenuItem.js +67 -0
- package/dropdown/types.d.ts +98 -0
- package/dropdown/types.js +5 -0
- package/file-input/FileInput.d.ts +4 -0
- package/file-input/FileInput.js +297 -462
- package/file-input/FileInput.stories.tsx +618 -0
- package/file-input/FileInput.test.js +459 -0
- package/file-input/FileItem.d.ts +4 -0
- package/file-input/FileItem.js +61 -213
- package/file-input/types.d.ts +129 -0
- package/file-input/types.js +5 -0
- package/flex/Flex.d.ts +4 -0
- package/flex/Flex.js +57 -0
- package/flex/Flex.stories.tsx +112 -0
- package/flex/types.d.ts +97 -0
- package/flex/types.js +5 -0
- package/footer/Footer.d.ts +4 -0
- package/footer/Footer.js +64 -360
- package/footer/Footer.stories.tsx +152 -0
- package/footer/Footer.test.js +85 -0
- package/footer/Icons.d.ts +2 -0
- package/footer/Icons.js +16 -21
- package/footer/types.d.ts +58 -0
- package/footer/types.js +5 -0
- package/grid/Grid.d.ts +7 -0
- package/grid/Grid.js +76 -0
- package/grid/Grid.stories.tsx +219 -0
- package/grid/types.d.ts +115 -0
- package/grid/types.js +5 -0
- package/header/Header.d.ts +8 -0
- package/header/Header.js +122 -372
- package/header/Header.stories.tsx +251 -0
- package/header/Header.test.js +66 -0
- package/header/Icons.d.ts +2 -0
- package/header/Icons.js +9 -39
- package/header/types.d.ts +33 -0
- package/header/types.js +5 -0
- package/heading/Heading.d.ts +4 -0
- package/heading/Heading.js +31 -124
- package/heading/Heading.stories.tsx +54 -0
- package/heading/Heading.test.js +169 -0
- package/heading/types.d.ts +33 -0
- package/heading/types.js +5 -0
- package/image/Image.d.ts +4 -0
- package/image/Image.js +70 -0
- package/image/Image.stories.tsx +127 -0
- package/image/types.d.ts +72 -0
- package/image/types.js +5 -0
- package/inset/Inset.d.ts +3 -0
- package/inset/Inset.js +43 -0
- package/inset/Inset.stories.tsx +230 -0
- package/inset/types.d.ts +37 -0
- package/inset/types.js +5 -0
- package/layout/ApplicationLayout.d.ts +20 -0
- package/layout/ApplicationLayout.js +85 -278
- package/layout/ApplicationLayout.stories.tsx +162 -0
- package/layout/Icons.d.ts +8 -0
- package/layout/Icons.js +51 -48
- package/layout/SidenavContext.d.ts +5 -0
- package/layout/SidenavContext.js +13 -0
- package/layout/types.d.ts +41 -0
- package/layout/types.js +5 -0
- package/link/Link.d.ts +4 -0
- package/link/Link.js +67 -189
- package/link/Link.stories.tsx +253 -0
- package/link/Link.test.js +63 -0
- package/link/types.d.ts +54 -0
- package/link/types.js +5 -0
- package/main.d.ts +46 -40
- package/main.js +117 -140
- package/nav-tabs/NavTabs.d.ts +8 -0
- package/nav-tabs/NavTabs.js +90 -0
- package/nav-tabs/NavTabs.stories.tsx +274 -0
- package/nav-tabs/NavTabs.test.js +75 -0
- package/nav-tabs/Tab.d.ts +4 -0
- package/nav-tabs/Tab.js +117 -0
- package/nav-tabs/types.d.ts +52 -0
- package/nav-tabs/types.js +5 -0
- package/number-input/NumberInput.d.ts +11 -0
- package/number-input/NumberInput.js +32 -101
- package/number-input/NumberInput.stories.tsx +131 -0
- package/number-input/NumberInput.test.js +830 -0
- package/number-input/types.d.ts +130 -0
- package/number-input/types.js +5 -0
- package/package.json +53 -49
- package/paginator/Icons.d.ts +5 -0
- package/paginator/Icons.js +26 -52
- package/paginator/Paginator.d.ts +4 -0
- package/paginator/Paginator.js +41 -211
- package/paginator/Paginator.stories.tsx +87 -0
- package/paginator/Paginator.test.js +335 -0
- package/paginator/types.d.ts +38 -0
- package/paginator/types.js +5 -0
- package/paragraph/Paragraph.d.ts +5 -0
- package/paragraph/Paragraph.js +22 -0
- package/paragraph/Paragraph.stories.tsx +27 -0
- package/password-input/Icons.d.ts +6 -0
- package/password-input/Icons.js +35 -0
- package/password-input/PasswordInput.d.ts +4 -0
- package/password-input/PasswordInput.js +66 -172
- package/password-input/PasswordInput.stories.tsx +99 -0
- package/password-input/PasswordInput.test.js +198 -0
- package/password-input/types.d.ts +111 -0
- package/password-input/types.js +5 -0
- package/progress-bar/ProgressBar.d.ts +4 -0
- package/progress-bar/ProgressBar.js +76 -174
- package/progress-bar/ProgressBar.stories.tsx +93 -0
- package/progress-bar/ProgressBar.test.js +93 -0
- package/progress-bar/types.d.ts +37 -0
- package/progress-bar/types.js +5 -0
- package/quick-nav/QuickNav.d.ts +4 -0
- package/quick-nav/QuickNav.js +94 -0
- package/quick-nav/QuickNav.stories.tsx +356 -0
- package/quick-nav/types.d.ts +21 -0
- package/quick-nav/types.js +5 -0
- package/radio-group/Radio.d.ts +4 -0
- package/radio-group/Radio.js +124 -0
- package/radio-group/RadioGroup.d.ts +4 -0
- package/radio-group/RadioGroup.js +235 -0
- package/radio-group/RadioGroup.stories.tsx +214 -0
- package/radio-group/RadioGroup.test.js +756 -0
- package/radio-group/types.d.ts +114 -0
- package/radio-group/types.js +5 -0
- package/resultset-table/Icons.d.ts +7 -0
- package/resultset-table/Icons.js +47 -0
- package/resultset-table/ResultsetTable.d.ts +4 -0
- package/resultset-table/ResultsetTable.js +159 -0
- package/resultset-table/ResultsetTable.stories.tsx +300 -0
- package/resultset-table/ResultsetTable.test.js +305 -0
- package/resultset-table/types.d.ts +67 -0
- package/resultset-table/types.js +5 -0
- package/select/Icons.d.ts +10 -0
- package/select/Icons.js +89 -0
- package/select/Listbox.d.ts +4 -0
- package/select/Listbox.js +143 -0
- package/select/Option.d.ts +4 -0
- package/select/Option.js +80 -0
- package/select/Select.d.ts +4 -0
- package/select/Select.js +294 -849
- package/select/Select.stories.tsx +971 -0
- package/select/Select.test.js +2370 -0
- package/select/types.d.ts +209 -0
- package/select/types.js +5 -0
- package/sidenav/Icons.d.ts +7 -0
- package/sidenav/Icons.js +47 -0
- package/sidenav/Sidenav.d.ts +10 -0
- package/sidenav/Sidenav.js +134 -117
- package/sidenav/Sidenav.stories.tsx +282 -0
- package/sidenav/Sidenav.test.js +37 -0
- package/sidenav/types.d.ts +76 -0
- package/sidenav/types.js +5 -0
- package/slider/Slider.d.ts +4 -0
- package/slider/Slider.js +172 -291
- package/slider/Slider.test.js +254 -0
- package/slider/types.d.ts +86 -0
- package/slider/types.js +5 -0
- package/spinner/Spinner.d.ts +4 -0
- package/spinner/Spinner.js +66 -241
- package/spinner/Spinner.stories.tsx +129 -0
- package/spinner/Spinner.test.js +55 -0
- package/spinner/types.d.ts +32 -0
- package/spinner/types.js +5 -0
- package/switch/Switch.d.ts +4 -0
- package/switch/Switch.js +153 -161
- package/switch/Switch.stories.tsx +137 -0
- package/switch/Switch.test.js +180 -0
- package/switch/types.d.ts +66 -0
- package/switch/types.js +5 -0
- package/table/Table.d.ts +4 -0
- package/table/Table.js +14 -50
- package/table/Table.stories.tsx +356 -0
- package/table/Table.test.js +21 -0
- package/table/types.d.ts +21 -0
- package/table/types.js +5 -0
- package/tabs/Tab.d.ts +4 -0
- package/tabs/Tab.js +113 -0
- package/tabs/Tabs.d.ts +4 -0
- package/tabs/Tabs.js +322 -281
- package/tabs/Tabs.stories.tsx +226 -0
- package/tabs/Tabs.test.js +294 -0
- package/tabs/types.d.ts +92 -0
- package/tabs/types.js +5 -0
- package/tag/Tag.d.ts +4 -0
- package/tag/Tag.js +61 -192
- package/tag/Tag.stories.tsx +155 -0
- package/tag/Tag.test.js +49 -0
- package/tag/types.d.ts +69 -0
- package/tag/types.js +5 -0
- package/text-input/Icons.d.ts +8 -0
- package/text-input/Icons.js +56 -0
- package/text-input/Suggestion.d.ts +4 -0
- package/text-input/Suggestion.js +67 -0
- package/text-input/Suggestions.d.ts +4 -0
- package/text-input/Suggestions.js +84 -0
- package/text-input/TextInput.d.ts +4 -0
- package/text-input/TextInput.js +360 -757
- package/text-input/TextInput.stories.tsx +465 -0
- package/text-input/TextInput.test.js +1739 -0
- package/text-input/types.d.ts +205 -0
- package/text-input/types.js +5 -0
- package/textarea/Textarea.d.ts +4 -0
- package/textarea/Textarea.js +105 -240
- package/textarea/Textarea.stories.tsx +174 -0
- package/textarea/Textarea.test.js +406 -0
- package/textarea/types.d.ts +141 -0
- package/textarea/types.js +5 -0
- package/toggle-group/ToggleGroup.d.ts +4 -0
- package/toggle-group/ToggleGroup.js +107 -233
- package/toggle-group/ToggleGroup.stories.tsx +218 -0
- package/toggle-group/ToggleGroup.test.js +137 -0
- package/toggle-group/types.d.ts +114 -0
- package/toggle-group/types.js +5 -0
- package/typography/Typography.d.ts +4 -0
- package/typography/Typography.js +23 -0
- package/typography/Typography.stories.tsx +198 -0
- package/typography/types.d.ts +18 -0
- package/typography/types.js +5 -0
- package/useTheme.d.ts +1134 -0
- package/useTheme.js +4 -11
- package/useTranslatedLabels.d.ts +85 -0
- package/useTranslatedLabels.js +14 -0
- package/utils/BaseTypography.d.ts +21 -0
- package/utils/BaseTypography.js +94 -0
- package/utils/FocusLock.d.ts +13 -0
- package/utils/FocusLock.js +121 -0
- package/wizard/Wizard.d.ts +4 -0
- package/wizard/Wizard.js +138 -293
- package/wizard/Wizard.stories.tsx +253 -0
- package/wizard/Wizard.test.js +114 -0
- package/wizard/types.d.ts +64 -0
- package/wizard/types.js +5 -0
- package/ThemeContext.js +0 -250
- package/V3Select/V3Select.js +0 -549
- package/V3Select/index.d.ts +0 -27
- package/V3Textarea/V3Textarea.js +0 -264
- package/V3Textarea/index.d.ts +0 -27
- package/accordion/index.d.ts +0 -28
- package/accordion-group/index.d.ts +0 -16
- package/alert/index.d.ts +0 -51
- package/box/index.d.ts +0 -25
- package/button/Button.stories.js +0 -27
- package/button/index.d.ts +0 -24
- package/card/index.d.ts +0 -22
- package/checkbox/index.d.ts +0 -24
- package/chip/index.d.ts +0 -22
- package/common/RequiredComponent.js +0 -40
- package/date/Date.js +0 -379
- package/date/index.d.ts +0 -27
- package/date-input/index.d.ts +0 -95
- package/dialog/index.d.ts +0 -18
- package/dropdown/index.d.ts +0 -26
- package/file-input/index.d.ts +0 -81
- package/footer/index.d.ts +0 -25
- package/header/index.d.ts +0 -25
- package/heading/index.d.ts +0 -17
- package/input-text/Icons.js +0 -22
- package/input-text/InputText.js +0 -705
- package/input-text/index.d.ts +0 -36
- package/link/index.d.ts +0 -23
- package/number-input/NumberInputContext.js +0 -16
- package/number-input/index.d.ts +0 -113
- package/paginator/index.d.ts +0 -20
- package/password-input/index.d.ts +0 -94
- package/progress-bar/index.d.ts +0 -18
- package/radio/Radio.js +0 -209
- package/radio/index.d.ts +0 -23
- package/resultsetTable/ResultsetTable.js +0 -358
- package/resultsetTable/index.d.ts +0 -19
- package/select/index.d.ts +0 -131
- package/sidenav/index.d.ts +0 -13
- package/slider/index.d.ts +0 -29
- package/spinner/index.d.ts +0 -17
- package/switch/index.d.ts +0 -24
- package/table/index.d.ts +0 -13
- package/tabs/index.d.ts +0 -19
- package/tag/index.d.ts +0 -24
- package/text-input/index.d.ts +0 -135
- package/textarea/index.d.ts +0 -117
- package/toggle/Toggle.js +0 -220
- package/toggle/index.d.ts +0 -21
- package/toggle-group/index.d.ts +0 -21
- package/upload/Upload.js +0 -205
- package/upload/buttons-upload/ButtonsUpload.js +0 -135
- package/upload/buttons-upload/Icons.js +0 -40
- package/upload/dragAndDropArea/DragAndDropArea.js +0 -329
- package/upload/dragAndDropArea/Icons.js +0 -39
- package/upload/file-upload/FileToUpload.js +0 -189
- package/upload/file-upload/Icons.js +0 -66
- package/upload/files-upload/FilesToUpload.js +0 -123
- package/upload/index.d.ts +0 -15
- package/upload/transaction/Icons.js +0 -160
- package/upload/transaction/Transaction.js +0 -148
- package/upload/transactions/Transactions.js +0 -138
- package/wizard/Icons.js +0 -65
- package/wizard/index.d.ts +0 -18
|
@@ -0,0 +1,251 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import DxcHeader from "./Header";
|
|
3
|
+
import DxcButton from "../button/Button";
|
|
4
|
+
import Title from "../../.storybook/components/Title";
|
|
5
|
+
import ExampleContainer from "../../.storybook/components/ExampleContainer";
|
|
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";
|
|
10
|
+
|
|
11
|
+
export default {
|
|
12
|
+
title: "Header",
|
|
13
|
+
component: DxcHeader,
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
const options: any = [
|
|
17
|
+
{
|
|
18
|
+
value: 1,
|
|
19
|
+
label: "Amazon",
|
|
20
|
+
},
|
|
21
|
+
];
|
|
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: "https://upload.wikimedia.org/wikipedia/commons/thumb/b/b8/2021_Facebook_icon.svg/2048px-2021_Facebook_icon.svg.png",
|
|
46
|
+
logoResponsive:
|
|
47
|
+
"https://upload.wikimedia.org/wikipedia/commons/thumb/b/b8/2021_Facebook_icon.svg/2048px-2021_Facebook_icon.svg.png",
|
|
48
|
+
contentColor: "#000000",
|
|
49
|
+
overlayColor: "#000000b3",
|
|
50
|
+
},
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
export const Chromatic = () => (
|
|
54
|
+
<>
|
|
55
|
+
<ExampleContainer>
|
|
56
|
+
<Title title="Default with dropdown" theme="light" level={4} />
|
|
57
|
+
<DxcHeader
|
|
58
|
+
content={<DxcHeader.Dropdown options={options} label="Default Dropdown" onSelectOption={() => {}} />}
|
|
59
|
+
/>
|
|
60
|
+
</ExampleContainer>
|
|
61
|
+
<ExampleContainer>
|
|
62
|
+
<Title title="Underlined with text" theme="light" level={4} />
|
|
63
|
+
<DxcHeader underlined content={<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras felis.</p>} />
|
|
64
|
+
</ExampleContainer>
|
|
65
|
+
<ExampleContainer>
|
|
66
|
+
<Title title="Underlined, dropdown and links" theme="light" level={4} />
|
|
67
|
+
<DxcHeader
|
|
68
|
+
content={
|
|
69
|
+
<DxcFlex alignItems="center" gap="4rem">
|
|
70
|
+
<DxcLink>Link 1</DxcLink>
|
|
71
|
+
<DxcLink>Link 2</DxcLink>
|
|
72
|
+
<DxcLink>Link 3</DxcLink>
|
|
73
|
+
<DxcHeader.Dropdown options={options2} label="Label" onSelectOption={() => {}} />
|
|
74
|
+
</DxcFlex>
|
|
75
|
+
}
|
|
76
|
+
underlined
|
|
77
|
+
/>
|
|
78
|
+
</ExampleContainer>
|
|
79
|
+
<Title title="Margins" theme="light" level={2} />
|
|
80
|
+
<ExampleContainer>
|
|
81
|
+
<Title title="Xxsmall margin" theme="light" level={4} />
|
|
82
|
+
<DxcHeader underlined margin="xxsmall" />
|
|
83
|
+
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras felis.</p>
|
|
84
|
+
</ExampleContainer>
|
|
85
|
+
<ExampleContainer>
|
|
86
|
+
<Title title="Xsmall margin" theme="light" level={4} />
|
|
87
|
+
<DxcHeader underlined margin="xsmall" />
|
|
88
|
+
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras felis.</p>
|
|
89
|
+
</ExampleContainer>
|
|
90
|
+
<ExampleContainer>
|
|
91
|
+
<Title title="Small margin" theme="light" level={4} />
|
|
92
|
+
<DxcHeader underlined margin="small" />
|
|
93
|
+
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras felis.</p>
|
|
94
|
+
</ExampleContainer>
|
|
95
|
+
<ExampleContainer>
|
|
96
|
+
<Title title="Medium margin" theme="light" level={4} />
|
|
97
|
+
<DxcHeader underlined margin="medium" />
|
|
98
|
+
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras felis.</p>
|
|
99
|
+
</ExampleContainer>
|
|
100
|
+
<ExampleContainer>
|
|
101
|
+
<Title title="Large margin" theme="light" level={4} />
|
|
102
|
+
<DxcHeader underlined margin="large" />
|
|
103
|
+
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras felis.</p>
|
|
104
|
+
</ExampleContainer>
|
|
105
|
+
<ExampleContainer>
|
|
106
|
+
<Title title="Xlarge margin" theme="light" level={4} />
|
|
107
|
+
<DxcHeader underlined margin="xlarge" />
|
|
108
|
+
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras felis.</p>
|
|
109
|
+
</ExampleContainer>
|
|
110
|
+
<ExampleContainer>
|
|
111
|
+
<Title title="Xxlarge margin" theme="light" level={4} />
|
|
112
|
+
<DxcHeader underlined margin="xxlarge" />
|
|
113
|
+
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras felis.</p>
|
|
114
|
+
</ExampleContainer>
|
|
115
|
+
<Title title="Opinionated theme" theme="light" level={2} />
|
|
116
|
+
<ExampleContainer>
|
|
117
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
118
|
+
<DxcHeader
|
|
119
|
+
underlined
|
|
120
|
+
content={<DxcButton label={"Custom Button"} />}
|
|
121
|
+
responsiveContent={(closeHandler) => (
|
|
122
|
+
<>
|
|
123
|
+
<DxcButton label={"Custom Button"} onClick={closeHandler} />
|
|
124
|
+
Custom content
|
|
125
|
+
</>
|
|
126
|
+
)}
|
|
127
|
+
/>
|
|
128
|
+
</HalstackProvider>
|
|
129
|
+
</ExampleContainer>
|
|
130
|
+
</>
|
|
131
|
+
);
|
|
132
|
+
|
|
133
|
+
export const ResponsiveHeader = () => (
|
|
134
|
+
<ExampleContainer>
|
|
135
|
+
<Title title="Responsive" theme="light" level={4} />
|
|
136
|
+
<DxcHeader
|
|
137
|
+
content={<DxcHeader.Dropdown options={options} label="Default Dropdown" onSelectOption={() => {}} />}
|
|
138
|
+
responsiveContent={(closeHandler) => (
|
|
139
|
+
<DxcHeader.Dropdown options={options} label="Default Dropdown" onSelectOption={() => {}} />
|
|
140
|
+
)}
|
|
141
|
+
underlined
|
|
142
|
+
/>
|
|
143
|
+
</ExampleContainer>
|
|
144
|
+
);
|
|
145
|
+
|
|
146
|
+
const RespHeaderFocus = () => (
|
|
147
|
+
<ExampleContainer pseudoState="pseudo-focus">
|
|
148
|
+
<Title title="Responsive focus" theme="light" level={4} />
|
|
149
|
+
<DxcHeader responsiveContent={(closeHandler) => <p>Lorem ipsum dolor sit amet.</p>} underlined />
|
|
150
|
+
</ExampleContainer>
|
|
151
|
+
);
|
|
152
|
+
|
|
153
|
+
const RespHeaderHover = () => (
|
|
154
|
+
<ExampleContainer pseudoState="pseudo-hover">
|
|
155
|
+
<Title title="Responsive hover" theme="light" level={4} />
|
|
156
|
+
<DxcHeader responsiveContent={(closeHandler) => <p>Lorem ipsum dolor sit amet.</p>} underlined />
|
|
157
|
+
</ExampleContainer>
|
|
158
|
+
);
|
|
159
|
+
|
|
160
|
+
const RespHeaderMenuMobile = () => (
|
|
161
|
+
<ExampleContainer>
|
|
162
|
+
<Title title="Responsive menu" theme="light" level={4} />
|
|
163
|
+
<DxcHeader responsiveContent={(closeHandler) => <p>Lorem ipsum dolor sit amet.</p>} underlined />
|
|
164
|
+
</ExampleContainer>
|
|
165
|
+
);
|
|
166
|
+
|
|
167
|
+
const RespHeaderMenuTablet = () => (
|
|
168
|
+
<ExampleContainer>
|
|
169
|
+
<Title title="Responsive menu" theme="light" level={4} />
|
|
170
|
+
<DxcHeader responsiveContent={(closeHandler) => <p>Lorem ipsum dolor sit amet.</p>} underlined />
|
|
171
|
+
</ExampleContainer>
|
|
172
|
+
);
|
|
173
|
+
|
|
174
|
+
const RespHeaderMenuOpinionated = () => (
|
|
175
|
+
<ExampleContainer>
|
|
176
|
+
<Title title="Responsive menu" theme="light" level={4} />
|
|
177
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
178
|
+
<DxcHeader responsiveContent={(closeHandler) => <p>Lorem ipsum dolor sit amet.</p>} underlined />
|
|
179
|
+
</HalstackProvider>
|
|
180
|
+
</ExampleContainer>
|
|
181
|
+
);
|
|
182
|
+
|
|
183
|
+
ResponsiveHeader.parameters = {
|
|
184
|
+
viewport: {
|
|
185
|
+
defaultViewport: "iphonex",
|
|
186
|
+
},
|
|
187
|
+
chromatic: { viewports: [375] },
|
|
188
|
+
};
|
|
189
|
+
|
|
190
|
+
export const ResponsiveHeaderFocus = RespHeaderFocus.bind({});
|
|
191
|
+
ResponsiveHeaderFocus.parameters = {
|
|
192
|
+
viewport: {
|
|
193
|
+
defaultViewport: "iphonex",
|
|
194
|
+
},
|
|
195
|
+
chromatic: { viewports: [375] },
|
|
196
|
+
};
|
|
197
|
+
ResponsiveHeaderFocus.play = async ({ canvasElement }) => {
|
|
198
|
+
const canvas = within(canvasElement);
|
|
199
|
+
await waitFor(() => canvas.findByText("Menu"));
|
|
200
|
+
};
|
|
201
|
+
|
|
202
|
+
export const ResponsiveHeaderHover = RespHeaderHover.bind({});
|
|
203
|
+
ResponsiveHeaderHover.parameters = {
|
|
204
|
+
viewport: {
|
|
205
|
+
defaultViewport: "iphonex",
|
|
206
|
+
},
|
|
207
|
+
chromatic: { viewports: [375] },
|
|
208
|
+
};
|
|
209
|
+
ResponsiveHeaderHover.play = async ({ canvasElement }) => {
|
|
210
|
+
const canvas = within(canvasElement);
|
|
211
|
+
await waitFor(() => canvas.findByText("Menu"));
|
|
212
|
+
};
|
|
213
|
+
|
|
214
|
+
export const ResponsiveHeaderMenuMobile = RespHeaderMenuMobile.bind({});
|
|
215
|
+
ResponsiveHeaderMenuMobile.parameters = {
|
|
216
|
+
viewport: {
|
|
217
|
+
defaultViewport: "iphonex",
|
|
218
|
+
},
|
|
219
|
+
chromatic: { viewports: [375] },
|
|
220
|
+
};
|
|
221
|
+
ResponsiveHeaderMenuMobile.play = async ({ canvasElement }) => {
|
|
222
|
+
const canvas = within(canvasElement);
|
|
223
|
+
await waitFor(() => canvas.findByText("Menu"));
|
|
224
|
+
await userEvent.click(canvas.getByText("Menu"));
|
|
225
|
+
};
|
|
226
|
+
|
|
227
|
+
export const ResponsiveHeaderMenuTablet = RespHeaderMenuTablet.bind({});
|
|
228
|
+
ResponsiveHeaderMenuTablet.parameters = {
|
|
229
|
+
viewport: {
|
|
230
|
+
defaultViewport: "pixelxl",
|
|
231
|
+
},
|
|
232
|
+
chromatic: { viewports: [720] },
|
|
233
|
+
};
|
|
234
|
+
ResponsiveHeaderMenuTablet.play = async ({ canvasElement }) => {
|
|
235
|
+
const canvas = within(canvasElement);
|
|
236
|
+
await waitFor(() => canvas.findByText("Menu"));
|
|
237
|
+
await userEvent.click(canvas.getByText("Menu"));
|
|
238
|
+
};
|
|
239
|
+
|
|
240
|
+
export const ResponsiveHeaderMenuOpinionated = RespHeaderMenuOpinionated.bind({});
|
|
241
|
+
ResponsiveHeaderMenuOpinionated.parameters = {
|
|
242
|
+
viewport: {
|
|
243
|
+
defaultViewport: "pixelxl",
|
|
244
|
+
},
|
|
245
|
+
chromatic: { viewports: [720] },
|
|
246
|
+
};
|
|
247
|
+
ResponsiveHeaderMenuOpinionated.play = async ({ canvasElement }) => {
|
|
248
|
+
const canvas = within(canvasElement);
|
|
249
|
+
await waitFor(() => canvas.findByText("Menu"));
|
|
250
|
+
await userEvent.click(canvas.getByText("Menu"));
|
|
251
|
+
};
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _react = _interopRequireDefault(require("react"));
|
|
5
|
+
var _react2 = require("@testing-library/react");
|
|
6
|
+
var _Header = _interopRequireDefault(require("./Header.tsx"));
|
|
7
|
+
describe("Header component tests", function () {
|
|
8
|
+
beforeAll(function () {
|
|
9
|
+
Object.defineProperty(window, "matchMedia", {
|
|
10
|
+
writable: true,
|
|
11
|
+
value: jest.fn().mockImplementation(function () {
|
|
12
|
+
return {
|
|
13
|
+
matches: false
|
|
14
|
+
};
|
|
15
|
+
})
|
|
16
|
+
});
|
|
17
|
+
});
|
|
18
|
+
test("Header renders with default logo", function () {
|
|
19
|
+
var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Header["default"], null)),
|
|
20
|
+
getByTitle = _render.getByTitle;
|
|
21
|
+
expect(getByTitle("DXC Logo")).toBeTruthy();
|
|
22
|
+
});
|
|
23
|
+
test("Call correct function on logo click", function () {
|
|
24
|
+
var onClick = jest.fn();
|
|
25
|
+
var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Header["default"], {
|
|
26
|
+
onClick: onClick
|
|
27
|
+
})),
|
|
28
|
+
getByTitle = _render2.getByTitle;
|
|
29
|
+
var logo = getByTitle("DXC Logo");
|
|
30
|
+
_react2.fireEvent.click(logo);
|
|
31
|
+
expect(onClick).toHaveBeenCalled();
|
|
32
|
+
});
|
|
33
|
+
test("Header renders with correct children", function () {
|
|
34
|
+
// We need to force the offsetWidth value
|
|
35
|
+
Object.defineProperty(HTMLElement.prototype, "offsetWidth", {
|
|
36
|
+
configurable: true,
|
|
37
|
+
value: 1024
|
|
38
|
+
});
|
|
39
|
+
var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Header["default"], {
|
|
40
|
+
content: /*#__PURE__*/_react["default"].createElement("p", null, "header-child-text")
|
|
41
|
+
})),
|
|
42
|
+
getByText = _render3.getByText;
|
|
43
|
+
expect(getByText("header-child-text")).toBeTruthy();
|
|
44
|
+
});
|
|
45
|
+
test("Header renders menu button in mobile", function () {
|
|
46
|
+
Object.defineProperty(HTMLElement.prototype, "offsetWidth", {
|
|
47
|
+
configurable: true,
|
|
48
|
+
value: 425
|
|
49
|
+
});
|
|
50
|
+
Object.defineProperty(window, "matchMedia", {
|
|
51
|
+
writable: true,
|
|
52
|
+
value: jest.fn().mockImplementation(function () {
|
|
53
|
+
return {
|
|
54
|
+
matches: true
|
|
55
|
+
};
|
|
56
|
+
})
|
|
57
|
+
});
|
|
58
|
+
var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Header["default"], {
|
|
59
|
+
responsiveContent: function responsiveContent() {
|
|
60
|
+
return /*#__PURE__*/_react["default"].createElement("p", null, "header-child-text");
|
|
61
|
+
}
|
|
62
|
+
})),
|
|
63
|
+
getByText = _render4.getByText;
|
|
64
|
+
expect(getByText("Menu")).toBeTruthy();
|
|
65
|
+
});
|
|
66
|
+
});
|
package/header/Icons.js
CHANGED
|
@@ -1,59 +1,29 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
|
-
exports.
|
|
9
|
-
|
|
7
|
+
exports.dxcLogo = void 0;
|
|
10
8
|
var _react = _interopRequireDefault(require("react"));
|
|
11
|
-
|
|
12
|
-
var dxcLogo = _react["default"].createElement("svg", {
|
|
9
|
+
var dxcLogo = exports.dxcLogo = /*#__PURE__*/_react["default"].createElement("svg", {
|
|
13
10
|
xmlns: "http://www.w3.org/2000/svg",
|
|
14
11
|
width: "73",
|
|
15
12
|
height: "40",
|
|
16
13
|
viewBox: "0 0 73 40"
|
|
17
|
-
}, _react["default"].createElement("title", null, "DXC Logo"), _react["default"].createElement("g", {
|
|
14
|
+
}, /*#__PURE__*/_react["default"].createElement("title", null, "DXC Logo"), /*#__PURE__*/_react["default"].createElement("g", {
|
|
18
15
|
id: "g10",
|
|
19
16
|
transform: "translate(0)"
|
|
20
|
-
}, _react["default"].createElement("g", {
|
|
17
|
+
}, /*#__PURE__*/_react["default"].createElement("g", {
|
|
21
18
|
id: "g12"
|
|
22
|
-
}, _react["default"].createElement("path", {
|
|
19
|
+
}, /*#__PURE__*/_react["default"].createElement("path", {
|
|
23
20
|
id: "path14",
|
|
24
21
|
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
22
|
transform: "translate(-21.028 65.555)",
|
|
26
|
-
fill: "#
|
|
27
|
-
}), _react["default"].createElement("path", {
|
|
23
|
+
fill: "#010101"
|
|
24
|
+
}), /*#__PURE__*/_react["default"].createElement("path", {
|
|
28
25
|
id: "path16",
|
|
29
26
|
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
27
|
transform: "translate(-21.049 88.739)",
|
|
31
|
-
fill: "#
|
|
32
|
-
}))));
|
|
33
|
-
|
|
34
|
-
exports.dxcLogo = dxcLogo;
|
|
35
|
-
|
|
36
|
-
var closeIcon = _react["default"].createElement("svg", {
|
|
37
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
38
|
-
height: "24",
|
|
39
|
-
viewBox: "0 0 24 24",
|
|
40
|
-
width: "24"
|
|
41
|
-
}, _react["default"].createElement("path", {
|
|
42
|
-
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"
|
|
43
|
-
}), _react["default"].createElement("path", {
|
|
44
|
-
d: "M0 0h24v24H0z",
|
|
45
|
-
fill: "none"
|
|
46
|
-
}));
|
|
47
|
-
|
|
48
|
-
exports.closeIcon = closeIcon;
|
|
49
|
-
|
|
50
|
-
var hamburgerIcon = _react["default"].createElement("svg", {
|
|
51
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
52
|
-
viewBox: "0 0 24 24",
|
|
53
|
-
width: "24",
|
|
54
|
-
height: "24"
|
|
55
|
-
}, _react["default"].createElement("path", {
|
|
56
|
-
d: "M3,8H21a1,1,0,0,0,0-2H3A1,1,0,0,0,3,8Zm18,8H3a1,1,0,0,0,0,2H21a1,1,0,0,0,0-2Zm0-5H3a1,1,0,0,0,0,2H21a1,1,0,0,0,0-2Z"
|
|
57
|
-
}));
|
|
58
|
-
|
|
59
|
-
exports.hamburgerIcon = hamburgerIcon;
|
|
28
|
+
fill: "#603494"
|
|
29
|
+
}))));
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
|
|
3
|
+
type Props = {
|
|
4
|
+
/**
|
|
5
|
+
* Whether a contrast line should appear at the bottom of the header.
|
|
6
|
+
*/
|
|
7
|
+
underlined?: boolean;
|
|
8
|
+
/**
|
|
9
|
+
* Content showed in the header. Take into account that the component applies styles
|
|
10
|
+
* for the first child in the content, so we recommend the use of React.Fragment
|
|
11
|
+
* to be applied correctly. Otherwise, the styles can be modified.
|
|
12
|
+
*/
|
|
13
|
+
content?: React.ReactNode;
|
|
14
|
+
/**
|
|
15
|
+
* Content showed in responsive version. It receives the close menu handler that can
|
|
16
|
+
* be used to add that functionality when a element is clicked.
|
|
17
|
+
*/
|
|
18
|
+
responsiveContent?: (closeHandler: () => void) => React.ReactNode;
|
|
19
|
+
/**
|
|
20
|
+
* This function will be called when the user clicks the header logo.
|
|
21
|
+
*/
|
|
22
|
+
onClick?: () => void;
|
|
23
|
+
/**
|
|
24
|
+
* Size of the bottom margin to be applied to the header.
|
|
25
|
+
*/
|
|
26
|
+
margin?: Space;
|
|
27
|
+
/**
|
|
28
|
+
* Value of the tabindex for all interactive elements, except those inside the
|
|
29
|
+
* custom area.
|
|
30
|
+
*/
|
|
31
|
+
tabIndex?: number;
|
|
32
|
+
};
|
|
33
|
+
export default Props;
|
package/header/types.js
ADDED
package/heading/Heading.js
CHANGED
|
@@ -1,128 +1,54 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
|
|
4
|
-
|
|
5
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
6
|
-
|
|
4
|
+
var _typeof3 = require("@babel/runtime/helpers/typeof");
|
|
7
5
|
Object.defineProperty(exports, "__esModule", {
|
|
8
6
|
value: true
|
|
9
7
|
});
|
|
10
8
|
exports["default"] = void 0;
|
|
11
|
-
|
|
12
|
-
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
13
|
-
|
|
14
9
|
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
15
|
-
|
|
16
10
|
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
17
|
-
|
|
18
11
|
var _react = _interopRequireDefault(require("react"));
|
|
19
|
-
|
|
20
12
|
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
21
|
-
|
|
22
|
-
var
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
var _useTheme = _interopRequireDefault(require("../useTheme.js"));
|
|
27
|
-
|
|
28
|
-
function _templateObject6() {
|
|
29
|
-
var data = (0, _taggedTemplateLiteral2["default"])(["\n font-family: ", ";\n font-style: ", ";\n font-size: ", ";\n line-height: ", ";\n font-weight: ", ";\n letter-spacing: ", ";\n color: ", ";\n margin: 0;\n"]);
|
|
30
|
-
|
|
31
|
-
_templateObject6 = function _templateObject6() {
|
|
32
|
-
return data;
|
|
33
|
-
};
|
|
34
|
-
|
|
35
|
-
return data;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
function _templateObject5() {
|
|
39
|
-
var data = (0, _taggedTemplateLiteral2["default"])(["\n font-family: ", ";\n font-style: ", ";\n font-size: ", ";\n line-height: ", ";\n font-weight: ", ";\n letter-spacing: ", ";\n color: ", ";\n margin: 0;\n"]);
|
|
40
|
-
|
|
41
|
-
_templateObject5 = function _templateObject5() {
|
|
42
|
-
return data;
|
|
43
|
-
};
|
|
44
|
-
|
|
45
|
-
return data;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
function _templateObject4() {
|
|
49
|
-
var data = (0, _taggedTemplateLiteral2["default"])(["\n font-family: ", ";\n font-style: ", ";\n font-size: ", ";\n line-height: ", ";\n font-weight: ", ";\n letter-spacing: ", ";\n color: ", ";\n margin: 0;\n"]);
|
|
50
|
-
|
|
51
|
-
_templateObject4 = function _templateObject4() {
|
|
52
|
-
return data;
|
|
53
|
-
};
|
|
54
|
-
|
|
55
|
-
return data;
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
function _templateObject3() {
|
|
59
|
-
var data = (0, _taggedTemplateLiteral2["default"])(["\n font-family: ", ";\n font-style: ", ";\n font-size: ", ";\n line-height: ", ";\n font-weight: ", ";\n letter-spacing: ", ";\n color: ", ";\n margin: 0;\n"]);
|
|
60
|
-
|
|
61
|
-
_templateObject3 = function _templateObject3() {
|
|
62
|
-
return data;
|
|
63
|
-
};
|
|
64
|
-
|
|
65
|
-
return data;
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
function _templateObject2() {
|
|
69
|
-
var data = (0, _taggedTemplateLiteral2["default"])(["\n font-family: ", ";\n font-style: ", ";\n font-size: ", ";\n line-height: ", ";\n font-weight: ", ";\n letter-spacing: ", ";\n color: ", ";\n margin: 0;\n"]);
|
|
70
|
-
|
|
71
|
-
_templateObject2 = function _templateObject2() {
|
|
72
|
-
return data;
|
|
73
|
-
};
|
|
74
|
-
|
|
75
|
-
return data;
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
function _templateObject() {
|
|
79
|
-
var data = (0, _taggedTemplateLiteral2["default"])(["\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n"]);
|
|
80
|
-
|
|
81
|
-
_templateObject = function _templateObject() {
|
|
82
|
-
return data;
|
|
83
|
-
};
|
|
84
|
-
|
|
85
|
-
return data;
|
|
86
|
-
}
|
|
87
|
-
|
|
13
|
+
var _variables = require("../common/variables");
|
|
14
|
+
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
15
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6;
|
|
16
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
17
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof3(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
88
18
|
var DxcHeading = function DxcHeading(_ref) {
|
|
89
19
|
var _ref$level = _ref.level,
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
margin = _ref.margin;
|
|
20
|
+
level = _ref$level === void 0 ? 1 : _ref$level,
|
|
21
|
+
_ref$text = _ref.text,
|
|
22
|
+
text = _ref$text === void 0 ? "" : _ref$text,
|
|
23
|
+
as = _ref.as,
|
|
24
|
+
weight = _ref.weight,
|
|
25
|
+
margin = _ref.margin;
|
|
97
26
|
var colorsTheme = (0, _useTheme["default"])();
|
|
98
|
-
|
|
99
27
|
var checkValidAs = function checkValidAs() {
|
|
100
28
|
if (as === "h1" || as === "h2" || as === "h3" || as === "h4" || as === "h5") return as;
|
|
101
29
|
};
|
|
102
|
-
|
|
103
|
-
return _react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
30
|
+
return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
104
31
|
theme: colorsTheme.heading
|
|
105
|
-
}, _react["default"].createElement(HeadingContainer, {
|
|
32
|
+
}, /*#__PURE__*/_react["default"].createElement(HeadingContainer, {
|
|
106
33
|
margin: margin
|
|
107
|
-
}, level === 1 ? _react["default"].createElement(HeadingLevel1, {
|
|
108
|
-
as: checkValidAs(
|
|
34
|
+
}, level === 1 ? /*#__PURE__*/_react["default"].createElement(HeadingLevel1, {
|
|
35
|
+
as: checkValidAs(),
|
|
109
36
|
weight: weight
|
|
110
|
-
}, text) : level === 2 ? _react["default"].createElement(HeadingLevel2, {
|
|
111
|
-
as: checkValidAs(
|
|
37
|
+
}, text) : level === 2 ? /*#__PURE__*/_react["default"].createElement(HeadingLevel2, {
|
|
38
|
+
as: checkValidAs(),
|
|
112
39
|
weight: weight
|
|
113
|
-
}, text) : level === 3 ? _react["default"].createElement(HeadingLevel3, {
|
|
114
|
-
as: checkValidAs(
|
|
40
|
+
}, text) : level === 3 ? /*#__PURE__*/_react["default"].createElement(HeadingLevel3, {
|
|
41
|
+
as: checkValidAs(),
|
|
115
42
|
weight: weight
|
|
116
|
-
}, text) : level === 4 ? _react["default"].createElement(HeadingLevel4, {
|
|
117
|
-
as: checkValidAs(
|
|
43
|
+
}, text) : level === 4 ? /*#__PURE__*/_react["default"].createElement(HeadingLevel4, {
|
|
44
|
+
as: checkValidAs(),
|
|
118
45
|
weight: weight
|
|
119
|
-
}, text) : _react["default"].createElement(HeadingLevel5, {
|
|
120
|
-
as: checkValidAs(
|
|
46
|
+
}, text) : /*#__PURE__*/_react["default"].createElement(HeadingLevel5, {
|
|
47
|
+
as: checkValidAs(),
|
|
121
48
|
weight: weight
|
|
122
49
|
}, text)));
|
|
123
50
|
};
|
|
124
|
-
|
|
125
|
-
var HeadingContainer = _styledComponents["default"].div(_templateObject(), function (props) {
|
|
51
|
+
var HeadingContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n"])), function (props) {
|
|
126
52
|
return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
|
|
127
53
|
}, function (props) {
|
|
128
54
|
return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.top ? _variables.spaces[props.margin.top] : "";
|
|
@@ -133,8 +59,7 @@ var HeadingContainer = _styledComponents["default"].div(_templateObject(), funct
|
|
|
133
59
|
}, function (props) {
|
|
134
60
|
return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
|
|
135
61
|
});
|
|
136
|
-
|
|
137
|
-
var HeadingLevel1 = _styledComponents["default"].h1(_templateObject2(), function (props) {
|
|
62
|
+
var HeadingLevel1 = _styledComponents["default"].h1(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n font-family: ", ";\n font-style: ", ";\n font-size: ", ";\n line-height: ", ";\n font-weight: ", ";\n letter-spacing: ", ";\n color: ", ";\n margin: 0;\n"])), function (props) {
|
|
138
63
|
return props.theme.level1FontFamily;
|
|
139
64
|
}, function (props) {
|
|
140
65
|
return props.theme.level1FontStyle;
|
|
@@ -149,8 +74,7 @@ var HeadingLevel1 = _styledComponents["default"].h1(_templateObject2(), function
|
|
|
149
74
|
}, function (props) {
|
|
150
75
|
return props.theme.level1FontColor;
|
|
151
76
|
});
|
|
152
|
-
|
|
153
|
-
var HeadingLevel2 = _styledComponents["default"].h2(_templateObject3(), function (props) {
|
|
77
|
+
var HeadingLevel2 = _styledComponents["default"].h2(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n font-family: ", ";\n font-style: ", ";\n font-size: ", ";\n line-height: ", ";\n font-weight: ", ";\n letter-spacing: ", ";\n color: ", ";\n margin: 0;\n"])), function (props) {
|
|
154
78
|
return props.theme.level2FontFamily;
|
|
155
79
|
}, function (props) {
|
|
156
80
|
return props.theme.level2FontStyle;
|
|
@@ -165,8 +89,7 @@ var HeadingLevel2 = _styledComponents["default"].h2(_templateObject3(), function
|
|
|
165
89
|
}, function (props) {
|
|
166
90
|
return props.theme.level2FontColor;
|
|
167
91
|
});
|
|
168
|
-
|
|
169
|
-
var HeadingLevel3 = _styledComponents["default"].h3(_templateObject4(), function (props) {
|
|
92
|
+
var HeadingLevel3 = _styledComponents["default"].h3(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n font-family: ", ";\n font-style: ", ";\n font-size: ", ";\n line-height: ", ";\n font-weight: ", ";\n letter-spacing: ", ";\n color: ", ";\n margin: 0;\n"])), function (props) {
|
|
170
93
|
return props.theme.level3FontFamily;
|
|
171
94
|
}, function (props) {
|
|
172
95
|
return props.theme.level3FontStyle;
|
|
@@ -181,8 +104,7 @@ var HeadingLevel3 = _styledComponents["default"].h3(_templateObject4(), function
|
|
|
181
104
|
}, function (props) {
|
|
182
105
|
return props.theme.level3FontColor;
|
|
183
106
|
});
|
|
184
|
-
|
|
185
|
-
var HeadingLevel4 = _styledComponents["default"].h4(_templateObject5(), function (props) {
|
|
107
|
+
var HeadingLevel4 = _styledComponents["default"].h4(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n font-family: ", ";\n font-style: ", ";\n font-size: ", ";\n line-height: ", ";\n font-weight: ", ";\n letter-spacing: ", ";\n color: ", ";\n margin: 0;\n"])), function (props) {
|
|
186
108
|
return props.theme.level4FontFamily;
|
|
187
109
|
}, function (props) {
|
|
188
110
|
return props.theme.level4FontStyle;
|
|
@@ -197,8 +119,7 @@ var HeadingLevel4 = _styledComponents["default"].h4(_templateObject5(), function
|
|
|
197
119
|
}, function (props) {
|
|
198
120
|
return props.theme.level4FontColor;
|
|
199
121
|
});
|
|
200
|
-
|
|
201
|
-
var HeadingLevel5 = _styledComponents["default"].h5(_templateObject6(), function (props) {
|
|
122
|
+
var HeadingLevel5 = _styledComponents["default"].h5(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n font-family: ", ";\n font-style: ", ";\n font-size: ", ";\n line-height: ", ";\n font-weight: ", ";\n letter-spacing: ", ";\n color: ", ";\n margin: 0;\n"])), function (props) {
|
|
202
123
|
return props.theme.level5FontFamily;
|
|
203
124
|
}, function (props) {
|
|
204
125
|
return props.theme.level5FontStyle;
|
|
@@ -213,18 +134,4 @@ var HeadingLevel5 = _styledComponents["default"].h5(_templateObject6(), function
|
|
|
213
134
|
}, function (props) {
|
|
214
135
|
return props.theme.level5FontColor;
|
|
215
136
|
});
|
|
216
|
-
|
|
217
|
-
DxcHeading.propTypes = {
|
|
218
|
-
level: _propTypes["default"].number,
|
|
219
|
-
text: _propTypes["default"].string,
|
|
220
|
-
as: _propTypes["default"].oneOf(["h1", "h2", "h3", "h4", "h5"]),
|
|
221
|
-
weight: _propTypes["default"].oneOf(["light", "normal", "bold", ""]),
|
|
222
|
-
margin: _propTypes["default"].oneOfType([_propTypes["default"].shape({
|
|
223
|
-
top: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
|
|
224
|
-
bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
|
|
225
|
-
left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
|
|
226
|
-
right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
|
|
227
|
-
}), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))])
|
|
228
|
-
};
|
|
229
|
-
var _default = DxcHeading;
|
|
230
|
-
exports["default"] = _default;
|
|
137
|
+
var _default = exports["default"] = DxcHeading;
|