@dxc-technology/halstack-react 9.1.0 → 10.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/HalstackContext.d.ts +11 -6
- package/HalstackContext.js +1 -1
- package/README.md +47 -0
- package/accordion/Accordion.d.ts +1 -1
- package/accordion/Accordion.js +2 -14
- package/accordion/Accordion.stories.tsx +2 -100
- package/accordion/types.d.ts +0 -12
- package/accordion-group/AccordionGroup.d.ts +4 -3
- package/accordion-group/AccordionGroup.js +21 -42
- package/accordion-group/AccordionGroup.stories.tsx +77 -76
- package/accordion-group/AccordionGroup.test.js +6 -16
- package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
- package/accordion-group/AccordionGroupAccordion.js +43 -0
- package/accordion-group/types.d.ts +0 -12
- package/alert/Alert.js +1 -3
- package/box/Box.d.ts +1 -1
- package/box/Box.js +5 -22
- package/box/Box.stories.tsx +25 -53
- package/box/types.d.ts +0 -12
- package/bulleted-list/BulletedList.js +4 -2
- package/bulleted-list/BulletedList.stories.tsx +7 -1
- package/bulleted-list/types.d.ts +31 -4
- package/button/Button.d.ts +1 -1
- package/button/Button.js +45 -54
- package/button/Button.stories.tsx +3 -3
- package/button/Button.test.js +11 -0
- package/button/types.d.ts +4 -0
- package/card/Card.d.ts +1 -1
- package/card/Card.js +18 -35
- package/card/Card.stories.tsx +0 -29
- package/card/types.d.ts +1 -7
- package/chip/Chip.js +23 -36
- package/chip/Chip.stories.tsx +25 -17
- package/common/OpenSans.css +68 -80
- package/common/coreTokens.d.ts +146 -0
- package/common/coreTokens.js +167 -0
- package/common/variables.d.ts +9 -144
- package/common/variables.js +960 -1095
- package/date-input/Calendar.js +2 -2
- package/dialog/Dialog.d.ts +1 -1
- package/dialog/Dialog.js +4 -22
- package/dialog/Dialog.stories.tsx +52 -176
- package/dialog/types.d.ts +0 -13
- package/dropdown/DropdownMenu.js +5 -1
- package/file-input/FileItem.js +2 -2
- package/file-input/types.d.ts +1 -1
- package/flex/Flex.js +4 -2
- package/flex/Flex.stories.tsx +24 -10
- package/flex/types.d.ts +70 -5
- package/footer/Footer.d.ts +1 -1
- package/footer/Footer.js +43 -61
- package/footer/Footer.stories.tsx +19 -95
- package/footer/Footer.test.js +3 -1
- package/footer/types.d.ts +10 -12
- package/grid/Grid.d.ts +1 -1
- package/grid/Grid.js +1 -1
- package/grid/Grid.stories.tsx +38 -38
- package/header/Header.d.ts +1 -1
- package/header/Header.js +3 -30
- package/header/Header.stories.tsx +7 -71
- package/header/types.d.ts +0 -14
- 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.stories.tsx +1 -1
- package/layout/ApplicationLayout.d.ts +2 -2
- package/layout/ApplicationLayout.js +14 -11
- package/layout/ApplicationLayout.stories.tsx +1 -1
- package/layout/Icons.d.ts +7 -4
- package/layout/Icons.js +52 -56
- package/link/Link.js +1 -1
- package/main.d.ts +2 -1
- package/main.js +8 -0
- package/nav-tabs/NavTabs.d.ts +2 -2
- package/nav-tabs/NavTabs.js +7 -10
- package/nav-tabs/NavTabs.stories.tsx +14 -0
- package/nav-tabs/Tab.js +22 -26
- package/nav-tabs/types.d.ts +8 -9
- package/number-input/NumberInput.d.ts +7 -0
- package/number-input/NumberInput.js +6 -4
- package/number-input/NumberInput.test.js +278 -95
- package/package.json +2 -2
- package/paginator/Paginator.js +1 -1
- package/paginator/Paginator.test.js +13 -0
- package/password-input/Icons.d.ts +6 -0
- package/password-input/Icons.js +39 -0
- package/password-input/PasswordInput.js +35 -82
- package/password-input/PasswordInput.stories.tsx +1 -0
- package/password-input/PasswordInput.test.js +27 -34
- package/radio-group/Radio.js +10 -10
- package/radio-group/RadioGroup.js +8 -10
- package/select/Select.stories.tsx +3 -3
- package/select/Select.test.js +4 -4
- package/sidenav/Sidenav.js +21 -23
- package/text-input/TextInput.js +62 -78
- package/text-input/TextInput.stories.tsx +1 -1
- package/toggle-group/ToggleGroup.d.ts +2 -2
- package/toggle-group/ToggleGroup.js +79 -56
- package/toggle-group/ToggleGroup.stories.tsx +6 -3
- package/toggle-group/ToggleGroup.test.js +37 -23
- package/toggle-group/types.d.ts +22 -13
- package/useTheme.d.ts +9 -1
- package/utils/FocusLock.js +2 -3
- package/card/ice-cream.jpg +0 -0
- package/number-input/NumberInputContext.d.ts +0 -4
- package/number-input/NumberInputContext.js +0 -19
- package/number-input/numberInputContextTypes.d.ts +0 -19
- /package/{number-input/numberInputContextTypes.js → image/types.js} +0 -0
package/grid/Grid.stories.tsx
CHANGED
|
@@ -56,16 +56,16 @@ export const Chromatic = () => (
|
|
|
56
56
|
<Title title="Place self" level={4} />
|
|
57
57
|
<ExampleContainer>
|
|
58
58
|
<DxcGrid templateRows={["repeat(3, 100px)"]}>
|
|
59
|
-
<DxcGrid.
|
|
59
|
+
<DxcGrid.Item placeSelf="center">
|
|
60
60
|
<ColoredContainer height="50px" width="50px" />
|
|
61
|
-
</DxcGrid.
|
|
62
|
-
<DxcGrid.
|
|
61
|
+
</DxcGrid.Item>
|
|
62
|
+
<DxcGrid.Item placeSelf={{ alignSelf: "end" }}>
|
|
63
63
|
<ColoredContainer height="40px" width="40px" />
|
|
64
64
|
<ColoredContainer height="30px" width="30px" />
|
|
65
|
-
</DxcGrid.
|
|
66
|
-
<DxcGrid.
|
|
65
|
+
</DxcGrid.Item>
|
|
66
|
+
<DxcGrid.Item placeSelf={{ alignSelf: "center", justifySelf: "end" }}>
|
|
67
67
|
<ColoredContainer height="50px" width="50px" />
|
|
68
|
-
</DxcGrid.
|
|
68
|
+
</DxcGrid.Item>
|
|
69
69
|
</DxcGrid>
|
|
70
70
|
</ExampleContainer>
|
|
71
71
|
<Title title="Halstack layout using template areas" level={4} />
|
|
@@ -76,33 +76,33 @@ export const Chromatic = () => (
|
|
|
76
76
|
templateAreas={["header header header header", "sidenav main main main", "sidenav footer footer footer"]}
|
|
77
77
|
gap={{ rowGap: "0.5rem", columnGap: "1rem" }}
|
|
78
78
|
>
|
|
79
|
-
<DxcGrid.
|
|
79
|
+
<DxcGrid.Item areaName="header" as="header">
|
|
80
80
|
<ColoredContainer height="100%" />
|
|
81
|
-
</DxcGrid.
|
|
82
|
-
<DxcGrid.
|
|
81
|
+
</DxcGrid.Item>
|
|
82
|
+
<DxcGrid.Item areaName="main" as="main">
|
|
83
83
|
<ColoredContainer height="100%" />
|
|
84
|
-
</DxcGrid.
|
|
85
|
-
<DxcGrid.
|
|
84
|
+
</DxcGrid.Item>
|
|
85
|
+
<DxcGrid.Item areaName="sidenav" as="nav">
|
|
86
86
|
<ColoredContainer height="100%" />
|
|
87
|
-
</DxcGrid.
|
|
88
|
-
<DxcGrid.
|
|
87
|
+
</DxcGrid.Item>
|
|
88
|
+
<DxcGrid.Item areaName="footer" as="footer">
|
|
89
89
|
<ColoredContainer height="100%" />
|
|
90
|
-
</DxcGrid.
|
|
90
|
+
</DxcGrid.Item>
|
|
91
91
|
</DxcGrid>
|
|
92
92
|
</ExampleContainer>
|
|
93
93
|
<Title title="Template rows and columns with flexible sizes" level={4} />
|
|
94
94
|
<ExampleContainer>
|
|
95
95
|
<DxcGrid templateColumns={["1fr", "1fr", "1fr"]} templateRows={["1fr", "3fr", "1fr"]} gap="0.5rem">
|
|
96
|
-
<DxcGrid.
|
|
96
|
+
<DxcGrid.Item column={{ start: 1, end: -1 }}>
|
|
97
97
|
<ColoredContainer color="yellow" height="100%">
|
|
98
98
|
Header
|
|
99
99
|
</ColoredContainer>
|
|
100
|
-
</DxcGrid.
|
|
101
|
-
<DxcGrid.
|
|
100
|
+
</DxcGrid.Item>
|
|
101
|
+
<DxcGrid.Item column={1}>
|
|
102
102
|
<ColoredContainer color="lightcyan" height="100%">
|
|
103
103
|
Sidenav
|
|
104
104
|
</ColoredContainer>
|
|
105
|
-
</DxcGrid.
|
|
105
|
+
</DxcGrid.Item>
|
|
106
106
|
<DxcGrid
|
|
107
107
|
column={{ start: 2, end: -1 }}
|
|
108
108
|
templateRows={["repeat(4, 1fr)"]}
|
|
@@ -118,11 +118,11 @@ export const Chromatic = () => (
|
|
|
118
118
|
<ColoredContainer />
|
|
119
119
|
<ColoredContainer />
|
|
120
120
|
</DxcGrid>
|
|
121
|
-
<DxcGrid.
|
|
121
|
+
<DxcGrid.Item column={{ start: 1, end: -1 }}>
|
|
122
122
|
<ColoredContainer color="black" height="100%">
|
|
123
123
|
Footer
|
|
124
124
|
</ColoredContainer>
|
|
125
|
-
</DxcGrid.
|
|
125
|
+
</DxcGrid.Item>
|
|
126
126
|
</DxcGrid>
|
|
127
127
|
</ExampleContainer>
|
|
128
128
|
<Title title="Overlapping" level={4} />
|
|
@@ -141,53 +141,53 @@ export const Chromatic = () => (
|
|
|
141
141
|
<Title title="Implicit rows and columns" level={4} />
|
|
142
142
|
<ExampleContainer>
|
|
143
143
|
<DxcGrid templateColumns={["50px"]} templateRows={["50px", "50px"]} autoRows="50px" autoColumns="50px">
|
|
144
|
-
<DxcGrid.
|
|
144
|
+
<DxcGrid.Item>
|
|
145
145
|
<ColoredContainer height="50px">1</ColoredContainer>
|
|
146
|
-
</DxcGrid.
|
|
147
|
-
<DxcGrid.
|
|
146
|
+
</DxcGrid.Item>
|
|
147
|
+
<DxcGrid.Item row={2}>
|
|
148
148
|
<ColoredContainer height="50px">3</ColoredContainer>
|
|
149
|
-
</DxcGrid.
|
|
150
|
-
<DxcGrid.
|
|
149
|
+
</DxcGrid.Item>
|
|
150
|
+
<DxcGrid.Item row={6} column={1}>
|
|
151
151
|
<ColoredContainer height="50px">5</ColoredContainer>
|
|
152
|
-
</DxcGrid.
|
|
153
|
-
<DxcGrid.
|
|
152
|
+
</DxcGrid.Item>
|
|
153
|
+
<DxcGrid.Item row={3}>
|
|
154
154
|
<ColoredContainer height="50px">4</ColoredContainer>
|
|
155
|
-
</DxcGrid.
|
|
156
|
-
<DxcGrid.
|
|
155
|
+
</DxcGrid.Item>
|
|
156
|
+
<DxcGrid.Item row={{ start: 1, end: 2 }} column={{ start: 5, end: "span 2" }}>
|
|
157
157
|
<ColoredContainer height="50px">2</ColoredContainer>
|
|
158
|
-
</DxcGrid.
|
|
158
|
+
</DxcGrid.Item>
|
|
159
159
|
</DxcGrid>
|
|
160
160
|
</ExampleContainer>
|
|
161
161
|
<Title title="Autoflow 'row' (default)" level={4} />
|
|
162
162
|
<ExampleContainer>
|
|
163
163
|
<DxcGrid templateColumns={["repeat(5, 1fr)"]} templateRows={["1fr", "1fr"]} autoFlow="row" autoColumns="1fr">
|
|
164
|
-
<DxcGrid.
|
|
164
|
+
<DxcGrid.Item row={{ start: 1, end: "span 2" }} column={1}>
|
|
165
165
|
<ColoredContainer height="100%">1</ColoredContainer>
|
|
166
|
-
</DxcGrid.
|
|
166
|
+
</DxcGrid.Item>
|
|
167
167
|
<ColoredContainer color="lightyellow">2</ColoredContainer>
|
|
168
168
|
<ColoredContainer color="lightcyan">3</ColoredContainer>
|
|
169
169
|
<ColoredContainer color="lightgreen">4</ColoredContainer>
|
|
170
|
-
<DxcGrid.
|
|
170
|
+
<DxcGrid.Item row={{ start: 1, end: -1 }} column={-2}>
|
|
171
171
|
<ColoredContainer color="lightpink" height="100%">
|
|
172
172
|
5
|
|
173
173
|
</ColoredContainer>
|
|
174
|
-
</DxcGrid.
|
|
174
|
+
</DxcGrid.Item>
|
|
175
175
|
</DxcGrid>
|
|
176
176
|
</ExampleContainer>
|
|
177
177
|
<Title title="Autoflow 'column'" level={4} />
|
|
178
178
|
<ExampleContainer>
|
|
179
179
|
<DxcGrid templateColumns={["repeat(5, 1fr)"]} templateRows={["1fr", "1fr"]} autoFlow="column" autoColumns="1fr">
|
|
180
|
-
<DxcGrid.
|
|
180
|
+
<DxcGrid.Item row={{ start: 1, end: -1 }} column={1}>
|
|
181
181
|
<ColoredContainer height="100%">1</ColoredContainer>
|
|
182
|
-
</DxcGrid.
|
|
182
|
+
</DxcGrid.Item>
|
|
183
183
|
<ColoredContainer color="lightyellow">2</ColoredContainer>
|
|
184
184
|
<ColoredContainer color="lightcyan">3</ColoredContainer>
|
|
185
185
|
<ColoredContainer color="lightgreen">4</ColoredContainer>
|
|
186
|
-
<DxcGrid.
|
|
186
|
+
<DxcGrid.Item row={{ start: 1, end: -1 }} column={-2}>
|
|
187
187
|
<ColoredContainer color="lightpink" height="100%">
|
|
188
188
|
5
|
|
189
189
|
</ColoredContainer>
|
|
190
|
-
</DxcGrid.
|
|
190
|
+
</DxcGrid.Item>
|
|
191
191
|
</DxcGrid>
|
|
192
192
|
</ExampleContainer>
|
|
193
193
|
</>
|
package/header/Header.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import React from "react";
|
|
|
2
2
|
import DxcDropdown from "../dropdown/Dropdown";
|
|
3
3
|
import HeaderPropsType from "./types";
|
|
4
4
|
declare const DxcHeader: {
|
|
5
|
-
({ underlined, content, responsiveContent, onClick, margin,
|
|
5
|
+
({ underlined, content, responsiveContent, onClick, margin, tabIndex, }: HeaderPropsType): JSX.Element;
|
|
6
6
|
Dropdown: (props: React.ComponentProps<typeof DxcDropdown>) => JSX.Element;
|
|
7
7
|
};
|
|
8
8
|
export default DxcHeader;
|
package/header/Header.js
CHANGED
|
@@ -72,13 +72,11 @@ var Content = function Content(_ref) {
|
|
|
72
72
|
var isResponsive = _ref.isResponsive,
|
|
73
73
|
responsiveContent = _ref.responsiveContent,
|
|
74
74
|
handleMenu = _ref.handleMenu,
|
|
75
|
-
padding = _ref.padding,
|
|
76
75
|
content = _ref.content;
|
|
77
76
|
var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"]);
|
|
78
77
|
return isResponsive ? /*#__PURE__*/_react["default"].createElement(MenuContent, {
|
|
79
78
|
backgroundType: backgroundType
|
|
80
79
|
}, responsiveContent(handleMenu)) : /*#__PURE__*/_react["default"].createElement(ContentContainer, {
|
|
81
|
-
padding: padding,
|
|
82
80
|
backgroundType: backgroundType
|
|
83
81
|
}, content);
|
|
84
82
|
};
|
|
@@ -90,7 +88,6 @@ var DxcHeader = function DxcHeader(_ref2) {
|
|
|
90
88
|
responsiveContent = _ref2.responsiveContent,
|
|
91
89
|
onClick = _ref2.onClick,
|
|
92
90
|
margin = _ref2.margin,
|
|
93
|
-
padding = _ref2.padding,
|
|
94
91
|
_ref2$tabIndex = _ref2.tabIndex,
|
|
95
92
|
tabIndex = _ref2$tabIndex === void 0 ? 0 : _ref2$tabIndex;
|
|
96
93
|
var colorsTheme = (0, _useTheme["default"])();
|
|
@@ -145,9 +142,7 @@ var DxcHeader = function DxcHeader(_ref2) {
|
|
|
145
142
|
tabIndex: onClick ? tabIndex : -1,
|
|
146
143
|
interactuable: onClick ? true : false,
|
|
147
144
|
onClick: onClick
|
|
148
|
-
}, /*#__PURE__*/_react["default"].createElement(LogoContainer, null, headerLogo)), isResponsive && responsiveContent && /*#__PURE__*/_react["default"].createElement(MainContainer, null, /*#__PURE__*/_react["default"].createElement(ChildContainer, {
|
|
149
|
-
padding: padding
|
|
150
|
-
}, /*#__PURE__*/_react["default"].createElement(HamburguerTrigger, {
|
|
145
|
+
}, /*#__PURE__*/_react["default"].createElement(LogoContainer, null, headerLogo)), isResponsive && responsiveContent && /*#__PURE__*/_react["default"].createElement(MainContainer, null, /*#__PURE__*/_react["default"].createElement(ChildContainer, null, /*#__PURE__*/_react["default"].createElement(HamburguerTrigger, {
|
|
151
146
|
tabIndex: tabIndex,
|
|
152
147
|
onClick: handleMenu
|
|
153
148
|
}, hamburgerIcon, translatedLabels.header.hamburguerTitle)), /*#__PURE__*/_react["default"].createElement(ResponsiveMenu, {
|
|
@@ -163,7 +158,6 @@ var DxcHeader = function DxcHeader(_ref2) {
|
|
|
163
158
|
isResponsive: isResponsive,
|
|
164
159
|
responsiveContent: responsiveContent,
|
|
165
160
|
handleMenu: handleMenu,
|
|
166
|
-
padding: padding,
|
|
167
161
|
content: content
|
|
168
162
|
}))), /*#__PURE__*/_react["default"].createElement(Overlay, {
|
|
169
163
|
onClick: handleMenu,
|
|
@@ -174,7 +168,6 @@ var DxcHeader = function DxcHeader(_ref2) {
|
|
|
174
168
|
isResponsive: isResponsive,
|
|
175
169
|
responsiveContent: responsiveContent,
|
|
176
170
|
handleMenu: handleMenu,
|
|
177
|
-
padding: padding,
|
|
178
171
|
content: content
|
|
179
172
|
}))));
|
|
180
173
|
};
|
|
@@ -209,29 +202,9 @@ var LogoContainer = _styledComponents["default"].div(_templateObject5 || (_templ
|
|
|
209
202
|
return props.theme.logoWidth;
|
|
210
203
|
});
|
|
211
204
|
|
|
212
|
-
var ChildContainer = _styledComponents["default"].div(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n justify-content: flex-end;\n flex-grow: 1;\n width: calc(100% - 186px);\n
|
|
213
|
-
return props.padding && (0, _typeof2["default"])(props.padding) !== "object" ? _variables.spaces[props.padding] : "0px";
|
|
214
|
-
}, function (props) {
|
|
215
|
-
return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.top ? _variables.spaces[props.padding.top] : "";
|
|
216
|
-
}, function (props) {
|
|
217
|
-
return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.right ? _variables.spaces[props.padding.right] : "";
|
|
218
|
-
}, function (props) {
|
|
219
|
-
return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.bottom ? _variables.spaces[props.padding.bottom] : "";
|
|
220
|
-
}, function (props) {
|
|
221
|
-
return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.left ? _variables.spaces[props.padding.left] : "";
|
|
222
|
-
});
|
|
205
|
+
var ChildContainer = _styledComponents["default"].div(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n justify-content: flex-end;\n flex-grow: 1;\n width: calc(100% - 186px);\n"])));
|
|
223
206
|
|
|
224
|
-
var ContentContainer = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n flex-grow: 1;\n justify-content: flex-end;\n width: calc(100% - 186px);\n
|
|
225
|
-
return props.padding && (0, _typeof2["default"])(props.padding) !== "object" ? _variables.spaces[props.padding] : "0px";
|
|
226
|
-
}, function (props) {
|
|
227
|
-
return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.top ? _variables.spaces[props.padding.top] : "";
|
|
228
|
-
}, function (props) {
|
|
229
|
-
return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.right ? _variables.spaces[props.padding.right] : "";
|
|
230
|
-
}, function (props) {
|
|
231
|
-
return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.bottom ? _variables.spaces[props.padding.bottom] : "";
|
|
232
|
-
}, function (props) {
|
|
233
|
-
return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.left ? _variables.spaces[props.padding.left] : "";
|
|
234
|
-
}, function (props) {
|
|
207
|
+
var ContentContainer = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n flex-grow: 1;\n justify-content: flex-end;\n width: calc(100% - 186px);\n color: ", ";\n"])), function (props) {
|
|
235
208
|
return props.backgroundType === "dark" ? props.theme.contentColorOnDark : props.theme.contentColor;
|
|
236
209
|
});
|
|
237
210
|
|
|
@@ -42,46 +42,9 @@ const opinionatedTheme = {
|
|
|
42
42
|
fontColor: "#000000",
|
|
43
43
|
menuBaseColor: "#ffffff",
|
|
44
44
|
hamburguerColor: "#000000",
|
|
45
|
-
logo:
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
<g id="g12">
|
|
49
|
-
<path
|
|
50
|
-
id="path14"
|
|
51
|
-
d="M91.613-28.177v2.514H90.231V-28.15l-2.415-3.82h1.616l1.5,2.532,1.526-2.532h1.571ZM83.9-25.555A3.15,3.15,0,0,1,80.6-28.8v-.018a3.231,3.231,0,0,1,3.294-3.262,3.442,3.442,0,0,1,2.469.865l-.87,1.054a2.311,2.311,0,0,0-1.643-.64,1.891,1.891,0,0,0-1.8,1.964v.018a1.886,1.886,0,0,0,1.9,2,2.2,2.2,0,0,0,1.3-.378v-.9H83.858v-1.2h2.729v2.738A4.071,4.071,0,0,1,83.9-25.555Zm-6.416-3.261a1.913,1.913,0,0,0-1.9-1.982A1.883,1.883,0,0,0,73.7-28.835v.018a1.913,1.913,0,0,0,1.9,1.982A1.883,1.883,0,0,0,77.486-28.8Zm-1.9,3.261a3.225,3.225,0,0,1-3.33-3.243v-.018A3.255,3.255,0,0,1,75.6-32.078a3.225,3.225,0,0,1,3.331,3.243v.018A3.255,3.255,0,0,1,75.583-25.555Zm-9.173-.108V-31.97h1.382v5.045h3.133v1.261Zm-3.433-3.153a1.913,1.913,0,0,0-1.9-1.982,1.883,1.883,0,0,0-1.886,1.964v.018a1.913,1.913,0,0,0,1.9,1.982A1.883,1.883,0,0,0,62.978-28.8Zm-1.9,3.261a3.225,3.225,0,0,1-3.33-3.243v-.018a3.255,3.255,0,0,1,3.348-3.262,3.225,3.225,0,0,1,3.331,3.243v.018A3.255,3.255,0,0,1,61.075-25.555Zm-6.508-.108-3.043-4.009v4.009H50.159V-31.97h1.275l2.944,3.883V-31.97h1.364v6.306Zm-8.246,0v-2.531h-2.55v2.531H42.389V-31.97h1.382v2.5h2.55v-2.5H47.7v6.306Zm-8.432.108A3.178,3.178,0,0,1,34.666-28.8v-.018a3.2,3.2,0,0,1,3.276-3.262,3.237,3.237,0,0,1,2.478.973l-.88,1.018a2.315,2.315,0,0,0-1.606-.712,1.866,1.866,0,0,0-1.822,1.964v.018a1.87,1.87,0,0,0,1.822,1.982,2.265,2.265,0,0,0,1.651-.739l.88.891A3.206,3.206,0,0,1,37.889-25.555Zm-9.805-.108V-31.97h4.739v1.235H29.458v1.279h2.962v1.234H29.458V-26.9h3.411v1.234ZM24.322-30.69v5.027H22.939V-30.69H21.028v-1.28h5.206v1.28H24.322"
|
|
52
|
-
transform="translate(-21.028 65.555)"
|
|
53
|
-
fill="#100f0d"
|
|
54
|
-
/>
|
|
55
|
-
<path
|
|
56
|
-
id="path16"
|
|
57
|
-
d="M75.836-76.712a8.975,8.975,0,0,1,2.246-3.9,8.393,8.393,0,0,1,6.058-2.457h9.824v-5.67H84.139a14.611,14.611,0,0,0-10.232,4.221,14.509,14.509,0,0,0-3.076,4.536,11.913,11.913,0,0,0-.973,3.271Zm0,4.325a8.978,8.978,0,0,0,2.246,3.9,8.394,8.394,0,0,0,6.058,2.457h9.824v5.67H84.139A14.611,14.611,0,0,1,73.907-64.58a14.506,14.506,0,0,1-3.076-4.536,11.91,11.91,0,0,1-.973-3.271ZM57.522-69.832l-7.5,9.473H42.581L53.818-74.55,42.581-88.739H50.02l7.5,9.472,7.5-9.472h7.439L61.225-74.55l11.237,14.19H65.023Zm-12.336-6.88a11.935,11.935,0,0,0-.973-3.271,14.515,14.515,0,0,0-3.076-4.536A14.612,14.612,0,0,0,30.9-88.739H21.081v5.67H30.9a8.394,8.394,0,0,1,6.058,2.457,8.978,8.978,0,0,1,2.246,3.9Zm0,4.325a11.932,11.932,0,0,1-.973,3.271,14.511,14.511,0,0,1-3.076,4.536A14.611,14.611,0,0,1,30.9-60.359H21.081v-5.67H30.9a8.4,8.4,0,0,0,6.058-2.457,8.981,8.981,0,0,0,2.246-3.9h5.978"
|
|
58
|
-
transform="translate(-21.049 88.739)"
|
|
59
|
-
fill="#5f249f"
|
|
60
|
-
/>
|
|
61
|
-
</g>
|
|
62
|
-
</g>
|
|
63
|
-
</svg>
|
|
64
|
-
),
|
|
65
|
-
logoResponsive: (
|
|
66
|
-
<svg xmlns="http://www.w3.org/2000/svg" width="73" height="40" viewBox="0 0 73 40">
|
|
67
|
-
<g id="g10" transform="translate(0)">
|
|
68
|
-
<g id="g12">
|
|
69
|
-
<path
|
|
70
|
-
id="path14"
|
|
71
|
-
d="M91.613-28.177v2.514H90.231V-28.15l-2.415-3.82h1.616l1.5,2.532,1.526-2.532h1.571ZM83.9-25.555A3.15,3.15,0,0,1,80.6-28.8v-.018a3.231,3.231,0,0,1,3.294-3.262,3.442,3.442,0,0,1,2.469.865l-.87,1.054a2.311,2.311,0,0,0-1.643-.64,1.891,1.891,0,0,0-1.8,1.964v.018a1.886,1.886,0,0,0,1.9,2,2.2,2.2,0,0,0,1.3-.378v-.9H83.858v-1.2h2.729v2.738A4.071,4.071,0,0,1,83.9-25.555Zm-6.416-3.261a1.913,1.913,0,0,0-1.9-1.982A1.883,1.883,0,0,0,73.7-28.835v.018a1.913,1.913,0,0,0,1.9,1.982A1.883,1.883,0,0,0,77.486-28.8Zm-1.9,3.261a3.225,3.225,0,0,1-3.33-3.243v-.018A3.255,3.255,0,0,1,75.6-32.078a3.225,3.225,0,0,1,3.331,3.243v.018A3.255,3.255,0,0,1,75.583-25.555Zm-9.173-.108V-31.97h1.382v5.045h3.133v1.261Zm-3.433-3.153a1.913,1.913,0,0,0-1.9-1.982,1.883,1.883,0,0,0-1.886,1.964v.018a1.913,1.913,0,0,0,1.9,1.982A1.883,1.883,0,0,0,62.978-28.8Zm-1.9,3.261a3.225,3.225,0,0,1-3.33-3.243v-.018a3.255,3.255,0,0,1,3.348-3.262,3.225,3.225,0,0,1,3.331,3.243v.018A3.255,3.255,0,0,1,61.075-25.555Zm-6.508-.108-3.043-4.009v4.009H50.159V-31.97h1.275l2.944,3.883V-31.97h1.364v6.306Zm-8.246,0v-2.531h-2.55v2.531H42.389V-31.97h1.382v2.5h2.55v-2.5H47.7v6.306Zm-8.432.108A3.178,3.178,0,0,1,34.666-28.8v-.018a3.2,3.2,0,0,1,3.276-3.262,3.237,3.237,0,0,1,2.478.973l-.88,1.018a2.315,2.315,0,0,0-1.606-.712,1.866,1.866,0,0,0-1.822,1.964v.018a1.87,1.87,0,0,0,1.822,1.982,2.265,2.265,0,0,0,1.651-.739l.88.891A3.206,3.206,0,0,1,37.889-25.555Zm-9.805-.108V-31.97h4.739v1.235H29.458v1.279h2.962v1.234H29.458V-26.9h3.411v1.234ZM24.322-30.69v5.027H22.939V-30.69H21.028v-1.28h5.206v1.28H24.322"
|
|
72
|
-
transform="translate(-21.028 65.555)"
|
|
73
|
-
fill="#100f0d"
|
|
74
|
-
/>
|
|
75
|
-
<path
|
|
76
|
-
id="path16"
|
|
77
|
-
d="M75.836-76.712a8.975,8.975,0,0,1,2.246-3.9,8.393,8.393,0,0,1,6.058-2.457h9.824v-5.67H84.139a14.611,14.611,0,0,0-10.232,4.221,14.509,14.509,0,0,0-3.076,4.536,11.913,11.913,0,0,0-.973,3.271Zm0,4.325a8.978,8.978,0,0,0,2.246,3.9,8.394,8.394,0,0,0,6.058,2.457h9.824v5.67H84.139A14.611,14.611,0,0,1,73.907-64.58a14.506,14.506,0,0,1-3.076-4.536,11.91,11.91,0,0,1-.973-3.271ZM57.522-69.832l-7.5,9.473H42.581L53.818-74.55,42.581-88.739H50.02l7.5,9.472,7.5-9.472h7.439L61.225-74.55l11.237,14.19H65.023Zm-12.336-6.88a11.935,11.935,0,0,0-.973-3.271,14.515,14.515,0,0,0-3.076-4.536A14.612,14.612,0,0,0,30.9-88.739H21.081v5.67H30.9a8.394,8.394,0,0,1,6.058,2.457,8.978,8.978,0,0,1,2.246,3.9Zm0,4.325a11.932,11.932,0,0,1-.973,3.271,14.511,14.511,0,0,1-3.076,4.536A14.611,14.611,0,0,1,30.9-60.359H21.081v-5.67H30.9a8.4,8.4,0,0,0,6.058-2.457,8.981,8.981,0,0,0,2.246-3.9h5.978"
|
|
78
|
-
transform="translate(-21.049 88.739)"
|
|
79
|
-
fill="#5f249f"
|
|
80
|
-
/>
|
|
81
|
-
</g>
|
|
82
|
-
</g>
|
|
83
|
-
</svg>
|
|
84
|
-
),
|
|
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",
|
|
85
48
|
contentColor: "#000000",
|
|
86
49
|
overlayColor: "#000000b3",
|
|
87
50
|
},
|
|
@@ -149,35 +112,6 @@ export const Chromatic = () => (
|
|
|
149
112
|
<DxcHeader underlined margin="xxlarge" />
|
|
150
113
|
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras felis.</p>
|
|
151
114
|
</ExampleContainer>
|
|
152
|
-
<Title title="Paddings" theme="light" level={2} />
|
|
153
|
-
<ExampleContainer>
|
|
154
|
-
<Title title="Xxsmall padding" theme="light" level={4} />
|
|
155
|
-
<DxcHeader underlined padding="xxsmall" />
|
|
156
|
-
</ExampleContainer>
|
|
157
|
-
<ExampleContainer>
|
|
158
|
-
<Title title="Xsmall padding" theme="light" level={4} />
|
|
159
|
-
<DxcHeader underlined padding="xsmall" />
|
|
160
|
-
</ExampleContainer>
|
|
161
|
-
<ExampleContainer>
|
|
162
|
-
<Title title="Small padding" theme="light" level={4} />
|
|
163
|
-
<DxcHeader underlined padding="small" />
|
|
164
|
-
</ExampleContainer>
|
|
165
|
-
<ExampleContainer>
|
|
166
|
-
<Title title="Medium padding" theme="light" level={4} />
|
|
167
|
-
<DxcHeader underlined padding="medium" />
|
|
168
|
-
</ExampleContainer>
|
|
169
|
-
<ExampleContainer>
|
|
170
|
-
<Title title="Large padding" theme="light" level={4} />
|
|
171
|
-
<DxcHeader underlined padding="large" />
|
|
172
|
-
</ExampleContainer>
|
|
173
|
-
<ExampleContainer>
|
|
174
|
-
<Title title="Xlarge padding" theme="light" level={4} />
|
|
175
|
-
<DxcHeader underlined padding="xlarge" />
|
|
176
|
-
</ExampleContainer>
|
|
177
|
-
<ExampleContainer>
|
|
178
|
-
<Title title="Xxlarge padding" theme="light" level={4} />
|
|
179
|
-
<DxcHeader underlined padding="xxlarge" />
|
|
180
|
-
</ExampleContainer>
|
|
181
115
|
<Title title="Opinionated theme" theme="light" level={2} />
|
|
182
116
|
<ExampleContainer>
|
|
183
117
|
<HalstackProvider theme={opinionatedTheme}>
|
|
@@ -200,8 +134,10 @@ export const ResponsiveHeader = () => (
|
|
|
200
134
|
<ExampleContainer>
|
|
201
135
|
<Title title="Responsive" theme="light" level={4} />
|
|
202
136
|
<DxcHeader
|
|
203
|
-
content={<DxcHeader.Dropdown options={options} label="Default Dropdown" />}
|
|
204
|
-
responsiveContent={(closeHandler) =>
|
|
137
|
+
content={<DxcHeader.Dropdown options={options} label="Default Dropdown" onSelectOption={() => {}} />}
|
|
138
|
+
responsiveContent={(closeHandler) => (
|
|
139
|
+
<DxcHeader.Dropdown options={options} label="Default Dropdown" onSelectOption={() => {}} />
|
|
140
|
+
)}
|
|
205
141
|
underlined
|
|
206
142
|
/>
|
|
207
143
|
</ExampleContainer>
|
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,14 +25,6 @@ declare type Props = {
|
|
|
31
25
|
* ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
|
|
32
26
|
*/
|
|
33
27
|
margin?: Space;
|
|
34
|
-
/**
|
|
35
|
-
* @deprecated This prop will be removed shortly, consider using the Inset component for this purpose.
|
|
36
|
-
* Size of the padding to be applied to the custom area of the component
|
|
37
|
-
* ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
|
|
38
|
-
* You can pass an object with 'top', 'bottom', 'left' and 'right' properties in
|
|
39
|
-
* order to specify different padding sizes.
|
|
40
|
-
*/
|
|
41
|
-
padding?: Space | Padding;
|
|
42
28
|
/**
|
|
43
29
|
* Value of the tabindex for all interactuable elements, except those inside the
|
|
44
30
|
* custom area.
|
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
|
+
);
|