@dxc-technology/halstack-react 0.0.0-ff5083e → 0.0.0-ff6c8bf
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 +5 -22
- package/HalstackContext.d.ts +1240 -6
- package/HalstackContext.js +126 -111
- package/README.md +47 -0
- package/accordion/Accordion.accessibility.test.js +71 -0
- package/accordion/Accordion.d.ts +1 -1
- package/accordion/Accordion.js +105 -160
- package/accordion/Accordion.stories.tsx +82 -148
- package/accordion/Accordion.test.js +25 -41
- package/accordion/types.d.ts +6 -17
- package/accordion-group/AccordionGroup.accessibility.test.js +88 -0
- package/accordion-group/AccordionGroup.d.ts +2 -2
- package/accordion-group/AccordionGroup.js +31 -98
- package/accordion-group/AccordionGroup.stories.tsx +94 -67
- package/accordion-group/AccordionGroup.test.js +52 -105
- package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
- package/accordion-group/AccordionGroupAccordion.js +31 -0
- package/accordion-group/AccordionGroupContext.d.ts +3 -0
- package/accordion-group/AccordionGroupContext.js +8 -0
- package/accordion-group/types.d.ts +12 -17
- 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 +37 -127
- package/alert/Alert.stories.tsx +28 -0
- package/alert/Alert.test.js +29 -46
- 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/Bleed.stories.tsx +64 -63
- package/bleed/types.d.ts +2 -2
- package/box/Box.accessibility.test.js +33 -0
- package/box/Box.d.ts +1 -1
- package/box/Box.js +19 -60
- package/box/Box.stories.tsx +38 -51
- package/box/Box.test.js +2 -7
- package/box/types.d.ts +3 -14
- 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/bulleted-list/BulletedList.accessibility.test.js +119 -0
- package/bulleted-list/BulletedList.js +35 -63
- package/bulleted-list/BulletedList.stories.tsx +18 -106
- package/bulleted-list/types.d.ts +32 -5
- package/button/Button.accessibility.test.js +127 -0
- package/button/Button.d.ts +1 -1
- package/button/Button.js +64 -117
- package/button/Button.stories.tsx +151 -100
- package/button/Button.test.js +20 -17
- package/button/types.d.ts +12 -8
- package/card/Card.accessibility.test.js +36 -0
- package/card/Card.d.ts +1 -1
- package/card/Card.js +49 -89
- package/card/Card.stories.tsx +12 -42
- package/card/Card.test.js +11 -22
- package/card/types.d.ts +6 -11
- package/checkbox/Checkbox.accessibility.test.js +87 -0
- package/checkbox/Checkbox.d.ts +2 -2
- package/checkbox/Checkbox.js +139 -181
- package/checkbox/Checkbox.stories.tsx +128 -94
- package/checkbox/Checkbox.test.js +160 -39
- package/checkbox/types.d.ts +11 -3
- package/chip/Chip.accessibility.test.js +67 -0
- package/chip/Chip.js +45 -80
- package/chip/Chip.stories.tsx +107 -27
- package/chip/Chip.test.js +18 -33
- package/chip/types.d.ts +4 -4
- package/common/coreTokens.d.ts +237 -0
- package/common/coreTokens.js +184 -0
- package/common/utils.d.ts +1 -0
- package/common/utils.js +6 -12
- package/common/variables.d.ts +1392 -0
- package/common/variables.js +984 -1206
- 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.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/date-input/Calendar.d.ts +4 -0
- package/date-input/Calendar.js +214 -0
- package/date-input/DateInput.accessibility.test.js +228 -0
- package/date-input/DateInput.js +149 -299
- package/date-input/DateInput.stories.tsx +210 -56
- package/date-input/DateInput.test.js +700 -371
- package/date-input/DatePicker.d.ts +4 -0
- package/date-input/DatePicker.js +121 -0
- package/date-input/YearPicker.d.ts +4 -0
- package/date-input/YearPicker.js +100 -0
- package/date-input/types.d.ts +72 -15
- package/dialog/Dialog.accessibility.test.js +69 -0
- package/dialog/Dialog.d.ts +1 -1
- package/dialog/Dialog.js +61 -106
- package/dialog/Dialog.stories.tsx +326 -167
- package/dialog/Dialog.test.js +287 -20
- package/dialog/types.d.ts +18 -25
- 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/dropdown/Dropdown.accessibility.test.js +180 -0
- package/dropdown/Dropdown.d.ts +1 -1
- package/dropdown/Dropdown.js +233 -303
- package/dropdown/Dropdown.stories.tsx +235 -57
- package/dropdown/Dropdown.test.js +575 -165
- package/dropdown/DropdownMenu.d.ts +4 -0
- package/dropdown/DropdownMenu.js +63 -0
- package/dropdown/DropdownMenuItem.d.ts +4 -0
- package/dropdown/DropdownMenuItem.js +71 -0
- package/dropdown/types.d.ts +35 -19
- package/file-input/FileInput.accessibility.test.js +160 -0
- package/file-input/FileInput.d.ts +2 -2
- package/file-input/FileInput.js +241 -391
- package/file-input/FileInput.stories.tsx +123 -12
- package/file-input/FileInput.test.js +306 -367
- package/file-input/FileItem.d.ts +4 -14
- package/file-input/FileItem.js +56 -117
- package/file-input/types.d.ts +25 -8
- package/flex/Flex.d.ts +4 -0
- package/flex/Flex.js +57 -0
- package/flex/Flex.stories.tsx +112 -0
- package/flex/types.d.ts +97 -0
- package/footer/Footer.accessibility.test.js +125 -0
- package/footer/Footer.d.ts +1 -1
- package/footer/Footer.js +73 -118
- package/footer/Footer.stories.tsx +99 -21
- package/footer/Footer.test.js +33 -57
- package/footer/Icons.d.ts +3 -2
- package/footer/Icons.js +54 -23
- package/footer/types.d.ts +26 -27
- package/grid/Grid.d.ts +7 -0
- package/grid/Grid.js +76 -0
- package/grid/Grid.stories.tsx +219 -0
- package/grid/types.d.ts +115 -0
- package/grid/types.js +5 -0
- package/header/Header.accessibility.test.js +93 -0
- package/header/Header.d.ts +4 -3
- package/header/Header.js +90 -183
- package/header/Header.stories.tsx +133 -38
- package/header/Header.test.js +13 -26
- package/header/Icons.d.ts +2 -2
- package/header/Icons.js +5 -15
- package/header/types.d.ts +7 -21
- package/heading/Heading.accessibility.test.js +33 -0
- package/heading/Heading.js +10 -32
- package/heading/Heading.test.js +71 -88
- 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 +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/Inset.stories.tsx +5 -4
- package/inset/types.d.ts +2 -2
- package/layout/ApplicationLayout.d.ts +15 -6
- package/layout/ApplicationLayout.js +57 -119
- package/layout/ApplicationLayout.stories.tsx +81 -45
- package/layout/Icons.d.ts +7 -5
- package/layout/Icons.js +41 -59
- package/layout/types.d.ts +21 -32
- package/link/Link.accessibility.test.js +108 -0
- package/link/Link.js +32 -51
- package/link/Link.stories.tsx +76 -9
- package/link/Link.test.js +24 -44
- package/link/types.d.ts +14 -14
- package/main.d.ts +14 -12
- package/main.js +51 -88
- package/nav-tabs/NavTabs.accessibility.test.js +44 -0
- package/nav-tabs/NavTabs.d.ts +7 -0
- package/{tabs-nav → nav-tabs}/NavTabs.js +30 -62
- package/nav-tabs/NavTabs.stories.tsx +279 -0
- package/nav-tabs/NavTabs.test.js +77 -0
- package/nav-tabs/NavTabsContext.d.ts +3 -0
- package/nav-tabs/NavTabsContext.js +8 -0
- package/nav-tabs/Tab.js +117 -0
- package/{tabs-nav → nav-tabs}/types.d.ts +15 -16
- package/nav-tabs/types.js +5 -0
- package/number-input/NumberInput.accessibility.test.js +228 -0
- package/number-input/NumberInput.js +46 -36
- package/number-input/NumberInput.stories.tsx +42 -26
- package/number-input/NumberInput.test.js +860 -377
- 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 +51 -51
- package/paginator/Paginator.accessibility.test.js +79 -0
- package/paginator/Paginator.js +35 -68
- package/paginator/Paginator.stories.tsx +24 -0
- package/paginator/Paginator.test.js +280 -211
- package/paginator/types.d.ts +3 -3
- package/paragraph/Paragraph.accessibility.test.js +28 -0
- package/paragraph/Paragraph.d.ts +3 -4
- package/paragraph/Paragraph.js +7 -23
- package/paragraph/Paragraph.stories.tsx +1 -18
- package/password-input/PasswordInput.accessibility.test.js +153 -0
- package/password-input/PasswordInput.js +58 -127
- package/password-input/PasswordInput.stories.tsx +1 -33
- package/password-input/PasswordInput.test.js +160 -142
- package/password-input/types.d.ts +8 -7
- package/progress-bar/ProgressBar.accessibility.test.js +35 -0
- package/progress-bar/ProgressBar.js +68 -92
- package/progress-bar/{ProgressBar.stories.jsx → ProgressBar.stories.tsx} +39 -4
- package/progress-bar/ProgressBar.test.js +72 -44
- package/progress-bar/types.d.ts +3 -3
- package/quick-nav/QuickNav.accessibility.test.js +57 -0
- package/quick-nav/QuickNav.js +24 -42
- package/quick-nav/QuickNav.stories.tsx +146 -27
- package/quick-nav/types.d.ts +10 -10
- package/radio-group/Radio.d.ts +1 -1
- package/radio-group/Radio.js +59 -76
- package/radio-group/RadioGroup.accessibility.test.js +97 -0
- package/radio-group/RadioGroup.js +68 -114
- package/radio-group/RadioGroup.stories.tsx +132 -18
- package/radio-group/RadioGroup.test.js +518 -457
- package/radio-group/types.d.ts +10 -10
- package/resultset-table/Icons.d.ts +7 -0
- package/resultset-table/Icons.js +47 -0
- package/resultset-table/ResultsetTable.accessibility.test.js +285 -0
- package/resultset-table/ResultsetTable.d.ts +7 -0
- package/resultset-table/ResultsetTable.js +171 -0
- package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +168 -30
- package/resultset-table/ResultsetTable.test.js +381 -0
- package/{resultsetTable → resultset-table}/types.d.ts +44 -11
- package/resultset-table/types.js +5 -0
- package/select/Listbox.d.ts +1 -1
- package/select/Listbox.js +68 -65
- package/select/Option.js +35 -56
- package/select/Select.accessibility.test.js +228 -0
- package/select/Select.js +171 -214
- package/select/Select.stories.tsx +515 -190
- package/select/Select.test.js +1934 -1789
- package/select/types.d.ts +17 -21
- package/sidenav/Sidenav.accessibility.test.js +59 -0
- package/sidenav/Sidenav.d.ts +6 -5
- package/sidenav/Sidenav.js +132 -78
- package/sidenav/Sidenav.stories.tsx +246 -151
- package/sidenav/Sidenav.test.js +26 -45
- package/{layout → sidenav}/SidenavContext.d.ts +1 -1
- package/{layout → sidenav}/SidenavContext.js +3 -9
- package/sidenav/types.d.ts +52 -26
- package/slider/Slider.accessibility.test.js +104 -0
- package/slider/Slider.d.ts +2 -2
- package/slider/Slider.js +149 -181
- package/slider/Slider.stories.tsx +64 -61
- package/slider/Slider.test.js +185 -81
- package/slider/types.d.ts +7 -3
- package/spinner/Spinner.accessibility.test.js +96 -0
- package/spinner/Spinner.js +34 -74
- package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +53 -27
- package/spinner/Spinner.test.js +26 -35
- 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.d.ts +2 -2
- package/switch/Switch.js +145 -126
- package/switch/Switch.stories.tsx +49 -60
- package/switch/Switch.test.js +138 -56
- package/switch/types.d.ts +7 -3
- 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 +78 -35
- package/table/Table.stories.tsx +663 -0
- package/table/Table.test.js +95 -8
- package/table/types.d.ts +34 -6
- package/tabs/Tab.d.ts +4 -0
- package/tabs/Tab.js +117 -0
- package/tabs/Tabs.accessibility.test.js +56 -0
- package/tabs/Tabs.js +303 -141
- package/tabs/Tabs.stories.tsx +124 -6
- package/tabs/Tabs.test.js +213 -77
- package/tabs/types.d.ts +30 -20
- package/tag/Tag.accessibility.test.js +69 -0
- package/tag/Tag.js +35 -67
- package/tag/Tag.stories.tsx +18 -8
- package/tag/Tag.test.js +18 -37
- package/tag/types.d.ts +9 -9
- package/text-input/Suggestion.js +40 -28
- package/text-input/Suggestions.d.ts +4 -0
- package/text-input/Suggestions.js +94 -0
- package/text-input/TextInput.accessibility.test.js +321 -0
- package/text-input/TextInput.js +316 -515
- package/text-input/TextInput.stories.tsx +276 -276
- package/text-input/TextInput.test.js +1419 -1375
- package/text-input/types.d.ts +43 -16
- package/textarea/Textarea.accessibility.test.js +155 -0
- package/textarea/Textarea.js +71 -113
- package/textarea/Textarea.stories.tsx +174 -0
- package/textarea/Textarea.test.js +152 -183
- package/textarea/types.d.ts +9 -5
- package/toggle-group/ToggleGroup.accessibility.test.js +107 -0
- package/toggle-group/ToggleGroup.d.ts +2 -2
- package/toggle-group/ToggleGroup.js +94 -107
- package/toggle-group/ToggleGroup.stories.tsx +52 -7
- package/toggle-group/ToggleGroup.test.js +69 -88
- package/toggle-group/types.d.ts +28 -19
- package/typography/Typography.accessibility.test.js +339 -0
- package/typography/Typography.d.ts +2 -2
- package/typography/Typography.js +16 -124
- package/typography/Typography.stories.tsx +185 -162
- package/typography/types.d.ts +1 -1
- package/useTheme.d.ts +1144 -1
- package/useTheme.js +2 -9
- package/useTranslatedLabels.d.ts +84 -1
- package/useTranslatedLabels.js +1 -7
- package/utils/BaseTypography.d.ts +21 -0
- package/utils/BaseTypography.js +94 -0
- package/utils/FocusLock.d.ts +13 -0
- package/utils/FocusLock.js +124 -0
- package/wizard/Wizard.accessibility.test.js +55 -0
- package/wizard/Wizard.js +34 -87
- package/wizard/Wizard.stories.tsx +59 -1
- package/wizard/Wizard.test.js +54 -81
- package/wizard/types.d.ts +9 -9
- package/card/ice-cream.jpg +0 -0
- package/common/OpenSans.css +0 -81
- package/common/RequiredComponent.js +0 -32
- 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/paginator/Icons.js +0 -66
- package/resultsetTable/ResultsetTable.d.ts +0 -4
- package/resultsetTable/ResultsetTable.js +0 -254
- package/resultsetTable/ResultsetTable.test.js +0 -306
- package/row/Row.d.ts +0 -3
- package/row/Row.js +0 -127
- package/row/Row.stories.tsx +0 -237
- package/row/types.d.ts +0 -28
- package/select/Icons.d.ts +0 -10
- package/select/Icons.js +0 -93
- package/stack/Stack.d.ts +0 -3
- package/stack/Stack.js +0 -97
- package/stack/Stack.stories.tsx +0 -164
- package/stack/types.d.ts +0 -24
- package/table/Table.stories.jsx +0 -277
- package/tabs-nav/NavTabs.d.ts +0 -8
- package/tabs-nav/NavTabs.stories.tsx +0 -170
- package/tabs-nav/NavTabs.test.js +0 -82
- package/tabs-nav/Tab.js +0 -132
- package/textarea/Textarea.stories.jsx +0 -157
- package/typography/typographyContextTypes.d.ts +0 -16
- /package/{resultsetTable → action-icon}/types.js +0 -0
- /package/{row → breadcrumbs}/types.js +0 -0
- /package/{stack → container}/types.js +0 -0
- /package/{tabs-nav → contextual-menu}/types.js +0 -0
- /package/{number-input/numberInputContextTypes.js → divider/types.js} +0 -0
- /package/{typography/typographyContextTypes.js → flex/types.js} +0 -0
- /package/{tabs-nav → nav-tabs}/Tab.d.ts +0 -0
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import DxcButton from "./Button";
|
|
3
|
-
import
|
|
3
|
+
import DxcFlex from "./../flex/Flex";
|
|
4
4
|
import Title from "../../.storybook/components/Title";
|
|
5
5
|
import ExampleContainer from "../../.storybook/components/ExampleContainer";
|
|
6
|
-
import
|
|
6
|
+
import { HalstackProvider } from "../HalstackContext";
|
|
7
7
|
|
|
8
8
|
export default {
|
|
9
9
|
title: "Button",
|
|
@@ -11,11 +11,49 @@ export default {
|
|
|
11
11
|
};
|
|
12
12
|
|
|
13
13
|
const iconSVG = (
|
|
14
|
-
<svg viewBox="0 0 24 24" fill="currentColor">
|
|
14
|
+
<svg width="24px" height="24px" viewBox="0 0 24 24" fill="currentColor">
|
|
15
15
|
<path d="M0 0h24v24H0z" fill="none" />
|
|
16
16
|
<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" />
|
|
17
17
|
</svg>
|
|
18
18
|
);
|
|
19
|
+
|
|
20
|
+
const facebookIcon = (
|
|
21
|
+
<svg
|
|
22
|
+
version="1.1"
|
|
23
|
+
x="0px"
|
|
24
|
+
y="0px"
|
|
25
|
+
width="438.536px"
|
|
26
|
+
height="438.536px"
|
|
27
|
+
viewBox="0 0 438.536 438.536"
|
|
28
|
+
fill="currentColor"
|
|
29
|
+
>
|
|
30
|
+
<g>
|
|
31
|
+
<path
|
|
32
|
+
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
|
|
33
|
+
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
|
|
34
|
+
h274.084c22.648,0,42.018-8.042,58.095-24.126c16.084-16.084,24.126-35.454,24.126-58.102V82.225
|
|
35
|
+
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
|
|
36
|
+
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
|
|
37
|
+
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"
|
|
38
|
+
/>
|
|
39
|
+
</g>
|
|
40
|
+
</svg>
|
|
41
|
+
);
|
|
42
|
+
|
|
43
|
+
const smallIcon = (
|
|
44
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" height="20" width="20" fill="currentColor">
|
|
45
|
+
<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" />
|
|
46
|
+
</svg>
|
|
47
|
+
);
|
|
48
|
+
|
|
49
|
+
const opinionatedTheme = {
|
|
50
|
+
button: {
|
|
51
|
+
baseColor: "#5f249f",
|
|
52
|
+
primaryFontColor: "#ffffff",
|
|
53
|
+
secondaryHoverFontColor: "#ffffff",
|
|
54
|
+
},
|
|
55
|
+
};
|
|
56
|
+
|
|
19
57
|
export const Chromatic = () => (
|
|
20
58
|
<>
|
|
21
59
|
<Title title="Primary" theme="light" level={2} />
|
|
@@ -37,19 +75,27 @@ export const Chromatic = () => (
|
|
|
37
75
|
</ExampleContainer>
|
|
38
76
|
<ExampleContainer>
|
|
39
77
|
<Title title="Disabled" theme="light" level={4} />
|
|
40
|
-
<DxcButton label="Primary disabled" disabled />
|
|
78
|
+
<DxcButton label="Primary disabled" disabled icon="filled_bottom_app_bar" />
|
|
41
79
|
</ExampleContainer>
|
|
42
80
|
<ExampleContainer>
|
|
43
81
|
<Title title="With left icon" theme="light" level={4} />
|
|
44
|
-
<DxcButton label="Primary" icon=
|
|
82
|
+
<DxcButton label="Primary" icon="filled_bottom_app_bar" />
|
|
45
83
|
</ExampleContainer>
|
|
46
84
|
<ExampleContainer>
|
|
47
85
|
<Title title="With right icon" theme="light" level={4} />
|
|
48
|
-
<DxcButton label="Primary" icon=
|
|
86
|
+
<DxcButton label="Primary" icon="filled_bottom_app_bar" iconPosition="after" />
|
|
49
87
|
</ExampleContainer>
|
|
50
88
|
<ExampleContainer>
|
|
51
89
|
<Title title="Only icon" theme="light" level={4} />
|
|
52
|
-
<DxcButton icon=
|
|
90
|
+
<DxcButton icon="filled_bottom_app_bar" title="Button with no label" />
|
|
91
|
+
</ExampleContainer>
|
|
92
|
+
<ExampleContainer>
|
|
93
|
+
<Title title="Big icon (SVG)" theme="light" level={4} />
|
|
94
|
+
<DxcButton icon={facebookIcon} title="Facebook" />
|
|
95
|
+
</ExampleContainer>
|
|
96
|
+
<ExampleContainer>
|
|
97
|
+
<Title title="Small icon (SVG)" theme="light" level={4} />
|
|
98
|
+
<DxcButton icon={smallIcon} title="Button with no label" />
|
|
53
99
|
</ExampleContainer>
|
|
54
100
|
<Title title="Secondary" theme="light" level={2} />
|
|
55
101
|
<ExampleContainer>
|
|
@@ -70,11 +116,11 @@ export const Chromatic = () => (
|
|
|
70
116
|
</ExampleContainer>
|
|
71
117
|
<ExampleContainer>
|
|
72
118
|
<Title title="Disabled" theme="light" level={4} />
|
|
73
|
-
<DxcButton mode="secondary" disabled label="Secondary disabled" />
|
|
119
|
+
<DxcButton mode="secondary" disabled label="Secondary disabled" icon="filled_bottom_app_bar" />
|
|
74
120
|
</ExampleContainer>
|
|
75
121
|
<ExampleContainer>
|
|
76
122
|
<Title title="With icon" theme="light" level={4} />
|
|
77
|
-
<DxcButton mode="secondary" label="Secondary" icon=
|
|
123
|
+
<DxcButton mode="secondary" label="Secondary" icon="filled_bottom_app_bar" />
|
|
78
124
|
</ExampleContainer>
|
|
79
125
|
<Title title="Text" theme="light" level={2} />
|
|
80
126
|
<ExampleContainer>
|
|
@@ -95,91 +141,12 @@ export const Chromatic = () => (
|
|
|
95
141
|
</ExampleContainer>
|
|
96
142
|
<ExampleContainer>
|
|
97
143
|
<Title title="Disabled" theme="light" level={4} />
|
|
98
|
-
<DxcButton mode="text" label="Text disabled" disabled />
|
|
144
|
+
<DxcButton mode="text" label="Text disabled" disabled icon="filled_bottom_app_bar" />
|
|
99
145
|
</ExampleContainer>
|
|
100
146
|
<ExampleContainer>
|
|
101
147
|
<Title title="With icon" theme="light" level={4} />
|
|
102
|
-
<DxcButton label="Text" mode="text" icon=
|
|
103
|
-
</ExampleContainer>
|
|
104
|
-
<BackgroundColorProvider color="#333333">
|
|
105
|
-
<DarkContainer>
|
|
106
|
-
<Title title="Primary" theme="dark" level={2} />
|
|
107
|
-
<ExampleContainer>
|
|
108
|
-
<Title title="Enabled" theme="dark" level={4} />
|
|
109
|
-
<DxcButton label="Primary enabled" />
|
|
110
|
-
</ExampleContainer>
|
|
111
|
-
<ExampleContainer pseudoState="pseudo-hover">
|
|
112
|
-
<Title title="Hovered" theme="dark" level={4} />
|
|
113
|
-
<DxcButton label="Primary hovered" />
|
|
114
|
-
</ExampleContainer>
|
|
115
|
-
<ExampleContainer pseudoState="pseudo-focus">
|
|
116
|
-
<Title title="Focused" theme="dark" level={4} />
|
|
117
|
-
<DxcButton label="Primary focused" />
|
|
118
|
-
</ExampleContainer>
|
|
119
|
-
<ExampleContainer pseudoState="pseudo-active">
|
|
120
|
-
<Title title="Actived" theme="dark" level={4} />
|
|
121
|
-
<DxcButton label="Primary actived" />
|
|
122
|
-
</ExampleContainer>
|
|
123
|
-
<ExampleContainer>
|
|
124
|
-
<Title title="Disabled" theme="dark" level={4} />
|
|
125
|
-
<DxcButton label="Primary disabled" disabled />
|
|
126
|
-
</ExampleContainer>
|
|
127
|
-
<ExampleContainer>
|
|
128
|
-
<Title title="With icon" theme="dark" level={4} />
|
|
129
|
-
<DxcButton label="Primary" icon={iconSVG} />
|
|
130
|
-
</ExampleContainer>
|
|
131
|
-
<Title title="Secondary" theme="dark" level={2} />
|
|
132
|
-
<ExampleContainer>
|
|
133
|
-
<Title title="Enabled" theme="dark" level={4} />
|
|
134
|
-
<DxcButton mode="secondary" label="Secondary enabled" />
|
|
135
|
-
</ExampleContainer>
|
|
136
|
-
<ExampleContainer pseudoState="pseudo-hover">
|
|
137
|
-
<Title title="Hovered" theme="dark" level={4} />
|
|
138
|
-
<DxcButton mode="secondary" label="Secondary hovered" />
|
|
139
|
-
</ExampleContainer>
|
|
140
|
-
<ExampleContainer pseudoState="pseudo-focus">
|
|
141
|
-
<Title title="Focused" theme="dark" level={4} />
|
|
142
|
-
<DxcButton mode="secondary" label="Secondary focused" />
|
|
143
|
-
</ExampleContainer>
|
|
144
|
-
<ExampleContainer pseudoState="pseudo-active">
|
|
145
|
-
<Title title="Actived" theme="dark" level={4} />
|
|
146
|
-
<DxcButton mode="secondary" label="Secondary actived" />
|
|
147
|
-
</ExampleContainer>
|
|
148
|
-
<ExampleContainer>
|
|
149
|
-
<Title title="Disabled" theme="dark" level={4} />
|
|
150
|
-
<DxcButton mode="secondary" disabled label="Secondary disabled" />
|
|
151
|
-
</ExampleContainer>
|
|
152
|
-
<ExampleContainer>
|
|
153
|
-
<Title title="With icon" theme="dark" level={4} />
|
|
154
|
-
<DxcButton mode="secondary" label="Primary" icon={iconSVG} />
|
|
155
|
-
</ExampleContainer>
|
|
156
|
-
<Title title="Text" theme="dark" level={2} />
|
|
157
|
-
<ExampleContainer>
|
|
158
|
-
<Title title="Enabled" theme="dark" level={4} />
|
|
159
|
-
<DxcButton mode="text" label="Text enabled" />
|
|
160
|
-
</ExampleContainer>
|
|
161
|
-
<ExampleContainer pseudoState="pseudo-hover">
|
|
162
|
-
<Title title="Hovered" theme="dark" level={4} />
|
|
163
|
-
<DxcButton mode="text" label="Text hovered" />
|
|
164
|
-
</ExampleContainer>
|
|
165
|
-
<ExampleContainer pseudoState="pseudo-focus">
|
|
166
|
-
<Title title="Focused" theme="dark" level={4} />
|
|
167
|
-
<DxcButton mode="text" label="Text focused" />
|
|
168
|
-
</ExampleContainer>
|
|
169
|
-
<ExampleContainer pseudoState="pseudo-active">
|
|
170
|
-
<Title title="Actived" theme="dark" level={4} />
|
|
171
|
-
<DxcButton mode="text" label="Text actived" />
|
|
172
|
-
</ExampleContainer>
|
|
173
|
-
<ExampleContainer>
|
|
174
|
-
<Title title="Disabled" theme="dark" level={4} />
|
|
175
|
-
<DxcButton mode="text" label="Text disabled" disabled />
|
|
176
|
-
</ExampleContainer>
|
|
177
|
-
<ExampleContainer>
|
|
178
|
-
<Title title="With icon" theme="dark" level={4} />
|
|
179
|
-
<DxcButton mode="text" label="Primary" icon={iconSVG} />
|
|
180
|
-
</ExampleContainer>
|
|
181
|
-
</DarkContainer>
|
|
182
|
-
</BackgroundColorProvider>
|
|
148
|
+
<DxcButton label="Text" mode="text" icon="filled_bottom_app_bar" />
|
|
149
|
+
</ExampleContainer>
|
|
183
150
|
<Title title="Sizes" theme="light" level={2} />
|
|
184
151
|
<ExampleContainer>
|
|
185
152
|
<Title title="Small size" theme="light" level={4} />
|
|
@@ -187,7 +154,7 @@ export const Chromatic = () => (
|
|
|
187
154
|
</ExampleContainer>
|
|
188
155
|
<ExampleContainer>
|
|
189
156
|
<Title title="Medium size" theme="light" level={4} />
|
|
190
|
-
<DxcButton label="
|
|
157
|
+
<DxcButton label="MediumSize" size="medium" />
|
|
191
158
|
</ExampleContainer>
|
|
192
159
|
<ExampleContainer>
|
|
193
160
|
<Title title="Medium size with ellipsis" theme="light" level={4} />
|
|
@@ -195,19 +162,19 @@ export const Chromatic = () => (
|
|
|
195
162
|
</ExampleContainer>
|
|
196
163
|
<ExampleContainer>
|
|
197
164
|
<Title title="Medium size icon after" theme="light" level={4} />
|
|
198
|
-
<DxcButton label="
|
|
165
|
+
<DxcButton label="Medium" iconPosition="after" icon="filled_bottom_app_bar" size="medium" />
|
|
199
166
|
</ExampleContainer>
|
|
200
167
|
<ExampleContainer>
|
|
201
168
|
<Title title="Medium size icon before" theme="light" level={4} />
|
|
202
|
-
<DxcButton label="
|
|
169
|
+
<DxcButton label="Medium" iconPosition="before" icon="filled_bottom_app_bar" size="medium" />
|
|
203
170
|
</ExampleContainer>
|
|
204
171
|
<ExampleContainer>
|
|
205
172
|
<Title title="Medium size icon after with ellipsis" theme="light" level={4} />
|
|
206
|
-
<DxcButton label="Medium" iconPosition="after" icon=
|
|
173
|
+
<DxcButton label="Medium" iconPosition="after" icon="filled_bottom_app_bar" size="medium" />
|
|
207
174
|
</ExampleContainer>
|
|
208
175
|
<ExampleContainer>
|
|
209
176
|
<Title title="Medium size icon before with ellipsis" theme="light" level={4} />
|
|
210
|
-
<DxcButton label="Medium" iconPosition="before" icon=
|
|
177
|
+
<DxcButton label="Medium" iconPosition="before" icon="filled_bottom_app_bar" size="medium" />
|
|
211
178
|
</ExampleContainer>
|
|
212
179
|
<ExampleContainer>
|
|
213
180
|
<Title title="Large size" theme="light" level={4} />
|
|
@@ -219,19 +186,19 @@ export const Chromatic = () => (
|
|
|
219
186
|
</ExampleContainer>
|
|
220
187
|
<ExampleContainer>
|
|
221
188
|
<Title title="Large size icon after" theme="light" level={4} />
|
|
222
|
-
<DxcButton label="
|
|
189
|
+
<DxcButton label="LargeSizePrimaryButton" iconPosition="after" icon="filled_bottom_app_bar" size="large" />
|
|
223
190
|
</ExampleContainer>
|
|
224
191
|
<ExampleContainer>
|
|
225
192
|
<Title title="Large size icon before" theme="light" level={4} />
|
|
226
|
-
<DxcButton label="
|
|
193
|
+
<DxcButton label="LargeSizePrimaryButton" iconPosition="before" icon="filled_bottom_app_bar" size="large" />
|
|
227
194
|
</ExampleContainer>
|
|
228
195
|
<ExampleContainer>
|
|
229
196
|
<Title title="Large size icon after with ellipsis" theme="light" level={4} />
|
|
230
|
-
<DxcButton label="LargeSizePrimaryButton" iconPosition="after" icon=
|
|
197
|
+
<DxcButton label="LargeSizePrimaryButton" iconPosition="after" icon="filled_bottom_app_bar" size="large" />
|
|
231
198
|
</ExampleContainer>
|
|
232
199
|
<ExampleContainer>
|
|
233
200
|
<Title title="Large size icon before with ellipsis" theme="light" level={4} />
|
|
234
|
-
<DxcButton label="LargeSizePrimaryButton" iconPosition="before" icon=
|
|
201
|
+
<DxcButton label="LargeSizePrimaryButton" iconPosition="before" icon="filled_bottom_app_bar" size="large" />
|
|
235
202
|
</ExampleContainer>
|
|
236
203
|
<ExampleContainer>
|
|
237
204
|
<Title title="FillParent size" theme="light" level={4} />
|
|
@@ -270,5 +237,89 @@ export const Chromatic = () => (
|
|
|
270
237
|
<Title title="Xxlarge margin" theme="light" level={4} />
|
|
271
238
|
<DxcButton label="Xxlarge margin" margin="xxlarge" />
|
|
272
239
|
</ExampleContainer>
|
|
240
|
+
<Title title="Inside a flex" theme="light" level={2} />
|
|
241
|
+
<ExampleContainer>
|
|
242
|
+
<DxcFlex direction="column" gap="1rem">
|
|
243
|
+
<DxcButton label="Button" />
|
|
244
|
+
<DxcButton label="Button" />
|
|
245
|
+
<DxcButton label="Button" />
|
|
246
|
+
</DxcFlex>
|
|
247
|
+
</ExampleContainer>
|
|
248
|
+
<Title title="Opinionated theme" theme="light" level={2} />
|
|
249
|
+
<Title title="Primary" theme="light" level={3} />
|
|
250
|
+
<ExampleContainer>
|
|
251
|
+
<Title title="Enabled" theme="light" level={4} />
|
|
252
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
253
|
+
<DxcButton label="Primary" icon="filled_bottom_app_bar" />
|
|
254
|
+
</HalstackProvider>
|
|
255
|
+
</ExampleContainer>
|
|
256
|
+
<ExampleContainer pseudoState="pseudo-hover">
|
|
257
|
+
<Title title="Hovered" theme="light" level={4} />
|
|
258
|
+
<DxcButton label="Primary hovered" icon="filled_bottom_app_bar" />
|
|
259
|
+
</ExampleContainer>
|
|
260
|
+
<ExampleContainer pseudoState="pseudo-focus">
|
|
261
|
+
<Title title="Focused" theme="light" level={4} />
|
|
262
|
+
<DxcButton label="Primary focused" icon="filled_bottom_app_bar" />
|
|
263
|
+
</ExampleContainer>
|
|
264
|
+
<ExampleContainer pseudoState="pseudo-active">
|
|
265
|
+
<Title title="Actived" theme="light" level={4} />
|
|
266
|
+
<DxcButton label="Primary actived" icon="filled_bottom_app_bar" />
|
|
267
|
+
</ExampleContainer>
|
|
268
|
+
<ExampleContainer>
|
|
269
|
+
<Title title="Disabled" theme="light" level={4} />
|
|
270
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
271
|
+
<DxcButton label="Primary" icon="filled_bottom_app_bar" disabled />
|
|
272
|
+
</HalstackProvider>
|
|
273
|
+
</ExampleContainer>
|
|
274
|
+
<Title title="Secondary" theme="light" level={3} />
|
|
275
|
+
<ExampleContainer>
|
|
276
|
+
<Title title="Enabled" theme="light" level={4} />
|
|
277
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
278
|
+
<DxcButton mode="secondary" label="Secondary" icon="filled_bottom_app_bar" />
|
|
279
|
+
</HalstackProvider>
|
|
280
|
+
</ExampleContainer>
|
|
281
|
+
<ExampleContainer pseudoState="pseudo-hover">
|
|
282
|
+
<Title title="Hovered" theme="light" level={4} />
|
|
283
|
+
<DxcButton mode="secondary" label="Secondary hovered" icon="filled_bottom_app_bar" />
|
|
284
|
+
</ExampleContainer>
|
|
285
|
+
<ExampleContainer pseudoState="pseudo-focus">
|
|
286
|
+
<Title title="Focused" theme="light" level={4} />
|
|
287
|
+
<DxcButton mode="secondary" label="Secondary focused" icon="filled_bottom_app_bar" />
|
|
288
|
+
</ExampleContainer>
|
|
289
|
+
<ExampleContainer pseudoState="pseudo-active">
|
|
290
|
+
<Title title="Actived" theme="light" level={4} />
|
|
291
|
+
<DxcButton mode="secondary" label="Secondary actived" icon="filled_bottom_app_bar" />
|
|
292
|
+
</ExampleContainer>
|
|
293
|
+
<ExampleContainer>
|
|
294
|
+
<Title title="Disabled" theme="light" level={4} />
|
|
295
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
296
|
+
<DxcButton mode="secondary" label="Secondary" icon="filled_bottom_app_bar" disabled />
|
|
297
|
+
</HalstackProvider>
|
|
298
|
+
</ExampleContainer>
|
|
299
|
+
<Title title="Text" theme="light" level={3} />
|
|
300
|
+
<ExampleContainer>
|
|
301
|
+
<Title title="Enabled" theme="light" level={4} />
|
|
302
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
303
|
+
<DxcButton mode="text" label="Text" icon="filled_bottom_app_bar" />
|
|
304
|
+
</HalstackProvider>
|
|
305
|
+
</ExampleContainer>
|
|
306
|
+
<ExampleContainer pseudoState="pseudo-hover">
|
|
307
|
+
<Title title="Hovered" theme="light" level={4} />
|
|
308
|
+
<DxcButton mode="text" label="Text hovered" icon="filled_bottom_app_bar" />
|
|
309
|
+
</ExampleContainer>
|
|
310
|
+
<ExampleContainer pseudoState="pseudo-focus">
|
|
311
|
+
<Title title="Focused" theme="light" level={4} />
|
|
312
|
+
<DxcButton mode="text" label="Text focused" icon="filled_bottom_app_bar" />
|
|
313
|
+
</ExampleContainer>
|
|
314
|
+
<ExampleContainer pseudoState="pseudo-active">
|
|
315
|
+
<Title title="Actived" theme="light" level={4} />
|
|
316
|
+
<DxcButton mode="text" label="Text actived" icon="filled_bottom_app_bar" />
|
|
317
|
+
</ExampleContainer>
|
|
318
|
+
<ExampleContainer>
|
|
319
|
+
<Title title="Disabled" theme="light" level={4} />
|
|
320
|
+
<HalstackProvider theme={opinionatedTheme}>
|
|
321
|
+
<DxcButton mode="text" label="Text disabled" icon="filled_bottom_app_bar" disabled />
|
|
322
|
+
</HalstackProvider>
|
|
323
|
+
</ExampleContainer>
|
|
273
324
|
</>
|
|
274
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
|
-
var _Button = _interopRequireDefault(require("./Button"));
|
|
10
|
-
|
|
6
|
+
var _Button = _interopRequireDefault(require("./Button.tsx"));
|
|
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,19 +1,19 @@
|
|
|
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
|
-
* Text to be placed
|
|
12
|
+
* Text to be placed in the button.
|
|
13
13
|
*/
|
|
14
14
|
label?: string;
|
|
15
15
|
/**
|
|
16
|
-
*
|
|
16
|
+
* The available button modes.
|
|
17
17
|
*/
|
|
18
18
|
mode?: "primary" | "secondary" | "text";
|
|
19
19
|
/**
|
|
@@ -25,11 +25,15 @@ declare type Props = {
|
|
|
25
25
|
*/
|
|
26
26
|
iconPosition?: "before" | "after";
|
|
27
27
|
/**
|
|
28
|
-
*
|
|
28
|
+
* Value for the HTML properties title and aria-label.
|
|
29
|
+
*/
|
|
30
|
+
title?: string;
|
|
31
|
+
/**
|
|
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
|
/**
|
|
@@ -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.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;
|