@dxc-technology/halstack-react 0.0.0-2b773b3 → 0.0.0-2bca710
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 +1348 -0
- package/HalstackContext.js +335 -0
- package/README.md +47 -0
- package/accordion/Accordion.d.ts +1 -1
- package/accordion/Accordion.js +108 -134
- package/accordion/Accordion.stories.tsx +108 -118
- package/accordion/Accordion.test.js +10 -11
- package/accordion/types.d.ts +1 -12
- package/accordion-group/AccordionGroup.d.ts +4 -3
- package/accordion-group/AccordionGroup.js +25 -65
- package/accordion-group/AccordionGroup.stories.tsx +93 -66
- package/accordion-group/AccordionGroup.test.js +27 -62
- package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
- package/accordion-group/AccordionGroupAccordion.js +43 -0
- package/accordion-group/types.d.ts +7 -12
- 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.d.ts +1 -1
- package/box/Box.js +19 -48
- package/box/Box.stories.tsx +38 -51
- package/box/Box.test.js +1 -1
- package/box/types.d.ts +0 -11
- 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.d.ts +1 -1
- package/button/Button.js +44 -71
- package/button/Button.stories.tsx +159 -8
- package/button/Button.test.js +12 -1
- package/button/types.d.ts +9 -5
- package/card/Card.d.ts +1 -1
- package/card/Card.js +37 -58
- package/card/Card.stories.tsx +12 -42
- package/card/Card.test.js +1 -1
- package/card/types.d.ts +1 -6
- package/checkbox/Checkbox.d.ts +2 -2
- package/checkbox/Checkbox.js +104 -101
- package/checkbox/Checkbox.stories.tsx +198 -130
- package/checkbox/Checkbox.test.js +94 -17
- package/checkbox/types.d.ts +7 -3
- 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 +1494 -0
- package/common/variables.js +1111 -1111
- package/date-input/Calendar.d.ts +4 -0
- package/date-input/Calendar.js +258 -0
- package/date-input/DateInput.js +140 -238
- package/date-input/DateInput.stories.tsx +209 -33
- package/date-input/DateInput.test.js +519 -149
- 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 +55 -0
- package/dialog/Dialog.d.ts +1 -1
- package/dialog/Dialog.js +68 -103
- package/dialog/Dialog.stories.tsx +154 -171
- package/dialog/Dialog.test.js +334 -5
- package/dialog/types.d.ts +0 -12
- package/dropdown/Dropdown.d.ts +1 -1
- package/dropdown/Dropdown.js +246 -253
- 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 +18 -1
- 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.d.ts +1 -1
- package/footer/Footer.js +49 -142
- package/footer/Footer.stories.tsx +41 -19
- package/footer/Footer.test.js +16 -26
- package/footer/Icons.js +1 -1
- package/footer/types.d.ts +11 -12
- 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 +4 -3
- package/header/Header.js +102 -150
- package/header/Header.stories.tsx +152 -63
- package/header/Header.test.js +20 -4
- package/header/Icons.js +2 -2
- package/header/types.d.ts +0 -13
- package/heading/Heading.js +1 -1
- package/heading/Heading.test.js +1 -1
- package/image/Image.d.ts +4 -0
- package/image/Image.js +85 -0
- package/image/Image.stories.tsx +127 -0
- package/image/types.d.ts +72 -0
- 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 +81 -138
- package/layout/ApplicationLayout.stories.tsx +85 -94
- package/layout/Icons.d.ts +8 -0
- package/layout/Icons.js +52 -45
- 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 +3 -2
- package/link/Link.js +60 -77
- package/link/Link.stories.tsx +155 -53
- package/link/Link.test.js +9 -19
- package/link/types.d.ts +5 -21
- package/main.d.ts +9 -10
- package/main.js +55 -57
- 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.d.ts +7 -0
- package/number-input/NumberInput.js +6 -4
- package/number-input/NumberInput.test.js +319 -102
- package/number-input/types.d.ts +13 -10
- package/package.json +19 -23
- 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/Icons.d.ts +6 -0
- package/password-input/Icons.js +39 -0
- package/password-input/PasswordInput.js +36 -80
- package/password-input/PasswordInput.stories.tsx +1 -0
- package/password-input/PasswordInput.test.js +36 -45
- package/password-input/types.d.ts +14 -11
- 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 +77 -26
- package/quick-nav/QuickNav.stories.tsx +145 -26
- package/quick-nav/types.d.ts +4 -4
- 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 +4 -0
- package/select/Listbox.js +169 -0
- package/select/Option.js +11 -24
- package/select/Select.js +148 -214
- package/select/Select.stories.tsx +525 -136
- package/select/Select.test.js +478 -307
- package/select/types.d.ts +20 -4
- 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 +138 -68
- package/switch/Switch.stories.tsx +49 -38
- package/switch/Switch.test.js +145 -18
- package/switch/types.d.ts +6 -2
- 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 -11
- package/tabs/Tabs.test.js +220 -10
- package/tabs/types.d.ts +13 -3
- package/tag/Tag.js +12 -17
- 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 +260 -399
- package/text-input/TextInput.stories.tsx +319 -185
- package/text-input/TextInput.test.js +846 -759
- package/text-input/types.d.ts +50 -12
- package/textarea/Textarea.js +37 -45
- package/textarea/Textarea.stories.jsx +68 -1
- package/textarea/Textarea.test.js +61 -19
- package/textarea/types.d.ts +14 -7
- package/toggle-group/ToggleGroup.d.ts +2 -2
- package/toggle-group/ToggleGroup.js +85 -59
- package/toggle-group/ToggleGroup.stories.tsx +48 -3
- package/toggle-group/ToggleGroup.test.js +38 -24
- package/toggle-group/types.d.ts +23 -14
- 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 +1246 -1
- package/useTheme.js +3 -3
- 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 +44 -45
- package/wizard/Wizard.stories.tsx +40 -1
- package/wizard/Wizard.test.js +1 -1
- package/wizard/types.d.ts +3 -3
- package/ThemeContext.d.ts +0 -10
- package/ThemeContext.js +0 -243
- package/card/ice-cream.jpg +0 -0
- 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/number-input/NumberInputContext.d.ts +0 -4
- package/number-input/NumberInputContext.js +0 -19
- package/number-input/numberInputContextTypes.d.ts +0 -19
- package/radio/Radio.d.ts +0 -4
- package/radio/Radio.js +0 -174
- 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 → image}/types.js +0 -0
- /package/{number-input/numberInputContextTypes.js → nav-tabs/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,24 +20,61 @@ 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: "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
|
+
|
|
19
53
|
export const Chromatic = () => (
|
|
20
54
|
<>
|
|
21
55
|
<ExampleContainer>
|
|
22
56
|
<Title title="Default with dropdown" theme="light" level={4} />
|
|
23
|
-
<DxcHeader
|
|
57
|
+
<DxcHeader
|
|
58
|
+
content={<DxcHeader.Dropdown options={options} label="Default Dropdown" onSelectOption={() => {}} />}
|
|
59
|
+
/>
|
|
24
60
|
</ExampleContainer>
|
|
25
61
|
<ExampleContainer>
|
|
26
62
|
<Title title="Underlined with text" theme="light" level={4} />
|
|
27
63
|
<DxcHeader underlined content={<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras felis.</p>} />
|
|
28
64
|
</ExampleContainer>
|
|
29
65
|
<ExampleContainer>
|
|
30
|
-
<Title title="
|
|
31
|
-
<
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
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
|
+
/>
|
|
37
78
|
</ExampleContainer>
|
|
38
79
|
<Title title="Margins" theme="light" level={2} />
|
|
39
80
|
<ExampleContainer>
|
|
@@ -71,92 +112,140 @@ export const Chromatic = () => (
|
|
|
71
112
|
<DxcHeader underlined margin="xxlarge" />
|
|
72
113
|
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras felis.</p>
|
|
73
114
|
</ExampleContainer>
|
|
74
|
-
|
|
75
|
-
<Title title="Paddings" theme="light" level={2} />
|
|
76
|
-
<ExampleContainer>
|
|
77
|
-
<Title title="Xxsmall padding" theme="light" level={4} />
|
|
78
|
-
<DxcHeader underlined padding="xxsmall" />
|
|
79
|
-
</ExampleContainer>
|
|
80
|
-
<ExampleContainer>
|
|
81
|
-
<Title title="Xsmall padding" theme="light" level={4} />
|
|
82
|
-
<DxcHeader underlined padding="xsmall" />
|
|
83
|
-
</ExampleContainer>
|
|
84
|
-
<ExampleContainer>
|
|
85
|
-
<Title title="Small padding" theme="light" level={4} />
|
|
86
|
-
<DxcHeader underlined padding="small" />
|
|
87
|
-
</ExampleContainer>
|
|
88
|
-
<ExampleContainer>
|
|
89
|
-
<Title title="Medium padding" theme="light" level={4} />
|
|
90
|
-
<DxcHeader underlined padding="medium" />
|
|
91
|
-
</ExampleContainer>
|
|
92
|
-
<ExampleContainer>
|
|
93
|
-
<Title title="Large padding" theme="light" level={4} />
|
|
94
|
-
<DxcHeader underlined padding="large" />
|
|
95
|
-
</ExampleContainer>
|
|
96
|
-
<ExampleContainer>
|
|
97
|
-
<Title title="Xlarge padding" theme="light" level={4} />
|
|
98
|
-
<DxcHeader underlined padding="xlarge" />
|
|
99
|
-
</ExampleContainer>
|
|
115
|
+
<Title title="Opinionated theme" theme="light" level={2} />
|
|
100
116
|
<ExampleContainer>
|
|
101
|
-
<
|
|
102
|
-
|
|
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>
|
|
103
129
|
</ExampleContainer>
|
|
104
130
|
</>
|
|
105
131
|
);
|
|
106
132
|
|
|
107
|
-
const
|
|
133
|
+
export const ResponsiveHeader = () => (
|
|
108
134
|
<ExampleContainer>
|
|
109
135
|
<Title title="Responsive" theme="light" level={4} />
|
|
110
|
-
<
|
|
111
|
-
<DxcHeader
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
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
|
+
/>
|
|
116
143
|
</ExampleContainer>
|
|
117
144
|
);
|
|
118
145
|
|
|
119
146
|
const RespHeaderFocus = () => (
|
|
120
147
|
<ExampleContainer pseudoState="pseudo-focus">
|
|
121
|
-
<Title title="Responsive" theme="light" level={4} />
|
|
122
|
-
<
|
|
123
|
-
<DxcHeader
|
|
124
|
-
responsiveContent={(closeHandler) => <p>Lorem ipsum dolor sit amet.</p>}
|
|
125
|
-
underlined
|
|
126
|
-
/>
|
|
127
|
-
</div>
|
|
148
|
+
<Title title="Responsive focus" theme="light" level={4} />
|
|
149
|
+
<DxcHeader responsiveContent={(closeHandler) => <p>Lorem ipsum dolor sit amet.</p>} underlined />
|
|
128
150
|
</ExampleContainer>
|
|
129
151
|
);
|
|
130
152
|
|
|
131
153
|
const RespHeaderHover = () => (
|
|
132
154
|
<ExampleContainer pseudoState="pseudo-hover">
|
|
133
|
-
<Title title="Responsive" theme="light" level={4} />
|
|
134
|
-
<
|
|
135
|
-
<DxcHeader
|
|
136
|
-
responsiveContent={(closeHandler) => <p>Lorem ipsum dolor sit amet.</p>}
|
|
137
|
-
underlined
|
|
138
|
-
/>
|
|
139
|
-
</div>
|
|
155
|
+
<Title title="Responsive hover" theme="light" level={4} />
|
|
156
|
+
<DxcHeader responsiveContent={(closeHandler) => <p>Lorem ipsum dolor sit amet.</p>} underlined />
|
|
140
157
|
</ExampleContainer>
|
|
141
158
|
);
|
|
142
159
|
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
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] },
|
|
148
188
|
};
|
|
149
189
|
|
|
150
190
|
export const ResponsiveHeaderFocus = RespHeaderFocus.bind({});
|
|
191
|
+
ResponsiveHeaderFocus.parameters = {
|
|
192
|
+
viewport: {
|
|
193
|
+
defaultViewport: "iphonex",
|
|
194
|
+
},
|
|
195
|
+
chromatic: { viewports: [375] },
|
|
196
|
+
};
|
|
151
197
|
ResponsiveHeaderFocus.play = async ({ canvasElement }) => {
|
|
152
198
|
const canvas = within(canvasElement);
|
|
153
199
|
await waitFor(() => canvas.findByText("Menu"));
|
|
154
|
-
await userEvent.click(canvas.getByText("Menu"));
|
|
155
200
|
};
|
|
156
201
|
|
|
157
202
|
export const ResponsiveHeaderHover = RespHeaderHover.bind({});
|
|
203
|
+
ResponsiveHeaderHover.parameters = {
|
|
204
|
+
viewport: {
|
|
205
|
+
defaultViewport: "iphonex",
|
|
206
|
+
},
|
|
207
|
+
chromatic: { viewports: [375] },
|
|
208
|
+
};
|
|
158
209
|
ResponsiveHeaderHover.play = async ({ canvasElement }) => {
|
|
159
210
|
const canvas = within(canvasElement);
|
|
160
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"));
|
|
161
250
|
await userEvent.click(canvas.getByText("Menu"));
|
|
162
251
|
};
|
package/header/Header.test.js
CHANGED
|
@@ -6,11 +6,19 @@ var _react = _interopRequireDefault(require("react"));
|
|
|
6
6
|
|
|
7
7
|
var _react2 = require("@testing-library/react");
|
|
8
8
|
|
|
9
|
-
var _Header = _interopRequireDefault(require("./Header"));
|
|
10
|
-
|
|
11
|
-
var _linkedin = _interopRequireDefault(require("../../app/src/images/linkedin.svg"));
|
|
9
|
+
var _Header = _interopRequireDefault(require("./Header.tsx"));
|
|
12
10
|
|
|
13
11
|
describe("Header component tests", function () {
|
|
12
|
+
beforeAll(function () {
|
|
13
|
+
Object.defineProperty(window, "matchMedia", {
|
|
14
|
+
writable: true,
|
|
15
|
+
value: jest.fn().mockImplementation(function () {
|
|
16
|
+
return {
|
|
17
|
+
matches: false
|
|
18
|
+
};
|
|
19
|
+
})
|
|
20
|
+
});
|
|
21
|
+
});
|
|
14
22
|
test("Header renders with default logo", function () {
|
|
15
23
|
var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Header["default"], null)),
|
|
16
24
|
getByTitle = _render.getByTitle;
|
|
@@ -50,9 +58,17 @@ describe("Header component tests", function () {
|
|
|
50
58
|
configurable: true,
|
|
51
59
|
value: 425
|
|
52
60
|
});
|
|
61
|
+
Object.defineProperty(window, "matchMedia", {
|
|
62
|
+
writable: true,
|
|
63
|
+
value: jest.fn().mockImplementation(function () {
|
|
64
|
+
return {
|
|
65
|
+
matches: true
|
|
66
|
+
};
|
|
67
|
+
})
|
|
68
|
+
});
|
|
53
69
|
|
|
54
70
|
var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Header["default"], {
|
|
55
|
-
responsiveContent: function responsiveContent(
|
|
71
|
+
responsiveContent: function responsiveContent() {
|
|
56
72
|
return /*#__PURE__*/_react["default"].createElement("p", null, "header-child-text");
|
|
57
73
|
}
|
|
58
74
|
})),
|
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,11 +1,5 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
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
3
|
declare type Props = {
|
|
10
4
|
/**
|
|
11
5
|
* Wether a contrast line should appear at the bottom of the header.
|
|
@@ -31,13 +25,6 @@ declare type Props = {
|
|
|
31
25
|
* ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
|
|
32
26
|
*/
|
|
33
27
|
margin?: Space;
|
|
34
|
-
/**
|
|
35
|
-
* Size of the padding to be applied to the custom area of the component
|
|
36
|
-
* ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
|
|
37
|
-
* You can pass an object with 'top', 'bottom', 'left' and 'right' properties in
|
|
38
|
-
* order to specify different padding sizes.
|
|
39
|
-
*/
|
|
40
|
-
padding?: Space | Padding;
|
|
41
28
|
/**
|
|
42
29
|
* Value of the tabindex for all interactuable elements, except those inside the
|
|
43
30
|
* custom area.
|
package/heading/Heading.js
CHANGED
|
@@ -17,7 +17,7 @@ var _react = _interopRequireDefault(require("react"));
|
|
|
17
17
|
|
|
18
18
|
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
19
19
|
|
|
20
|
-
var _variables = require("../common/variables
|
|
20
|
+
var _variables = require("../common/variables");
|
|
21
21
|
|
|
22
22
|
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
23
23
|
|
package/heading/Heading.test.js
CHANGED
|
@@ -6,7 +6,7 @@ var _react = _interopRequireDefault(require("react"));
|
|
|
6
6
|
|
|
7
7
|
var _react2 = require("@testing-library/react");
|
|
8
8
|
|
|
9
|
-
var _Heading = _interopRequireDefault(require("./Heading"));
|
|
9
|
+
var _Heading = _interopRequireDefault(require("./Heading.tsx"));
|
|
10
10
|
|
|
11
11
|
describe("Heading component tests", function () {
|
|
12
12
|
test("Heading renders with default level", function () {
|
package/image/Image.d.ts
ADDED
package/image/Image.js
ADDED
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
+
|
|
7
|
+
Object.defineProperty(exports, "__esModule", {
|
|
8
|
+
value: true
|
|
9
|
+
});
|
|
10
|
+
exports["default"] = void 0;
|
|
11
|
+
|
|
12
|
+
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
13
|
+
|
|
14
|
+
var _react = _interopRequireDefault(require("react"));
|
|
15
|
+
|
|
16
|
+
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
17
|
+
|
|
18
|
+
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
19
|
+
|
|
20
|
+
var _BaseTypography = _interopRequireDefault(require("../utils/BaseTypography"));
|
|
21
|
+
|
|
22
|
+
var _templateObject;
|
|
23
|
+
|
|
24
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
25
|
+
|
|
26
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
27
|
+
|
|
28
|
+
var CaptionWrapper = function CaptionWrapper(_ref) {
|
|
29
|
+
var condition = _ref.condition,
|
|
30
|
+
wrapper = _ref.wrapper,
|
|
31
|
+
children = _ref.children;
|
|
32
|
+
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, condition ? wrapper(children) : children);
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
var DxcImage = function DxcImage(_ref2) {
|
|
36
|
+
var alt = _ref2.alt,
|
|
37
|
+
caption = _ref2.caption,
|
|
38
|
+
_ref2$lazyLoading = _ref2.lazyLoading,
|
|
39
|
+
lazyLoading = _ref2$lazyLoading === void 0 ? false : _ref2$lazyLoading,
|
|
40
|
+
src = _ref2.src,
|
|
41
|
+
srcSet = _ref2.srcSet,
|
|
42
|
+
sizes = _ref2.sizes,
|
|
43
|
+
width = _ref2.width,
|
|
44
|
+
height = _ref2.height,
|
|
45
|
+
objectFit = _ref2.objectFit,
|
|
46
|
+
objectPosition = _ref2.objectPosition,
|
|
47
|
+
onLoad = _ref2.onLoad,
|
|
48
|
+
onError = _ref2.onError;
|
|
49
|
+
var colorsTheme = (0, _useTheme["default"])();
|
|
50
|
+
return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
51
|
+
theme: colorsTheme.image
|
|
52
|
+
}, /*#__PURE__*/_react["default"].createElement(CaptionWrapper, {
|
|
53
|
+
condition: caption != undefined,
|
|
54
|
+
wrapper: function wrapper(children) {
|
|
55
|
+
return /*#__PURE__*/_react["default"].createElement(Figure, null, children, /*#__PURE__*/_react["default"].createElement(_BaseTypography["default"], {
|
|
56
|
+
as: "figcaption",
|
|
57
|
+
color: colorsTheme.image.captionFontColor,
|
|
58
|
+
fontFamily: colorsTheme.image.captionFontFamily,
|
|
59
|
+
fontSize: colorsTheme.image.captionFontSize,
|
|
60
|
+
fontStyle: colorsTheme.image.captionFontStyle,
|
|
61
|
+
fontWeight: colorsTheme.image.captionFontWeight,
|
|
62
|
+
lineHeight: colorsTheme.image.captionLineHeight
|
|
63
|
+
}, caption));
|
|
64
|
+
}
|
|
65
|
+
}, /*#__PURE__*/_react["default"].createElement("img", {
|
|
66
|
+
alt: alt,
|
|
67
|
+
loading: lazyLoading ? "lazy" : undefined,
|
|
68
|
+
onLoad: onLoad,
|
|
69
|
+
onError: onError,
|
|
70
|
+
src: src,
|
|
71
|
+
srcSet: srcSet,
|
|
72
|
+
sizes: sizes,
|
|
73
|
+
style: {
|
|
74
|
+
objectFit: objectFit,
|
|
75
|
+
objectPosition: objectPosition,
|
|
76
|
+
width: width,
|
|
77
|
+
height: height
|
|
78
|
+
}
|
|
79
|
+
})));
|
|
80
|
+
};
|
|
81
|
+
|
|
82
|
+
var Figure = _styledComponents["default"].figure(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n gap: 1rem;\n width: fit-content;\n margin: 0;\n padding: 0;\n"])));
|
|
83
|
+
|
|
84
|
+
var _default = DxcImage;
|
|
85
|
+
exports["default"] = _default;
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import DxcImage from "./Image";
|
|
3
|
+
import Title from "../../.storybook/components/Title";
|
|
4
|
+
import ExampleContainer from "../../.storybook/components/ExampleContainer";
|
|
5
|
+
import { DxcFlex, DxcInset, DxcParagraph } from "../main";
|
|
6
|
+
|
|
7
|
+
export default {
|
|
8
|
+
title: "Image",
|
|
9
|
+
component: DxcImage,
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
export const Chromatic = () => (
|
|
13
|
+
<>
|
|
14
|
+
<Title title="Image component" theme="light" level={2} />
|
|
15
|
+
<ExampleContainer>
|
|
16
|
+
<Title title="Simple image" theme="light" level={4} />
|
|
17
|
+
<DxcImage
|
|
18
|
+
alt="Example image"
|
|
19
|
+
width="100%"
|
|
20
|
+
src="https://images.ctfassets.net/hrltx12pl8hq/5596z2BCR9KmT1KeRBrOQa/4070fd4e2f1a13f71c2c46afeb18e41c/shutterstock_451077043-hero1.jpg"
|
|
21
|
+
/>
|
|
22
|
+
</ExampleContainer>
|
|
23
|
+
<ExampleContainer>
|
|
24
|
+
<Title title="Image with text" theme="light" level={4} />
|
|
25
|
+
<DxcParagraph>
|
|
26
|
+
Lorem ipsum dolor sit amet consectetur. Tincidunt sed pharetra mollis duis volutpat urna. Hendrerit aliquet et
|
|
27
|
+
arcu purus. Sodales elementum sollicitudin consequat elementum tortor. Lectus eget cursus ut ac pharetra
|
|
28
|
+
lobortis integer eu. Potenti amet ac id risus ac nunc orci nibh. Tempus vitae vitae aenean arcu. Nibh tristique
|
|
29
|
+
porta dui enim eget tristique rutrum. Quisque faucibus suscipit nibh est sed. Netus venenatis congue diam in dui
|
|
30
|
+
morbi dignissim lorem. Urna aliquet sem in tincidunt. Nunc arcu nec fringilla enim purus ut justo nisi. Vel mus
|
|
31
|
+
ut ornare faucibus blandit diam sit vestibulum massa. Semper nullam sit sagittis hendrerit augue. In fermentum
|
|
32
|
+
metus proin arcu faucibus proin nibh sit. Vel integer sed enim in sed vel nec ut vitae. Commodo sagittis
|
|
33
|
+
volutpat id lorem.
|
|
34
|
+
</DxcParagraph>
|
|
35
|
+
<DxcInset top="2rem" bottom="2rem">
|
|
36
|
+
<DxcImage
|
|
37
|
+
alt="Ratatouille is a great movie"
|
|
38
|
+
caption="Ratatouille with a smile on his face."
|
|
39
|
+
src="https://hips.hearstapps.com/es.h-cdn.co/fotoes/images/cinefilia/por-que-ratatouille-nos-sigue-enamorando-10-anos-despues/136444706-1-esl-ES/Por-que-Ratatouille-nos-sigue-enamorando-10-anos-despues.jpg"
|
|
40
|
+
/>
|
|
41
|
+
</DxcInset>
|
|
42
|
+
<DxcParagraph>
|
|
43
|
+
Lorem ipsum dolor sit amet consectetur. Tincidunt sed pharetra mollis duis volutpat urna. Hendrerit aliquet et
|
|
44
|
+
arcu purus. Sodales elementum sollicitudin consequat elementum tortor. Lectus eget cursus ut ac pharetra
|
|
45
|
+
lobortis integer eu. Potenti amet ac id risus ac nunc orci nibh. Tempus vitae vitae aenean arcu. Nibh tristique
|
|
46
|
+
porta dui enim eget tristique rutrum. Quisque faucibus suscipit nibh est sed. Netus venenatis congue diam in dui
|
|
47
|
+
morbi dignissim lorem. Urna aliquet sem in tincidunt. Nunc arcu nec fringilla enim purus ut justo nisi. Vel mus
|
|
48
|
+
ut ornare faucibus blandit diam sit vestibulum massa. Semper nullam sit sagittis hendrerit augue. In fermentum
|
|
49
|
+
metus proin arcu faucibus proin nibh sit. Vel integer sed enim in sed vel nec ut vitae. Commodo sagittis
|
|
50
|
+
volutpat id lorem.
|
|
51
|
+
</DxcParagraph>
|
|
52
|
+
</ExampleContainer>
|
|
53
|
+
<ExampleContainer>
|
|
54
|
+
<Title title="Example image" theme="light" level={4} />
|
|
55
|
+
<DxcFlex gap="1rem">
|
|
56
|
+
<DxcImage
|
|
57
|
+
alt="Camera pic"
|
|
58
|
+
caption="Picture of a camera and the sunset."
|
|
59
|
+
width="500px"
|
|
60
|
+
src="https://assets.entrepreneur.com/content/3x2/2000/20191009140007-GettyImages-1053962188.jpeg"
|
|
61
|
+
/>
|
|
62
|
+
<DxcParagraph>
|
|
63
|
+
Lorem ipsum dolor sit amet consectetur. Tincidunt sed pharetra mollis duis volutpat urna. Hendrerit aliquet et
|
|
64
|
+
arcu purus. Sodales elementum sollicitudin consequat elementum tortor. Lectus eget cursus ut ac pharetra
|
|
65
|
+
lobortis integer eu. Potenti amet ac id risus ac nunc orci nibh. Tempus vitae vitae aenean arcu. Nibh
|
|
66
|
+
tristique porta dui enim eget tristique rutrum. Quisque faucibus suscipit nibh est sed. Netus venenatis congue
|
|
67
|
+
diam in dui morbi dignissim lorem. Urna aliquet sem in tincidunt. Nunc arcu nec fringilla enim purus ut justo
|
|
68
|
+
nisi. Vel mus ut ornare faucibus blandit diam sit vestibulum massa. Semper nullam sit sagittis hendrerit
|
|
69
|
+
augue. In fermentum metus proin arcu faucibus proin nibh sit. Vel integer sed enim in sed vel nec ut vitae.
|
|
70
|
+
Commodo sagittis volutpat id lorem. Lorem ipsum dolor sit amet consectetur. Tincidunt sed pharetra mollis duis
|
|
71
|
+
volutpat urna. Hendrerit aliquet et arcu purus. Sodales elementum sollicitudin consequat elementum tortor.
|
|
72
|
+
Lectus eget cursus ut ac pharetra lobortis integer eu. Potenti amet ac id risus ac nunc orci nibh. Tempus
|
|
73
|
+
vitae vitae aenean arcu. Nibh tristique porta dui enim eget tristique rutrum. Quisque faucibus suscipit nibh
|
|
74
|
+
est sed. Netus venenatis congue diam in dui morbi dignissim lorem. Urna aliquet sem in tincidunt. Nunc arcu
|
|
75
|
+
nec fringilla enim purus ut justo nisi. Vel mus ut ornare faucibus blandit diam sit vestibulum massa. Semper
|
|
76
|
+
nullam sit sagittis hendrerit augue. In fermentum metus proin arcu faucibus proin nibh sit. Vel integer sed
|
|
77
|
+
enim in sed vel nec ut vitae. Commodo sagittis volutpat id lorem.
|
|
78
|
+
</DxcParagraph>
|
|
79
|
+
</DxcFlex>
|
|
80
|
+
</ExampleContainer>
|
|
81
|
+
<ExampleContainer>
|
|
82
|
+
<Title title="Object position" theme="light" level={4} />
|
|
83
|
+
<DxcImage
|
|
84
|
+
alt="Moon pic"
|
|
85
|
+
caption="Picture of the moon."
|
|
86
|
+
width="250px"
|
|
87
|
+
src="https://interactive-examples.mdn.mozilla.net/media/examples/moon.jpg"
|
|
88
|
+
objectPosition="right top"
|
|
89
|
+
objectFit="none"
|
|
90
|
+
/>
|
|
91
|
+
</ExampleContainer>
|
|
92
|
+
<ExampleContainer>
|
|
93
|
+
<Title title="Object fit: contain" theme="light" level={4} />
|
|
94
|
+
<div style={{ display: "flex", width: "fit-content", border: "1px solid #000", padding: "0.5rem" }}>
|
|
95
|
+
<DxcImage
|
|
96
|
+
alt="Dog pic"
|
|
97
|
+
src="https://cc-prod.scene7.com/is/image/CCProdAuthor/What-is-Stock-Photography_P1_mobile?$pjpeg$&jpegSize=200&wid=720"
|
|
98
|
+
width="200px"
|
|
99
|
+
height="200px"
|
|
100
|
+
objectFit="contain"
|
|
101
|
+
caption="Pretty dog."
|
|
102
|
+
/>
|
|
103
|
+
</div>
|
|
104
|
+
</ExampleContainer>
|
|
105
|
+
<ExampleContainer>
|
|
106
|
+
<Title title="Object fit: cover" theme="light" level={4} />
|
|
107
|
+
<div style={{ width: "75%", height: "300px" }}>
|
|
108
|
+
<DxcImage
|
|
109
|
+
alt="Spaceship pic"
|
|
110
|
+
src="https://media.istockphoto.com/id/1344443930/es/foto/lanzamiento-de-cohetes-del-transbordador-espacial-en-el-cielo-y-nubes-al-espacio-exterior.jpg?s=612x612&w=0&k=20&c=CO2A96GnnWvJsgZuj9WfYCVIBVzicnQDfnzwD1nomN0="
|
|
111
|
+
objectFit="cover"
|
|
112
|
+
width="50%"
|
|
113
|
+
height="100%"
|
|
114
|
+
objectPosition="0px 0px"
|
|
115
|
+
/>
|
|
116
|
+
<DxcImage
|
|
117
|
+
alt="Spaceship pic"
|
|
118
|
+
src="https://media.istockphoto.com/id/1344443930/es/foto/lanzamiento-de-cohetes-del-transbordador-espacial-en-el-cielo-y-nubes-al-espacio-exterior.jpg?s=612x612&w=0&k=20&c=CO2A96GnnWvJsgZuj9WfYCVIBVzicnQDfnzwD1nomN0="
|
|
119
|
+
objectFit="cover"
|
|
120
|
+
width="50%"
|
|
121
|
+
height="100%"
|
|
122
|
+
objectPosition="0px 0px"
|
|
123
|
+
/>
|
|
124
|
+
</div>
|
|
125
|
+
</ExampleContainer>
|
|
126
|
+
</>
|
|
127
|
+
);
|