@dxc-technology/halstack-react 0.0.0-0af2013 → 0.0.0-0bb6041
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 +2 -2
- package/BackgroundColorContext.js +1 -1
- package/HalstackContext.d.ts +1331 -5
- package/HalstackContext.js +179 -87
- package/accordion/Accordion.js +118 -110
- package/accordion/Accordion.stories.tsx +104 -16
- package/accordion/Accordion.test.js +10 -11
- package/accordion/types.d.ts +2 -1
- package/accordion-group/AccordionGroup.d.ts +4 -3
- package/accordion-group/AccordionGroup.js +25 -65
- package/accordion-group/AccordionGroup.stories.tsx +27 -1
- package/accordion-group/AccordionGroup.test.js +21 -46
- package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
- package/accordion-group/AccordionGroupAccordion.js +43 -0
- package/accordion-group/types.d.ts +8 -1
- package/alert/Alert.js +9 -10
- package/alert/Alert.stories.tsx +28 -0
- package/alert/Alert.test.js +1 -1
- package/badge/Badge.d.ts +1 -1
- package/badge/Badge.js +5 -3
- package/badge/types.d.ts +1 -0
- package/bleed/Bleed.js +1 -34
- package/bleed/Bleed.stories.tsx +95 -95
- package/bleed/types.d.ts +1 -1
- package/box/Box.js +25 -37
- package/box/Box.stories.tsx +15 -0
- package/box/Box.test.js +1 -1
- package/box/types.d.ts +1 -0
- package/bulleted-list/BulletedList.d.ts +7 -0
- package/bulleted-list/BulletedList.js +125 -0
- package/bulleted-list/BulletedList.stories.tsx +206 -0
- package/bulleted-list/types.d.ts +38 -0
- package/button/Button.js +52 -73
- package/button/Button.stories.tsx +159 -8
- package/button/Button.test.js +1 -1
- package/button/types.d.ts +5 -5
- package/card/Card.js +41 -44
- package/card/Card.stories.tsx +12 -13
- package/card/Card.test.js +1 -1
- package/card/types.d.ts +1 -0
- package/checkbox/Checkbox.d.ts +2 -2
- package/checkbox/Checkbox.js +97 -101
- package/checkbox/Checkbox.stories.tsx +131 -59
- package/checkbox/Checkbox.test.js +94 -17
- package/checkbox/types.d.ts +4 -0
- package/chip/Chip.js +28 -49
- package/chip/Chip.stories.tsx +121 -26
- package/chip/Chip.test.js +3 -5
- package/chip/types.d.ts +1 -1
- package/common/OpenSans.css +68 -80
- package/common/coreTokens.d.ts +146 -0
- package/common/coreTokens.js +167 -0
- package/common/utils.d.ts +1 -0
- package/common/utils.js +4 -4
- package/common/variables.d.ts +1482 -0
- package/common/variables.js +1095 -1106
- package/date-input/Calendar.d.ts +4 -0
- package/date-input/Calendar.js +258 -0
- package/date-input/DateInput.js +136 -236
- 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 +80 -69
- package/dialog/Dialog.stories.tsx +230 -123
- package/dialog/Dialog.test.js +334 -5
- package/dialog/types.d.ts +1 -0
- 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 +507 -110
- package/dropdown/DropdownMenu.d.ts +4 -0
- package/dropdown/DropdownMenu.js +74 -0
- package/dropdown/DropdownMenuItem.d.ts +4 -0
- package/dropdown/DropdownMenuItem.js +79 -0
- package/dropdown/types.d.ts +23 -3
- package/file-input/FileInput.d.ts +2 -2
- package/file-input/FileInput.js +180 -223
- package/file-input/FileInput.stories.tsx +122 -11
- package/file-input/FileInput.test.js +14 -14
- package/file-input/FileItem.d.ts +4 -14
- package/file-input/FileItem.js +44 -66
- package/file-input/types.d.ts +17 -0
- package/flex/Flex.d.ts +4 -0
- package/flex/Flex.js +71 -0
- package/flex/Flex.stories.tsx +112 -0
- package/flex/types.d.ts +97 -0
- package/footer/Footer.js +12 -12
- package/footer/Footer.stories.tsx +99 -1
- package/footer/Footer.test.js +14 -26
- package/footer/Icons.js +1 -1
- package/footer/types.d.ts +2 -1
- package/grid/Grid.d.ts +7 -0
- package/grid/Grid.js +91 -0
- package/grid/Grid.stories.tsx +219 -0
- package/grid/types.d.ts +115 -0
- package/header/Header.d.ts +3 -2
- package/header/Header.js +95 -92
- package/header/Header.stories.tsx +152 -9
- package/header/Header.test.js +2 -2
- package/header/Icons.js +2 -2
- package/header/types.d.ts +1 -0
- package/heading/Heading.js +1 -1
- package/heading/Heading.test.js +1 -1
- package/inset/Inset.js +1 -34
- package/inset/Inset.stories.tsx +37 -36
- package/inset/types.d.ts +1 -1
- package/layout/ApplicationLayout.d.ts +16 -6
- package/layout/ApplicationLayout.js +71 -118
- package/layout/ApplicationLayout.stories.tsx +84 -93
- package/layout/Icons.d.ts +5 -0
- package/layout/Icons.js +13 -2
- package/layout/SidenavContext.d.ts +5 -0
- package/layout/SidenavContext.js +19 -0
- package/layout/types.d.ts +19 -35
- package/link/Link.d.ts +2 -2
- package/link/Link.js +26 -52
- package/link/Link.stories.tsx +73 -6
- package/link/Link.test.js +2 -4
- package/link/types.d.ts +5 -6
- package/main.d.ts +8 -10
- package/main.js +42 -52
- package/nav-tabs/NavTabs.d.ts +8 -0
- package/nav-tabs/NavTabs.js +122 -0
- package/nav-tabs/NavTabs.stories.tsx +274 -0
- package/nav-tabs/NavTabs.test.js +82 -0
- package/nav-tabs/Tab.d.ts +4 -0
- package/nav-tabs/Tab.js +146 -0
- package/nav-tabs/types.d.ts +52 -0
- package/number-input/NumberInput.test.js +44 -8
- package/number-input/types.d.ts +1 -1
- package/package.json +17 -21
- package/paginator/Icons.d.ts +5 -0
- package/paginator/Icons.js +16 -28
- package/paginator/Paginator.js +20 -49
- package/paginator/Paginator.stories.tsx +24 -0
- package/paginator/Paginator.test.js +91 -39
- package/paragraph/Paragraph.d.ts +5 -0
- package/paragraph/Paragraph.js +38 -0
- package/paragraph/Paragraph.stories.tsx +44 -0
- package/password-input/PasswordInput.js +7 -4
- package/password-input/PasswordInput.test.js +15 -15
- package/password-input/types.d.ts +1 -1
- package/progress-bar/ProgressBar.js +61 -55
- package/progress-bar/ProgressBar.stories.jsx +47 -12
- package/progress-bar/ProgressBar.test.js +68 -23
- package/quick-nav/QuickNav.js +75 -22
- package/quick-nav/QuickNav.stories.tsx +145 -26
- package/quick-nav/types.d.ts +1 -1
- package/radio-group/Radio.d.ts +1 -1
- package/radio-group/Radio.js +46 -31
- package/radio-group/RadioGroup.js +37 -36
- package/radio-group/RadioGroup.stories.tsx +132 -18
- package/radio-group/RadioGroup.test.js +124 -97
- 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 +49 -108
- package/resultsetTable/ResultsetTable.stories.tsx +50 -25
- package/resultsetTable/ResultsetTable.test.js +61 -42
- package/resultsetTable/types.d.ts +1 -1
- package/select/Listbox.d.ts +1 -1
- package/select/Listbox.js +37 -16
- package/select/Option.js +11 -24
- package/select/Select.js +127 -116
- package/select/Select.stories.tsx +522 -133
- package/select/Select.test.js +474 -303
- package/select/types.d.ts +3 -6
- package/sidenav/Icons.d.ts +7 -0
- package/sidenav/Icons.js +51 -0
- package/sidenav/Sidenav.d.ts +6 -5
- package/sidenav/Sidenav.js +146 -44
- package/sidenav/Sidenav.stories.tsx +251 -151
- package/sidenav/Sidenav.test.js +25 -37
- package/sidenav/types.d.ts +52 -26
- package/slider/Slider.d.ts +2 -2
- package/slider/Slider.js +121 -97
- package/slider/Slider.stories.tsx +64 -1
- package/slider/Slider.test.js +122 -22
- package/slider/types.d.ts +4 -0
- package/spinner/Spinner.js +18 -24
- package/spinner/Spinner.stories.jsx +53 -27
- package/spinner/Spinner.test.js +1 -1
- package/switch/Switch.d.ts +2 -2
- package/switch/Switch.js +140 -70
- package/switch/Switch.stories.tsx +41 -30
- package/switch/Switch.test.js +145 -18
- package/switch/types.d.ts +4 -0
- package/table/Table.js +3 -3
- package/table/Table.stories.jsx +80 -1
- package/table/Table.test.js +2 -2
- package/tabs/Tab.d.ts +4 -0
- package/tabs/Tab.js +132 -0
- package/tabs/Tabs.js +358 -108
- package/tabs/Tabs.stories.tsx +119 -5
- package/tabs/Tabs.test.js +220 -10
- package/tabs/types.d.ts +13 -3
- package/tag/Tag.js +8 -10
- package/tag/Tag.stories.tsx +14 -1
- package/tag/Tag.test.js +1 -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.d.ts +4 -0
- package/text-input/Suggestion.js +84 -0
- package/text-input/Suggestions.d.ts +4 -0
- package/text-input/Suggestions.js +134 -0
- package/text-input/TextInput.js +219 -342
- package/text-input/TextInput.stories.tsx +280 -185
- package/text-input/TextInput.test.js +737 -726
- package/text-input/types.d.ts +33 -2
- package/textarea/Textarea.js +13 -23
- package/textarea/Textarea.stories.jsx +60 -1
- package/textarea/Textarea.test.js +2 -4
- package/textarea/types.d.ts +1 -1
- package/toggle-group/ToggleGroup.d.ts +2 -2
- package/toggle-group/ToggleGroup.js +7 -4
- package/toggle-group/ToggleGroup.stories.tsx +42 -0
- package/toggle-group/ToggleGroup.test.js +1 -1
- package/toggle-group/types.d.ts +2 -2
- package/typography/Typography.d.ts +4 -0
- package/typography/Typography.js +32 -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 +1234 -1
- package/useTheme.js +1 -1
- package/useTranslatedLabels.d.ts +85 -0
- package/useTranslatedLabels.js +20 -0
- package/utils/BaseTypography.d.ts +21 -0
- package/utils/BaseTypography.js +108 -0
- package/utils/FocusLock.d.ts +13 -0
- package/utils/FocusLock.js +138 -0
- package/wizard/Wizard.js +37 -42
- package/wizard/Wizard.stories.tsx +40 -1
- package/wizard/Wizard.test.js +1 -1
- package/wizard/types.d.ts +3 -3
- package/common/RequiredComponent.js +0 -32
- package/list/List.d.ts +0 -4
- package/list/List.js +0 -47
- package/list/List.stories.tsx +0 -95
- package/list/types.d.ts +0 -7
- package/radio/Radio.d.ts +0 -4
- package/radio/Radio.js +0 -173
- package/radio/Radio.stories.tsx +0 -192
- package/radio/Radio.test.js +0 -71
- package/radio/types.d.ts +0 -54
- 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 -3
- package/stack/Stack.js +0 -97
- package/stack/Stack.stories.tsx +0 -164
- package/stack/types.d.ts +0 -24
- package/text/Text.d.ts +0 -7
- package/text/Text.js +0 -30
- package/text/Text.stories.tsx +0 -19
- /package/{list → bulleted-list}/types.js +0 -0
- /package/{radio → flex}/types.js +0 -0
- /package/{row → grid}/types.js +0 -0
- /package/{stack → nav-tabs}/types.js +0 -0
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import DxcApplicationLayout from "./ApplicationLayout";
|
|
3
|
-
import DxcSidenav from "../sidenav/Sidenav";
|
|
4
3
|
import Title from "../../.storybook/components/Title";
|
|
5
|
-
import { INITIAL_VIEWPORTS } from
|
|
6
|
-
import { userEvent, within, waitFor } from "@storybook/testing-library";
|
|
4
|
+
import { INITIAL_VIEWPORTS } from "@storybook/addon-viewport";
|
|
7
5
|
|
|
8
6
|
export default {
|
|
9
7
|
title: "Application Layout ",
|
|
@@ -11,8 +9,8 @@ export default {
|
|
|
11
9
|
parameters: {
|
|
12
10
|
viewport: {
|
|
13
11
|
viewports: INITIAL_VIEWPORTS,
|
|
14
|
-
}
|
|
15
|
-
}
|
|
12
|
+
},
|
|
13
|
+
},
|
|
16
14
|
};
|
|
17
15
|
|
|
18
16
|
export const DefaultApplicationLayout = () => (
|
|
@@ -31,57 +29,25 @@ export const DefaultApplicationLayout = () => (
|
|
|
31
29
|
|
|
32
30
|
export const ApplicationLayoutWithDefaultSidenav = () => (
|
|
33
31
|
<>
|
|
34
|
-
<DxcApplicationLayout
|
|
35
|
-
|
|
36
|
-
<
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
export const ApplicationLayoutWithPushSidenav = () => (
|
|
54
|
-
<>
|
|
55
|
-
<DxcApplicationLayout>
|
|
56
|
-
<DxcApplicationLayout.SideNav mode="push">
|
|
57
|
-
<DxcSidenav.Title>Application layout with push sidenav</DxcSidenav.Title>
|
|
58
|
-
<p>SideNav Content</p>
|
|
59
|
-
<p>SideNav Content</p>
|
|
60
|
-
<p>SideNav Content</p>
|
|
61
|
-
<p>SideNav Content</p>
|
|
62
|
-
<p>SideNav Content</p>
|
|
63
|
-
</DxcApplicationLayout.SideNav>
|
|
64
|
-
<DxcApplicationLayout.Main>
|
|
65
|
-
<p>Main Content</p>
|
|
66
|
-
<p>Main Content</p>
|
|
67
|
-
<p>Main Content</p>
|
|
68
|
-
<p>Main Content</p>
|
|
69
|
-
</DxcApplicationLayout.Main>
|
|
70
|
-
</DxcApplicationLayout>
|
|
71
|
-
</>
|
|
72
|
-
);
|
|
73
|
-
|
|
74
|
-
export const ApplicationLayoutWithArrowSidenav = () => (
|
|
75
|
-
<>
|
|
76
|
-
<DxcApplicationLayout>
|
|
77
|
-
<DxcApplicationLayout.SideNav mode="overlay" displayArrow>
|
|
78
|
-
<DxcSidenav.Title>Application layout with push sidenav</DxcSidenav.Title>
|
|
79
|
-
<p>SideNav Content</p>
|
|
80
|
-
<p>SideNav Content</p>
|
|
81
|
-
<p>SideNav Content</p>
|
|
82
|
-
<p>SideNav Content</p>
|
|
83
|
-
<p>SideNav Content</p>
|
|
84
|
-
</DxcApplicationLayout.SideNav>
|
|
32
|
+
<DxcApplicationLayout
|
|
33
|
+
sidenav={
|
|
34
|
+
<DxcApplicationLayout.SideNav
|
|
35
|
+
title={
|
|
36
|
+
<DxcApplicationLayout.SideNav.Title>
|
|
37
|
+
Application layout with push sidenav
|
|
38
|
+
</DxcApplicationLayout.SideNav.Title>
|
|
39
|
+
}
|
|
40
|
+
>
|
|
41
|
+
<DxcApplicationLayout.SideNav.Section>
|
|
42
|
+
<p>SideNav Content</p>
|
|
43
|
+
<p>SideNav Content</p>
|
|
44
|
+
<p>SideNav Content</p>
|
|
45
|
+
<p>SideNav Content</p>
|
|
46
|
+
<p>SideNav Content</p>
|
|
47
|
+
</DxcApplicationLayout.SideNav.Section>
|
|
48
|
+
</DxcApplicationLayout.SideNav>
|
|
49
|
+
}
|
|
50
|
+
>
|
|
85
51
|
<DxcApplicationLayout.Main>
|
|
86
52
|
<p>Main Content</p>
|
|
87
53
|
<p>Main Content</p>
|
|
@@ -94,15 +60,26 @@ export const ApplicationLayoutWithArrowSidenav = () => (
|
|
|
94
60
|
|
|
95
61
|
export const ApplicationLayoutWithResponsiveSidenav = () => (
|
|
96
62
|
<>
|
|
97
|
-
<DxcApplicationLayout
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
<
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
63
|
+
<DxcApplicationLayout
|
|
64
|
+
visibilityToggleLabel="Example"
|
|
65
|
+
sidenav={
|
|
66
|
+
<DxcApplicationLayout.SideNav
|
|
67
|
+
title={
|
|
68
|
+
<DxcApplicationLayout.SideNav.Title>
|
|
69
|
+
Application layout with push sidenav
|
|
70
|
+
</DxcApplicationLayout.SideNav.Title>
|
|
71
|
+
}
|
|
72
|
+
>
|
|
73
|
+
<DxcApplicationLayout.SideNav.Section>
|
|
74
|
+
<p>SideNav Content</p>
|
|
75
|
+
<p>SideNav Content</p>
|
|
76
|
+
<p>SideNav Content</p>
|
|
77
|
+
<p>SideNav Content</p>
|
|
78
|
+
<p>SideNav Content</p>
|
|
79
|
+
</DxcApplicationLayout.SideNav.Section>
|
|
80
|
+
</DxcApplicationLayout.SideNav>
|
|
81
|
+
}
|
|
82
|
+
>
|
|
106
83
|
<DxcApplicationLayout.Main>
|
|
107
84
|
<p>Main Content</p>
|
|
108
85
|
<p>Main Content</p>
|
|
@@ -115,22 +92,33 @@ export const ApplicationLayoutWithResponsiveSidenav = () => (
|
|
|
115
92
|
|
|
116
93
|
ApplicationLayoutWithResponsiveSidenav.parameters = {
|
|
117
94
|
viewport: {
|
|
118
|
-
defaultViewport:
|
|
95
|
+
defaultViewport: "pixel",
|
|
119
96
|
},
|
|
97
|
+
chromatic: { viewports: [540] },
|
|
120
98
|
};
|
|
121
99
|
|
|
122
100
|
export const ApplicationLayoutWithCustomHeader = () => (
|
|
123
101
|
<>
|
|
124
|
-
<DxcApplicationLayout
|
|
125
|
-
<
|
|
126
|
-
|
|
127
|
-
<
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
102
|
+
<DxcApplicationLayout
|
|
103
|
+
header={<p>Custom Header</p>}
|
|
104
|
+
sidenav={
|
|
105
|
+
<DxcApplicationLayout.SideNav
|
|
106
|
+
title={
|
|
107
|
+
<DxcApplicationLayout.SideNav.Title>
|
|
108
|
+
Application layout with push sidenav
|
|
109
|
+
</DxcApplicationLayout.SideNav.Title>
|
|
110
|
+
}
|
|
111
|
+
>
|
|
112
|
+
<DxcApplicationLayout.SideNav.Section>
|
|
113
|
+
<p>SideNav Content</p>
|
|
114
|
+
<p>SideNav Content</p>
|
|
115
|
+
<p>SideNav Content</p>
|
|
116
|
+
<p>SideNav Content</p>
|
|
117
|
+
<p>SideNav Content</p>
|
|
118
|
+
</DxcApplicationLayout.SideNav.Section>
|
|
119
|
+
</DxcApplicationLayout.SideNav>
|
|
120
|
+
}
|
|
121
|
+
>
|
|
134
122
|
<DxcApplicationLayout.Main>
|
|
135
123
|
<p>Main Content</p>
|
|
136
124
|
<p>Main Content</p>
|
|
@@ -143,29 +131,32 @@ export const ApplicationLayoutWithCustomHeader = () => (
|
|
|
143
131
|
|
|
144
132
|
export const ApplicationLayoutWithCustomFooter = () => (
|
|
145
133
|
<>
|
|
146
|
-
<DxcApplicationLayout
|
|
147
|
-
<
|
|
148
|
-
|
|
149
|
-
<
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
134
|
+
<DxcApplicationLayout
|
|
135
|
+
footer={<p>Custom Footer</p>}
|
|
136
|
+
sidenav={
|
|
137
|
+
<DxcApplicationLayout.SideNav
|
|
138
|
+
title={
|
|
139
|
+
<DxcApplicationLayout.SideNav.Title>
|
|
140
|
+
Application layout with push sidenav
|
|
141
|
+
</DxcApplicationLayout.SideNav.Title>
|
|
142
|
+
}
|
|
143
|
+
>
|
|
144
|
+
<DxcApplicationLayout.SideNav.Section>
|
|
145
|
+
<p>SideNav Content</p>
|
|
146
|
+
<p>SideNav Content</p>
|
|
147
|
+
<p>SideNav Content</p>
|
|
148
|
+
<p>SideNav Content</p>
|
|
149
|
+
<p>SideNav Content</p>
|
|
150
|
+
</DxcApplicationLayout.SideNav.Section>
|
|
151
|
+
</DxcApplicationLayout.SideNav>
|
|
152
|
+
}
|
|
153
|
+
>
|
|
155
154
|
<DxcApplicationLayout.Main>
|
|
156
155
|
<p>Main Content</p>
|
|
157
156
|
<p>Main Content</p>
|
|
158
157
|
<p>Main Content</p>
|
|
159
158
|
<p>Main Content</p>
|
|
160
159
|
</DxcApplicationLayout.Main>
|
|
161
|
-
<DxcApplicationLayout.Footer> <p>Custom Footer</p> </DxcApplicationLayout.Footer>
|
|
162
160
|
</DxcApplicationLayout>
|
|
163
161
|
</>
|
|
164
162
|
);
|
|
165
|
-
|
|
166
|
-
export const ApplicationLayoutWithClosingSidenav = ApplicationLayoutWithArrowSidenav.bind({});
|
|
167
|
-
ApplicationLayoutWithClosingSidenav.play = async ({ canvasElement }) => {
|
|
168
|
-
const canvas = within(canvasElement);
|
|
169
|
-
const arrow = canvas.getByRole("button");
|
|
170
|
-
await userEvent.click(arrow);
|
|
171
|
-
};
|
package/layout/Icons.js
CHANGED
|
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports.twitterLogo = exports.linkedinLogo = exports.facebookLogo = void 0;
|
|
8
|
+
exports.twitterLogo = exports.linkedinLogo = exports.hamburgerIcon = exports.facebookLogo = void 0;
|
|
9
9
|
|
|
10
10
|
var _react = _interopRequireDefault(require("react"));
|
|
11
11
|
|
|
@@ -52,4 +52,15 @@ var linkedinLogo = /*#__PURE__*/_react["default"].createElement("svg", {
|
|
|
52
52
|
d: "M414.41,24.123C398.333,8.042,378.963,0,356.315,0H82.228C59.58,0,40.21,8.042,24.126,24.123 C8.045,40.207,0.003,59.576,0.003,82.225v274.084c0,22.647,8.042,42.018,24.123,58.102c16.084,16.084,35.454,24.126,58.102,24.126 h274.084c22.648,0,42.018-8.042,58.095-24.126c16.084-16.084,24.126-35.454,24.126-58.102V82.225 C438.532,59.576,430.49,40.204,414.41,24.123z M133.618,367.157H67.666V169.016h65.952V367.157z M127.626,132.332 c-6.851,6.567-15.893,9.851-27.124,9.851h-0.288c-10.848,0-19.648-3.284-26.407-9.851c-6.76-6.567-10.138-14.703-10.138-24.41 c0-9.897,3.476-18.083,10.421-24.556c6.95-6.471,15.942-9.708,26.98-9.708c11.039,0,19.89,3.237,26.553,9.708 c6.661,6.473,10.088,14.659,10.277,24.556C137.899,117.625,134.477,125.761,127.626,132.332z M370.873,367.157h-65.952v-105.92 c0-29.879-11.036-44.823-33.116-44.823c-8.374,0-15.42,2.331-21.128,6.995c-5.715,4.661-9.996,10.324-12.847,16.991 c-1.335,3.422-1.999,8.75-1.999,15.981v110.775h-65.952c0.571-119.529,0.571-185.579,0-198.142h65.952v27.974 c13.867-21.681,33.558-32.544,59.101-32.544c22.84,0,41.21,7.52,55.104,22.554c13.895,15.037,20.841,37.214,20.841,66.519v113.64 H370.873z"
|
|
53
53
|
})));
|
|
54
54
|
|
|
55
|
-
exports.linkedinLogo = linkedinLogo;
|
|
55
|
+
exports.linkedinLogo = linkedinLogo;
|
|
56
|
+
|
|
57
|
+
var hamburgerIcon = /*#__PURE__*/_react["default"].createElement("svg", {
|
|
58
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
59
|
+
height: "24",
|
|
60
|
+
width: "24",
|
|
61
|
+
viewBox: "0 0 24 24"
|
|
62
|
+
}, /*#__PURE__*/_react["default"].createElement("path", {
|
|
63
|
+
d: "M3 18V16H21V18ZM3 13V11H21V13ZM3 8V6H21V8Z"
|
|
64
|
+
}));
|
|
65
|
+
|
|
66
|
+
exports.hamburgerIcon = hamburgerIcon;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
declare type SidenavContextType = (isSidenavVisible: boolean) => void;
|
|
3
|
+
export declare const SidenavContextProvider: import("react").Provider<SidenavContextType>;
|
|
4
|
+
export declare const useResponsiveSidenavVisibility: () => SidenavContextType;
|
|
5
|
+
export {};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.useResponsiveSidenavVisibility = exports.SidenavContextProvider = void 0;
|
|
7
|
+
|
|
8
|
+
var _react = require("react");
|
|
9
|
+
|
|
10
|
+
var SidenavContext = /*#__PURE__*/(0, _react.createContext)(null);
|
|
11
|
+
var SidenavContextProvider = SidenavContext.Provider;
|
|
12
|
+
exports.SidenavContextProvider = SidenavContextProvider;
|
|
13
|
+
|
|
14
|
+
var useResponsiveSidenavVisibility = function useResponsiveSidenavVisibility() {
|
|
15
|
+
var changeResponsiveSidenavVisibility = (0, _react.useContext)(SidenavContext);
|
|
16
|
+
return changeResponsiveSidenavVisibility;
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
exports.useResponsiveSidenavVisibility = useResponsiveSidenavVisibility;
|
package/layout/types.d.ts
CHANGED
|
@@ -1,57 +1,41 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
|
|
3
|
-
declare type Padding = {
|
|
4
|
-
top?: Space;
|
|
5
|
-
bottom?: Space;
|
|
6
|
-
left?: Space;
|
|
7
|
-
right?: Space;
|
|
8
|
-
};
|
|
9
|
-
declare type ChildrenType = AppLayoutHeaderPropsType | AppLayoutMainPropsType | AppLayoutFooterPropsType | AppLayoutSidenavPropsType;
|
|
10
|
-
export declare type AppLayoutHeaderPropsType = {
|
|
11
|
-
/**
|
|
12
|
-
* Everything between this tags will be displayed as a header, at the top of the screen.
|
|
13
|
-
* This is optional and if it is not specified, the DxcHeader will be shown by default.
|
|
14
|
-
*/
|
|
15
|
-
children?: React.ReactNode;
|
|
16
|
-
};
|
|
17
2
|
export declare type AppLayoutMainPropsType = {
|
|
18
3
|
/**
|
|
19
4
|
* Everything between the tags will be displayed as the content of the main part of the application.
|
|
20
5
|
*/
|
|
21
6
|
children: React.ReactNode;
|
|
22
7
|
};
|
|
23
|
-
export declare type
|
|
8
|
+
export declare type AppLayoutSidenavPropsType = {
|
|
24
9
|
/**
|
|
25
|
-
*
|
|
26
|
-
* This is optional and if it is not specified, the DxcFooter will be shown by default.
|
|
10
|
+
* The area inside the sidenav. This area can be used to render the content inside the sidenav.
|
|
27
11
|
*/
|
|
28
|
-
children
|
|
12
|
+
children: React.ReactNode;
|
|
13
|
+
/**
|
|
14
|
+
* The area assigned to render the sidenav title. It is highly recommended to use the sidenav title.
|
|
15
|
+
*/
|
|
16
|
+
title?: React.ReactNode;
|
|
29
17
|
};
|
|
30
|
-
|
|
18
|
+
declare type AppLayoutPropsType = {
|
|
31
19
|
/**
|
|
32
|
-
*
|
|
33
|
-
*
|
|
20
|
+
* Text to be placed next to the hamburger button that toggles the
|
|
21
|
+
* visibility of the sidenav.
|
|
34
22
|
*/
|
|
35
|
-
|
|
23
|
+
visibilityToggleLabel?: string;
|
|
36
24
|
/**
|
|
37
|
-
*
|
|
25
|
+
* Header content.
|
|
38
26
|
*/
|
|
39
|
-
|
|
27
|
+
header?: React.ReactNode;
|
|
40
28
|
/**
|
|
41
|
-
*
|
|
42
|
-
* In lower resolutions the arrow will be always displayed.
|
|
29
|
+
* Sidenav content
|
|
43
30
|
*/
|
|
44
|
-
|
|
31
|
+
sidenav?: React.ReactNode;
|
|
45
32
|
/**
|
|
46
|
-
*
|
|
47
|
-
* In lower resolutions the mode will always be overlay.
|
|
33
|
+
* Footer content
|
|
48
34
|
*/
|
|
49
|
-
|
|
50
|
-
};
|
|
51
|
-
declare type AppLayoutPropsType = {
|
|
35
|
+
footer?: React.ReactNode;
|
|
52
36
|
/**
|
|
53
|
-
*
|
|
37
|
+
* Use the DxcApplicationLayout.Main provided to render main content.
|
|
54
38
|
*/
|
|
55
|
-
children: React.ReactElement<
|
|
39
|
+
children: React.ReactElement<AppLayoutMainPropsType>;
|
|
56
40
|
};
|
|
57
41
|
export default AppLayoutPropsType;
|
package/link/Link.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
import React from "react";
|
|
2
2
|
import { LinkProps } from "./types";
|
|
3
|
-
declare const DxcLink:
|
|
3
|
+
declare const DxcLink: React.ForwardRefExoticComponent<LinkProps & React.RefAttributes<HTMLAnchorElement>>;
|
|
4
4
|
export default DxcLink;
|
package/link/Link.js
CHANGED
|
@@ -13,15 +13,21 @@ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
|
13
13
|
|
|
14
14
|
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
15
15
|
|
|
16
|
-
var
|
|
16
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
17
|
+
|
|
18
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
19
|
+
|
|
20
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
17
21
|
|
|
18
22
|
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
19
23
|
|
|
20
|
-
var _variables = require("../common/variables
|
|
24
|
+
var _variables = require("../common/variables");
|
|
21
25
|
|
|
22
26
|
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
23
27
|
|
|
24
|
-
var _templateObject, _templateObject2, _templateObject3
|
|
28
|
+
var _templateObject, _templateObject2, _templateObject3;
|
|
29
|
+
|
|
30
|
+
var _excluded = ["inheritColor", "disabled", "icon", "iconPosition", "href", "newWindow", "onClick", "margin", "tabIndex", "children"];
|
|
25
31
|
|
|
26
32
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
27
33
|
|
|
@@ -31,14 +37,14 @@ var LinkContent = /*#__PURE__*/_react["default"].memo(function (_ref) {
|
|
|
31
37
|
var iconPosition = _ref.iconPosition,
|
|
32
38
|
icon = _ref.icon,
|
|
33
39
|
children = _ref.children;
|
|
34
|
-
return /*#__PURE__*/_react["default"].createElement(
|
|
40
|
+
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, iconPosition === "after" && children, icon && /*#__PURE__*/_react["default"].createElement(LinkIconContainer, {
|
|
35
41
|
iconPosition: iconPosition
|
|
36
42
|
}, typeof icon === "string" ? /*#__PURE__*/_react["default"].createElement(LinkIcon, {
|
|
37
43
|
src: icon
|
|
38
44
|
}) : icon), iconPosition === "before" && children);
|
|
39
45
|
});
|
|
40
46
|
|
|
41
|
-
var DxcLink = function
|
|
47
|
+
var DxcLink = /*#__PURE__*/(0, _react.forwardRef)(function (_ref2, ref) {
|
|
42
48
|
var _ref2$inheritColor = _ref2.inheritColor,
|
|
43
49
|
inheritColor = _ref2$inheritColor === void 0 ? false : _ref2$inheritColor,
|
|
44
50
|
_ref2$disabled = _ref2.disabled,
|
|
@@ -54,35 +60,29 @@ var DxcLink = function DxcLink(_ref2) {
|
|
|
54
60
|
margin = _ref2.margin,
|
|
55
61
|
_ref2$tabIndex = _ref2.tabIndex,
|
|
56
62
|
tabIndex = _ref2$tabIndex === void 0 ? 0 : _ref2$tabIndex,
|
|
57
|
-
children = _ref2.children
|
|
63
|
+
children = _ref2.children,
|
|
64
|
+
otherProps = (0, _objectWithoutProperties2["default"])(_ref2, _excluded);
|
|
58
65
|
var colorsTheme = (0, _useTheme["default"])();
|
|
59
66
|
return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
60
67
|
theme: colorsTheme.link
|
|
61
|
-
}, /*#__PURE__*/_react["default"].createElement(
|
|
62
|
-
margin: margin
|
|
63
|
-
}, typeof children === "string" && (href || onClick) ? /*#__PURE__*/_react["default"].createElement(StyledLink, {
|
|
68
|
+
}, /*#__PURE__*/_react["default"].createElement(StyledLink, (0, _extends2["default"])({
|
|
64
69
|
as: href ? "a" : "button",
|
|
65
70
|
tabIndex: tabIndex,
|
|
66
|
-
onClick: !disabled
|
|
71
|
+
onClick: !disabled ? onClick : undefined,
|
|
67
72
|
href: !disabled && href ? href : undefined,
|
|
68
73
|
target: href ? newWindow ? "_blank" : "_self" : undefined,
|
|
69
74
|
disabled: disabled,
|
|
70
|
-
inheritColor: inheritColor
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
children: children
|
|
75
|
-
})) : /*#__PURE__*/_react["default"].createElement(CustomLinkContainer, {
|
|
76
|
-
disabled: disabled,
|
|
77
|
-
inheritColor: inheritColor
|
|
78
|
-
}, /*#__PURE__*/_react["default"].createElement(LinkContent, {
|
|
75
|
+
inheritColor: inheritColor,
|
|
76
|
+
margin: margin,
|
|
77
|
+
ref: ref
|
|
78
|
+
}, otherProps), /*#__PURE__*/_react["default"].createElement(LinkContent, {
|
|
79
79
|
iconPosition: iconPosition,
|
|
80
80
|
icon: icon,
|
|
81
81
|
children: children
|
|
82
|
-
})))
|
|
83
|
-
};
|
|
82
|
+
})));
|
|
83
|
+
});
|
|
84
84
|
|
|
85
|
-
var
|
|
85
|
+
var StyledLink = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n align-items: baseline;\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n background: none;\n border: none;\n padding: 0;\n cursor: pointer;\n font-size: ", ";\n font-weight: ", ";\n font-style: ", ";\n font-family: ", ";\n text-decoration-color: transparent;\n width: fit-content;\n ", "\n ", "\n color: ", ";\n ", "\n &:visited {\n color: ", ";\n &:hover {\n ", "\n }\n }\n &:hover {\n ", "\n }\n &:focus {\n border-radius: 2px;\n outline: 2px solid ", ";\n ", "\n }\n &:active {\n ", "\n }\n"])), function (props) {
|
|
86
86
|
return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
|
|
87
87
|
}, function (props) {
|
|
88
88
|
return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.top ? _variables.spaces[props.margin.top] : "";
|
|
@@ -100,14 +100,12 @@ var LinkContainer = _styledComponents["default"].div(_templateObject || (_templa
|
|
|
100
100
|
return props.theme.fontStyle;
|
|
101
101
|
}, function (props) {
|
|
102
102
|
return props.theme.fontFamily;
|
|
103
|
-
})
|
|
104
|
-
|
|
105
|
-
var StyledLink = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n ", "\n ", "\n color: ", ";\n ", "\n\n &:visited {\n color: ", ";\n &:hover {\n ", "\n }\n }\n &:hover {\n ", "\n }\n &:focus {\n border-radius: 2px;\n outline: 2px solid ", ";\n ", "\n }\n &:active {\n ", "\n }\n"])), function (props) {
|
|
103
|
+
}, function (props) {
|
|
106
104
|
return "padding-bottom: ".concat(props.theme.underlineSpacing, ";\n border-bottom: ").concat(props.theme.underlineThickness, " ").concat(props.theme.underlineStyle, " transparent;");
|
|
107
105
|
}, function (props) {
|
|
108
106
|
return props.disabled && "cursor: default;";
|
|
109
107
|
}, function (props) {
|
|
110
|
-
return props.inheritColor ? "inherit" : !props.disabled ? props.theme.fontColor : props.theme.
|
|
108
|
+
return props.inheritColor ? "inherit" : !props.disabled ? props.theme.fontColor : props.theme.disabledFontColor;
|
|
111
109
|
}, function (props) {
|
|
112
110
|
return props.disabled ? "pointer-events: none;" : "";
|
|
113
111
|
}, function (props) {
|
|
@@ -124,33 +122,9 @@ var StyledLink = _styledComponents["default"].div(_templateObject2 || (_template
|
|
|
124
122
|
return "color: ".concat(props.theme.activeFontColor, " !important;\n border-bottom-color: ").concat(props.theme.activeUnderlineColor, " !important;");
|
|
125
123
|
});
|
|
126
124
|
|
|
127
|
-
var
|
|
128
|
-
return "padding-bottom: ".concat(props.theme.underlineSpacing, ";\n border-bottom: ").concat(props.theme.underlineThickness, " ").concat(props.theme.underlineStyle, " transparent;");
|
|
129
|
-
}, function (props) {
|
|
130
|
-
return props.disabled && "cursor: default;";
|
|
131
|
-
}, function (props) {
|
|
132
|
-
return props.disabled ? "pointer-events: none;" : "";
|
|
133
|
-
}, function (props) {
|
|
134
|
-
return props.inheritColor ? "inherit" : !props.disabled ? props.theme.fontColor : props.theme.disabledColor;
|
|
135
|
-
}, function (props) {
|
|
136
|
-
return props.theme.hoverFontColor;
|
|
137
|
-
}, function (props) {
|
|
138
|
-
return "border-bottom-color: ".concat(props.theme.hoverUnderlineColor, ";\n cursor: pointer;");
|
|
139
|
-
}, function (props) {
|
|
140
|
-
return props.theme.focusColor;
|
|
141
|
-
}, function (props) {
|
|
142
|
-
return props.disabled && "outline: none";
|
|
143
|
-
}, function (props) {
|
|
144
|
-
return props.theme.activeFontColor;
|
|
145
|
-
}, function (props) {
|
|
146
|
-
return "border-bottom-color: ".concat(props.theme.activeUnderlineColor, " !important;");
|
|
147
|
-
});
|
|
148
|
-
|
|
149
|
-
var LinkText = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: baseline;\n max-width: 100%;\n"])));
|
|
150
|
-
|
|
151
|
-
var LinkIcon = _styledComponents["default"].img(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])([""])));
|
|
125
|
+
var LinkIcon = _styledComponents["default"].img(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])([""])));
|
|
152
126
|
|
|
153
|
-
var LinkIconContainer = _styledComponents["default"].div(
|
|
127
|
+
var LinkIconContainer = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n width: ", ";\n height: ", ";\n ", ";\n overflow: hidden;\n align-self: center;\n\n img,\n svg {\n height: 100%;\n width: 100%;\n }\n"])), function (props) {
|
|
154
128
|
return props.theme.iconSize;
|
|
155
129
|
}, function (props) {
|
|
156
130
|
return props.theme.iconSize;
|
package/link/Link.stories.tsx
CHANGED
|
@@ -2,6 +2,7 @@ import React from "react";
|
|
|
2
2
|
import DxcLink from "./Link";
|
|
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
|
export default {
|
|
7
8
|
title: "Link",
|
|
@@ -9,7 +10,7 @@ export default {
|
|
|
9
10
|
};
|
|
10
11
|
|
|
11
12
|
const icon = (
|
|
12
|
-
<svg viewBox="0 0 24 24"
|
|
13
|
+
<svg viewBox="0 0 24 24" enableBackground="new 0 0 24 24" fill="currentColor">
|
|
13
14
|
<g id="Bounding_Box">
|
|
14
15
|
<rect fill="none" width="24" height="24" />
|
|
15
16
|
</g>
|
|
@@ -19,6 +20,12 @@ const icon = (
|
|
|
19
20
|
</svg>
|
|
20
21
|
);
|
|
21
22
|
|
|
23
|
+
const opinionatedTheme = {
|
|
24
|
+
link: {
|
|
25
|
+
baseColor: "#5f249f",
|
|
26
|
+
},
|
|
27
|
+
};
|
|
28
|
+
|
|
22
29
|
export const Chromatic = () => (
|
|
23
30
|
<>
|
|
24
31
|
<Title title="With anchor" theme="light" level={2} />
|
|
@@ -68,11 +75,18 @@ export const Chromatic = () => (
|
|
|
68
75
|
</ExampleContainer>
|
|
69
76
|
<ExampleContainer pseudoState="pseudo-hover">
|
|
70
77
|
<Title title="Long text with hover" theme="light" level={4} />
|
|
71
|
-
Lorem
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
78
|
+
Lorem{" "}
|
|
79
|
+
<DxcLink href="https://www.google.com" icon={icon}>
|
|
80
|
+
Test
|
|
81
|
+
</DxcLink>{" "}
|
|
82
|
+
ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna
|
|
83
|
+
aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
|
|
84
|
+
consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
|
|
85
|
+
Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit{" "}
|
|
86
|
+
<DxcLink href="https://www.google.com" icon={icon} iconPosition="after">
|
|
87
|
+
Test
|
|
88
|
+
</DxcLink>{" "}
|
|
89
|
+
anim id est laborum.
|
|
76
90
|
</ExampleContainer>
|
|
77
91
|
<ExampleContainer pseudoState="pseudo-focus">
|
|
78
92
|
<Title title="Long text with focus" theme="light" level={4} />
|
|
@@ -182,5 +196,58 @@ export const Chromatic = () => (
|
|
|
182
196
|
Test
|
|
183
197
|
</DxcLink>
|
|
184
198
|
</ExampleContainer>
|
|
199
|
+
<Title title="Opinionated theme" theme="light" level={2} />
|
|
200
|
+
<ExampleContainer>
|
|
201
|
+
<Title title="Disabled" theme="light" level={4} />
|
|
202
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
203
|
+
<DxcLink disabled>Test</DxcLink>
|
|
204
|
+
</HalstackProvider>
|
|
205
|
+
</ExampleContainer>
|
|
206
|
+
<ExampleContainer>
|
|
207
|
+
<Title title="Icon before" theme="light" level={4} />
|
|
208
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
209
|
+
<DxcLink href="https://www.google.com" icon={icon} iconPosition="before">
|
|
210
|
+
Test
|
|
211
|
+
</DxcLink>
|
|
212
|
+
</HalstackProvider>
|
|
213
|
+
</ExampleContainer>
|
|
214
|
+
<ExampleContainer>
|
|
215
|
+
<Title title="Disabled" theme="light" level={4} />
|
|
216
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
217
|
+
<DxcLink disabled>Test</DxcLink>
|
|
218
|
+
</HalstackProvider>
|
|
219
|
+
</ExampleContainer>
|
|
220
|
+
<ExampleContainer>
|
|
221
|
+
<Title title="Icon after" theme="light" level={4} />{" "}
|
|
222
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
223
|
+
<DxcLink onClick={() => {}} icon={icon} iconPosition="after">
|
|
224
|
+
Test
|
|
225
|
+
</DxcLink>
|
|
226
|
+
</HalstackProvider>
|
|
227
|
+
</ExampleContainer>
|
|
228
|
+
<ExampleContainer pseudoState="pseudo-hover">
|
|
229
|
+
<Title title="With link hovered" theme="light" level={4} />
|
|
230
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
231
|
+
<DxcLink onClick={() => {}}>Test</DxcLink>
|
|
232
|
+
</HalstackProvider>
|
|
233
|
+
</ExampleContainer>
|
|
234
|
+
<ExampleContainer pseudoState="pseudo-focus">
|
|
235
|
+
<Title title="With link focused" theme="light" level={4} />
|
|
236
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
237
|
+
<DxcLink onClick={() => {}}>Test</DxcLink>
|
|
238
|
+
</HalstackProvider>
|
|
239
|
+
</ExampleContainer>
|
|
240
|
+
<ExampleContainer pseudoState="pseudo-active">
|
|
241
|
+
<Title title="With link active" theme="light" level={4} />
|
|
242
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
243
|
+
<DxcLink onClick={() => {}}>Test</DxcLink>
|
|
244
|
+
</HalstackProvider>
|
|
245
|
+
</ExampleContainer>
|
|
246
|
+
<ExampleContainer pseudoState="pseudo-visited">
|
|
247
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
248
|
+
<Title title="With link visited" theme="light" level={4} />
|
|
249
|
+
<DxcLink href="https://www.google.com">Test</DxcLink>
|
|
250
|
+
</HalstackProvider>
|
|
251
|
+
</ExampleContainer>
|
|
185
252
|
</>
|
|
186
253
|
);
|