@dxc-technology/halstack-react 0.0.0-de7c6b0 → 0.0.0-dec566a
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/BackgroundColorContext.d.ts +1 -10
- package/BackgroundColorContext.js +4 -21
- package/HalstackContext.d.ts +52 -139
- package/HalstackContext.js +11 -36
- package/README.md +47 -0
- package/accordion/Accordion.js +31 -84
- package/accordion/Accordion.stories.tsx +5 -50
- package/accordion/Accordion.test.js +18 -33
- package/accordion/types.d.ts +6 -6
- package/accordion-group/AccordionGroup.d.ts +2 -3
- package/accordion-group/AccordionGroup.js +17 -44
- package/accordion-group/AccordionGroup.stories.tsx +1 -1
- package/accordion-group/AccordionGroup.test.js +42 -60
- package/accordion-group/AccordionGroupAccordion.js +11 -23
- package/accordion-group/AccordionGroupContext.d.ts +3 -0
- package/accordion-group/AccordionGroupContext.js +8 -0
- package/accordion-group/types.d.ts +7 -7
- package/action-icon/ActionIcon.d.ts +4 -0
- package/action-icon/ActionIcon.js +48 -0
- package/action-icon/ActionIcon.stories.tsx +41 -0
- package/action-icon/ActionIcon.test.js +64 -0
- package/action-icon/types.d.ts +26 -0
- package/alert/Alert.js +29 -118
- package/alert/Alert.test.js +28 -45
- package/alert/types.d.ts +5 -5
- package/badge/Badge.d.ts +1 -1
- package/badge/Badge.js +141 -43
- package/badge/Badge.stories.tsx +210 -0
- package/badge/Badge.test.js +30 -0
- package/badge/types.d.ts +52 -3
- package/bleed/Bleed.js +13 -21
- package/bleed/types.d.ts +2 -2
- package/box/Box.js +11 -33
- package/box/Box.test.js +1 -6
- package/box/types.d.ts +3 -3
- package/bulleted-list/BulletedList.js +22 -55
- package/bulleted-list/BulletedList.stories.tsx +2 -93
- package/bulleted-list/types.d.ts +5 -5
- package/button/Button.d.ts +1 -1
- package/button/Button.js +68 -100
- package/button/Button.stories.tsx +33 -132
- package/button/Button.test.js +19 -16
- package/button/types.d.ts +9 -5
- package/card/Card.js +21 -44
- package/card/Card.test.js +10 -21
- package/card/types.d.ts +5 -5
- package/checkbox/Checkbox.js +85 -120
- package/checkbox/Checkbox.stories.tsx +16 -54
- package/checkbox/Checkbox.test.js +107 -63
- package/checkbox/types.d.ts +8 -4
- package/chip/Chip.js +12 -31
- package/chip/Chip.stories.tsx +1 -1
- package/chip/Chip.test.js +15 -28
- package/chip/types.d.ts +4 -4
- package/common/coreTokens.d.ts +105 -14
- package/common/coreTokens.js +41 -24
- package/common/utils.js +2 -8
- package/common/variables.d.ts +52 -139
- package/common/variables.js +63 -157
- package/container/Container.d.ts +4 -0
- package/container/Container.js +194 -0
- package/container/Container.stories.tsx +214 -0
- package/container/types.d.ts +74 -0
- package/contextual-menu/ContextualMenu.d.ts +7 -0
- package/contextual-menu/ContextualMenu.js +71 -0
- package/contextual-menu/ContextualMenu.stories.tsx +182 -0
- package/contextual-menu/ContextualMenu.test.js +71 -0
- package/contextual-menu/MenuItemAction.d.ts +4 -0
- package/contextual-menu/MenuItemAction.js +46 -0
- package/contextual-menu/types.d.ts +22 -0
- package/contextual-menu/types.js +5 -0
- package/date-input/Calendar.js +15 -59
- package/date-input/DateInput.js +50 -96
- package/date-input/DateInput.stories.tsx +11 -30
- package/date-input/DateInput.test.js +674 -701
- package/date-input/DatePicker.js +11 -42
- package/date-input/Icons.d.ts +6 -6
- package/date-input/Icons.js +6 -23
- package/date-input/YearPicker.js +8 -34
- package/date-input/types.d.ts +28 -22
- package/dialog/Dialog.js +13 -40
- package/dialog/Dialog.stories.tsx +170 -0
- package/dialog/Dialog.test.js +125 -187
- package/dialog/types.d.ts +18 -13
- package/divider/Divider.d.ts +4 -0
- package/divider/Divider.js +36 -0
- package/divider/Divider.stories.tsx +223 -0
- package/divider/Divider.test.js +38 -0
- package/divider/types.d.ts +21 -0
- package/divider/types.js +5 -0
- package/dropdown/Dropdown.js +59 -128
- package/dropdown/Dropdown.stories.tsx +5 -16
- package/dropdown/Dropdown.test.js +391 -378
- package/dropdown/DropdownMenu.js +8 -19
- package/dropdown/DropdownMenuItem.js +11 -20
- package/dropdown/types.d.ts +20 -24
- package/file-input/FileInput.js +180 -248
- package/file-input/FileInput.stories.tsx +1 -1
- package/file-input/FileInput.test.js +356 -354
- package/file-input/FileItem.js +14 -41
- package/file-input/types.d.ts +10 -10
- package/flex/Flex.js +25 -39
- package/flex/types.d.ts +6 -6
- package/footer/Footer.d.ts +1 -1
- package/footer/Footer.js +70 -102
- package/footer/Footer.stories.tsx +37 -6
- package/footer/Footer.test.js +21 -33
- package/footer/Icons.d.ts +3 -2
- package/footer/Icons.js +66 -7
- package/footer/types.d.ts +25 -21
- package/grid/Grid.d.ts +1 -1
- package/grid/Grid.js +2 -17
- package/grid/Grid.stories.tsx +38 -38
- package/grid/types.d.ts +10 -10
- package/header/Header.d.ts +1 -1
- package/header/Header.js +28 -84
- package/header/Header.test.js +12 -25
- package/header/Icons.d.ts +2 -2
- package/header/Icons.js +2 -7
- package/header/types.d.ts +7 -8
- package/heading/Heading.js +9 -31
- package/heading/Heading.test.js +70 -87
- package/heading/types.d.ts +7 -7
- package/icon/Icon.d.ts +4 -0
- package/icon/Icon.js +33 -0
- package/icon/Icon.stories.tsx +28 -0
- package/icon/types.d.ts +4 -0
- package/icon/types.js +5 -0
- package/image/Image.d.ts +4 -0
- package/image/Image.js +70 -0
- package/image/Image.stories.tsx +129 -0
- package/image/types.d.ts +72 -0
- package/image/types.js +5 -0
- package/inset/Inset.js +13 -21
- package/inset/types.d.ts +2 -2
- package/layout/ApplicationLayout.d.ts +2 -2
- package/layout/ApplicationLayout.js +29 -66
- package/layout/ApplicationLayout.stories.tsx +1 -1
- package/layout/Icons.d.ts +8 -5
- package/layout/Icons.js +51 -59
- package/layout/types.d.ts +3 -3
- package/link/Link.js +21 -42
- package/link/Link.test.js +23 -41
- package/link/types.d.ts +14 -14
- package/main.d.ts +8 -4
- package/main.js +39 -59
- package/nav-tabs/NavTabs.d.ts +1 -2
- package/nav-tabs/NavTabs.js +19 -48
- package/nav-tabs/NavTabs.stories.tsx +7 -5
- package/nav-tabs/NavTabs.test.js +38 -44
- package/nav-tabs/NavTabsContext.d.ts +3 -0
- package/nav-tabs/NavTabsContext.js +8 -0
- package/nav-tabs/Tab.js +24 -52
- package/nav-tabs/types.d.ts +9 -9
- package/number-input/NumberInput.js +46 -36
- package/number-input/NumberInput.stories.tsx +42 -26
- package/number-input/NumberInput.test.js +859 -412
- package/number-input/NumberInputContext.d.ts +3 -4
- package/number-input/NumberInputContext.js +3 -14
- package/number-input/types.d.ts +17 -5
- package/package.json +30 -28
- package/paginator/Icons.d.ts +5 -5
- package/paginator/Icons.js +5 -19
- package/paginator/Paginator.js +15 -43
- package/paginator/Paginator.test.js +224 -207
- package/paginator/types.d.ts +3 -3
- package/paragraph/Paragraph.js +3 -19
- package/paragraph/Paragraph.stories.tsx +0 -17
- package/password-input/Icons.d.ts +6 -0
- package/password-input/Icons.js +35 -0
- package/password-input/PasswordInput.js +57 -126
- package/password-input/PasswordInput.stories.tsx +1 -33
- package/password-input/PasswordInput.test.js +157 -140
- package/password-input/types.d.ts +8 -7
- package/progress-bar/ProgressBar.js +21 -53
- package/progress-bar/{ProgressBar.stories.jsx → ProgressBar.stories.tsx} +1 -1
- package/progress-bar/ProgressBar.test.js +35 -52
- package/progress-bar/types.d.ts +3 -3
- package/quick-nav/QuickNav.js +4 -27
- package/quick-nav/QuickNav.stories.tsx +1 -1
- package/quick-nav/types.d.ts +10 -10
- package/radio-group/Radio.d.ts +1 -1
- package/radio-group/Radio.js +22 -54
- package/radio-group/RadioGroup.js +37 -83
- package/radio-group/RadioGroup.stories.tsx +10 -10
- package/radio-group/RadioGroup.test.js +504 -470
- package/radio-group/types.d.ts +8 -8
- package/resultset-table/Icons.d.ts +7 -0
- package/{resultsetTable → resultset-table}/Icons.js +1 -5
- package/resultset-table/ResultsetTable.d.ts +7 -0
- package/{resultsetTable → resultset-table}/ResultsetTable.js +44 -69
- package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +106 -5
- package/{resultsetTable → resultset-table}/ResultsetTable.test.js +148 -92
- package/{resultsetTable → resultset-table}/types.d.ts +44 -11
- package/resultset-table/types.js +5 -0
- package/select/Icons.d.ts +7 -7
- package/select/Icons.js +1 -5
- package/select/Listbox.js +13 -39
- package/select/Option.js +17 -27
- package/select/Select.js +87 -163
- package/select/Select.stories.tsx +3 -3
- package/select/Select.test.js +1946 -1804
- package/select/types.d.ts +14 -15
- package/sidenav/Icons.d.ts +4 -4
- package/sidenav/Icons.js +1 -5
- package/sidenav/Sidenav.js +29 -70
- package/sidenav/Sidenav.test.js +3 -10
- package/{layout → sidenav}/SidenavContext.d.ts +1 -1
- package/{layout → sidenav}/SidenavContext.js +3 -9
- package/sidenav/types.d.ts +18 -18
- package/slider/Slider.js +68 -125
- package/slider/Slider.test.js +107 -103
- package/slider/types.d.ts +4 -4
- package/spinner/Spinner.js +16 -54
- package/spinner/Spinner.test.js +25 -34
- package/spinner/types.d.ts +3 -3
- package/status-light/StatusLight.d.ts +4 -0
- package/status-light/StatusLight.js +51 -0
- package/status-light/StatusLight.stories.tsx +74 -0
- package/status-light/StatusLight.test.js +25 -0
- package/status-light/types.d.ts +17 -0
- package/status-light/types.js +5 -0
- package/switch/Switch.js +49 -97
- package/switch/Switch.stories.tsx +0 -34
- package/switch/Switch.test.js +51 -96
- package/switch/types.d.ts +4 -4
- package/table/DropdownTheme.js +62 -0
- package/table/Table.d.ts +6 -2
- package/table/Table.js +76 -33
- package/table/{Table.stories.jsx → Table.stories.tsx} +297 -2
- package/table/Table.test.js +93 -6
- package/table/types.d.ts +34 -6
- package/tabs/Tab.js +17 -33
- package/tabs/Tabs.js +52 -129
- package/tabs/Tabs.stories.tsx +1 -1
- package/tabs/Tabs.test.js +62 -118
- package/tabs/types.d.ts +19 -19
- package/tag/Tag.js +21 -51
- package/tag/Tag.test.js +19 -30
- package/tag/types.d.ts +7 -7
- package/text-input/Suggestion.js +9 -26
- package/text-input/Suggestions.d.ts +1 -1
- package/text-input/Suggestions.js +19 -67
- package/text-input/TextInput.js +221 -327
- package/text-input/TextInput.stories.tsx +49 -153
- package/text-input/TextInput.test.js +1227 -1194
- package/text-input/types.d.ts +25 -17
- package/textarea/Textarea.js +67 -109
- package/textarea/{Textarea.stories.jsx → Textarea.stories.tsx} +58 -100
- package/textarea/Textarea.test.js +150 -179
- package/textarea/types.d.ts +9 -5
- package/toggle-group/ToggleGroup.js +90 -107
- package/toggle-group/ToggleGroup.stories.tsx +7 -4
- package/toggle-group/ToggleGroup.test.js +68 -87
- package/toggle-group/types.d.ts +26 -17
- package/typography/Typography.js +4 -13
- package/typography/types.d.ts +1 -1
- package/useTheme.d.ts +49 -136
- package/useTheme.js +1 -8
- package/useTranslatedLabels.js +1 -7
- package/utils/BaseTypography.d.ts +2 -2
- package/utils/BaseTypography.js +16 -30
- package/utils/FocusLock.js +25 -39
- package/wizard/Wizard.js +14 -49
- package/wizard/Wizard.test.js +53 -80
- package/wizard/types.d.ts +7 -7
- package/common/OpenSans.css +0 -69
- package/common/fonts/OpenSans-Bold.ttf +0 -0
- package/common/fonts/OpenSans-BoldItalic.ttf +0 -0
- package/common/fonts/OpenSans-ExtraBold.ttf +0 -0
- package/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
- package/common/fonts/OpenSans-Italic.ttf +0 -0
- package/common/fonts/OpenSans-Light.ttf +0 -0
- package/common/fonts/OpenSans-LightItalic.ttf +0 -0
- package/common/fonts/OpenSans-Regular.ttf +0 -0
- package/common/fonts/OpenSans-SemiBold.ttf +0 -0
- package/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
- package/number-input/numberInputContextTypes.d.ts +0 -19
- package/resultsetTable/Icons.d.ts +0 -7
- package/resultsetTable/ResultsetTable.d.ts +0 -4
- package/slider/Slider.stories.tsx +0 -240
- package/text-input/Icons.d.ts +0 -8
- package/text-input/Icons.js +0 -60
- /package/{resultsetTable → action-icon}/types.js +0 -0
- /package/{number-input/numberInputContextTypes.js → container/types.js} +0 -0
- /package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +0 -0
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import { BackgroundColorProvider } from "../BackgroundColorContext";
|
|
3
2
|
import DxcButton from "./Button";
|
|
4
3
|
import DxcFlex from "./../flex/Flex";
|
|
5
4
|
import Title from "../../.storybook/components/Title";
|
|
6
5
|
import ExampleContainer from "../../.storybook/components/ExampleContainer";
|
|
7
|
-
import DarkContainer from "../../.storybook/components/DarkSection";
|
|
8
6
|
import { HalstackProvider } from "../HalstackContext";
|
|
9
7
|
|
|
10
8
|
export default {
|
|
@@ -78,30 +76,26 @@ export const Chromatic = () => (
|
|
|
78
76
|
</ExampleContainer>
|
|
79
77
|
<ExampleContainer>
|
|
80
78
|
<Title title="Disabled" theme="light" level={4} />
|
|
81
|
-
<DxcButton label="Primary disabled" disabled icon=
|
|
79
|
+
<DxcButton label="Primary disabled" disabled icon="filled_bottom_app_bar" />
|
|
82
80
|
</ExampleContainer>
|
|
83
81
|
<ExampleContainer>
|
|
84
82
|
<Title title="With left icon" theme="light" level={4} />
|
|
85
|
-
<DxcButton label="Primary" icon=
|
|
83
|
+
<DxcButton label="Primary" icon="filled_bottom_app_bar" />
|
|
86
84
|
</ExampleContainer>
|
|
87
85
|
<ExampleContainer>
|
|
88
86
|
<Title title="With right icon" theme="light" level={4} />
|
|
89
|
-
<DxcButton label="Primary" icon=
|
|
87
|
+
<DxcButton label="Primary" icon="filled_bottom_app_bar" iconPosition="after" />
|
|
90
88
|
</ExampleContainer>
|
|
91
89
|
<ExampleContainer>
|
|
92
90
|
<Title title="Only icon" theme="light" level={4} />
|
|
93
|
-
<DxcButton icon=
|
|
91
|
+
<DxcButton icon="filled_bottom_app_bar" />
|
|
94
92
|
</ExampleContainer>
|
|
95
93
|
<ExampleContainer>
|
|
96
94
|
<Title title="Big icon (SVG)" theme="light" level={4} />
|
|
97
95
|
<DxcButton icon={facebookIcon} />
|
|
98
96
|
</ExampleContainer>
|
|
99
97
|
<ExampleContainer>
|
|
100
|
-
<Title title="
|
|
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} />
|
|
98
|
+
<Title title="Small icon (SVG)" theme="light" level={4} />
|
|
105
99
|
<DxcButton icon={smallIcon} />
|
|
106
100
|
</ExampleContainer>
|
|
107
101
|
<Title title="Secondary" theme="light" level={2} />
|
|
@@ -123,18 +117,11 @@ export const Chromatic = () => (
|
|
|
123
117
|
</ExampleContainer>
|
|
124
118
|
<ExampleContainer>
|
|
125
119
|
<Title title="Disabled" theme="light" level={4} />
|
|
126
|
-
<DxcButton mode="secondary" disabled label="Secondary disabled" icon=
|
|
120
|
+
<DxcButton mode="secondary" disabled label="Secondary disabled" icon="filled_bottom_app_bar" />
|
|
127
121
|
</ExampleContainer>
|
|
128
122
|
<ExampleContainer>
|
|
129
123
|
<Title title="With icon" theme="light" level={4} />
|
|
130
|
-
<DxcButton mode="secondary" label="Secondary" icon=
|
|
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
|
-
/>
|
|
124
|
+
<DxcButton mode="secondary" label="Secondary" icon="filled_bottom_app_bar" />
|
|
138
125
|
</ExampleContainer>
|
|
139
126
|
<Title title="Text" theme="light" level={2} />
|
|
140
127
|
<ExampleContainer>
|
|
@@ -155,98 +142,12 @@ export const Chromatic = () => (
|
|
|
155
142
|
</ExampleContainer>
|
|
156
143
|
<ExampleContainer>
|
|
157
144
|
<Title title="Disabled" theme="light" level={4} />
|
|
158
|
-
<DxcButton mode="text" label="Text disabled" disabled icon=
|
|
145
|
+
<DxcButton mode="text" label="Text disabled" disabled icon="filled_bottom_app_bar" />
|
|
159
146
|
</ExampleContainer>
|
|
160
147
|
<ExampleContainer>
|
|
161
148
|
<Title title="With icon" theme="light" level={4} />
|
|
162
|
-
<DxcButton label="Text" mode="text" icon=
|
|
149
|
+
<DxcButton label="Text" mode="text" icon="filled_bottom_app_bar" />
|
|
163
150
|
</ExampleContainer>
|
|
164
|
-
<ExampleContainer>
|
|
165
|
-
<Title title="Only icon (image)" theme="light" level={4} />
|
|
166
|
-
<DxcButton
|
|
167
|
-
mode="text"
|
|
168
|
-
icon="https://developer.apple.com/design/human-interface-guidelines/foundations/app-icons/images/icon-and-image-large-icon-settings_2x.png"
|
|
169
|
-
/>
|
|
170
|
-
</ExampleContainer>
|
|
171
|
-
<BackgroundColorProvider color="#333333">
|
|
172
|
-
<DarkContainer>
|
|
173
|
-
<Title title="Primary" theme="dark" level={2} />
|
|
174
|
-
<ExampleContainer>
|
|
175
|
-
<Title title="Enabled" theme="dark" level={4} />
|
|
176
|
-
<DxcButton label="Primary enabled" />
|
|
177
|
-
</ExampleContainer>
|
|
178
|
-
<ExampleContainer pseudoState="pseudo-hover">
|
|
179
|
-
<Title title="Hovered" theme="dark" level={4} />
|
|
180
|
-
<DxcButton label="Primary hovered" />
|
|
181
|
-
</ExampleContainer>
|
|
182
|
-
<ExampleContainer pseudoState="pseudo-focus">
|
|
183
|
-
<Title title="Focused" theme="dark" level={4} />
|
|
184
|
-
<DxcButton label="Primary focused" />
|
|
185
|
-
</ExampleContainer>
|
|
186
|
-
<ExampleContainer pseudoState="pseudo-active">
|
|
187
|
-
<Title title="Actived" theme="dark" level={4} />
|
|
188
|
-
<DxcButton label="Primary actived" />
|
|
189
|
-
</ExampleContainer>
|
|
190
|
-
<ExampleContainer>
|
|
191
|
-
<Title title="Disabled" theme="dark" level={4} />
|
|
192
|
-
<DxcButton label="Primary disabled" disabled icon={iconSVG} />
|
|
193
|
-
</ExampleContainer>
|
|
194
|
-
<ExampleContainer>
|
|
195
|
-
<Title title="With icon" theme="dark" level={4} />
|
|
196
|
-
<DxcButton label="Primary" icon={iconSVG} />
|
|
197
|
-
</ExampleContainer>
|
|
198
|
-
<Title title="Secondary" theme="dark" level={2} />
|
|
199
|
-
<ExampleContainer>
|
|
200
|
-
<Title title="Enabled" theme="dark" level={4} />
|
|
201
|
-
<DxcButton mode="secondary" label="Secondary enabled" />
|
|
202
|
-
</ExampleContainer>
|
|
203
|
-
<ExampleContainer pseudoState="pseudo-hover">
|
|
204
|
-
<Title title="Hovered" theme="dark" level={4} />
|
|
205
|
-
<DxcButton mode="secondary" label="Secondary hovered" />
|
|
206
|
-
</ExampleContainer>
|
|
207
|
-
<ExampleContainer pseudoState="pseudo-focus">
|
|
208
|
-
<Title title="Focused" theme="dark" level={4} />
|
|
209
|
-
<DxcButton mode="secondary" label="Secondary focused" />
|
|
210
|
-
</ExampleContainer>
|
|
211
|
-
<ExampleContainer pseudoState="pseudo-active">
|
|
212
|
-
<Title title="Actived" theme="dark" level={4} />
|
|
213
|
-
<DxcButton mode="secondary" label="Secondary actived" />
|
|
214
|
-
</ExampleContainer>
|
|
215
|
-
<ExampleContainer>
|
|
216
|
-
<Title title="Disabled" theme="dark" level={4} />
|
|
217
|
-
<DxcButton mode="secondary" disabled label="Secondary disabled" icon={iconSVG} />
|
|
218
|
-
</ExampleContainer>
|
|
219
|
-
<ExampleContainer>
|
|
220
|
-
<Title title="With icon" theme="dark" level={4} />
|
|
221
|
-
<DxcButton mode="secondary" label="Primary" icon={iconSVG} />
|
|
222
|
-
</ExampleContainer>
|
|
223
|
-
<Title title="Text" theme="dark" level={2} />
|
|
224
|
-
<ExampleContainer>
|
|
225
|
-
<Title title="Enabled" theme="dark" level={4} />
|
|
226
|
-
<DxcButton mode="text" label="Text enabled" />
|
|
227
|
-
</ExampleContainer>
|
|
228
|
-
<ExampleContainer pseudoState="pseudo-hover">
|
|
229
|
-
<Title title="Hovered" theme="dark" level={4} />
|
|
230
|
-
<DxcButton mode="text" label="Text hovered" />
|
|
231
|
-
</ExampleContainer>
|
|
232
|
-
<ExampleContainer pseudoState="pseudo-focus">
|
|
233
|
-
<Title title="Focused" theme="dark" level={4} />
|
|
234
|
-
<DxcButton mode="text" label="Text focused" />
|
|
235
|
-
</ExampleContainer>
|
|
236
|
-
<ExampleContainer pseudoState="pseudo-active">
|
|
237
|
-
<Title title="Actived" theme="dark" level={4} />
|
|
238
|
-
<DxcButton mode="text" label="Text actived" />
|
|
239
|
-
</ExampleContainer>
|
|
240
|
-
<ExampleContainer>
|
|
241
|
-
<Title title="Disabled" theme="dark" level={4} />
|
|
242
|
-
<DxcButton mode="text" label="Text disabled" disabled icon={iconSVG} />
|
|
243
|
-
</ExampleContainer>
|
|
244
|
-
<ExampleContainer>
|
|
245
|
-
<Title title="With icon" theme="dark" level={4} />
|
|
246
|
-
<DxcButton mode="text" label="Primary" icon={iconSVG} />
|
|
247
|
-
</ExampleContainer>
|
|
248
|
-
</DarkContainer>
|
|
249
|
-
</BackgroundColorProvider>
|
|
250
151
|
<Title title="Sizes" theme="light" level={2} />
|
|
251
152
|
<ExampleContainer>
|
|
252
153
|
<Title title="Small size" theme="light" level={4} />
|
|
@@ -254,7 +155,7 @@ export const Chromatic = () => (
|
|
|
254
155
|
</ExampleContainer>
|
|
255
156
|
<ExampleContainer>
|
|
256
157
|
<Title title="Medium size" theme="light" level={4} />
|
|
257
|
-
<DxcButton label="
|
|
158
|
+
<DxcButton label="MediumSize" size="medium" />
|
|
258
159
|
</ExampleContainer>
|
|
259
160
|
<ExampleContainer>
|
|
260
161
|
<Title title="Medium size with ellipsis" theme="light" level={4} />
|
|
@@ -262,19 +163,19 @@ export const Chromatic = () => (
|
|
|
262
163
|
</ExampleContainer>
|
|
263
164
|
<ExampleContainer>
|
|
264
165
|
<Title title="Medium size icon after" theme="light" level={4} />
|
|
265
|
-
<DxcButton label="
|
|
166
|
+
<DxcButton label="Medium" iconPosition="after" icon="filled_bottom_app_bar" size="medium" />
|
|
266
167
|
</ExampleContainer>
|
|
267
168
|
<ExampleContainer>
|
|
268
169
|
<Title title="Medium size icon before" theme="light" level={4} />
|
|
269
|
-
<DxcButton label="
|
|
170
|
+
<DxcButton label="Medium" iconPosition="before" icon="filled_bottom_app_bar" size="medium" />
|
|
270
171
|
</ExampleContainer>
|
|
271
172
|
<ExampleContainer>
|
|
272
173
|
<Title title="Medium size icon after with ellipsis" theme="light" level={4} />
|
|
273
|
-
<DxcButton label="Medium" iconPosition="after" icon=
|
|
174
|
+
<DxcButton label="Medium" iconPosition="after" icon="filled_bottom_app_bar" size="medium" />
|
|
274
175
|
</ExampleContainer>
|
|
275
176
|
<ExampleContainer>
|
|
276
177
|
<Title title="Medium size icon before with ellipsis" theme="light" level={4} />
|
|
277
|
-
<DxcButton label="Medium" iconPosition="before" icon=
|
|
178
|
+
<DxcButton label="Medium" iconPosition="before" icon="filled_bottom_app_bar" size="medium" />
|
|
278
179
|
</ExampleContainer>
|
|
279
180
|
<ExampleContainer>
|
|
280
181
|
<Title title="Large size" theme="light" level={4} />
|
|
@@ -286,19 +187,19 @@ export const Chromatic = () => (
|
|
|
286
187
|
</ExampleContainer>
|
|
287
188
|
<ExampleContainer>
|
|
288
189
|
<Title title="Large size icon after" theme="light" level={4} />
|
|
289
|
-
<DxcButton label="
|
|
190
|
+
<DxcButton label="LargeSizePrimaryButton" iconPosition="after" icon="filled_bottom_app_bar" size="large" />
|
|
290
191
|
</ExampleContainer>
|
|
291
192
|
<ExampleContainer>
|
|
292
193
|
<Title title="Large size icon before" theme="light" level={4} />
|
|
293
|
-
<DxcButton label="
|
|
194
|
+
<DxcButton label="LargeSizePrimaryButton" iconPosition="before" icon="filled_bottom_app_bar" size="large" />
|
|
294
195
|
</ExampleContainer>
|
|
295
196
|
<ExampleContainer>
|
|
296
197
|
<Title title="Large size icon after with ellipsis" theme="light" level={4} />
|
|
297
|
-
<DxcButton label="LargeSizePrimaryButton" iconPosition="after" icon=
|
|
198
|
+
<DxcButton label="LargeSizePrimaryButton" iconPosition="after" icon="filled_bottom_app_bar" size="large" />
|
|
298
199
|
</ExampleContainer>
|
|
299
200
|
<ExampleContainer>
|
|
300
201
|
<Title title="Large size icon before with ellipsis" theme="light" level={4} />
|
|
301
|
-
<DxcButton label="LargeSizePrimaryButton" iconPosition="before" icon=
|
|
202
|
+
<DxcButton label="LargeSizePrimaryButton" iconPosition="before" icon="filled_bottom_app_bar" size="large" />
|
|
302
203
|
</ExampleContainer>
|
|
303
204
|
<ExampleContainer>
|
|
304
205
|
<Title title="FillParent size" theme="light" level={4} />
|
|
@@ -350,75 +251,75 @@ export const Chromatic = () => (
|
|
|
350
251
|
<ExampleContainer>
|
|
351
252
|
<Title title="Enabled" theme="light" level={4} />
|
|
352
253
|
<HalstackProvider theme={opinionatedTheme}>
|
|
353
|
-
<DxcButton label="Primary" icon=
|
|
254
|
+
<DxcButton label="Primary" icon="filled_bottom_app_bar" />
|
|
354
255
|
</HalstackProvider>
|
|
355
256
|
</ExampleContainer>
|
|
356
257
|
<ExampleContainer pseudoState="pseudo-hover">
|
|
357
258
|
<Title title="Hovered" theme="light" level={4} />
|
|
358
|
-
<DxcButton label="Primary hovered" icon=
|
|
259
|
+
<DxcButton label="Primary hovered" icon="filled_bottom_app_bar" />
|
|
359
260
|
</ExampleContainer>
|
|
360
261
|
<ExampleContainer pseudoState="pseudo-focus">
|
|
361
262
|
<Title title="Focused" theme="light" level={4} />
|
|
362
|
-
<DxcButton label="Primary focused" icon=
|
|
263
|
+
<DxcButton label="Primary focused" icon="filled_bottom_app_bar" />
|
|
363
264
|
</ExampleContainer>
|
|
364
265
|
<ExampleContainer pseudoState="pseudo-active">
|
|
365
266
|
<Title title="Actived" theme="light" level={4} />
|
|
366
|
-
<DxcButton label="Primary actived" icon=
|
|
267
|
+
<DxcButton label="Primary actived" icon="filled_bottom_app_bar" />
|
|
367
268
|
</ExampleContainer>
|
|
368
269
|
<ExampleContainer>
|
|
369
270
|
<Title title="Disabled" theme="light" level={4} />
|
|
370
271
|
<HalstackProvider theme={opinionatedTheme}>
|
|
371
|
-
<DxcButton label="Primary" icon=
|
|
272
|
+
<DxcButton label="Primary" icon="filled_bottom_app_bar" disabled />
|
|
372
273
|
</HalstackProvider>
|
|
373
274
|
</ExampleContainer>
|
|
374
275
|
<Title title="Secondary" theme="light" level={3} />
|
|
375
276
|
<ExampleContainer>
|
|
376
277
|
<Title title="Enabled" theme="light" level={4} />
|
|
377
278
|
<HalstackProvider theme={opinionatedTheme}>
|
|
378
|
-
<DxcButton mode="secondary" label="Secondary" icon=
|
|
279
|
+
<DxcButton mode="secondary" label="Secondary" icon="filled_bottom_app_bar" />
|
|
379
280
|
</HalstackProvider>
|
|
380
281
|
</ExampleContainer>
|
|
381
282
|
<ExampleContainer pseudoState="pseudo-hover">
|
|
382
283
|
<Title title="Hovered" theme="light" level={4} />
|
|
383
|
-
<DxcButton mode="secondary" label="Secondary hovered" icon=
|
|
284
|
+
<DxcButton mode="secondary" label="Secondary hovered" icon="filled_bottom_app_bar" />
|
|
384
285
|
</ExampleContainer>
|
|
385
286
|
<ExampleContainer pseudoState="pseudo-focus">
|
|
386
287
|
<Title title="Focused" theme="light" level={4} />
|
|
387
|
-
<DxcButton mode="secondary" label="Secondary focused" icon=
|
|
288
|
+
<DxcButton mode="secondary" label="Secondary focused" icon="filled_bottom_app_bar" />
|
|
388
289
|
</ExampleContainer>
|
|
389
290
|
<ExampleContainer pseudoState="pseudo-active">
|
|
390
291
|
<Title title="Actived" theme="light" level={4} />
|
|
391
|
-
<DxcButton mode="secondary" label="Secondary actived" icon=
|
|
292
|
+
<DxcButton mode="secondary" label="Secondary actived" icon="filled_bottom_app_bar" />
|
|
392
293
|
</ExampleContainer>
|
|
393
294
|
<ExampleContainer>
|
|
394
295
|
<Title title="Disabled" theme="light" level={4} />
|
|
395
296
|
<HalstackProvider theme={opinionatedTheme}>
|
|
396
|
-
<DxcButton mode="secondary" label="Secondary" icon=
|
|
297
|
+
<DxcButton mode="secondary" label="Secondary" icon="filled_bottom_app_bar" disabled />
|
|
397
298
|
</HalstackProvider>
|
|
398
299
|
</ExampleContainer>
|
|
399
300
|
<Title title="Text" theme="light" level={3} />
|
|
400
301
|
<ExampleContainer>
|
|
401
302
|
<Title title="Enabled" theme="light" level={4} />
|
|
402
303
|
<HalstackProvider theme={opinionatedTheme}>
|
|
403
|
-
<DxcButton mode="text" label="Text" icon=
|
|
304
|
+
<DxcButton mode="text" label="Text" icon="filled_bottom_app_bar" />
|
|
404
305
|
</HalstackProvider>
|
|
405
306
|
</ExampleContainer>
|
|
406
307
|
<ExampleContainer pseudoState="pseudo-hover">
|
|
407
308
|
<Title title="Hovered" theme="light" level={4} />
|
|
408
|
-
<DxcButton mode="text" label="Text hovered" icon=
|
|
309
|
+
<DxcButton mode="text" label="Text hovered" icon="filled_bottom_app_bar" />
|
|
409
310
|
</ExampleContainer>
|
|
410
311
|
<ExampleContainer pseudoState="pseudo-focus">
|
|
411
312
|
<Title title="Focused" theme="light" level={4} />
|
|
412
|
-
<DxcButton mode="text" label="Text focused" icon=
|
|
313
|
+
<DxcButton mode="text" label="Text focused" icon="filled_bottom_app_bar" />
|
|
413
314
|
</ExampleContainer>
|
|
414
315
|
<ExampleContainer pseudoState="pseudo-active">
|
|
415
316
|
<Title title="Actived" theme="light" level={4} />
|
|
416
|
-
<DxcButton mode="text" label="Text actived" icon=
|
|
317
|
+
<DxcButton mode="text" label="Text actived" icon="filled_bottom_app_bar" />
|
|
417
318
|
</ExampleContainer>
|
|
418
319
|
<ExampleContainer>
|
|
419
320
|
<Title title="Disabled" theme="light" level={4} />
|
|
420
321
|
<HalstackProvider theme={opinionatedTheme}>
|
|
421
|
-
<DxcButton mode="text" label="Text disabled" icon=
|
|
322
|
+
<DxcButton mode="text" label="Text disabled" icon="filled_bottom_app_bar" disabled />
|
|
422
323
|
</HalstackProvider>
|
|
423
324
|
</ExampleContainer>
|
|
424
325
|
</>
|
package/button/Button.test.js
CHANGED
|
@@ -1,35 +1,38 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
var _react = _interopRequireDefault(require("react"));
|
|
6
|
-
|
|
7
5
|
var _react2 = require("@testing-library/react");
|
|
8
|
-
|
|
9
6
|
var _Button = _interopRequireDefault(require("./Button.tsx"));
|
|
10
|
-
|
|
11
7
|
describe("Button component tests", function () {
|
|
12
8
|
test("Button renders with correct text", function () {
|
|
13
9
|
var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Button["default"], {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
10
|
+
label: "Button"
|
|
11
|
+
})),
|
|
12
|
+
getByText = _render.getByText;
|
|
18
13
|
expect(getByText("Button")).toBeTruthy();
|
|
19
14
|
});
|
|
20
15
|
test("Calls correct function on click", function () {
|
|
21
16
|
var onClick = jest.fn();
|
|
22
|
-
|
|
23
17
|
var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Button["default"], {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
18
|
+
label: "Button",
|
|
19
|
+
onClick: onClick
|
|
20
|
+
})),
|
|
21
|
+
getByText = _render2.getByText;
|
|
29
22
|
var button = getByText("Button");
|
|
30
|
-
|
|
31
23
|
_react2.fireEvent.click(button);
|
|
32
|
-
|
|
33
24
|
expect(onClick).toHaveBeenCalled();
|
|
34
25
|
});
|
|
26
|
+
test("Renders with correct accessibility attributes", function () {
|
|
27
|
+
var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Button["default"], {
|
|
28
|
+
label: "Home",
|
|
29
|
+
title: "Go home",
|
|
30
|
+
tabIndex: 1
|
|
31
|
+
})),
|
|
32
|
+
getByRole = _render3.getByRole;
|
|
33
|
+
var button = getByRole("button");
|
|
34
|
+
expect(button.getAttribute("aria-label")).toBe("Go home");
|
|
35
|
+
expect(button.getAttribute("title")).toBe("Go home");
|
|
36
|
+
expect(button.getAttribute("tabindex")).toBe("1");
|
|
37
|
+
});
|
|
35
38
|
});
|
package/button/types.d.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
|
|
3
|
+
type Margin = {
|
|
4
4
|
top?: Space;
|
|
5
5
|
bottom?: Space;
|
|
6
6
|
left?: Space;
|
|
7
7
|
right?: Space;
|
|
8
8
|
};
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
type SVG = React.ReactNode & React.SVGProps<SVGSVGElement>;
|
|
10
|
+
type Props = {
|
|
11
11
|
/**
|
|
12
12
|
* Text to be placed in the button.
|
|
13
13
|
*/
|
|
@@ -24,12 +24,16 @@ 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
|
*/
|
|
30
34
|
type?: "button" | "reset" | "submit";
|
|
31
35
|
/**
|
|
32
|
-
*
|
|
36
|
+
* Material Symbol name or SVG element as the icon that will be placed next to the label.
|
|
33
37
|
*/
|
|
34
38
|
icon?: string | SVG;
|
|
35
39
|
/**
|
package/card/Card.js
CHANGED
|
@@ -1,60 +1,44 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
var _typeof3 = require("@babel/runtime/helpers/typeof");
|
|
6
|
-
|
|
7
5
|
Object.defineProperty(exports, "__esModule", {
|
|
8
6
|
value: true
|
|
9
7
|
});
|
|
10
8
|
exports["default"] = void 0;
|
|
11
|
-
|
|
12
9
|
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
13
|
-
|
|
14
10
|
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
15
|
-
|
|
16
11
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
17
|
-
|
|
18
12
|
var _react = _interopRequireWildcard(require("react"));
|
|
19
|
-
|
|
20
13
|
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
21
|
-
|
|
22
14
|
var _variables = require("../common/variables");
|
|
23
|
-
|
|
24
15
|
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
25
|
-
|
|
26
16
|
var _Box = _interopRequireDefault(require("../box/Box"));
|
|
27
|
-
|
|
28
17
|
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
|
|
29
|
-
|
|
30
|
-
function
|
|
31
|
-
|
|
32
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof3(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; }
|
|
33
|
-
|
|
18
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
19
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof3(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
34
20
|
var DxcCard = function DxcCard(_ref) {
|
|
35
21
|
var imageSrc = _ref.imageSrc,
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
22
|
+
_ref$imageBgColor = _ref.imageBgColor,
|
|
23
|
+
imageBgColor = _ref$imageBgColor === void 0 ? "black" : _ref$imageBgColor,
|
|
24
|
+
imagePadding = _ref.imagePadding,
|
|
25
|
+
_ref$imagePosition = _ref.imagePosition,
|
|
26
|
+
imagePosition = _ref$imagePosition === void 0 ? "before" : _ref$imagePosition,
|
|
27
|
+
linkHref = _ref.linkHref,
|
|
28
|
+
onClick = _ref.onClick,
|
|
29
|
+
_ref$imageCover = _ref.imageCover,
|
|
30
|
+
imageCover = _ref$imageCover === void 0 ? false : _ref$imageCover,
|
|
31
|
+
margin = _ref.margin,
|
|
32
|
+
_ref$tabIndex = _ref.tabIndex,
|
|
33
|
+
tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex,
|
|
34
|
+
_ref$outlined = _ref.outlined,
|
|
35
|
+
outlined = _ref$outlined === void 0 ? true : _ref$outlined,
|
|
36
|
+
children = _ref.children;
|
|
51
37
|
var colorsTheme = (0, _useTheme["default"])();
|
|
52
|
-
|
|
53
38
|
var _useState = (0, _react.useState)(false),
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
39
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
40
|
+
isHovered = _useState2[0],
|
|
41
|
+
changeIsHovered = _useState2[1];
|
|
58
42
|
return /*#__PURE__*/_react["default"].createElement(Card, {
|
|
59
43
|
hasAction: onClick || linkHref ? true : false,
|
|
60
44
|
margin: margin,
|
|
@@ -83,7 +67,6 @@ var DxcCard = function DxcCard(_ref) {
|
|
|
83
67
|
src: imageSrc
|
|
84
68
|
})), /*#__PURE__*/_react["default"].createElement(CardContent, null, children)))));
|
|
85
69
|
};
|
|
86
|
-
|
|
87
70
|
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) {
|
|
88
71
|
var hasAction = _ref2.hasAction;
|
|
89
72
|
return hasAction && "pointer" || "unset";
|
|
@@ -109,7 +92,6 @@ var Card = _styledComponents["default"].div(_templateObject || (_templateObject
|
|
|
109
92
|
var hasAction = _ref9.hasAction;
|
|
110
93
|
return hasAction && ":focus {\n outline: #0095ff auto 1px;\n }";
|
|
111
94
|
});
|
|
112
|
-
|
|
113
95
|
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
96
|
return props.imagePosition === "after" ? "row-reverse" : "row";
|
|
115
97
|
}, function (props) {
|
|
@@ -120,7 +102,6 @@ var CardContainer = _styledComponents["default"].div(_templateObject2 || (_templ
|
|
|
120
102
|
var hasAction = _ref10.hasAction;
|
|
121
103
|
return hasAction ? "" : "unset";
|
|
122
104
|
});
|
|
123
|
-
|
|
124
105
|
var TagImage = _styledComponents["default"].img(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n height: ", ";\n width: ", ";\n object-fit: ", ";\n"])), function (_ref11) {
|
|
125
106
|
var imagePadding = _ref11.imagePadding;
|
|
126
107
|
return !imagePadding ? "100%" : (0, _typeof2["default"])(imagePadding) !== "object" && "calc(100% - ".concat(_variables.spaces[imagePadding], " - ").concat(_variables.spaces[imagePadding], ")");
|
|
@@ -131,13 +112,9 @@ var TagImage = _styledComponents["default"].img(_templateObject3 || (_templateOb
|
|
|
131
112
|
var imageCover = _ref13.imageCover;
|
|
132
113
|
return imageCover ? "cover" : "contain";
|
|
133
114
|
});
|
|
134
|
-
|
|
135
115
|
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) {
|
|
136
116
|
var imageBgColor = _ref14.imageBgColor;
|
|
137
117
|
return imageBgColor;
|
|
138
118
|
});
|
|
139
|
-
|
|
140
119
|
var CardContent = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n flex-grow: 1;\n overflow: hidden;\n"])));
|
|
141
|
-
|
|
142
|
-
var _default = DxcCard;
|
|
143
|
-
exports["default"] = _default;
|
|
120
|
+
var _default = exports["default"] = DxcCard;
|
package/card/Card.test.js
CHANGED
|
@@ -1,50 +1,39 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
var _react = _interopRequireDefault(require("react"));
|
|
6
|
-
|
|
7
5
|
var _react2 = require("@testing-library/react");
|
|
8
|
-
|
|
9
6
|
var _Card = _interopRequireDefault(require("./Card.tsx"));
|
|
10
|
-
|
|
11
7
|
describe("Card component tests", function () {
|
|
12
8
|
test("Card renders with correct content", function () {
|
|
13
9
|
var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Card["default"], null, "test-card")),
|
|
14
|
-
|
|
15
|
-
|
|
10
|
+
getByText = _render.getByText;
|
|
16
11
|
expect(getByText("test-card")).toBeTruthy();
|
|
17
12
|
});
|
|
18
13
|
test("Card renders with correct href", function () {
|
|
19
14
|
var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Card["default"], {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
15
|
+
linkHref: "/testPage"
|
|
16
|
+
}, "test-card")),
|
|
17
|
+
getByRole = _render2.getByRole;
|
|
24
18
|
var card = getByRole("link");
|
|
25
19
|
expect(card.getAttribute("href")).toEqual("/testPage");
|
|
26
20
|
});
|
|
27
21
|
test("Card renders with correct image", function () {
|
|
28
22
|
var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Card["default"], {
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
23
|
+
imageSrc: "/testImage"
|
|
24
|
+
}, "test-card")),
|
|
25
|
+
getByRole = _render3.getByRole;
|
|
33
26
|
var card = getByRole("img");
|
|
34
27
|
expect(card.getAttribute("src")).toEqual("/testImage");
|
|
35
28
|
});
|
|
36
29
|
test("OnClick function is called", function () {
|
|
37
30
|
var onClick = jest.fn();
|
|
38
|
-
|
|
39
31
|
var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Card["default"], {
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
32
|
+
onClick: onClick
|
|
33
|
+
}, "test-card")),
|
|
34
|
+
getByText = _render4.getByText;
|
|
44
35
|
var card = getByText("test-card");
|
|
45
|
-
|
|
46
36
|
_react2.fireEvent.click(card);
|
|
47
|
-
|
|
48
37
|
expect(onClick).toHaveBeenCalled();
|
|
49
38
|
});
|
|
50
39
|
});
|
package/card/types.d.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
|
|
3
|
+
type Size = {
|
|
4
4
|
top?: Space;
|
|
5
5
|
bottom?: Space;
|
|
6
6
|
left?: Space;
|
|
7
7
|
right?: Space;
|
|
8
8
|
};
|
|
9
|
-
|
|
9
|
+
type Props = {
|
|
10
10
|
/**
|
|
11
11
|
* URL of the image that will be placed in the card component.
|
|
12
12
|
* In case of omission, the image container will not appear and
|
|
@@ -47,7 +47,7 @@ declare type Props = {
|
|
|
47
47
|
*/
|
|
48
48
|
margin?: Space | Size;
|
|
49
49
|
/**
|
|
50
|
-
* Value of the tabindex
|
|
50
|
+
* Value of the tabindex attribute applied when the component is clickable.
|
|
51
51
|
*/
|
|
52
52
|
tabIndex?: number;
|
|
53
53
|
/**
|
|
@@ -55,7 +55,7 @@ declare type Props = {
|
|
|
55
55
|
*/
|
|
56
56
|
outlined?: boolean;
|
|
57
57
|
/**
|
|
58
|
-
* Custom content that will be placed
|
|
58
|
+
* Custom content that will be placed inside the component.
|
|
59
59
|
*/
|
|
60
60
|
children?: React.ReactNode;
|
|
61
61
|
};
|