@dxc-technology/halstack-react 0.0.0-f54247d → 0.0.0-f6d6be5
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 +1337 -5
- package/HalstackContext.js +113 -72
- package/README.md +47 -0
- package/accordion/Accordion.d.ts +1 -1
- package/accordion/Accordion.js +14 -37
- package/accordion/Accordion.stories.tsx +104 -113
- package/accordion/Accordion.test.js +1 -1
- package/accordion/types.d.ts +2 -14
- package/accordion-group/AccordionGroup.d.ts +4 -3
- package/accordion-group/AccordionGroup.js +23 -44
- package/accordion-group/AccordionGroup.stories.tsx +77 -76
- package/accordion-group/AccordionGroup.test.js +7 -17
- package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
- package/accordion-group/AccordionGroupAccordion.js +43 -0
- package/accordion-group/types.d.ts +2 -14
- package/alert/Alert.js +4 -8
- package/alert/Alert.stories.tsx +28 -0
- package/alert/Alert.test.js +1 -1
- package/bleed/Bleed.stories.tsx +1 -0
- package/box/Box.d.ts +1 -1
- package/box/Box.js +7 -26
- package/box/Box.stories.tsx +38 -51
- package/box/Box.test.js +1 -1
- 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 +48 -60
- package/button/Button.stories.tsx +151 -9
- package/button/Button.test.js +12 -1
- package/button/types.d.ts +7 -3
- package/card/Card.d.ts +1 -1
- package/card/Card.js +27 -45
- package/card/Card.stories.tsx +12 -42
- package/card/Card.test.js +1 -1
- package/card/types.d.ts +1 -7
- package/checkbox/Checkbox.js +3 -3
- package/checkbox/Checkbox.stories.tsx +52 -0
- package/checkbox/Checkbox.test.js +1 -1
- package/checkbox/types.d.ts +2 -2
- package/chip/Chip.js +28 -49
- package/chip/Chip.stories.tsx +121 -26
- package/chip/Chip.test.js +3 -5
- 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 +1490 -0
- package/common/variables.js +984 -1127
- package/date-input/Calendar.d.ts +1 -1
- package/date-input/Calendar.js +45 -45
- package/date-input/DateInput.js +74 -32
- package/date-input/DateInput.stories.tsx +183 -30
- package/date-input/DateInput.test.js +120 -37
- package/date-input/DatePicker.js +38 -52
- package/date-input/Icons.d.ts +6 -0
- package/date-input/Icons.js +75 -0
- package/date-input/YearPicker.d.ts +1 -1
- package/date-input/YearPicker.js +23 -12
- package/date-input/types.d.ts +6 -8
- package/dialog/Dialog.d.ts +1 -1
- package/dialog/Dialog.js +55 -86
- package/dialog/Dialog.stories.tsx +145 -217
- package/dialog/Dialog.test.js +302 -3
- package/dialog/types.d.ts +0 -13
- package/dropdown/Dropdown.js +5 -8
- package/dropdown/Dropdown.stories.tsx +210 -84
- package/dropdown/Dropdown.test.js +3 -2
- package/dropdown/DropdownMenu.js +12 -18
- package/dropdown/DropdownMenuItem.js +4 -17
- package/dropdown/types.d.ts +3 -3
- package/file-input/FileInput.js +4 -8
- package/file-input/FileInput.stories.tsx +85 -2
- package/file-input/FileInput.test.js +1 -42
- package/file-input/FileItem.js +3 -2
- package/file-input/types.d.ts +1 -1
- package/flex/Flex.js +4 -2
- package/flex/Flex.stories.tsx +35 -26
- package/flex/types.d.ts +70 -5
- package/footer/Footer.d.ts +1 -1
- package/footer/Footer.js +44 -64
- package/footer/Footer.stories.tsx +36 -21
- package/footer/Footer.test.js +16 -26
- package/footer/types.d.ts +10 -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 +20 -49
- package/header/Header.stories.tsx +115 -36
- package/header/Header.test.js +2 -2
- package/header/types.d.ts +1 -15
- 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.stories.tsx +2 -1
- package/layout/ApplicationLayout.d.ts +5 -5
- package/layout/ApplicationLayout.js +15 -12
- package/layout/ApplicationLayout.stories.tsx +1 -1
- package/layout/Icons.d.ts +7 -4
- package/layout/Icons.js +52 -56
- package/layout/types.d.ts +2 -3
- package/link/Link.js +3 -3
- package/link/Link.stories.tsx +60 -0
- package/link/Link.test.js +2 -4
- package/link/types.d.ts +2 -2
- package/main.d.ts +4 -2
- package/main.js +17 -1
- package/{tabs-nav → nav-tabs}/NavTabs.d.ts +2 -2
- package/{tabs-nav → nav-tabs}/NavTabs.js +8 -11
- package/{tabs-nav → nav-tabs}/NavTabs.stories.tsx +110 -6
- package/{tabs-nav → nav-tabs}/NavTabs.test.js +1 -1
- package/{tabs-nav → nav-tabs}/Tab.js +48 -32
- package/{tabs-nav → nav-tabs}/types.d.ts +8 -9
- package/nav-tabs/types.js +5 -0
- package/number-input/NumberInput.d.ts +7 -0
- package/number-input/NumberInput.js +6 -4
- package/number-input/NumberInput.test.js +279 -96
- package/package.json +3 -3
- package/paginator/Icons.d.ts +5 -0
- package/paginator/Icons.js +16 -28
- package/paginator/Paginator.js +7 -15
- package/paginator/Paginator.stories.tsx +24 -0
- package/paginator/Paginator.test.js +57 -47
- package/paragraph/Paragraph.d.ts +3 -4
- package/paragraph/Paragraph.js +5 -5
- 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 +28 -35
- package/progress-bar/ProgressBar.d.ts +2 -2
- package/progress-bar/ProgressBar.js +5 -5
- package/progress-bar/ProgressBar.stories.jsx +35 -2
- package/progress-bar/ProgressBar.test.js +1 -1
- package/progress-bar/types.d.ts +4 -3
- package/quick-nav/QuickNav.stories.tsx +14 -0
- package/radio-group/Radio.js +10 -10
- package/radio-group/RadioGroup.js +8 -10
- package/radio-group/RadioGroup.stories.tsx +131 -18
- package/radio-group/RadioGroup.test.js +1 -1
- package/resultsetTable/ResultsetTable.js +2 -2
- package/resultsetTable/ResultsetTable.test.js +18 -23
- package/resultsetTable/types.d.ts +3 -3
- package/select/Listbox.d.ts +1 -1
- package/select/Listbox.js +5 -34
- package/select/Option.js +11 -24
- package/select/Select.js +56 -35
- package/select/Select.stories.tsx +495 -148
- package/select/Select.test.js +80 -85
- package/select/types.d.ts +2 -2
- package/sidenav/Icons.d.ts +7 -0
- package/sidenav/Icons.js +51 -0
- package/sidenav/Sidenav.d.ts +2 -2
- package/sidenav/Sidenav.js +66 -96
- package/sidenav/Sidenav.stories.tsx +165 -63
- package/sidenav/types.d.ts +21 -18
- package/slider/Slider.js +6 -7
- package/slider/Slider.stories.tsx +57 -0
- package/slider/Slider.test.js +1 -1
- package/slider/types.d.ts +2 -2
- package/spinner/Spinner.js +17 -23
- package/spinner/Spinner.stories.jsx +53 -27
- package/spinner/Spinner.test.js +1 -1
- package/switch/Switch.js +3 -3
- package/switch/Switch.stories.tsx +33 -0
- package/switch/Switch.test.js +1 -1
- package/switch/types.d.ts +2 -2
- package/table/Table.js +2 -2
- package/table/Table.stories.jsx +80 -1
- package/table/Table.test.js +1 -1
- package/tabs/Tab.js +12 -15
- package/tabs/Tabs.js +11 -17
- package/tabs/Tabs.stories.tsx +45 -5
- package/tabs/Tabs.test.js +4 -5
- package/tabs/types.d.ts +2 -2
- package/tag/Tag.js +7 -9
- package/tag/Tag.stories.tsx +14 -1
- package/tag/Tag.test.js +1 -1
- package/text-input/Suggestion.js +34 -7
- package/text-input/TextInput.js +71 -91
- package/text-input/TextInput.stories.tsx +93 -5
- package/text-input/TextInput.test.js +125 -26
- package/textarea/Textarea.js +3 -4
- package/textarea/Textarea.stories.jsx +60 -1
- package/textarea/Textarea.test.js +2 -4
- 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 +22 -13
- package/typography/Typography.d.ts +2 -2
- package/typography/Typography.js +14 -113
- package/typography/Typography.stories.tsx +1 -1
- package/useTheme.d.ts +1242 -1
- package/useTheme.js +1 -1
- package/useTranslatedLabels.d.ts +84 -1
- 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 +2 -2
- package/wizard/Wizard.stories.tsx +20 -0
- package/wizard/Wizard.test.js +1 -1
- package/wizard/types.d.ts +5 -6
- 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/{tabs-nav → grid}/types.js +0 -0
- /package/{number-input/numberInputContextTypes.js → image/types.js} +0 -0
- /package/{tabs-nav → nav-tabs}/Tab.d.ts +0 -0
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
+
import { BackgroundColorProvider } from "../BackgroundColorContext";
|
|
2
3
|
import DxcButton from "./Button";
|
|
3
4
|
import DxcFlex from "./../flex/Flex";
|
|
4
|
-
import { BackgroundColorProvider } from "../BackgroundColorContext";
|
|
5
5
|
import Title from "../../.storybook/components/Title";
|
|
6
6
|
import ExampleContainer from "../../.storybook/components/ExampleContainer";
|
|
7
7
|
import DarkContainer from "../../.storybook/components/DarkSection";
|
|
8
|
+
import { HalstackProvider } from "../HalstackContext";
|
|
8
9
|
|
|
9
10
|
export default {
|
|
10
11
|
title: "Button",
|
|
@@ -12,11 +13,50 @@ export default {
|
|
|
12
13
|
};
|
|
13
14
|
|
|
14
15
|
const iconSVG = (
|
|
15
|
-
<svg viewBox="0 0 24 24" fill="currentColor">
|
|
16
|
+
<svg width="24px" height="24px" viewBox="0 0 24 24" fill="currentColor">
|
|
16
17
|
<path d="M0 0h24v24H0z" fill="none" />
|
|
17
18
|
<path d="M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z" />
|
|
18
19
|
</svg>
|
|
19
20
|
);
|
|
21
|
+
|
|
22
|
+
const facebookIcon = (
|
|
23
|
+
<svg
|
|
24
|
+
version="1.1"
|
|
25
|
+
id="Capa_1"
|
|
26
|
+
x="0px"
|
|
27
|
+
y="0px"
|
|
28
|
+
width="438.536px"
|
|
29
|
+
height="438.536px"
|
|
30
|
+
viewBox="0 0 438.536 438.536"
|
|
31
|
+
fill="currentColor"
|
|
32
|
+
>
|
|
33
|
+
<g>
|
|
34
|
+
<path
|
|
35
|
+
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
|
|
36
|
+
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
|
|
37
|
+
h274.084c22.648,0,42.018-8.042,58.095-24.126c16.084-16.084,24.126-35.454,24.126-58.102V82.225
|
|
38
|
+
C438.532,59.576,430.49,40.204,414.41,24.123z M373.155,225.548h-49.963V406.84h-74.802V225.548H210.99V163.02h37.401v-37.402
|
|
39
|
+
c0-26.838,6.283-47.107,18.843-60.813c12.559-13.706,33.304-20.555,62.242-20.555h49.963v62.526h-31.401
|
|
40
|
+
c-10.663,0-17.467,1.853-20.417,5.568c-2.949,3.711-4.428,10.23-4.428,19.558v31.119h56.534L373.155,225.548z"
|
|
41
|
+
/>
|
|
42
|
+
</g>
|
|
43
|
+
</svg>
|
|
44
|
+
);
|
|
45
|
+
|
|
46
|
+
const smallIcon = (
|
|
47
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" height="20" width="20" fill="currentColor">
|
|
48
|
+
<path d="m7.646 18.333-.313-2.625q-.208-.125-.458-.27-.25-.146-.458-.271l-2.438 1.021-2.354-4.063 2.083-1.583V9.458L1.625 7.875l2.354-4.063 2.438 1.021q.208-.125.458-.27.25-.146.458-.271l.313-2.625h4.708l.313 2.625q.208.125.458.271.25.145.458.27l2.438-1.021 2.354 4.063-2.063 1.583v1.084l2.063 1.583-2.354 4.063-2.438-1.021q-.208.125-.458.271-.25.145-.458.27l-.313 2.625ZM10 12.979q1.229 0 2.104-.875T12.979 10q0-1.229-.875-2.104T10 7.021q-1.229 0-2.104.875T7.021 10q0 1.229.875 2.104t2.104.875Zm0-1.75q-.5 0-.865-.364-.364-.365-.364-.865t.364-.865q.365-.364.865-.364t.865.364q.364.365.364.865t-.364.865q-.365.364-.865.364ZM10.021 10Zm-.854 6.583h1.666l.25-2.166q.605-.167 1.167-.5.562-.334 1.021-.792l2.021.854.833-1.375-1.771-1.354q.104-.292.146-.604.042-.313.042-.646 0-.292-.042-.594t-.125-.635l1.771-1.375-.834-1.375-2.02.875q-.48-.479-1.032-.802-.552-.323-1.156-.49l-.271-2.187H9.167l-.271 2.187q-.604.167-1.156.49-.552.323-1.011.781l-2.021-.854-.833 1.375 1.75 1.354q-.083.333-.125.646-.042.312-.042.604t.042.594q.042.302.125.635l-1.75 1.375.833 1.375 2.021-.854q.459.458 1.011.781.552.323 1.156.49Z" />
|
|
49
|
+
</svg>
|
|
50
|
+
);
|
|
51
|
+
|
|
52
|
+
const opinionatedTheme = {
|
|
53
|
+
button: {
|
|
54
|
+
baseColor: "#5f249f",
|
|
55
|
+
primaryFontColor: "#ffffff",
|
|
56
|
+
secondaryHoverFontColor: "#ffffff",
|
|
57
|
+
},
|
|
58
|
+
};
|
|
59
|
+
|
|
20
60
|
export const Chromatic = () => (
|
|
21
61
|
<>
|
|
22
62
|
<Title title="Primary" theme="light" level={2} />
|
|
@@ -38,7 +78,7 @@ export const Chromatic = () => (
|
|
|
38
78
|
</ExampleContainer>
|
|
39
79
|
<ExampleContainer>
|
|
40
80
|
<Title title="Disabled" theme="light" level={4} />
|
|
41
|
-
<DxcButton label="Primary disabled" disabled />
|
|
81
|
+
<DxcButton label="Primary disabled" disabled icon={iconSVG} />
|
|
42
82
|
</ExampleContainer>
|
|
43
83
|
<ExampleContainer>
|
|
44
84
|
<Title title="With left icon" theme="light" level={4} />
|
|
@@ -52,6 +92,18 @@ export const Chromatic = () => (
|
|
|
52
92
|
<Title title="Only icon" theme="light" level={4} />
|
|
53
93
|
<DxcButton icon={iconSVG} />
|
|
54
94
|
</ExampleContainer>
|
|
95
|
+
<ExampleContainer>
|
|
96
|
+
<Title title="Big icon (SVG)" theme="light" level={4} />
|
|
97
|
+
<DxcButton icon={facebookIcon} />
|
|
98
|
+
</ExampleContainer>
|
|
99
|
+
<ExampleContainer>
|
|
100
|
+
<Title title="Big icon (image)" theme="light" level={4} />
|
|
101
|
+
<DxcButton icon="https://www.freepnglogos.com/uploads/facebook-logo-design-1.png" />
|
|
102
|
+
</ExampleContainer>
|
|
103
|
+
<ExampleContainer>
|
|
104
|
+
<Title title="Small icon" theme="light" level={4} />
|
|
105
|
+
<DxcButton icon={smallIcon} />
|
|
106
|
+
</ExampleContainer>
|
|
55
107
|
<Title title="Secondary" theme="light" level={2} />
|
|
56
108
|
<ExampleContainer>
|
|
57
109
|
<Title title="Enabled" theme="light" level={4} />
|
|
@@ -71,12 +123,19 @@ export const Chromatic = () => (
|
|
|
71
123
|
</ExampleContainer>
|
|
72
124
|
<ExampleContainer>
|
|
73
125
|
<Title title="Disabled" theme="light" level={4} />
|
|
74
|
-
<DxcButton mode="secondary" disabled label="Secondary disabled" />
|
|
126
|
+
<DxcButton mode="secondary" disabled label="Secondary disabled" icon={iconSVG} />
|
|
75
127
|
</ExampleContainer>
|
|
76
128
|
<ExampleContainer>
|
|
77
129
|
<Title title="With icon" theme="light" level={4} />
|
|
78
130
|
<DxcButton mode="secondary" label="Secondary" icon={iconSVG} />
|
|
79
131
|
</ExampleContainer>
|
|
132
|
+
<ExampleContainer>
|
|
133
|
+
<Title title="Only icon (image)" theme="light" level={4} />
|
|
134
|
+
<DxcButton
|
|
135
|
+
mode="secondary"
|
|
136
|
+
icon="https://www.freepnglogos.com/uploads/facebook-logo-design-1.png"
|
|
137
|
+
/>
|
|
138
|
+
</ExampleContainer>
|
|
80
139
|
<Title title="Text" theme="light" level={2} />
|
|
81
140
|
<ExampleContainer>
|
|
82
141
|
<Title title="Enabled" theme="light" level={4} />
|
|
@@ -96,12 +155,19 @@ export const Chromatic = () => (
|
|
|
96
155
|
</ExampleContainer>
|
|
97
156
|
<ExampleContainer>
|
|
98
157
|
<Title title="Disabled" theme="light" level={4} />
|
|
99
|
-
<DxcButton mode="text" label="Text disabled" disabled />
|
|
158
|
+
<DxcButton mode="text" label="Text disabled" disabled icon={iconSVG} />
|
|
100
159
|
</ExampleContainer>
|
|
101
160
|
<ExampleContainer>
|
|
102
161
|
<Title title="With icon" theme="light" level={4} />
|
|
103
162
|
<DxcButton label="Text" mode="text" icon={iconSVG} />
|
|
104
163
|
</ExampleContainer>
|
|
164
|
+
<ExampleContainer>
|
|
165
|
+
<Title title="Only icon (image)" theme="light" level={4} />
|
|
166
|
+
<DxcButton
|
|
167
|
+
mode="text"
|
|
168
|
+
icon="https://www.freepnglogos.com/uploads/facebook-logo-design-1.png"
|
|
169
|
+
/>
|
|
170
|
+
</ExampleContainer>
|
|
105
171
|
<BackgroundColorProvider color="#333333">
|
|
106
172
|
<DarkContainer>
|
|
107
173
|
<Title title="Primary" theme="dark" level={2} />
|
|
@@ -123,7 +189,7 @@ export const Chromatic = () => (
|
|
|
123
189
|
</ExampleContainer>
|
|
124
190
|
<ExampleContainer>
|
|
125
191
|
<Title title="Disabled" theme="dark" level={4} />
|
|
126
|
-
<DxcButton label="Primary disabled" disabled />
|
|
192
|
+
<DxcButton label="Primary disabled" disabled icon={iconSVG} />
|
|
127
193
|
</ExampleContainer>
|
|
128
194
|
<ExampleContainer>
|
|
129
195
|
<Title title="With icon" theme="dark" level={4} />
|
|
@@ -148,7 +214,7 @@ export const Chromatic = () => (
|
|
|
148
214
|
</ExampleContainer>
|
|
149
215
|
<ExampleContainer>
|
|
150
216
|
<Title title="Disabled" theme="dark" level={4} />
|
|
151
|
-
<DxcButton mode="secondary" disabled label="Secondary disabled" />
|
|
217
|
+
<DxcButton mode="secondary" disabled label="Secondary disabled" icon={iconSVG} />
|
|
152
218
|
</ExampleContainer>
|
|
153
219
|
<ExampleContainer>
|
|
154
220
|
<Title title="With icon" theme="dark" level={4} />
|
|
@@ -173,7 +239,7 @@ export const Chromatic = () => (
|
|
|
173
239
|
</ExampleContainer>
|
|
174
240
|
<ExampleContainer>
|
|
175
241
|
<Title title="Disabled" theme="dark" level={4} />
|
|
176
|
-
<DxcButton mode="text" label="Text disabled" disabled />
|
|
242
|
+
<DxcButton mode="text" label="Text disabled" disabled icon={iconSVG} />
|
|
177
243
|
</ExampleContainer>
|
|
178
244
|
<ExampleContainer>
|
|
179
245
|
<Title title="With icon" theme="dark" level={4} />
|
|
@@ -273,11 +339,87 @@ export const Chromatic = () => (
|
|
|
273
339
|
</ExampleContainer>
|
|
274
340
|
<Title title="Inside a flex" theme="light" level={2} />
|
|
275
341
|
<ExampleContainer>
|
|
276
|
-
<DxcFlex direction="column" gap="
|
|
342
|
+
<DxcFlex direction="column" gap="1rem">
|
|
277
343
|
<DxcButton label="Button" />
|
|
278
344
|
<DxcButton label="Button" />
|
|
279
345
|
<DxcButton label="Button" />
|
|
280
346
|
</DxcFlex>
|
|
281
347
|
</ExampleContainer>
|
|
348
|
+
<Title title="Opinionated theme" theme="light" level={2} />
|
|
349
|
+
<Title title="Primary" theme="light" level={3} />
|
|
350
|
+
<ExampleContainer>
|
|
351
|
+
<Title title="Enabled" theme="light" level={4} />
|
|
352
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
353
|
+
<DxcButton label="Primary" icon={iconSVG} />
|
|
354
|
+
</HalstackProvider>
|
|
355
|
+
</ExampleContainer>
|
|
356
|
+
<ExampleContainer pseudoState="pseudo-hover">
|
|
357
|
+
<Title title="Hovered" theme="light" level={4} />
|
|
358
|
+
<DxcButton label="Primary hovered" icon={iconSVG} />
|
|
359
|
+
</ExampleContainer>
|
|
360
|
+
<ExampleContainer pseudoState="pseudo-focus">
|
|
361
|
+
<Title title="Focused" theme="light" level={4} />
|
|
362
|
+
<DxcButton label="Primary focused" icon={iconSVG} />
|
|
363
|
+
</ExampleContainer>
|
|
364
|
+
<ExampleContainer pseudoState="pseudo-active">
|
|
365
|
+
<Title title="Actived" theme="light" level={4} />
|
|
366
|
+
<DxcButton label="Primary actived" icon={iconSVG} />
|
|
367
|
+
</ExampleContainer>
|
|
368
|
+
<ExampleContainer>
|
|
369
|
+
<Title title="Disabled" theme="light" level={4} />
|
|
370
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
371
|
+
<DxcButton label="Primary" icon={iconSVG} disabled />
|
|
372
|
+
</HalstackProvider>
|
|
373
|
+
</ExampleContainer>
|
|
374
|
+
<Title title="Secondary" theme="light" level={3} />
|
|
375
|
+
<ExampleContainer>
|
|
376
|
+
<Title title="Enabled" theme="light" level={4} />
|
|
377
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
378
|
+
<DxcButton mode="secondary" label="Secondary" icon={iconSVG} />
|
|
379
|
+
</HalstackProvider>
|
|
380
|
+
</ExampleContainer>
|
|
381
|
+
<ExampleContainer pseudoState="pseudo-hover">
|
|
382
|
+
<Title title="Hovered" theme="light" level={4} />
|
|
383
|
+
<DxcButton mode="secondary" label="Secondary hovered" icon={iconSVG} />
|
|
384
|
+
</ExampleContainer>
|
|
385
|
+
<ExampleContainer pseudoState="pseudo-focus">
|
|
386
|
+
<Title title="Focused" theme="light" level={4} />
|
|
387
|
+
<DxcButton mode="secondary" label="Secondary focused" icon={iconSVG} />
|
|
388
|
+
</ExampleContainer>
|
|
389
|
+
<ExampleContainer pseudoState="pseudo-active">
|
|
390
|
+
<Title title="Actived" theme="light" level={4} />
|
|
391
|
+
<DxcButton mode="secondary" label="Secondary actived" icon={iconSVG} />
|
|
392
|
+
</ExampleContainer>
|
|
393
|
+
<ExampleContainer>
|
|
394
|
+
<Title title="Disabled" theme="light" level={4} />
|
|
395
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
396
|
+
<DxcButton mode="secondary" label="Secondary" icon={iconSVG} disabled />
|
|
397
|
+
</HalstackProvider>
|
|
398
|
+
</ExampleContainer>
|
|
399
|
+
<Title title="Text" theme="light" level={3} />
|
|
400
|
+
<ExampleContainer>
|
|
401
|
+
<Title title="Enabled" theme="light" level={4} />
|
|
402
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
403
|
+
<DxcButton mode="text" label="Text" icon={iconSVG} />
|
|
404
|
+
</HalstackProvider>
|
|
405
|
+
</ExampleContainer>
|
|
406
|
+
<ExampleContainer pseudoState="pseudo-hover">
|
|
407
|
+
<Title title="Hovered" theme="light" level={4} />
|
|
408
|
+
<DxcButton mode="text" label="Text hovered" icon={iconSVG} />
|
|
409
|
+
</ExampleContainer>
|
|
410
|
+
<ExampleContainer pseudoState="pseudo-focus">
|
|
411
|
+
<Title title="Focused" theme="light" level={4} />
|
|
412
|
+
<DxcButton mode="text" label="Text focused" icon={iconSVG} />
|
|
413
|
+
</ExampleContainer>
|
|
414
|
+
<ExampleContainer pseudoState="pseudo-active">
|
|
415
|
+
<Title title="Actived" theme="light" level={4} />
|
|
416
|
+
<DxcButton mode="text" label="Text actived" icon={iconSVG} />
|
|
417
|
+
</ExampleContainer>
|
|
418
|
+
<ExampleContainer>
|
|
419
|
+
<Title title="Disabled" theme="light" level={4} />
|
|
420
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
421
|
+
<DxcButton mode="text" label="Text disabled" icon={iconSVG} disabled />
|
|
422
|
+
</HalstackProvider>
|
|
423
|
+
</ExampleContainer>
|
|
282
424
|
</>
|
|
283
425
|
);
|
package/button/Button.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 _Button = _interopRequireDefault(require("./Button"));
|
|
9
|
+
var _Button = _interopRequireDefault(require("./Button.tsx"));
|
|
10
10
|
|
|
11
11
|
describe("Button component tests", function () {
|
|
12
12
|
test("Button renders with correct text", function () {
|
|
@@ -32,4 +32,15 @@ describe("Button component tests", function () {
|
|
|
32
32
|
|
|
33
33
|
expect(onClick).toHaveBeenCalled();
|
|
34
34
|
});
|
|
35
|
+
test("Renders with correct accessibility attributes", function () {
|
|
36
|
+
var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Button["default"], {
|
|
37
|
+
label: "Home",
|
|
38
|
+
title: "Go home"
|
|
39
|
+
})),
|
|
40
|
+
getByRole = _render3.getByRole;
|
|
41
|
+
|
|
42
|
+
var button = getByRole("button");
|
|
43
|
+
expect(button.getAttribute("aria-label")).toBe("Go home");
|
|
44
|
+
expect(button.getAttribute("title")).toBe("Go home");
|
|
45
|
+
});
|
|
35
46
|
});
|
package/button/types.d.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
|
|
3
|
+
declare type Margin = {
|
|
4
4
|
top?: Space;
|
|
5
5
|
bottom?: Space;
|
|
6
6
|
left?: Space;
|
|
7
7
|
right?: Space;
|
|
8
8
|
};
|
|
9
|
-
|
|
9
|
+
declare type SVG = React.ReactNode & React.SVGProps<SVGSVGElement>;
|
|
10
10
|
declare type Props = {
|
|
11
11
|
/**
|
|
12
12
|
* Text to be placed in the button.
|
|
@@ -24,6 +24,10 @@ declare type Props = {
|
|
|
24
24
|
* Whether the icon should appear after or before the label.
|
|
25
25
|
*/
|
|
26
26
|
iconPosition?: "before" | "after";
|
|
27
|
+
/**
|
|
28
|
+
* Value for the HTML properties title and aria-label.
|
|
29
|
+
*/
|
|
30
|
+
title?: string;
|
|
27
31
|
/**
|
|
28
32
|
* 'type' html prop of the button.
|
|
29
33
|
*/
|
package/card/Card.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import CardPropsType from "./types";
|
|
3
|
-
declare const DxcCard: ({ imageSrc, imageBgColor, imagePadding, imagePosition, linkHref, onClick, imageCover, margin,
|
|
3
|
+
declare const DxcCard: ({ imageSrc, imageBgColor, imagePadding, imagePosition, linkHref, onClick, imageCover, margin, tabIndex, outlined, children, }: CardPropsType) => JSX.Element;
|
|
4
4
|
export default DxcCard;
|
package/card/Card.js
CHANGED
|
@@ -19,7 +19,7 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
19
19
|
|
|
20
20
|
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
21
21
|
|
|
22
|
-
var _variables = require("../common/variables
|
|
22
|
+
var _variables = require("../common/variables");
|
|
23
23
|
|
|
24
24
|
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
25
25
|
|
|
@@ -43,7 +43,6 @@ var DxcCard = function DxcCard(_ref) {
|
|
|
43
43
|
_ref$imageCover = _ref.imageCover,
|
|
44
44
|
imageCover = _ref$imageCover === void 0 ? false : _ref$imageCover,
|
|
45
45
|
margin = _ref.margin,
|
|
46
|
-
contentPadding = _ref.contentPadding,
|
|
47
46
|
_ref$tabIndex = _ref.tabIndex,
|
|
48
47
|
tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex,
|
|
49
48
|
_ref$outlined = _ref.outlined,
|
|
@@ -56,15 +55,8 @@ var DxcCard = function DxcCard(_ref) {
|
|
|
56
55
|
isHovered = _useState2[0],
|
|
57
56
|
changeIsHovered = _useState2[1];
|
|
58
57
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
}, /*#__PURE__*/_react["default"].createElement(TagImage, {
|
|
62
|
-
imagePadding: imagePadding,
|
|
63
|
-
cover: imageCover,
|
|
64
|
-
src: imageSrc
|
|
65
|
-
}));
|
|
66
|
-
|
|
67
|
-
return /*#__PURE__*/_react["default"].createElement(StyledDxcCard, {
|
|
58
|
+
return /*#__PURE__*/_react["default"].createElement(Card, {
|
|
59
|
+
hasAction: onClick || linkHref ? true : false,
|
|
68
60
|
margin: margin,
|
|
69
61
|
onMouseEnter: function onMouseEnter() {
|
|
70
62
|
return changeIsHovered(true);
|
|
@@ -73,7 +65,6 @@ var DxcCard = function DxcCard(_ref) {
|
|
|
73
65
|
return changeIsHovered(false);
|
|
74
66
|
},
|
|
75
67
|
onClick: onClick,
|
|
76
|
-
hasAction: onClick || linkHref,
|
|
77
68
|
tabIndex: onClick || linkHref ? tabIndex : -1,
|
|
78
69
|
as: linkHref && "a",
|
|
79
70
|
href: linkHref
|
|
@@ -82,14 +73,18 @@ var DxcCard = function DxcCard(_ref) {
|
|
|
82
73
|
}, /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
|
|
83
74
|
theme: colorsTheme.card
|
|
84
75
|
}, /*#__PURE__*/_react["default"].createElement(CardContainer, {
|
|
85
|
-
hasAction: onClick || linkHref,
|
|
86
|
-
imagePosition: imagePosition
|
|
87
|
-
}, imageSrc &&
|
|
88
|
-
|
|
89
|
-
},
|
|
76
|
+
hasAction: onClick || linkHref ? true : false,
|
|
77
|
+
imagePosition: imageSrc ? imagePosition : "none"
|
|
78
|
+
}, imageSrc && /*#__PURE__*/_react["default"].createElement(ImageContainer, {
|
|
79
|
+
imageBgColor: imageBgColor
|
|
80
|
+
}, /*#__PURE__*/_react["default"].createElement(TagImage, {
|
|
81
|
+
imagePadding: imagePadding,
|
|
82
|
+
imageCover: imageCover,
|
|
83
|
+
src: imageSrc
|
|
84
|
+
})), /*#__PURE__*/_react["default"].createElement(CardContent, null, children)))));
|
|
90
85
|
};
|
|
91
86
|
|
|
92
|
-
var
|
|
87
|
+
var Card = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n cursor: ", ";\n outline: ", ";\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n text-decoration: none;\n ", "\n"])), function (_ref2) {
|
|
93
88
|
var hasAction = _ref2.hasAction;
|
|
94
89
|
return hasAction && "pointer" || "unset";
|
|
95
90
|
}, function (_ref3) {
|
|
@@ -100,22 +95,24 @@ var StyledDxcCard = _styledComponents["default"].div(_templateObject || (_templa
|
|
|
100
95
|
return margin && (0, _typeof2["default"])(margin) !== "object" ? _variables.spaces[margin] : "0px";
|
|
101
96
|
}, function (_ref5) {
|
|
102
97
|
var margin = _ref5.margin;
|
|
103
|
-
return margin && margin.top ? _variables.spaces[margin.top] : "";
|
|
98
|
+
return margin && (0, _typeof2["default"])(margin) === "object" && margin.top ? _variables.spaces[margin.top] : "";
|
|
104
99
|
}, function (_ref6) {
|
|
105
100
|
var margin = _ref6.margin;
|
|
106
|
-
return margin && margin.right ? _variables.spaces[margin.right] : "";
|
|
101
|
+
return margin && (0, _typeof2["default"])(margin) === "object" && margin.right ? _variables.spaces[margin.right] : "";
|
|
107
102
|
}, function (_ref7) {
|
|
108
103
|
var margin = _ref7.margin;
|
|
109
|
-
return margin && margin.bottom ? _variables.spaces[margin.bottom] : "";
|
|
104
|
+
return margin && (0, _typeof2["default"])(margin) === "object" && margin.bottom ? _variables.spaces[margin.bottom] : "";
|
|
110
105
|
}, function (_ref8) {
|
|
111
106
|
var margin = _ref8.margin;
|
|
112
|
-
return margin && margin.left ? _variables.spaces[margin.left] : "";
|
|
107
|
+
return margin && (0, _typeof2["default"])(margin) === "object" && margin.left ? _variables.spaces[margin.left] : "";
|
|
113
108
|
}, function (_ref9) {
|
|
114
109
|
var hasAction = _ref9.hasAction;
|
|
115
|
-
return hasAction && ":focus {\n
|
|
110
|
+
return hasAction && ":focus {\n outline: #0095ff auto 1px;\n }";
|
|
116
111
|
});
|
|
117
112
|
|
|
118
|
-
var CardContainer = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n height: ", ";\n width: ", ";\n &:hover {\n border-color: ", ";\n }\n"])), function (props) {
|
|
113
|
+
var CardContainer = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n flex-direction: ", ";\n height: ", ";\n width: ", ";\n &:hover {\n border-color: ", ";\n }\n"])), function (props) {
|
|
114
|
+
return props.imagePosition === "after" ? "row-reverse" : "row";
|
|
115
|
+
}, function (props) {
|
|
119
116
|
return props.theme.height;
|
|
120
117
|
}, function (props) {
|
|
121
118
|
return props.theme.width;
|
|
@@ -126,36 +123,21 @@ var CardContainer = _styledComponents["default"].div(_templateObject2 || (_templ
|
|
|
126
123
|
|
|
127
124
|
var TagImage = _styledComponents["default"].img(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n height: ", ";\n width: ", ";\n object-fit: ", ";\n"])), function (_ref11) {
|
|
128
125
|
var imagePadding = _ref11.imagePadding;
|
|
129
|
-
return !imagePadding ? "100%" : "calc(100% - ".concat(_variables.spaces[imagePadding], " - ").concat(_variables.spaces[imagePadding], ")");
|
|
126
|
+
return !imagePadding ? "100%" : (0, _typeof2["default"])(imagePadding) !== "object" && "calc(100% - ".concat(_variables.spaces[imagePadding], " - ").concat(_variables.spaces[imagePadding], ")");
|
|
130
127
|
}, function (_ref12) {
|
|
131
128
|
var imagePadding = _ref12.imagePadding;
|
|
132
|
-
return !imagePadding ? "100%" : "calc(100% - ".concat(_variables.spaces[imagePadding], " - ").concat(_variables.spaces[imagePadding], ")");
|
|
129
|
+
return !imagePadding ? "100%" : (0, _typeof2["default"])(imagePadding) !== "object" && "calc(100% - ".concat(_variables.spaces[imagePadding], " - ").concat(_variables.spaces[imagePadding], ")");
|
|
133
130
|
}, function (_ref13) {
|
|
134
|
-
var
|
|
135
|
-
return
|
|
131
|
+
var imageCover = _ref13.imageCover;
|
|
132
|
+
return imageCover ? "cover" : "contain";
|
|
136
133
|
});
|
|
137
134
|
|
|
138
|
-
var ImageContainer = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n
|
|
135
|
+
var ImageContainer = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n justify-content: center;\n align-items: center;\n flex-shrink: 0;\n width: 35%;\n height: 100%;\n background-color: ", ";\n"])), function (_ref14) {
|
|
139
136
|
var imageBgColor = _ref14.imageBgColor;
|
|
140
137
|
return imageBgColor;
|
|
141
138
|
});
|
|
142
139
|
|
|
143
|
-
var CardContent = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n flex-grow: 1;\n
|
|
144
|
-
var contentPadding = _ref15.contentPadding;
|
|
145
|
-
return contentPadding && (0, _typeof2["default"])(contentPadding) !== "object" ? _variables.spaces[contentPadding] : "0px";
|
|
146
|
-
}, function (_ref16) {
|
|
147
|
-
var contentPadding = _ref16.contentPadding;
|
|
148
|
-
return contentPadding && (0, _typeof2["default"])(contentPadding) === "object" && contentPadding.top ? _variables.spaces[contentPadding.top] : "";
|
|
149
|
-
}, function (_ref17) {
|
|
150
|
-
var contentPadding = _ref17.contentPadding;
|
|
151
|
-
return contentPadding && (0, _typeof2["default"])(contentPadding) === "object" && contentPadding.right ? _variables.spaces[contentPadding.right] : "";
|
|
152
|
-
}, function (_ref18) {
|
|
153
|
-
var contentPadding = _ref18.contentPadding;
|
|
154
|
-
return contentPadding && (0, _typeof2["default"])(contentPadding) === "object" && contentPadding.bottom ? _variables.spaces[contentPadding.bottom] : "";
|
|
155
|
-
}, function (_ref19) {
|
|
156
|
-
var contentPadding = _ref19.contentPadding;
|
|
157
|
-
return contentPadding && (0, _typeof2["default"])(contentPadding) === "object" && contentPadding.left ? _variables.spaces[contentPadding.left] : "";
|
|
158
|
-
});
|
|
140
|
+
var CardContent = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n flex-grow: 1;\n overflow: hidden;\n"])));
|
|
159
141
|
|
|
160
142
|
var _default = DxcCard;
|
|
161
143
|
exports["default"] = _default;
|
package/card/Card.stories.tsx
CHANGED
|
@@ -2,7 +2,6 @@ import React from "react";
|
|
|
2
2
|
import Title from "../../.storybook/components/Title";
|
|
3
3
|
import ExampleContainer from "../../.storybook/components/ExampleContainer";
|
|
4
4
|
import DxcCard from "./Card";
|
|
5
|
-
import imagePath from "./ice-cream.jpg";
|
|
6
5
|
import { userEvent, within } from "@storybook/testing-library";
|
|
7
6
|
|
|
8
7
|
export default {
|
|
@@ -38,104 +37,75 @@ const Card = () => (
|
|
|
38
37
|
</ExampleContainer>
|
|
39
38
|
<Title title="Default with image" theme="light" level={4} />
|
|
40
39
|
<ExampleContainer>
|
|
41
|
-
<DxcCard imageSrc=
|
|
40
|
+
<DxcCard imageSrc="https://picsum.photos/id/1022/200/300">Default</DxcCard>
|
|
42
41
|
</ExampleContainer>
|
|
43
42
|
<Title title="Default image with background color" theme="light" level={4} />
|
|
44
43
|
<ExampleContainer>
|
|
45
|
-
<DxcCard imageSrc=
|
|
44
|
+
<DxcCard imageSrc="https://picsum.photos/id/1022/200/300" imageBgColor="yellow">
|
|
46
45
|
Background color
|
|
47
46
|
</DxcCard>
|
|
48
47
|
</ExampleContainer>
|
|
49
48
|
<Title title="Default image with position after" theme="light" level={4} />
|
|
50
49
|
<ExampleContainer>
|
|
51
|
-
<DxcCard imageSrc=
|
|
50
|
+
<DxcCard imageSrc="https://picsum.photos/id/1022/200/300" imagePosition="after">
|
|
52
51
|
Position after
|
|
53
52
|
</DxcCard>
|
|
54
53
|
</ExampleContainer>
|
|
55
54
|
<Title title="Image cover" theme="light" level={4} />
|
|
56
55
|
<ExampleContainer>
|
|
57
|
-
<DxcCard imageSrc=
|
|
56
|
+
<DxcCard imageSrc="https://picsum.photos/id/1022/200/300" imageCover>
|
|
58
57
|
Image cover
|
|
59
58
|
</DxcCard>
|
|
60
59
|
</ExampleContainer>
|
|
61
60
|
<Title title="Image cover with position after" theme="light" level={4} />
|
|
62
61
|
<ExampleContainer>
|
|
63
|
-
<DxcCard imageSrc=
|
|
62
|
+
<DxcCard imageSrc="https://picsum.photos/id/1022/200/300" imageCover imagePosition="after">
|
|
64
63
|
Image cover with position after
|
|
65
64
|
</DxcCard>
|
|
66
65
|
</ExampleContainer>
|
|
67
66
|
<Title title="Image padding" theme="light" level={2} />
|
|
68
67
|
<ExampleContainer>
|
|
69
68
|
<Title title="Xxsmall" theme="light" level={4} />
|
|
70
|
-
<DxcCard imageSrc=
|
|
69
|
+
<DxcCard imageSrc="https://picsum.photos/id/1022/200/300" imagePadding="xxsmall" imageCover>
|
|
71
70
|
Xxsmall
|
|
72
71
|
</DxcCard>
|
|
73
72
|
</ExampleContainer>
|
|
74
73
|
<ExampleContainer>
|
|
75
74
|
<Title title="Xsmall" theme="light" level={4} />
|
|
76
|
-
<DxcCard imageSrc=
|
|
75
|
+
<DxcCard imageSrc="https://picsum.photos/id/1022/200/300" imagePadding="xsmall" imageCover>
|
|
77
76
|
Xsmall
|
|
78
77
|
</DxcCard>
|
|
79
78
|
</ExampleContainer>
|
|
80
79
|
<ExampleContainer>
|
|
81
80
|
<Title title="Small" theme="light" level={4} />
|
|
82
|
-
<DxcCard imageSrc=
|
|
81
|
+
<DxcCard imageSrc="https://picsum.photos/id/1022/200/300" imagePadding="small" imageCover>
|
|
83
82
|
Small
|
|
84
83
|
</DxcCard>
|
|
85
84
|
</ExampleContainer>
|
|
86
85
|
<ExampleContainer>
|
|
87
86
|
<Title title="Medium" theme="light" level={4} />
|
|
88
|
-
<DxcCard imageSrc=
|
|
87
|
+
<DxcCard imageSrc="https://picsum.photos/id/1022/200/300" imagePadding="medium" imageCover>
|
|
89
88
|
Medium
|
|
90
89
|
</DxcCard>
|
|
91
90
|
</ExampleContainer>
|
|
92
91
|
<ExampleContainer>
|
|
93
92
|
<Title title="Large" theme="light" level={4} />
|
|
94
|
-
<DxcCard imageSrc=
|
|
93
|
+
<DxcCard imageSrc="https://picsum.photos/id/1022/200/300" imagePadding="large" imageCover>
|
|
95
94
|
Large
|
|
96
95
|
</DxcCard>
|
|
97
96
|
</ExampleContainer>
|
|
98
97
|
<ExampleContainer>
|
|
99
98
|
<Title title="Xlarge" theme="light" level={4} />
|
|
100
|
-
<DxcCard imageSrc=
|
|
99
|
+
<DxcCard imageSrc="https://picsum.photos/id/1022/200/300" imagePadding="xlarge" imageCover>
|
|
101
100
|
Xlarge
|
|
102
101
|
</DxcCard>
|
|
103
102
|
</ExampleContainer>
|
|
104
103
|
<ExampleContainer>
|
|
105
104
|
<Title title="Xxlarge" theme="light" level={4} />
|
|
106
|
-
<DxcCard imageSrc=
|
|
105
|
+
<DxcCard imageSrc="https://picsum.photos/id/1022/200/300" imagePadding="xxlarge" imageCover>
|
|
107
106
|
Xxlarge
|
|
108
107
|
</DxcCard>
|
|
109
108
|
</ExampleContainer>
|
|
110
|
-
<Title title="Content padding" theme="light" level={2} />
|
|
111
|
-
<ExampleContainer>
|
|
112
|
-
<Title title="Xxsmall" theme="light" level={4} />
|
|
113
|
-
<DxcCard contentPadding="xxsmall">Xxsmall</DxcCard>
|
|
114
|
-
</ExampleContainer>
|
|
115
|
-
<ExampleContainer>
|
|
116
|
-
<Title title="Xsmall" theme="light" level={4} />
|
|
117
|
-
<DxcCard contentPadding="xsmall">Xsmall</DxcCard>
|
|
118
|
-
</ExampleContainer>
|
|
119
|
-
<ExampleContainer>
|
|
120
|
-
<Title title="Small" theme="light" level={4} />
|
|
121
|
-
<DxcCard contentPadding="small">Small</DxcCard>
|
|
122
|
-
</ExampleContainer>
|
|
123
|
-
<ExampleContainer>
|
|
124
|
-
<Title title="Medium" theme="light" level={4} />
|
|
125
|
-
<DxcCard contentPadding="medium">Medium</DxcCard>
|
|
126
|
-
</ExampleContainer>
|
|
127
|
-
<ExampleContainer>
|
|
128
|
-
<Title title="Large" theme="light" level={4} />
|
|
129
|
-
<DxcCard contentPadding="large">Large</DxcCard>
|
|
130
|
-
</ExampleContainer>
|
|
131
|
-
<ExampleContainer>
|
|
132
|
-
<Title title="Xlarge" theme="light" level={4} />
|
|
133
|
-
<DxcCard contentPadding="xlarge">Xlarge</DxcCard>
|
|
134
|
-
</ExampleContainer>
|
|
135
|
-
<ExampleContainer>
|
|
136
|
-
<Title title="Xxlarge" theme="light" level={4} />
|
|
137
|
-
<DxcCard contentPadding="xxlarge">Xxlarge</DxcCard>
|
|
138
|
-
</ExampleContainer>
|
|
139
109
|
<Title title="Margin" theme="light" level={2} />
|
|
140
110
|
<ExampleContainer>
|
|
141
111
|
<Title title="Xxsmall" theme="light" level={4} />
|
package/card/Card.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 _Card = _interopRequireDefault(require("./Card"));
|
|
9
|
+
var _Card = _interopRequireDefault(require("./Card.tsx"));
|
|
10
10
|
|
|
11
11
|
describe("Card component tests", function () {
|
|
12
12
|
test("Card renders with correct content", function () {
|
package/card/types.d.ts
CHANGED
|
@@ -46,18 +46,12 @@ declare type Props = {
|
|
|
46
46
|
* You can pass an object with 'top', 'bottom', 'left' and 'right' properties in order to specify different margin sizes.
|
|
47
47
|
*/
|
|
48
48
|
margin?: Space | Size;
|
|
49
|
-
/**
|
|
50
|
-
* @deprecated This prop will be removed shortly, consider using the Inset component for this purpose.
|
|
51
|
-
* Size of the padding to be applied to the content area ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
|
|
52
|
-
* You can pass an object with 'top', 'bottom', 'left' and 'right' properties in order to specify different padding sizes.
|
|
53
|
-
*/
|
|
54
|
-
contentPadding?: Space | Size;
|
|
55
49
|
/**
|
|
56
50
|
* Value of the tabindex given when there is an href.
|
|
57
51
|
*/
|
|
58
52
|
tabIndex?: number;
|
|
59
53
|
/**
|
|
60
|
-
*
|
|
54
|
+
* Determines whether or not the component should have an outline.
|
|
61
55
|
*/
|
|
62
56
|
outlined?: boolean;
|
|
63
57
|
/**
|
package/checkbox/Checkbox.js
CHANGED
|
@@ -19,9 +19,9 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
19
19
|
|
|
20
20
|
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
21
21
|
|
|
22
|
-
var _variables = require("../common/variables
|
|
22
|
+
var _variables = require("../common/variables");
|
|
23
23
|
|
|
24
|
-
var _utils = require("../common/utils
|
|
24
|
+
var _utils = require("../common/utils");
|
|
25
25
|
|
|
26
26
|
var _uuid = require("uuid");
|
|
27
27
|
|
|
@@ -222,7 +222,7 @@ var Checkbox = _styledComponents["default"].span(_templateObject4 || (_templateO
|
|
|
222
222
|
return props.disabled && "pointer-events: none;";
|
|
223
223
|
});
|
|
224
224
|
|
|
225
|
-
var MainContainer = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n align-items: center;\n gap: ", ";\n width: ", ";\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n
|
|
225
|
+
var MainContainer = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n align-items: center;\n gap: ", ";\n width: ", ";\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n cursor: ", ";\n\n &:hover ", " {\n border: 2px solid\n ", ";\n background-color: ", ";\n color: ", ";\n }\n"])), function (props) {
|
|
226
226
|
return props.theme.checkLabelSpacing;
|
|
227
227
|
}, function (props) {
|
|
228
228
|
return calculateWidth(props.margin, props.size);
|