@dxc-technology/halstack-react 0.0.0-e1386cf → 0.0.0-e19ca5f
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 +122 -106
- package/README.md +47 -0
- package/accordion/Accordion.accessibility.test.js +71 -0
- package/accordion/Accordion.d.ts +1 -1
- package/accordion/Accordion.js +44 -118
- package/accordion/Accordion.stories.tsx +82 -147
- package/accordion/Accordion.test.js +19 -34
- package/accordion/types.d.ts +6 -18
- package/accordion-group/AccordionGroup.accessibility.test.js +88 -0
- package/accordion-group/AccordionGroup.d.ts +2 -2
- package/accordion-group/AccordionGroup.js +29 -77
- package/accordion-group/AccordionGroup.stories.tsx +78 -77
- package/accordion-group/AccordionGroup.test.js +44 -72
- 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 +7 -19
- 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 +36 -126
- 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 +1 -0
- 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 +18 -59
- package/box/Box.stories.tsx +38 -51
- package/box/Box.test.js +2 -7
- package/box/types.d.ts +3 -15
- 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 +22 -53
- package/bulleted-list/BulletedList.stories.tsx +8 -93
- 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 +71 -106
- package/button/Button.stories.tsx +143 -101
- package/button/Button.test.js +20 -17
- package/button/types.d.ts +9 -5
- 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 -12
- package/checkbox/Checkbox.accessibility.test.js +87 -0
- package/checkbox/Checkbox.js +90 -125
- package/checkbox/Checkbox.stories.tsx +68 -54
- package/checkbox/Checkbox.test.js +108 -64
- package/checkbox/types.d.ts +8 -4
- 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 +969 -1213
- 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/contextual-menu/types.js +5 -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 +694 -429
- 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 +51 -120
- package/dialog/Dialog.stories.tsx +316 -212
- package/dialog/Dialog.test.js +270 -33
- package/dialog/types.d.ts +18 -26
- 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 +66 -136
- package/dropdown/Dropdown.stories.tsx +209 -94
- package/dropdown/Dropdown.test.js +404 -390
- package/dropdown/DropdownMenu.js +23 -40
- package/dropdown/DropdownMenuItem.js +17 -38
- package/dropdown/types.d.ts +20 -24
- package/file-input/FileInput.accessibility.test.js +160 -0
- package/file-input/FileInput.js +184 -292
- package/file-input/FileInput.stories.tsx +86 -3
- package/file-input/FileInput.test.js +279 -395
- package/file-input/FileItem.js +31 -67
- package/file-input/types.d.ts +10 -10
- package/flex/Flex.js +27 -39
- package/flex/Flex.stories.tsx +35 -26
- package/flex/types.d.ts +74 -9
- 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 +94 -23
- package/footer/Footer.test.js +33 -57
- package/footer/Icons.d.ts +3 -2
- package/footer/Icons.js +53 -22
- package/footer/types.d.ts +26 -28
- 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 +55 -150
- package/header/Header.stories.tsx +130 -35
- package/header/Header.test.js +13 -26
- package/header/Icons.d.ts +2 -2
- package/header/Icons.js +3 -13
- package/header/types.d.ts +7 -22
- 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 +2 -1
- package/inset/types.d.ts +2 -2
- package/layout/ApplicationLayout.d.ts +5 -5
- package/layout/ApplicationLayout.js +36 -70
- package/layout/ApplicationLayout.stories.tsx +1 -1
- package/layout/Icons.d.ts +7 -5
- package/layout/Icons.js +41 -59
- package/layout/types.d.ts +5 -6
- package/link/Link.accessibility.test.js +108 -0
- package/link/Link.js +31 -50
- package/link/Link.stories.tsx +64 -4
- package/link/Link.test.js +24 -44
- package/link/types.d.ts +14 -14
- package/main.d.ts +11 -5
- package/main.js +54 -59
- package/nav-tabs/NavTabs.accessibility.test.js +44 -0
- package/nav-tabs/NavTabs.d.ts +7 -0
- package/{tabs-nav → nav-tabs}/NavTabs.js +25 -57
- 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 -413
- 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 +43 -46
- package/paginator/Paginator.accessibility.test.js +79 -0
- package/paginator/Paginator.js +34 -67
- package/paginator/Paginator.stories.tsx +24 -0
- package/paginator/Paginator.test.js +252 -225
- 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 +6 -22
- package/paragraph/Paragraph.stories.tsx +0 -17
- 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 +158 -141
- package/password-input/types.d.ts +8 -7
- package/progress-bar/ProgressBar.accessibility.test.js +35 -0
- package/progress-bar/ProgressBar.d.ts +2 -2
- package/progress-bar/ProgressBar.js +28 -58
- package/progress-bar/{ProgressBar.stories.jsx → ProgressBar.stories.tsx} +36 -3
- package/progress-bar/ProgressBar.test.js +36 -53
- package/progress-bar/types.d.ts +4 -3
- package/quick-nav/QuickNav.accessibility.test.js +57 -0
- package/quick-nav/QuickNav.js +4 -27
- package/quick-nav/QuickNav.stories.tsx +15 -1
- package/quick-nav/types.d.ts +10 -10
- package/radio-group/Radio.d.ts +1 -1
- package/radio-group/Radio.js +31 -63
- package/radio-group/RadioGroup.accessibility.test.js +97 -0
- package/radio-group/RadioGroup.js +46 -93
- package/radio-group/RadioGroup.stories.tsx +131 -18
- package/radio-group/RadioGroup.test.js +505 -471
- package/radio-group/types.d.ts +8 -8
- package/resultset-table/Icons.d.ts +7 -0
- package/{text-input → resultset-table}/Icons.js +13 -26
- 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 +43 -86
- package/select/Option.js +35 -56
- package/select/Select.accessibility.test.js +228 -0
- package/select/Select.js +140 -183
- package/select/Select.stories.tsx +496 -204
- package/select/Select.test.js +1949 -1917
- package/select/types.d.ts +17 -18
- package/sidenav/Sidenav.accessibility.test.js +59 -0
- package/sidenav/Sidenav.d.ts +2 -2
- package/sidenav/Sidenav.js +90 -157
- package/sidenav/Sidenav.stories.tsx +160 -63
- 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 +33 -30
- package/slider/Slider.accessibility.test.js +104 -0
- package/slider/Slider.js +75 -132
- package/slider/Slider.test.js +108 -104
- package/slider/types.d.ts +4 -4
- 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.js +52 -100
- package/switch/Switch.stories.tsx +45 -34
- package/switch/Switch.test.js +52 -97
- 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 +78 -35
- package/table/Table.stories.tsx +663 -0
- package/table/Table.test.js +94 -7
- package/table/types.d.ts +34 -6
- package/tabs/Tab.js +28 -46
- package/tabs/Tabs.accessibility.test.js +56 -0
- package/tabs/Tabs.js +69 -163
- package/tabs/Tabs.stories.tsx +50 -6
- package/tabs/Tabs.test.js +61 -136
- package/tabs/types.d.ts +21 -21
- package/tag/Tag.accessibility.test.js +69 -0
- package/tag/Tag.js +34 -66
- 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 +35 -25
- 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 +229 -335
- package/text-input/TextInput.stories.tsx +155 -162
- package/text-input/TextInput.test.js +1289 -1157
- package/text-input/types.d.ts +25 -17
- 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 +15 -123
- package/typography/Typography.stories.tsx +1 -1
- 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 +29 -75
- package/wizard/Wizard.stories.tsx +39 -0
- package/wizard/Wizard.test.js +54 -81
- package/wizard/types.d.ts +10 -11
- 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 -252
- package/resultsetTable/ResultsetTable.test.js +0 -348
- package/select/Icons.d.ts +0 -10
- package/select/Icons.js +0 -93
- package/slider/Slider.stories.tsx +0 -183
- 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 -130
- package/text-input/Icons.d.ts +0 -8
- package/textarea/Textarea.stories.jsx +0 -157
- /package/{resultsetTable → action-icon}/types.js +0 -0
- /package/{tabs-nav → breadcrumbs}/types.js +0 -0
- /package/{number-input/numberInputContextTypes.js → container/types.js} +0 -0
- /package/{tabs-nav → nav-tabs}/Tab.d.ts +0 -0
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import DxcButton from "./Button";
|
|
3
3
|
import DxcFlex from "./../flex/Flex";
|
|
4
|
-
import { BackgroundColorProvider } from "../BackgroundColorContext";
|
|
5
4
|
import Title from "../../.storybook/components/Title";
|
|
6
5
|
import ExampleContainer from "../../.storybook/components/ExampleContainer";
|
|
7
|
-
import
|
|
6
|
+
import { HalstackProvider } from "../HalstackContext";
|
|
8
7
|
|
|
9
8
|
export default {
|
|
10
9
|
title: "Button",
|
|
@@ -12,11 +11,49 @@ export default {
|
|
|
12
11
|
};
|
|
13
12
|
|
|
14
13
|
const iconSVG = (
|
|
15
|
-
<svg viewBox="0 0 24 24" fill="currentColor">
|
|
14
|
+
<svg width="24px" height="24px" viewBox="0 0 24 24" fill="currentColor">
|
|
16
15
|
<path d="M0 0h24v24H0z" fill="none" />
|
|
17
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" />
|
|
18
17
|
</svg>
|
|
19
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
|
+
|
|
20
57
|
export const Chromatic = () => (
|
|
21
58
|
<>
|
|
22
59
|
<Title title="Primary" theme="light" level={2} />
|
|
@@ -38,19 +75,27 @@ export const Chromatic = () => (
|
|
|
38
75
|
</ExampleContainer>
|
|
39
76
|
<ExampleContainer>
|
|
40
77
|
<Title title="Disabled" theme="light" level={4} />
|
|
41
|
-
<DxcButton label="Primary disabled" disabled />
|
|
78
|
+
<DxcButton label="Primary disabled" disabled icon="filled_bottom_app_bar" />
|
|
42
79
|
</ExampleContainer>
|
|
43
80
|
<ExampleContainer>
|
|
44
81
|
<Title title="With left icon" theme="light" level={4} />
|
|
45
|
-
<DxcButton label="Primary" icon=
|
|
82
|
+
<DxcButton label="Primary" icon="filled_bottom_app_bar" />
|
|
46
83
|
</ExampleContainer>
|
|
47
84
|
<ExampleContainer>
|
|
48
85
|
<Title title="With right icon" theme="light" level={4} />
|
|
49
|
-
<DxcButton label="Primary" icon=
|
|
86
|
+
<DxcButton label="Primary" icon="filled_bottom_app_bar" iconPosition="after" />
|
|
50
87
|
</ExampleContainer>
|
|
51
88
|
<ExampleContainer>
|
|
52
89
|
<Title title="Only icon" theme="light" level={4} />
|
|
53
|
-
<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" />
|
|
54
99
|
</ExampleContainer>
|
|
55
100
|
<Title title="Secondary" theme="light" level={2} />
|
|
56
101
|
<ExampleContainer>
|
|
@@ -71,11 +116,11 @@ export const Chromatic = () => (
|
|
|
71
116
|
</ExampleContainer>
|
|
72
117
|
<ExampleContainer>
|
|
73
118
|
<Title title="Disabled" theme="light" level={4} />
|
|
74
|
-
<DxcButton mode="secondary" disabled label="Secondary disabled" />
|
|
119
|
+
<DxcButton mode="secondary" disabled label="Secondary disabled" icon="filled_bottom_app_bar" />
|
|
75
120
|
</ExampleContainer>
|
|
76
121
|
<ExampleContainer>
|
|
77
122
|
<Title title="With icon" theme="light" level={4} />
|
|
78
|
-
<DxcButton mode="secondary" label="Secondary" icon=
|
|
123
|
+
<DxcButton mode="secondary" label="Secondary" icon="filled_bottom_app_bar" />
|
|
79
124
|
</ExampleContainer>
|
|
80
125
|
<Title title="Text" theme="light" level={2} />
|
|
81
126
|
<ExampleContainer>
|
|
@@ -96,91 +141,12 @@ export const Chromatic = () => (
|
|
|
96
141
|
</ExampleContainer>
|
|
97
142
|
<ExampleContainer>
|
|
98
143
|
<Title title="Disabled" theme="light" level={4} />
|
|
99
|
-
<DxcButton mode="text" label="Text disabled" disabled />
|
|
144
|
+
<DxcButton mode="text" label="Text disabled" disabled icon="filled_bottom_app_bar" />
|
|
100
145
|
</ExampleContainer>
|
|
101
146
|
<ExampleContainer>
|
|
102
147
|
<Title title="With icon" theme="light" level={4} />
|
|
103
|
-
<DxcButton label="Text" mode="text" icon=
|
|
104
|
-
</ExampleContainer>
|
|
105
|
-
<BackgroundColorProvider color="#333333">
|
|
106
|
-
<DarkContainer>
|
|
107
|
-
<Title title="Primary" theme="dark" level={2} />
|
|
108
|
-
<ExampleContainer>
|
|
109
|
-
<Title title="Enabled" theme="dark" level={4} />
|
|
110
|
-
<DxcButton label="Primary enabled" />
|
|
111
|
-
</ExampleContainer>
|
|
112
|
-
<ExampleContainer pseudoState="pseudo-hover">
|
|
113
|
-
<Title title="Hovered" theme="dark" level={4} />
|
|
114
|
-
<DxcButton label="Primary hovered" />
|
|
115
|
-
</ExampleContainer>
|
|
116
|
-
<ExampleContainer pseudoState="pseudo-focus">
|
|
117
|
-
<Title title="Focused" theme="dark" level={4} />
|
|
118
|
-
<DxcButton label="Primary focused" />
|
|
119
|
-
</ExampleContainer>
|
|
120
|
-
<ExampleContainer pseudoState="pseudo-active">
|
|
121
|
-
<Title title="Actived" theme="dark" level={4} />
|
|
122
|
-
<DxcButton label="Primary actived" />
|
|
123
|
-
</ExampleContainer>
|
|
124
|
-
<ExampleContainer>
|
|
125
|
-
<Title title="Disabled" theme="dark" level={4} />
|
|
126
|
-
<DxcButton label="Primary disabled" disabled />
|
|
127
|
-
</ExampleContainer>
|
|
128
|
-
<ExampleContainer>
|
|
129
|
-
<Title title="With icon" theme="dark" level={4} />
|
|
130
|
-
<DxcButton label="Primary" icon={iconSVG} />
|
|
131
|
-
</ExampleContainer>
|
|
132
|
-
<Title title="Secondary" theme="dark" level={2} />
|
|
133
|
-
<ExampleContainer>
|
|
134
|
-
<Title title="Enabled" theme="dark" level={4} />
|
|
135
|
-
<DxcButton mode="secondary" label="Secondary enabled" />
|
|
136
|
-
</ExampleContainer>
|
|
137
|
-
<ExampleContainer pseudoState="pseudo-hover">
|
|
138
|
-
<Title title="Hovered" theme="dark" level={4} />
|
|
139
|
-
<DxcButton mode="secondary" label="Secondary hovered" />
|
|
140
|
-
</ExampleContainer>
|
|
141
|
-
<ExampleContainer pseudoState="pseudo-focus">
|
|
142
|
-
<Title title="Focused" theme="dark" level={4} />
|
|
143
|
-
<DxcButton mode="secondary" label="Secondary focused" />
|
|
144
|
-
</ExampleContainer>
|
|
145
|
-
<ExampleContainer pseudoState="pseudo-active">
|
|
146
|
-
<Title title="Actived" theme="dark" level={4} />
|
|
147
|
-
<DxcButton mode="secondary" label="Secondary actived" />
|
|
148
|
-
</ExampleContainer>
|
|
149
|
-
<ExampleContainer>
|
|
150
|
-
<Title title="Disabled" theme="dark" level={4} />
|
|
151
|
-
<DxcButton mode="secondary" disabled label="Secondary disabled" />
|
|
152
|
-
</ExampleContainer>
|
|
153
|
-
<ExampleContainer>
|
|
154
|
-
<Title title="With icon" theme="dark" level={4} />
|
|
155
|
-
<DxcButton mode="secondary" label="Primary" icon={iconSVG} />
|
|
156
|
-
</ExampleContainer>
|
|
157
|
-
<Title title="Text" theme="dark" level={2} />
|
|
158
|
-
<ExampleContainer>
|
|
159
|
-
<Title title="Enabled" theme="dark" level={4} />
|
|
160
|
-
<DxcButton mode="text" label="Text enabled" />
|
|
161
|
-
</ExampleContainer>
|
|
162
|
-
<ExampleContainer pseudoState="pseudo-hover">
|
|
163
|
-
<Title title="Hovered" theme="dark" level={4} />
|
|
164
|
-
<DxcButton mode="text" label="Text hovered" />
|
|
165
|
-
</ExampleContainer>
|
|
166
|
-
<ExampleContainer pseudoState="pseudo-focus">
|
|
167
|
-
<Title title="Focused" theme="dark" level={4} />
|
|
168
|
-
<DxcButton mode="text" label="Text focused" />
|
|
169
|
-
</ExampleContainer>
|
|
170
|
-
<ExampleContainer pseudoState="pseudo-active">
|
|
171
|
-
<Title title="Actived" theme="dark" level={4} />
|
|
172
|
-
<DxcButton mode="text" label="Text actived" />
|
|
173
|
-
</ExampleContainer>
|
|
174
|
-
<ExampleContainer>
|
|
175
|
-
<Title title="Disabled" theme="dark" level={4} />
|
|
176
|
-
<DxcButton mode="text" label="Text disabled" disabled />
|
|
177
|
-
</ExampleContainer>
|
|
178
|
-
<ExampleContainer>
|
|
179
|
-
<Title title="With icon" theme="dark" level={4} />
|
|
180
|
-
<DxcButton mode="text" label="Primary" icon={iconSVG} />
|
|
181
|
-
</ExampleContainer>
|
|
182
|
-
</DarkContainer>
|
|
183
|
-
</BackgroundColorProvider>
|
|
148
|
+
<DxcButton label="Text" mode="text" icon="filled_bottom_app_bar" />
|
|
149
|
+
</ExampleContainer>
|
|
184
150
|
<Title title="Sizes" theme="light" level={2} />
|
|
185
151
|
<ExampleContainer>
|
|
186
152
|
<Title title="Small size" theme="light" level={4} />
|
|
@@ -188,7 +154,7 @@ export const Chromatic = () => (
|
|
|
188
154
|
</ExampleContainer>
|
|
189
155
|
<ExampleContainer>
|
|
190
156
|
<Title title="Medium size" theme="light" level={4} />
|
|
191
|
-
<DxcButton label="
|
|
157
|
+
<DxcButton label="MediumSize" size="medium" />
|
|
192
158
|
</ExampleContainer>
|
|
193
159
|
<ExampleContainer>
|
|
194
160
|
<Title title="Medium size with ellipsis" theme="light" level={4} />
|
|
@@ -196,19 +162,19 @@ export const Chromatic = () => (
|
|
|
196
162
|
</ExampleContainer>
|
|
197
163
|
<ExampleContainer>
|
|
198
164
|
<Title title="Medium size icon after" theme="light" level={4} />
|
|
199
|
-
<DxcButton label="
|
|
165
|
+
<DxcButton label="Medium" iconPosition="after" icon="filled_bottom_app_bar" size="medium" />
|
|
200
166
|
</ExampleContainer>
|
|
201
167
|
<ExampleContainer>
|
|
202
168
|
<Title title="Medium size icon before" theme="light" level={4} />
|
|
203
|
-
<DxcButton label="
|
|
169
|
+
<DxcButton label="Medium" iconPosition="before" icon="filled_bottom_app_bar" size="medium" />
|
|
204
170
|
</ExampleContainer>
|
|
205
171
|
<ExampleContainer>
|
|
206
172
|
<Title title="Medium size icon after with ellipsis" theme="light" level={4} />
|
|
207
|
-
<DxcButton label="Medium" iconPosition="after" icon=
|
|
173
|
+
<DxcButton label="Medium" iconPosition="after" icon="filled_bottom_app_bar" size="medium" />
|
|
208
174
|
</ExampleContainer>
|
|
209
175
|
<ExampleContainer>
|
|
210
176
|
<Title title="Medium size icon before with ellipsis" theme="light" level={4} />
|
|
211
|
-
<DxcButton label="Medium" iconPosition="before" icon=
|
|
177
|
+
<DxcButton label="Medium" iconPosition="before" icon="filled_bottom_app_bar" size="medium" />
|
|
212
178
|
</ExampleContainer>
|
|
213
179
|
<ExampleContainer>
|
|
214
180
|
<Title title="Large size" theme="light" level={4} />
|
|
@@ -220,19 +186,19 @@ export const Chromatic = () => (
|
|
|
220
186
|
</ExampleContainer>
|
|
221
187
|
<ExampleContainer>
|
|
222
188
|
<Title title="Large size icon after" theme="light" level={4} />
|
|
223
|
-
<DxcButton label="
|
|
189
|
+
<DxcButton label="LargeSizePrimaryButton" iconPosition="after" icon="filled_bottom_app_bar" size="large" />
|
|
224
190
|
</ExampleContainer>
|
|
225
191
|
<ExampleContainer>
|
|
226
192
|
<Title title="Large size icon before" theme="light" level={4} />
|
|
227
|
-
<DxcButton label="
|
|
193
|
+
<DxcButton label="LargeSizePrimaryButton" iconPosition="before" icon="filled_bottom_app_bar" size="large" />
|
|
228
194
|
</ExampleContainer>
|
|
229
195
|
<ExampleContainer>
|
|
230
196
|
<Title title="Large size icon after with ellipsis" theme="light" level={4} />
|
|
231
|
-
<DxcButton label="LargeSizePrimaryButton" iconPosition="after" icon=
|
|
197
|
+
<DxcButton label="LargeSizePrimaryButton" iconPosition="after" icon="filled_bottom_app_bar" size="large" />
|
|
232
198
|
</ExampleContainer>
|
|
233
199
|
<ExampleContainer>
|
|
234
200
|
<Title title="Large size icon before with ellipsis" theme="light" level={4} />
|
|
235
|
-
<DxcButton label="LargeSizePrimaryButton" iconPosition="before" icon=
|
|
201
|
+
<DxcButton label="LargeSizePrimaryButton" iconPosition="before" icon="filled_bottom_app_bar" size="large" />
|
|
236
202
|
</ExampleContainer>
|
|
237
203
|
<ExampleContainer>
|
|
238
204
|
<Title title="FillParent size" theme="light" level={4} />
|
|
@@ -273,11 +239,87 @@ export const Chromatic = () => (
|
|
|
273
239
|
</ExampleContainer>
|
|
274
240
|
<Title title="Inside a flex" theme="light" level={2} />
|
|
275
241
|
<ExampleContainer>
|
|
276
|
-
<DxcFlex direction="column" gap="
|
|
242
|
+
<DxcFlex direction="column" gap="1rem">
|
|
277
243
|
<DxcButton label="Button" />
|
|
278
244
|
<DxcButton label="Button" />
|
|
279
245
|
<DxcButton label="Button" />
|
|
280
246
|
</DxcFlex>
|
|
281
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>
|
|
282
324
|
</>
|
|
283
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,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
|
/**
|
|
@@ -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;
|