@dxc-technology/halstack-react 10.1.0 → 12.0.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/BackgroundColorContext.d.ts +1 -10
- package/BackgroundColorContext.js +4 -21
- package/HalstackContext.d.ts +45 -143
- package/HalstackContext.js +10 -35
- package/accordion/Accordion.accessibility.test.js +71 -0
- package/accordion/Accordion.js +33 -84
- package/accordion/Accordion.stories.tsx +8 -64
- package/accordion/Accordion.test.js +18 -33
- package/accordion/types.d.ts +6 -6
- package/accordion-group/AccordionGroup.accessibility.test.js +88 -0
- package/accordion-group/AccordionGroup.d.ts +2 -3
- package/accordion-group/AccordionGroup.js +17 -44
- package/accordion-group/AccordionGroup.stories.tsx +24 -24
- 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.accessibility.test.js +63 -0
- 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.accessibility.test.js +95 -0
- package/alert/Alert.js +34 -120
- package/alert/Alert.test.js +28 -45
- package/alert/types.d.ts +5 -5
- package/badge/Badge.accessibility.test.js +129 -0
- package/badge/Badge.d.ts +1 -1
- package/badge/Badge.js +142 -42
- 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.accessibility.test.js +33 -0
- package/box/Box.js +11 -33
- package/box/Box.test.js +1 -6
- package/box/types.d.ts +3 -3
- package/breadcrumbs/Breadcrumbs.accessibility.test.d.ts +1 -0
- package/breadcrumbs/Breadcrumbs.accessibility.test.js +96 -0
- package/breadcrumbs/Breadcrumbs.d.ts +4 -0
- package/breadcrumbs/Breadcrumbs.js +79 -0
- package/breadcrumbs/Breadcrumbs.stories.tsx +194 -0
- package/breadcrumbs/Breadcrumbs.test.d.ts +1 -0
- package/breadcrumbs/Breadcrumbs.test.js +169 -0
- package/breadcrumbs/Item.d.ts +4 -0
- package/breadcrumbs/Item.js +52 -0
- package/breadcrumbs/dropdownTheme.d.ts +53 -0
- package/breadcrumbs/dropdownTheme.js +62 -0
- package/breadcrumbs/types.d.ts +16 -0
- package/breadcrumbs/types.js +5 -0
- package/bulleted-list/BulletedList.accessibility.test.js +119 -0
- 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.accessibility.test.js +127 -0
- package/button/Button.js +36 -59
- package/button/Button.stories.tsx +35 -135
- package/button/Button.test.js +13 -21
- package/button/types.d.ts +5 -5
- package/card/Card.accessibility.test.js +36 -0
- package/card/Card.js +23 -45
- package/card/Card.test.js +10 -21
- package/card/types.d.ts +5 -5
- package/checkbox/Checkbox.accessibility.test.js +87 -0
- package/checkbox/Checkbox.js +88 -123
- package/checkbox/Checkbox.stories.tsx +16 -54
- package/checkbox/Checkbox.test.js +107 -63
- package/checkbox/types.d.ts +8 -4
- package/chip/Chip.accessibility.test.js +67 -0
- package/chip/Chip.js +22 -36
- package/chip/Chip.stories.tsx +10 -25
- package/chip/Chip.test.js +17 -30
- package/chip/types.d.ts +4 -4
- package/common/coreTokens.d.ts +105 -14
- package/common/coreTokens.js +40 -23
- package/common/utils.js +2 -8
- package/common/variables.d.ts +46 -144
- package/common/variables.js +120 -225
- 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/container/types.js +5 -0
- package/contextual-menu/ContextualMenu.accessibility.test.js +97 -0
- package/contextual-menu/ContextualMenu.d.ts +5 -0
- package/contextual-menu/ContextualMenu.js +88 -0
- package/contextual-menu/ContextualMenu.stories.tsx +232 -0
- package/contextual-menu/ContextualMenu.test.js +205 -0
- package/contextual-menu/GroupItem.d.ts +4 -0
- package/contextual-menu/GroupItem.js +67 -0
- package/contextual-menu/ItemAction.d.ts +4 -0
- package/contextual-menu/ItemAction.js +51 -0
- package/contextual-menu/MenuItem.d.ts +4 -0
- package/contextual-menu/MenuItem.js +29 -0
- package/contextual-menu/SingleItem.d.ts +4 -0
- package/contextual-menu/SingleItem.js +38 -0
- package/contextual-menu/types.d.ts +58 -0
- package/contextual-menu/types.js +5 -0
- package/date-input/Calendar.js +13 -57
- package/date-input/DateInput.accessibility.test.js +228 -0
- package/date-input/DateInput.js +53 -100
- package/date-input/DateInput.stories.tsx +19 -31
- package/date-input/DateInput.test.js +674 -701
- package/date-input/DatePicker.js +23 -48
- package/date-input/YearPicker.js +8 -34
- package/date-input/types.d.ts +28 -22
- package/dialog/Dialog.accessibility.test.js +69 -0
- package/dialog/Dialog.js +21 -59
- package/dialog/Dialog.stories.tsx +176 -0
- package/dialog/Dialog.test.js +126 -188
- package/dialog/types.d.ts +18 -13
- package/divider/Divider.accessibility.test.js +33 -0
- 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.accessibility.test.js +180 -0
- package/dropdown/Dropdown.js +63 -130
- package/dropdown/Dropdown.stories.tsx +15 -26
- package/dropdown/Dropdown.test.js +402 -389
- package/dropdown/DropdownMenu.js +12 -23
- package/dropdown/DropdownMenuItem.js +13 -21
- package/dropdown/types.d.ts +20 -24
- package/file-input/FileInput.accessibility.test.js +160 -0
- package/file-input/FileInput.js +180 -284
- package/file-input/FileInput.stories.tsx +1 -1
- package/file-input/FileInput.test.js +279 -354
- package/file-input/FileItem.js +29 -66
- package/file-input/types.d.ts +9 -9
- package/flex/Flex.js +25 -39
- package/flex/types.d.ts +6 -6
- package/footer/Footer.accessibility.test.js +125 -0
- package/footer/Footer.d.ts +1 -1
- package/footer/Footer.js +43 -68
- package/footer/Footer.stories.tsx +58 -2
- package/footer/Footer.test.js +18 -32
- package/footer/Icons.d.ts +3 -2
- package/footer/Icons.js +53 -22
- package/footer/types.d.ts +17 -17
- package/grid/Grid.js +1 -16
- package/grid/types.d.ts +10 -10
- package/header/Header.accessibility.test.js +93 -0
- package/header/Header.d.ts +1 -1
- package/header/Header.js +38 -104
- package/header/Header.stories.tsx +16 -0
- package/header/Header.test.js +12 -25
- package/header/Icons.d.ts +2 -2
- package/header/Icons.js +3 -13
- package/header/types.d.ts +7 -8
- package/heading/Heading.accessibility.test.js +33 -0
- package/heading/Heading.js +9 -31
- package/heading/Heading.test.js +70 -87
- package/heading/types.d.ts +7 -7
- package/icon/Icon.accessibility.test.js +30 -0
- 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.accessibility.test.js +56 -0
- package/image/Image.d.ts +2 -2
- package/image/Image.js +17 -32
- package/image/Image.stories.tsx +3 -1
- package/image/types.d.ts +2 -2
- package/inset/Inset.js +13 -21
- package/inset/types.d.ts +2 -2
- package/layout/ApplicationLayout.d.ts +2 -2
- package/layout/ApplicationLayout.js +23 -60
- package/layout/Icons.d.ts +4 -5
- package/layout/Icons.js +2 -16
- package/layout/types.d.ts +3 -3
- package/link/Link.accessibility.test.js +108 -0
- package/link/Link.js +28 -47
- package/link/Link.stories.tsx +4 -4
- package/link/Link.test.js +23 -41
- package/link/types.d.ts +14 -14
- package/main.d.ts +8 -4
- package/main.js +39 -60
- package/nav-tabs/NavTabs.accessibility.test.js +44 -0
- package/nav-tabs/NavTabs.d.ts +1 -2
- package/nav-tabs/NavTabs.js +19 -48
- package/nav-tabs/NavTabs.stories.tsx +30 -25
- package/nav-tabs/NavTabs.test.js +45 -50
- package/nav-tabs/NavTabsContext.d.ts +3 -0
- package/nav-tabs/NavTabsContext.js +8 -0
- package/nav-tabs/Tab.js +38 -67
- package/nav-tabs/types.d.ts +10 -10
- package/number-input/NumberInput.accessibility.test.js +228 -0
- package/number-input/NumberInput.d.ts +0 -7
- package/number-input/NumberInput.js +47 -39
- package/number-input/NumberInput.stories.tsx +42 -26
- package/number-input/NumberInput.test.js +839 -575
- package/number-input/NumberInputContext.d.ts +3 -0
- package/number-input/NumberInputContext.js +8 -0
- package/number-input/types.d.ts +17 -5
- package/package.json +41 -37
- package/paginator/Paginator.accessibility.test.js +79 -0
- package/paginator/Paginator.js +27 -52
- package/paginator/Paginator.test.js +224 -207
- package/paginator/types.d.ts +3 -3
- package/paragraph/Paragraph.accessibility.test.js +28 -0
- package/paragraph/Paragraph.js +3 -19
- package/paragraph/Paragraph.stories.tsx +0 -17
- package/password-input/PasswordInput.accessibility.test.js +153 -0
- package/password-input/PasswordInput.js +32 -54
- package/password-input/PasswordInput.stories.tsx +1 -34
- package/password-input/PasswordInput.test.js +153 -129
- package/password-input/types.d.ts +8 -7
- package/progress-bar/ProgressBar.accessibility.test.js +35 -0
- package/progress-bar/ProgressBar.js +26 -56
- 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.accessibility.test.js +57 -0
- 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.accessibility.test.js +97 -0
- package/radio-group/RadioGroup.js +38 -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.accessibility.test.js +285 -0
- package/resultset-table/ResultsetTable.d.ts +7 -0
- package/{resultsetTable → resultset-table}/ResultsetTable.js +45 -69
- package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +118 -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/Listbox.js +40 -54
- package/select/Option.js +28 -36
- package/select/Select.accessibility.test.js +228 -0
- package/select/Select.js +107 -171
- package/select/Select.stories.tsx +59 -111
- package/select/Select.test.js +1895 -1858
- package/select/types.d.ts +15 -16
- package/sidenav/Sidenav.accessibility.test.js +59 -0
- package/sidenav/Sidenav.js +44 -81
- package/sidenav/Sidenav.stories.tsx +4 -9
- 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 +20 -20
- package/slider/Slider.accessibility.test.js +104 -0
- package/slider/Slider.js +70 -126
- package/slider/Slider.test.js +107 -103
- package/slider/types.d.ts +4 -4
- package/spinner/Spinner.accessibility.test.js +96 -0
- package/spinner/Spinner.js +21 -55
- package/spinner/Spinner.test.js +25 -34
- package/spinner/types.d.ts +3 -3
- package/status-light/StatusLight.accessibility.test.js +157 -0
- 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.accessibility.test.js +98 -0
- package/switch/Switch.js +49 -97
- package/switch/Switch.stories.tsx +12 -34
- package/switch/Switch.test.js +51 -96
- package/switch/types.d.ts +4 -4
- package/table/DropdownTheme.js +62 -0
- package/table/Table.accessibility.test.js +93 -0
- package/table/Table.d.ts +6 -2
- package/table/Table.js +76 -33
- package/table/{Table.stories.jsx → Table.stories.tsx} +309 -2
- package/table/Table.test.js +93 -6
- package/table/types.d.ts +34 -6
- package/tabs/Tab.js +22 -37
- package/tabs/Tabs.accessibility.test.js +56 -0
- package/tabs/Tabs.js +59 -147
- package/tabs/Tabs.stories.tsx +8 -4
- package/tabs/Tabs.test.js +57 -131
- package/tabs/types.d.ts +21 -21
- package/tag/Tag.accessibility.test.js +69 -0
- package/tag/Tag.js +27 -57
- package/tag/Tag.stories.tsx +4 -7
- package/tag/Tag.test.js +17 -36
- package/tag/types.d.ts +9 -9
- package/text-input/Suggestion.js +9 -26
- package/text-input/Suggestions.d.ts +1 -1
- package/text-input/Suggestions.js +30 -70
- package/text-input/TextInput.accessibility.test.js +321 -0
- package/text-input/TextInput.js +203 -289
- package/text-input/TextInput.stories.tsx +65 -160
- package/text-input/TextInput.test.js +1227 -1194
- package/text-input/types.d.ts +25 -17
- package/textarea/Textarea.accessibility.test.js +155 -0
- package/textarea/Textarea.js +68 -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.accessibility.test.js +107 -0
- package/toggle-group/ToggleGroup.js +25 -64
- package/toggle-group/ToggleGroup.stories.tsx +4 -4
- package/toggle-group/ToggleGroup.test.js +48 -81
- package/toggle-group/types.d.ts +12 -12
- package/typography/Typography.accessibility.test.js +339 -0
- package/typography/Typography.js +4 -13
- package/typography/types.d.ts +1 -1
- package/useTheme.d.ts +43 -141
- 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.accessibility.test.js +55 -0
- package/wizard/Wizard.js +27 -73
- package/wizard/Wizard.stories.tsx +19 -0
- package/wizard/Wizard.test.js +53 -80
- package/wizard/types.d.ts +8 -8
- 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/date-input/Icons.d.ts +0 -6
- package/date-input/Icons.js +0 -75
- package/paginator/Icons.d.ts +0 -5
- package/paginator/Icons.js +0 -54
- package/password-input/Icons.d.ts +0 -6
- package/password-input/Icons.js +0 -39
- package/resultsetTable/Icons.d.ts +0 -7
- package/resultsetTable/ResultsetTable.d.ts +0 -4
- package/select/Icons.d.ts +0 -10
- package/select/Icons.js +0 -93
- package/sidenav/Icons.d.ts +0 -7
- package/sidenav/Icons.js +0 -51
- 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/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 {
|
|
@@ -22,7 +20,6 @@ const iconSVG = (
|
|
|
22
20
|
const facebookIcon = (
|
|
23
21
|
<svg
|
|
24
22
|
version="1.1"
|
|
25
|
-
id="Capa_1"
|
|
26
23
|
x="0px"
|
|
27
24
|
y="0px"
|
|
28
25
|
width="438.536px"
|
|
@@ -78,31 +75,27 @@ export const Chromatic = () => (
|
|
|
78
75
|
</ExampleContainer>
|
|
79
76
|
<ExampleContainer>
|
|
80
77
|
<Title title="Disabled" theme="light" level={4} />
|
|
81
|
-
<DxcButton label="Primary disabled" disabled icon=
|
|
78
|
+
<DxcButton label="Primary disabled" disabled icon="filled_bottom_app_bar" />
|
|
82
79
|
</ExampleContainer>
|
|
83
80
|
<ExampleContainer>
|
|
84
81
|
<Title title="With left icon" theme="light" level={4} />
|
|
85
|
-
<DxcButton label="Primary" icon=
|
|
82
|
+
<DxcButton label="Primary" icon="filled_bottom_app_bar" />
|
|
86
83
|
</ExampleContainer>
|
|
87
84
|
<ExampleContainer>
|
|
88
85
|
<Title title="With right icon" theme="light" level={4} />
|
|
89
|
-
<DxcButton label="Primary" icon=
|
|
86
|
+
<DxcButton label="Primary" icon="filled_bottom_app_bar" iconPosition="after" />
|
|
90
87
|
</ExampleContainer>
|
|
91
88
|
<ExampleContainer>
|
|
92
89
|
<Title title="Only icon" theme="light" level={4} />
|
|
93
|
-
<DxcButton icon=
|
|
90
|
+
<DxcButton icon="filled_bottom_app_bar" title="Button with no label" />
|
|
94
91
|
</ExampleContainer>
|
|
95
92
|
<ExampleContainer>
|
|
96
93
|
<Title title="Big icon (SVG)" theme="light" level={4} />
|
|
97
|
-
<DxcButton icon={facebookIcon} />
|
|
94
|
+
<DxcButton icon={facebookIcon} title="Facebook" />
|
|
98
95
|
</ExampleContainer>
|
|
99
96
|
<ExampleContainer>
|
|
100
|
-
<Title title="
|
|
101
|
-
<DxcButton icon="
|
|
102
|
-
</ExampleContainer>
|
|
103
|
-
<ExampleContainer>
|
|
104
|
-
<Title title="Small icon" theme="light" level={4} />
|
|
105
|
-
<DxcButton icon={smallIcon} />
|
|
97
|
+
<Title title="Small icon (SVG)" theme="light" level={4} />
|
|
98
|
+
<DxcButton icon={smallIcon} title="Button with no label" />
|
|
106
99
|
</ExampleContainer>
|
|
107
100
|
<Title title="Secondary" theme="light" level={2} />
|
|
108
101
|
<ExampleContainer>
|
|
@@ -123,18 +116,11 @@ export const Chromatic = () => (
|
|
|
123
116
|
</ExampleContainer>
|
|
124
117
|
<ExampleContainer>
|
|
125
118
|
<Title title="Disabled" theme="light" level={4} />
|
|
126
|
-
<DxcButton mode="secondary" disabled label="Secondary disabled" icon=
|
|
119
|
+
<DxcButton mode="secondary" disabled label="Secondary disabled" icon="filled_bottom_app_bar" />
|
|
127
120
|
</ExampleContainer>
|
|
128
121
|
<ExampleContainer>
|
|
129
122
|
<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
|
-
/>
|
|
123
|
+
<DxcButton mode="secondary" label="Secondary" icon="filled_bottom_app_bar" />
|
|
138
124
|
</ExampleContainer>
|
|
139
125
|
<Title title="Text" theme="light" level={2} />
|
|
140
126
|
<ExampleContainer>
|
|
@@ -155,98 +141,12 @@ export const Chromatic = () => (
|
|
|
155
141
|
</ExampleContainer>
|
|
156
142
|
<ExampleContainer>
|
|
157
143
|
<Title title="Disabled" theme="light" level={4} />
|
|
158
|
-
<DxcButton mode="text" label="Text disabled" disabled icon=
|
|
144
|
+
<DxcButton mode="text" label="Text disabled" disabled icon="filled_bottom_app_bar" />
|
|
159
145
|
</ExampleContainer>
|
|
160
146
|
<ExampleContainer>
|
|
161
147
|
<Title title="With icon" theme="light" level={4} />
|
|
162
|
-
<DxcButton label="Text" mode="text" icon=
|
|
148
|
+
<DxcButton label="Text" mode="text" icon="filled_bottom_app_bar" />
|
|
163
149
|
</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>
|
|
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
150
|
<Title title="Sizes" theme="light" level={2} />
|
|
251
151
|
<ExampleContainer>
|
|
252
152
|
<Title title="Small size" theme="light" level={4} />
|
|
@@ -254,7 +154,7 @@ export const Chromatic = () => (
|
|
|
254
154
|
</ExampleContainer>
|
|
255
155
|
<ExampleContainer>
|
|
256
156
|
<Title title="Medium size" theme="light" level={4} />
|
|
257
|
-
<DxcButton label="
|
|
157
|
+
<DxcButton label="MediumSize" size="medium" />
|
|
258
158
|
</ExampleContainer>
|
|
259
159
|
<ExampleContainer>
|
|
260
160
|
<Title title="Medium size with ellipsis" theme="light" level={4} />
|
|
@@ -262,19 +162,19 @@ export const Chromatic = () => (
|
|
|
262
162
|
</ExampleContainer>
|
|
263
163
|
<ExampleContainer>
|
|
264
164
|
<Title title="Medium size icon after" theme="light" level={4} />
|
|
265
|
-
<DxcButton label="
|
|
165
|
+
<DxcButton label="Medium" iconPosition="after" icon="filled_bottom_app_bar" size="medium" />
|
|
266
166
|
</ExampleContainer>
|
|
267
167
|
<ExampleContainer>
|
|
268
168
|
<Title title="Medium size icon before" theme="light" level={4} />
|
|
269
|
-
<DxcButton label="
|
|
169
|
+
<DxcButton label="Medium" iconPosition="before" icon="filled_bottom_app_bar" size="medium" />
|
|
270
170
|
</ExampleContainer>
|
|
271
171
|
<ExampleContainer>
|
|
272
172
|
<Title title="Medium size icon after with ellipsis" theme="light" level={4} />
|
|
273
|
-
<DxcButton label="Medium" iconPosition="after" icon=
|
|
173
|
+
<DxcButton label="Medium" iconPosition="after" icon="filled_bottom_app_bar" size="medium" />
|
|
274
174
|
</ExampleContainer>
|
|
275
175
|
<ExampleContainer>
|
|
276
176
|
<Title title="Medium size icon before with ellipsis" theme="light" level={4} />
|
|
277
|
-
<DxcButton label="Medium" iconPosition="before" icon=
|
|
177
|
+
<DxcButton label="Medium" iconPosition="before" icon="filled_bottom_app_bar" size="medium" />
|
|
278
178
|
</ExampleContainer>
|
|
279
179
|
<ExampleContainer>
|
|
280
180
|
<Title title="Large size" theme="light" level={4} />
|
|
@@ -286,19 +186,19 @@ export const Chromatic = () => (
|
|
|
286
186
|
</ExampleContainer>
|
|
287
187
|
<ExampleContainer>
|
|
288
188
|
<Title title="Large size icon after" theme="light" level={4} />
|
|
289
|
-
<DxcButton label="
|
|
189
|
+
<DxcButton label="LargeSizePrimaryButton" iconPosition="after" icon="filled_bottom_app_bar" size="large" />
|
|
290
190
|
</ExampleContainer>
|
|
291
191
|
<ExampleContainer>
|
|
292
192
|
<Title title="Large size icon before" theme="light" level={4} />
|
|
293
|
-
<DxcButton label="
|
|
193
|
+
<DxcButton label="LargeSizePrimaryButton" iconPosition="before" icon="filled_bottom_app_bar" size="large" />
|
|
294
194
|
</ExampleContainer>
|
|
295
195
|
<ExampleContainer>
|
|
296
196
|
<Title title="Large size icon after with ellipsis" theme="light" level={4} />
|
|
297
|
-
<DxcButton label="LargeSizePrimaryButton" iconPosition="after" icon=
|
|
197
|
+
<DxcButton label="LargeSizePrimaryButton" iconPosition="after" icon="filled_bottom_app_bar" size="large" />
|
|
298
198
|
</ExampleContainer>
|
|
299
199
|
<ExampleContainer>
|
|
300
200
|
<Title title="Large size icon before with ellipsis" theme="light" level={4} />
|
|
301
|
-
<DxcButton label="LargeSizePrimaryButton" iconPosition="before" icon=
|
|
201
|
+
<DxcButton label="LargeSizePrimaryButton" iconPosition="before" icon="filled_bottom_app_bar" size="large" />
|
|
302
202
|
</ExampleContainer>
|
|
303
203
|
<ExampleContainer>
|
|
304
204
|
<Title title="FillParent size" theme="light" level={4} />
|
|
@@ -350,75 +250,75 @@ export const Chromatic = () => (
|
|
|
350
250
|
<ExampleContainer>
|
|
351
251
|
<Title title="Enabled" theme="light" level={4} />
|
|
352
252
|
<HalstackProvider theme={opinionatedTheme}>
|
|
353
|
-
<DxcButton label="Primary" icon=
|
|
253
|
+
<DxcButton label="Primary" icon="filled_bottom_app_bar" />
|
|
354
254
|
</HalstackProvider>
|
|
355
255
|
</ExampleContainer>
|
|
356
256
|
<ExampleContainer pseudoState="pseudo-hover">
|
|
357
257
|
<Title title="Hovered" theme="light" level={4} />
|
|
358
|
-
<DxcButton label="Primary hovered" icon=
|
|
258
|
+
<DxcButton label="Primary hovered" icon="filled_bottom_app_bar" />
|
|
359
259
|
</ExampleContainer>
|
|
360
260
|
<ExampleContainer pseudoState="pseudo-focus">
|
|
361
261
|
<Title title="Focused" theme="light" level={4} />
|
|
362
|
-
<DxcButton label="Primary focused" icon=
|
|
262
|
+
<DxcButton label="Primary focused" icon="filled_bottom_app_bar" />
|
|
363
263
|
</ExampleContainer>
|
|
364
264
|
<ExampleContainer pseudoState="pseudo-active">
|
|
365
265
|
<Title title="Actived" theme="light" level={4} />
|
|
366
|
-
<DxcButton label="Primary actived" icon=
|
|
266
|
+
<DxcButton label="Primary actived" icon="filled_bottom_app_bar" />
|
|
367
267
|
</ExampleContainer>
|
|
368
268
|
<ExampleContainer>
|
|
369
269
|
<Title title="Disabled" theme="light" level={4} />
|
|
370
270
|
<HalstackProvider theme={opinionatedTheme}>
|
|
371
|
-
<DxcButton label="Primary" icon=
|
|
271
|
+
<DxcButton label="Primary" icon="filled_bottom_app_bar" disabled />
|
|
372
272
|
</HalstackProvider>
|
|
373
273
|
</ExampleContainer>
|
|
374
274
|
<Title title="Secondary" theme="light" level={3} />
|
|
375
275
|
<ExampleContainer>
|
|
376
276
|
<Title title="Enabled" theme="light" level={4} />
|
|
377
277
|
<HalstackProvider theme={opinionatedTheme}>
|
|
378
|
-
<DxcButton mode="secondary" label="Secondary" icon=
|
|
278
|
+
<DxcButton mode="secondary" label="Secondary" icon="filled_bottom_app_bar" />
|
|
379
279
|
</HalstackProvider>
|
|
380
280
|
</ExampleContainer>
|
|
381
281
|
<ExampleContainer pseudoState="pseudo-hover">
|
|
382
282
|
<Title title="Hovered" theme="light" level={4} />
|
|
383
|
-
<DxcButton mode="secondary" label="Secondary hovered" icon=
|
|
283
|
+
<DxcButton mode="secondary" label="Secondary hovered" icon="filled_bottom_app_bar" />
|
|
384
284
|
</ExampleContainer>
|
|
385
285
|
<ExampleContainer pseudoState="pseudo-focus">
|
|
386
286
|
<Title title="Focused" theme="light" level={4} />
|
|
387
|
-
<DxcButton mode="secondary" label="Secondary focused" icon=
|
|
287
|
+
<DxcButton mode="secondary" label="Secondary focused" icon="filled_bottom_app_bar" />
|
|
388
288
|
</ExampleContainer>
|
|
389
289
|
<ExampleContainer pseudoState="pseudo-active">
|
|
390
290
|
<Title title="Actived" theme="light" level={4} />
|
|
391
|
-
<DxcButton mode="secondary" label="Secondary actived" icon=
|
|
291
|
+
<DxcButton mode="secondary" label="Secondary actived" icon="filled_bottom_app_bar" />
|
|
392
292
|
</ExampleContainer>
|
|
393
293
|
<ExampleContainer>
|
|
394
294
|
<Title title="Disabled" theme="light" level={4} />
|
|
395
295
|
<HalstackProvider theme={opinionatedTheme}>
|
|
396
|
-
<DxcButton mode="secondary" label="Secondary" icon=
|
|
296
|
+
<DxcButton mode="secondary" label="Secondary" icon="filled_bottom_app_bar" disabled />
|
|
397
297
|
</HalstackProvider>
|
|
398
298
|
</ExampleContainer>
|
|
399
299
|
<Title title="Text" theme="light" level={3} />
|
|
400
300
|
<ExampleContainer>
|
|
401
301
|
<Title title="Enabled" theme="light" level={4} />
|
|
402
302
|
<HalstackProvider theme={opinionatedTheme}>
|
|
403
|
-
<DxcButton mode="text" label="Text" icon=
|
|
303
|
+
<DxcButton mode="text" label="Text" icon="filled_bottom_app_bar" />
|
|
404
304
|
</HalstackProvider>
|
|
405
305
|
</ExampleContainer>
|
|
406
306
|
<ExampleContainer pseudoState="pseudo-hover">
|
|
407
307
|
<Title title="Hovered" theme="light" level={4} />
|
|
408
|
-
<DxcButton mode="text" label="Text hovered" icon=
|
|
308
|
+
<DxcButton mode="text" label="Text hovered" icon="filled_bottom_app_bar" />
|
|
409
309
|
</ExampleContainer>
|
|
410
310
|
<ExampleContainer pseudoState="pseudo-focus">
|
|
411
311
|
<Title title="Focused" theme="light" level={4} />
|
|
412
|
-
<DxcButton mode="text" label="Text focused" icon=
|
|
312
|
+
<DxcButton mode="text" label="Text focused" icon="filled_bottom_app_bar" />
|
|
413
313
|
</ExampleContainer>
|
|
414
314
|
<ExampleContainer pseudoState="pseudo-active">
|
|
415
315
|
<Title title="Actived" theme="light" level={4} />
|
|
416
|
-
<DxcButton mode="text" label="Text actived" icon=
|
|
316
|
+
<DxcButton mode="text" label="Text actived" icon="filled_bottom_app_bar" />
|
|
417
317
|
</ExampleContainer>
|
|
418
318
|
<ExampleContainer>
|
|
419
319
|
<Title title="Disabled" theme="light" level={4} />
|
|
420
320
|
<HalstackProvider theme={opinionatedTheme}>
|
|
421
|
-
<DxcButton mode="text" label="Text disabled" icon=
|
|
321
|
+
<DxcButton mode="text" label="Text disabled" icon="filled_bottom_app_bar" disabled />
|
|
422
322
|
</HalstackProvider>
|
|
423
323
|
</ExampleContainer>
|
|
424
324
|
</>
|
package/button/Button.test.js
CHANGED
|
@@ -1,46 +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
|
});
|
|
35
26
|
test("Renders with correct accessibility attributes", function () {
|
|
36
27
|
var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Button["default"], {
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
28
|
+
label: "Home",
|
|
29
|
+
title: "Go home",
|
|
30
|
+
tabIndex: 1
|
|
31
|
+
})),
|
|
32
|
+
getByRole = _render3.getByRole;
|
|
42
33
|
var button = getByRole("button");
|
|
43
34
|
expect(button.getAttribute("aria-label")).toBe("Go home");
|
|
44
35
|
expect(button.getAttribute("title")).toBe("Go home");
|
|
36
|
+
expect(button.getAttribute("tabindex")).toBe("1");
|
|
45
37
|
});
|
|
46
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
|
*/
|
|
@@ -33,7 +33,7 @@ declare type Props = {
|
|
|
33
33
|
*/
|
|
34
34
|
type?: "button" | "reset" | "submit";
|
|
35
35
|
/**
|
|
36
|
-
*
|
|
36
|
+
* Material Symbol name or SVG element as the icon that will be placed next to the label.
|
|
37
37
|
*/
|
|
38
38
|
icon?: string | SVG;
|
|
39
39
|
/**
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
5
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
6
|
+
var _react = _interopRequireDefault(require("react"));
|
|
7
|
+
var _react2 = require("@testing-library/react");
|
|
8
|
+
var _axeHelper = require("../../test/accessibility/axe-helper.js");
|
|
9
|
+
var _Card = _interopRequireDefault(require("./Card.tsx"));
|
|
10
|
+
describe("Card component accessibility tests", function () {
|
|
11
|
+
it("Should not have basic accessibility issues", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
12
|
+
var _render, container, results;
|
|
13
|
+
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
14
|
+
while (1) switch (_context.prev = _context.next) {
|
|
15
|
+
case 0:
|
|
16
|
+
_render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Card["default"], {
|
|
17
|
+
linkHref: "https://www.dxc.com",
|
|
18
|
+
imageSrc: "https://picsum.photos/id/1022/200/300",
|
|
19
|
+
imagePosition: "after",
|
|
20
|
+
imagePadding: "xsmall",
|
|
21
|
+
margin: "medium",
|
|
22
|
+
imageBgColor: "yellow",
|
|
23
|
+
imageCover: true
|
|
24
|
+
}, "test-card")), container = _render.container;
|
|
25
|
+
_context.next = 3;
|
|
26
|
+
return (0, _axeHelper.axe)(container);
|
|
27
|
+
case 3:
|
|
28
|
+
results = _context.sent;
|
|
29
|
+
expect(results).toHaveNoViolations();
|
|
30
|
+
case 5:
|
|
31
|
+
case "end":
|
|
32
|
+
return _context.stop();
|
|
33
|
+
}
|
|
34
|
+
}, _callee);
|
|
35
|
+
})));
|
|
36
|
+
});
|
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 && {}.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,
|
|
@@ -80,10 +64,10 @@ var DxcCard = function DxcCard(_ref) {
|
|
|
80
64
|
}, /*#__PURE__*/_react["default"].createElement(TagImage, {
|
|
81
65
|
imagePadding: imagePadding,
|
|
82
66
|
imageCover: imageCover,
|
|
83
|
-
src: imageSrc
|
|
67
|
+
src: imageSrc,
|
|
68
|
+
alt: "Card image"
|
|
84
69
|
})), /*#__PURE__*/_react["default"].createElement(CardContent, null, children)))));
|
|
85
70
|
};
|
|
86
|
-
|
|
87
71
|
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
72
|
var hasAction = _ref2.hasAction;
|
|
89
73
|
return hasAction && "pointer" || "unset";
|
|
@@ -109,7 +93,6 @@ var Card = _styledComponents["default"].div(_templateObject || (_templateObject
|
|
|
109
93
|
var hasAction = _ref9.hasAction;
|
|
110
94
|
return hasAction && ":focus {\n outline: #0095ff auto 1px;\n }";
|
|
111
95
|
});
|
|
112
|
-
|
|
113
96
|
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
97
|
return props.imagePosition === "after" ? "row-reverse" : "row";
|
|
115
98
|
}, function (props) {
|
|
@@ -120,7 +103,6 @@ var CardContainer = _styledComponents["default"].div(_templateObject2 || (_templ
|
|
|
120
103
|
var hasAction = _ref10.hasAction;
|
|
121
104
|
return hasAction ? "" : "unset";
|
|
122
105
|
});
|
|
123
|
-
|
|
124
106
|
var TagImage = _styledComponents["default"].img(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n height: ", ";\n width: ", ";\n object-fit: ", ";\n"])), function (_ref11) {
|
|
125
107
|
var imagePadding = _ref11.imagePadding;
|
|
126
108
|
return !imagePadding ? "100%" : (0, _typeof2["default"])(imagePadding) !== "object" && "calc(100% - ".concat(_variables.spaces[imagePadding], " - ").concat(_variables.spaces[imagePadding], ")");
|
|
@@ -131,13 +113,9 @@ var TagImage = _styledComponents["default"].img(_templateObject3 || (_templateOb
|
|
|
131
113
|
var imageCover = _ref13.imageCover;
|
|
132
114
|
return imageCover ? "cover" : "contain";
|
|
133
115
|
});
|
|
134
|
-
|
|
135
116
|
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
117
|
var imageBgColor = _ref14.imageBgColor;
|
|
137
118
|
return imageBgColor;
|
|
138
119
|
});
|
|
139
|
-
|
|
140
120
|
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;
|
|
121
|
+
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
|
});
|