@dxc-technology/halstack-react 0.0.0-efa7c74 → 0.0.0-eff2879
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 -0
- package/BackgroundColorContext.js +6 -26
- package/HalstackContext.d.ts +1248 -0
- package/HalstackContext.js +310 -0
- package/README.md +47 -0
- package/accordion/Accordion.accessibility.test.js +71 -0
- package/accordion/Accordion.d.ts +1 -1
- package/accordion/Accordion.js +106 -193
- package/accordion/Accordion.stories.tsx +251 -0
- package/accordion/Accordion.test.js +56 -0
- package/accordion/types.d.ts +12 -23
- package/accordion-group/AccordionGroup.accessibility.test.js +88 -0
- package/accordion-group/AccordionGroup.d.ts +3 -3
- package/accordion-group/AccordionGroup.js +39 -108
- package/accordion-group/AccordionGroup.stories.tsx +252 -0
- package/accordion-group/AccordionGroup.test.js +98 -0
- 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 +18 -23
- 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 +75 -0
- package/alert/types.d.ts +5 -5
- package/badge/Badge.accessibility.test.js +129 -0
- package/badge/Badge.d.ts +4 -0
- package/badge/Badge.js +142 -40
- package/badge/Badge.stories.tsx +210 -0
- package/badge/Badge.test.js +30 -0
- package/badge/types.d.ts +54 -0
- package/bleed/Bleed.d.ts +3 -0
- package/bleed/Bleed.js +43 -0
- package/bleed/Bleed.stories.tsx +342 -0
- package/bleed/types.d.ts +37 -0
- package/box/Box.accessibility.test.js +33 -0
- package/box/Box.d.ts +1 -1
- package/box/Box.js +31 -82
- package/box/Box.stories.tsx +38 -51
- package/box/Box.test.js +13 -0
- package/box/types.d.ts +3 -14
- package/bulleted-list/BulletedList.accessibility.test.js +107 -0
- package/bulleted-list/BulletedList.d.ts +7 -0
- package/bulleted-list/BulletedList.js +92 -0
- package/bulleted-list/BulletedList.stories.tsx +115 -0
- package/bulleted-list/types.d.ts +38 -0
- package/bulleted-list/types.js +5 -0
- package/button/Button.accessibility.test.js +127 -0
- package/button/Button.d.ts +1 -1
- package/button/Button.js +65 -123
- package/button/Button.stories.tsx +155 -106
- package/button/Button.test.js +38 -0
- package/button/types.d.ts +12 -12
- package/card/Card.accessibility.test.js +36 -0
- package/card/Card.d.ts +1 -1
- package/card/Card.js +59 -103
- package/card/Card.stories.tsx +13 -43
- package/card/Card.test.js +39 -0
- 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 +145 -183
- package/checkbox/Checkbox.stories.tsx +166 -136
- package/checkbox/Checkbox.test.js +199 -0
- package/checkbox/types.d.ts +19 -7
- package/chip/Chip.accessibility.test.js +67 -0
- package/chip/Chip.d.ts +4 -0
- package/chip/Chip.js +49 -146
- package/chip/Chip.stories.tsx +104 -30
- package/chip/Chip.test.js +41 -0
- package/chip/types.d.ts +45 -0
- package/chip/types.js +5 -0
- 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 +1394 -0
- package/common/variables.js +1035 -1346
- 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 +86 -0
- package/contextual-menu/ContextualMenu.d.ts +5 -0
- package/contextual-menu/ContextualMenu.js +88 -0
- package/contextual-menu/ContextualMenu.stories.tsx +219 -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 +52 -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 +216 -0
- package/date-input/DateInput.js +174 -313
- package/date-input/DateInput.stories.tsx +203 -56
- package/date-input/DateInput.test.js +808 -0
- 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 +86 -22
- package/dialog/Dialog.accessibility.test.js +69 -0
- package/dialog/Dialog.d.ts +1 -1
- package/dialog/Dialog.js +57 -130
- package/dialog/Dialog.stories.tsx +320 -167
- package/dialog/Dialog.test.js +307 -0
- 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/divider/types.js +5 -0
- package/dropdown/Dropdown.accessibility.test.js +180 -0
- package/dropdown/Dropdown.d.ts +1 -1
- package/dropdown/Dropdown.js +232 -330
- package/dropdown/Dropdown.stories.tsx +427 -0
- package/dropdown/Dropdown.test.js +599 -0
- package/dropdown/DropdownMenu.d.ts +4 -0
- package/dropdown/DropdownMenu.js +63 -0
- package/dropdown/DropdownMenuItem.d.ts +4 -0
- package/dropdown/DropdownMenuItem.js +70 -0
- package/dropdown/types.d.ts +38 -31
- package/file-input/FileInput.accessibility.test.js +160 -0
- package/file-input/FileInput.d.ts +2 -2
- package/file-input/FileInput.js +272 -340
- package/file-input/FileInput.stories.tsx +618 -0
- package/file-input/FileInput.test.js +382 -0
- package/file-input/FileItem.d.ts +4 -14
- package/file-input/FileItem.js +60 -121
- package/file-input/types.d.ts +53 -11
- 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/flex/types.js +5 -0
- package/footer/Footer.accessibility.test.js +117 -0
- package/footer/Footer.d.ts +1 -1
- package/footer/Footer.js +74 -200
- package/footer/{Footer.stories.jsx → Footer.stories.tsx} +84 -39
- package/footer/Footer.test.js +85 -0
- package/footer/Icons.d.ts +3 -0
- package/footer/Icons.js +67 -8
- package/footer/types.d.ts +40 -37
- 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 +84 -0
- package/header/Header.d.ts +4 -3
- package/header/Header.js +103 -218
- package/header/Header.stories.tsx +152 -63
- package/header/Header.test.js +66 -0
- package/header/Icons.d.ts +2 -0
- package/header/Icons.js +4 -9
- package/header/types.d.ts +7 -21
- package/heading/Heading.accessibility.test.js +33 -0
- package/heading/Heading.js +11 -33
- package/heading/Heading.stories.tsx +3 -2
- package/heading/Heading.test.js +169 -0
- 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.d.ts +3 -0
- package/inset/Inset.js +43 -0
- package/inset/Inset.stories.tsx +230 -0
- package/inset/types.d.ts +37 -0
- package/inset/types.js +5 -0
- package/layout/ApplicationLayout.d.ts +20 -0
- package/layout/ApplicationLayout.js +86 -184
- package/layout/ApplicationLayout.stories.tsx +162 -0
- package/layout/Icons.d.ts +7 -0
- package/layout/Icons.js +41 -48
- package/layout/types.d.ts +41 -0
- package/layout/types.js +5 -0
- package/link/Link.accessibility.test.js +112 -0
- package/link/Link.d.ts +3 -2
- package/link/Link.js +65 -109
- package/link/Link.stories.tsx +159 -52
- package/link/Link.test.js +63 -0
- package/link/types.d.ts +15 -35
- package/main.d.ts +19 -14
- package/main.js +92 -98
- package/nav-tabs/NavTabs.accessibility.test.js +44 -0
- package/nav-tabs/NavTabs.d.ts +7 -0
- package/nav-tabs/NavTabs.js +93 -0
- package/nav-tabs/NavTabs.stories.tsx +279 -0
- package/nav-tabs/NavTabs.test.js +75 -0
- package/nav-tabs/NavTabsContext.d.ts +3 -0
- package/nav-tabs/NavTabsContext.js +8 -0
- package/nav-tabs/Tab.d.ts +4 -0
- package/nav-tabs/Tab.js +117 -0
- package/nav-tabs/types.d.ts +52 -0
- package/nav-tabs/types.js +5 -0
- package/number-input/NumberInput.accessibility.test.js +228 -0
- package/number-input/NumberInput.js +48 -48
- package/number-input/NumberInput.stories.tsx +44 -28
- package/number-input/NumberInput.test.js +989 -0
- package/number-input/NumberInputContext.d.ts +3 -4
- package/number-input/NumberInputContext.js +3 -14
- package/number-input/types.d.ts +34 -15
- package/package.json +52 -51
- package/paginator/Paginator.accessibility.test.js +79 -0
- package/paginator/Paginator.js +39 -103
- package/paginator/Paginator.stories.tsx +24 -0
- package/paginator/Paginator.test.js +335 -0
- package/paginator/types.d.ts +3 -3
- package/paragraph/Paragraph.accessibility.test.js +28 -0
- package/paragraph/Paragraph.d.ts +5 -0
- package/paragraph/Paragraph.js +22 -0
- package/paragraph/Paragraph.stories.tsx +27 -0
- package/password-input/PasswordInput.accessibility.test.js +153 -0
- package/password-input/PasswordInput.js +59 -125
- package/password-input/PasswordInput.stories.tsx +3 -35
- package/password-input/PasswordInput.test.js +198 -0
- package/password-input/types.d.ts +32 -26
- package/progress-bar/ProgressBar.accessibility.test.js +35 -0
- package/progress-bar/ProgressBar.js +66 -92
- package/progress-bar/ProgressBar.stories.tsx +93 -0
- package/progress-bar/ProgressBar.test.js +93 -0
- package/progress-bar/types.d.ts +3 -3
- package/quick-nav/QuickNav.accessibility.test.js +57 -0
- package/quick-nav/QuickNav.d.ts +4 -0
- package/quick-nav/QuickNav.js +94 -0
- package/quick-nav/QuickNav.stories.tsx +356 -0
- package/quick-nav/types.d.ts +21 -0
- package/quick-nav/types.js +5 -0
- package/radio-group/Radio.d.ts +4 -0
- package/radio-group/Radio.js +124 -0
- package/radio-group/RadioGroup.accessibility.test.js +97 -0
- package/radio-group/RadioGroup.d.ts +4 -0
- package/radio-group/RadioGroup.js +235 -0
- package/radio-group/RadioGroup.stories.tsx +214 -0
- package/radio-group/RadioGroup.test.js +756 -0
- package/radio-group/types.d.ts +114 -0
- package/radio-group/types.js +5 -0
- package/resultset-table/Icons.d.ts +7 -0
- package/resultset-table/Icons.js +47 -0
- package/resultset-table/ResultsetTable.accessibility.test.js +274 -0
- package/resultset-table/ResultsetTable.d.ts +7 -0
- package/resultset-table/ResultsetTable.js +170 -0
- package/resultset-table/ResultsetTable.stories.tsx +401 -0
- package/resultset-table/ResultsetTable.test.js +381 -0
- package/resultset-table/types.d.ts +100 -0
- package/resultset-table/types.js +5 -0
- package/select/Listbox.d.ts +4 -0
- package/select/Listbox.js +145 -0
- package/select/Option.d.ts +4 -0
- package/select/Option.js +88 -0
- package/select/Select.accessibility.test.js +217 -0
- package/select/Select.d.ts +4 -0
- package/select/Select.js +248 -515
- package/select/Select.stories.tsx +590 -255
- package/select/Select.test.js +2276 -0
- package/select/types.d.ts +209 -0
- package/select/types.js +5 -0
- package/sidenav/Sidenav.accessibility.test.js +59 -0
- package/sidenav/Sidenav.d.ts +6 -5
- package/sidenav/Sidenav.js +137 -72
- package/sidenav/Sidenav.stories.tsx +246 -134
- package/sidenav/Sidenav.test.js +37 -0
- package/sidenav/SidenavContext.d.ts +5 -0
- package/sidenav/SidenavContext.js +13 -0
- 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.test.js +254 -0
- package/slider/types.d.ts +11 -3
- package/spinner/Spinner.accessibility.test.js +96 -0
- package/spinner/Spinner.js +32 -76
- package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +53 -26
- package/spinner/Spinner.test.js +55 -0
- 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 +89 -0
- package/switch/Switch.d.ts +2 -2
- package/switch/Switch.js +150 -115
- package/switch/Switch.stories.tsx +45 -68
- package/switch/Switch.test.js +180 -0
- package/switch/types.d.ts +13 -5
- package/table/DropdownTheme.js +62 -0
- package/table/Table.accessibility.test.js +82 -0
- package/table/Table.d.ts +6 -2
- package/table/Table.js +79 -36
- package/table/Table.stories.tsx +651 -0
- package/table/Table.test.js +113 -0
- 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.d.ts +1 -1
- package/tabs/Tabs.js +307 -147
- package/tabs/Tabs.stories.tsx +121 -18
- package/tabs/Tabs.test.js +276 -0
- package/tabs/types.d.ts +46 -24
- package/tag/Tag.accessibility.test.js +69 -0
- package/tag/Tag.d.ts +1 -1
- package/tag/Tag.js +44 -86
- package/tag/Tag.stories.tsx +37 -30
- package/tag/Tag.test.js +41 -0
- package/tag/types.d.ts +25 -16
- package/text-input/Suggestion.d.ts +4 -0
- package/text-input/Suggestion.js +67 -0
- package/text-input/Suggestions.d.ts +4 -0
- package/text-input/Suggestions.js +86 -0
- package/text-input/TextInput.accessibility.test.js +321 -0
- package/text-input/TextInput.js +335 -553
- package/text-input/TextInput.stories.tsx +465 -0
- package/text-input/TextInput.test.js +1756 -0
- package/text-input/types.d.ts +82 -34
- package/textarea/Textarea.accessibility.test.js +155 -0
- package/textarea/Textarea.d.ts +4 -0
- package/textarea/Textarea.js +98 -181
- package/textarea/Textarea.stories.tsx +174 -0
- package/textarea/Textarea.test.js +406 -0
- package/textarea/types.d.ts +141 -0
- package/textarea/types.js +5 -0
- package/toggle-group/ToggleGroup.accessibility.test.js +107 -0
- package/toggle-group/ToggleGroup.d.ts +2 -2
- package/toggle-group/ToggleGroup.js +98 -113
- package/toggle-group/ToggleGroup.stories.tsx +79 -39
- package/toggle-group/ToggleGroup.test.js +137 -0
- package/toggle-group/types.d.ts +68 -38
- package/typography/Typography.accessibility.test.js +339 -0
- package/typography/Typography.d.ts +4 -0
- package/typography/Typography.js +23 -0
- package/typography/Typography.stories.tsx +198 -0
- package/typography/types.d.ts +18 -0
- package/typography/types.js +5 -0
- package/useTheme.d.ts +1147 -0
- package/useTheme.js +4 -11
- package/useTranslatedLabels.d.ts +85 -0
- package/useTranslatedLabels.js +14 -0
- 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.d.ts +1 -1
- package/wizard/Wizard.js +130 -114
- package/wizard/{Wizard.stories.jsx → Wizard.stories.tsx} +67 -19
- package/wizard/Wizard.test.js +114 -0
- package/wizard/types.d.ts +15 -15
- package/ThemeContext.js +0 -246
- package/V3Select/V3Select.js +0 -455
- package/V3Select/index.d.ts +0 -27
- package/V3Textarea/V3Textarea.js +0 -260
- package/V3Textarea/index.d.ts +0 -27
- package/card/ice-cream.jpg +0 -0
- package/chip/index.d.ts +0 -22
- 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/date/Date.js +0 -373
- package/date/index.d.ts +0 -27
- package/input-text/Icons.js +0 -22
- package/input-text/InputText.js +0 -611
- package/input-text/index.d.ts +0 -36
- package/number-input/numberInputContextTypes.d.ts +0 -19
- package/paginator/Icons.js +0 -66
- package/progress-bar/ProgressBar.stories.jsx +0 -58
- package/radio/Radio.d.ts +0 -4
- package/radio/Radio.js +0 -174
- package/radio/Radio.stories.tsx +0 -192
- package/radio/types.d.ts +0 -54
- package/resultsetTable/ResultsetTable.d.ts +0 -4
- package/resultsetTable/ResultsetTable.js +0 -249
- package/resultsetTable/types.d.ts +0 -63
- package/select/index.d.ts +0 -131
- package/slider/Slider.stories.tsx +0 -177
- package/table/Table.stories.jsx +0 -276
- package/textarea/Textarea.stories.jsx +0 -135
- package/textarea/index.d.ts +0 -117
- package/toggle/Toggle.js +0 -186
- package/toggle/index.d.ts +0 -21
- package/upload/Upload.js +0 -201
- package/upload/buttons-upload/ButtonsUpload.js +0 -111
- package/upload/buttons-upload/Icons.js +0 -40
- package/upload/dragAndDropArea/DragAndDropArea.js +0 -225
- package/upload/dragAndDropArea/Icons.js +0 -39
- package/upload/file-upload/FileToUpload.js +0 -115
- package/upload/file-upload/Icons.js +0 -66
- package/upload/files-upload/FilesToUpload.js +0 -109
- package/upload/index.d.ts +0 -15
- package/upload/transaction/Icons.js +0 -160
- package/upload/transaction/Transaction.js +0 -104
- package/upload/transactions/Transactions.js +0 -94
- package/wizard/Icons.js +0 -65
- /package/{radio → action-icon}/types.js +0 -0
- /package/{resultsetTable → badge}/types.js +0 -0
- /package/{number-input/numberInputContextTypes.js → bleed/types.js} +0 -0
|
@@ -1,23 +1,59 @@
|
|
|
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",
|
|
10
10
|
component: DxcButton,
|
|
11
11
|
};
|
|
12
12
|
|
|
13
|
-
const iconSVG = (
|
|
14
|
-
|
|
15
|
-
<
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
13
|
+
const iconSVG = (
|
|
14
|
+
<svg width="24px" height="24px" viewBox="0 0 24 24" fill="currentColor">
|
|
15
|
+
<path d="M0 0h24v24H0z" fill="none" />
|
|
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
|
+
</svg>
|
|
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
|
+
},
|
|
20
55
|
};
|
|
56
|
+
|
|
21
57
|
export const Chromatic = () => (
|
|
22
58
|
<>
|
|
23
59
|
<Title title="Primary" theme="light" level={2} />
|
|
@@ -39,19 +75,27 @@ export const Chromatic = () => (
|
|
|
39
75
|
</ExampleContainer>
|
|
40
76
|
<ExampleContainer>
|
|
41
77
|
<Title title="Disabled" theme="light" level={4} />
|
|
42
|
-
<DxcButton label="Primary disabled" disabled />
|
|
78
|
+
<DxcButton label="Primary disabled" disabled icon="filled_bottom_app_bar" />
|
|
43
79
|
</ExampleContainer>
|
|
44
80
|
<ExampleContainer>
|
|
45
81
|
<Title title="With left icon" theme="light" level={4} />
|
|
46
|
-
<DxcButton label="Primary" icon=
|
|
82
|
+
<DxcButton label="Primary" icon="filled_bottom_app_bar" />
|
|
47
83
|
</ExampleContainer>
|
|
48
84
|
<ExampleContainer>
|
|
49
85
|
<Title title="With right icon" theme="light" level={4} />
|
|
50
|
-
<DxcButton label="Primary" icon=
|
|
86
|
+
<DxcButton label="Primary" icon="filled_bottom_app_bar" iconPosition="after" />
|
|
51
87
|
</ExampleContainer>
|
|
52
88
|
<ExampleContainer>
|
|
53
89
|
<Title title="Only icon" theme="light" level={4} />
|
|
54
|
-
<DxcButton icon=
|
|
90
|
+
<DxcButton icon="filled_bottom_app_bar" />
|
|
91
|
+
</ExampleContainer>
|
|
92
|
+
<ExampleContainer>
|
|
93
|
+
<Title title="Big icon (SVG)" theme="light" level={4} />
|
|
94
|
+
<DxcButton icon={facebookIcon} />
|
|
95
|
+
</ExampleContainer>
|
|
96
|
+
<ExampleContainer>
|
|
97
|
+
<Title title="Small icon (SVG)" theme="light" level={4} />
|
|
98
|
+
<DxcButton icon={smallIcon} />
|
|
55
99
|
</ExampleContainer>
|
|
56
100
|
<Title title="Secondary" theme="light" level={2} />
|
|
57
101
|
<ExampleContainer>
|
|
@@ -72,11 +116,11 @@ export const Chromatic = () => (
|
|
|
72
116
|
</ExampleContainer>
|
|
73
117
|
<ExampleContainer>
|
|
74
118
|
<Title title="Disabled" theme="light" level={4} />
|
|
75
|
-
<DxcButton mode="secondary" disabled label="Secondary disabled" />
|
|
119
|
+
<DxcButton mode="secondary" disabled label="Secondary disabled" icon="filled_bottom_app_bar" />
|
|
76
120
|
</ExampleContainer>
|
|
77
121
|
<ExampleContainer>
|
|
78
122
|
<Title title="With icon" theme="light" level={4} />
|
|
79
|
-
<DxcButton mode="secondary" label="Secondary" icon=
|
|
123
|
+
<DxcButton mode="secondary" label="Secondary" icon="filled_bottom_app_bar" />
|
|
80
124
|
</ExampleContainer>
|
|
81
125
|
<Title title="Text" theme="light" level={2} />
|
|
82
126
|
<ExampleContainer>
|
|
@@ -97,91 +141,12 @@ export const Chromatic = () => (
|
|
|
97
141
|
</ExampleContainer>
|
|
98
142
|
<ExampleContainer>
|
|
99
143
|
<Title title="Disabled" theme="light" level={4} />
|
|
100
|
-
<DxcButton mode="text" label="Text disabled" disabled />
|
|
144
|
+
<DxcButton mode="text" label="Text disabled" disabled icon="filled_bottom_app_bar" />
|
|
101
145
|
</ExampleContainer>
|
|
102
146
|
<ExampleContainer>
|
|
103
147
|
<Title title="With icon" theme="light" level={4} />
|
|
104
|
-
<DxcButton label="Text" mode="text" icon=
|
|
105
|
-
</ExampleContainer>
|
|
106
|
-
<BackgroundColorProvider color="#333333">
|
|
107
|
-
<DarkContainer>
|
|
108
|
-
<Title title="Primary" theme="dark" level={2} />
|
|
109
|
-
<ExampleContainer>
|
|
110
|
-
<Title title="Enabled" theme="dark" level={4} />
|
|
111
|
-
<DxcButton label="Primary enabled" />
|
|
112
|
-
</ExampleContainer>
|
|
113
|
-
<ExampleContainer pseudoState="pseudo-hover">
|
|
114
|
-
<Title title="Hovered" theme="dark" level={4} />
|
|
115
|
-
<DxcButton label="Primary hovered" />
|
|
116
|
-
</ExampleContainer>
|
|
117
|
-
<ExampleContainer pseudoState="pseudo-focus">
|
|
118
|
-
<Title title="Focused" theme="dark" level={4} />
|
|
119
|
-
<DxcButton label="Primary focused" />
|
|
120
|
-
</ExampleContainer>
|
|
121
|
-
<ExampleContainer pseudoState="pseudo-active">
|
|
122
|
-
<Title title="Actived" theme="dark" level={4} />
|
|
123
|
-
<DxcButton label="Primary actived" />
|
|
124
|
-
</ExampleContainer>
|
|
125
|
-
<ExampleContainer>
|
|
126
|
-
<Title title="Disabled" theme="dark" level={4} />
|
|
127
|
-
<DxcButton label="Primary disabled" disabled />
|
|
128
|
-
</ExampleContainer>
|
|
129
|
-
<ExampleContainer>
|
|
130
|
-
<Title title="With icon" theme="dark" level={4} />
|
|
131
|
-
<DxcButton label="Primary" icon={iconSVG} />
|
|
132
|
-
</ExampleContainer>
|
|
133
|
-
<Title title="Secondary" theme="dark" level={2} />
|
|
134
|
-
<ExampleContainer>
|
|
135
|
-
<Title title="Enabled" theme="dark" level={4} />
|
|
136
|
-
<DxcButton mode="secondary" label="Secondary enabled" />
|
|
137
|
-
</ExampleContainer>
|
|
138
|
-
<ExampleContainer pseudoState="pseudo-hover">
|
|
139
|
-
<Title title="Hovered" theme="dark" level={4} />
|
|
140
|
-
<DxcButton mode="secondary" label="Secondary hovered" />
|
|
141
|
-
</ExampleContainer>
|
|
142
|
-
<ExampleContainer pseudoState="pseudo-focus">
|
|
143
|
-
<Title title="Focused" theme="dark" level={4} />
|
|
144
|
-
<DxcButton mode="secondary" label="Secondary focused" />
|
|
145
|
-
</ExampleContainer>
|
|
146
|
-
<ExampleContainer pseudoState="pseudo-active">
|
|
147
|
-
<Title title="Actived" theme="dark" level={4} />
|
|
148
|
-
<DxcButton mode="secondary" label="Secondary actived" />
|
|
149
|
-
</ExampleContainer>
|
|
150
|
-
<ExampleContainer>
|
|
151
|
-
<Title title="Disabled" theme="dark" level={4} />
|
|
152
|
-
<DxcButton mode="secondary" disabled label="Secondary disabled" />
|
|
153
|
-
</ExampleContainer>
|
|
154
|
-
<ExampleContainer>
|
|
155
|
-
<Title title="With icon" theme="dark" level={4} />
|
|
156
|
-
<DxcButton mode="secondary" label="Primary" icon={iconSVG} />
|
|
157
|
-
</ExampleContainer>
|
|
158
|
-
<Title title="Text" theme="dark" level={2} />
|
|
159
|
-
<ExampleContainer>
|
|
160
|
-
<Title title="Enabled" theme="dark" level={4} />
|
|
161
|
-
<DxcButton mode="text" label="Text enabled" />
|
|
162
|
-
</ExampleContainer>
|
|
163
|
-
<ExampleContainer pseudoState="pseudo-hover">
|
|
164
|
-
<Title title="Hovered" theme="dark" level={4} />
|
|
165
|
-
<DxcButton mode="text" label="Text hovered" />
|
|
166
|
-
</ExampleContainer>
|
|
167
|
-
<ExampleContainer pseudoState="pseudo-focus">
|
|
168
|
-
<Title title="Focused" theme="dark" level={4} />
|
|
169
|
-
<DxcButton mode="text" label="Text focused" />
|
|
170
|
-
</ExampleContainer>
|
|
171
|
-
<ExampleContainer pseudoState="pseudo-active">
|
|
172
|
-
<Title title="Actived" theme="dark" level={4} />
|
|
173
|
-
<DxcButton mode="text" label="Text actived" />
|
|
174
|
-
</ExampleContainer>
|
|
175
|
-
<ExampleContainer>
|
|
176
|
-
<Title title="Disabled" theme="dark" level={4} />
|
|
177
|
-
<DxcButton mode="text" label="Text disabled" disabled />
|
|
178
|
-
</ExampleContainer>
|
|
179
|
-
<ExampleContainer>
|
|
180
|
-
<Title title="With icon" theme="dark" level={4} />
|
|
181
|
-
<DxcButton mode="text" label="Primary" icon={iconSVG} />
|
|
182
|
-
</ExampleContainer>
|
|
183
|
-
</DarkContainer>
|
|
184
|
-
</BackgroundColorProvider>
|
|
148
|
+
<DxcButton label="Text" mode="text" icon="filled_bottom_app_bar" />
|
|
149
|
+
</ExampleContainer>
|
|
185
150
|
<Title title="Sizes" theme="light" level={2} />
|
|
186
151
|
<ExampleContainer>
|
|
187
152
|
<Title title="Small size" theme="light" level={4} />
|
|
@@ -189,7 +154,7 @@ export const Chromatic = () => (
|
|
|
189
154
|
</ExampleContainer>
|
|
190
155
|
<ExampleContainer>
|
|
191
156
|
<Title title="Medium size" theme="light" level={4} />
|
|
192
|
-
<DxcButton label="
|
|
157
|
+
<DxcButton label="MediumSize" size="medium" />
|
|
193
158
|
</ExampleContainer>
|
|
194
159
|
<ExampleContainer>
|
|
195
160
|
<Title title="Medium size with ellipsis" theme="light" level={4} />
|
|
@@ -197,19 +162,19 @@ export const Chromatic = () => (
|
|
|
197
162
|
</ExampleContainer>
|
|
198
163
|
<ExampleContainer>
|
|
199
164
|
<Title title="Medium size icon after" theme="light" level={4} />
|
|
200
|
-
<DxcButton label="
|
|
165
|
+
<DxcButton label="Medium" iconPosition="after" icon="filled_bottom_app_bar" size="medium" />
|
|
201
166
|
</ExampleContainer>
|
|
202
167
|
<ExampleContainer>
|
|
203
168
|
<Title title="Medium size icon before" theme="light" level={4} />
|
|
204
|
-
<DxcButton label="
|
|
169
|
+
<DxcButton label="Medium" iconPosition="before" icon="filled_bottom_app_bar" size="medium" />
|
|
205
170
|
</ExampleContainer>
|
|
206
171
|
<ExampleContainer>
|
|
207
172
|
<Title title="Medium size icon after with ellipsis" theme="light" level={4} />
|
|
208
|
-
<DxcButton label="Medium" iconPosition="after" icon=
|
|
173
|
+
<DxcButton label="Medium" iconPosition="after" icon="filled_bottom_app_bar" size="medium" />
|
|
209
174
|
</ExampleContainer>
|
|
210
175
|
<ExampleContainer>
|
|
211
176
|
<Title title="Medium size icon before with ellipsis" theme="light" level={4} />
|
|
212
|
-
<DxcButton label="Medium" iconPosition="before" icon=
|
|
177
|
+
<DxcButton label="Medium" iconPosition="before" icon="filled_bottom_app_bar" size="medium" />
|
|
213
178
|
</ExampleContainer>
|
|
214
179
|
<ExampleContainer>
|
|
215
180
|
<Title title="Large size" theme="light" level={4} />
|
|
@@ -221,19 +186,19 @@ export const Chromatic = () => (
|
|
|
221
186
|
</ExampleContainer>
|
|
222
187
|
<ExampleContainer>
|
|
223
188
|
<Title title="Large size icon after" theme="light" level={4} />
|
|
224
|
-
<DxcButton label="
|
|
189
|
+
<DxcButton label="LargeSizePrimaryButton" iconPosition="after" icon="filled_bottom_app_bar" size="large" />
|
|
225
190
|
</ExampleContainer>
|
|
226
191
|
<ExampleContainer>
|
|
227
192
|
<Title title="Large size icon before" theme="light" level={4} />
|
|
228
|
-
<DxcButton label="
|
|
193
|
+
<DxcButton label="LargeSizePrimaryButton" iconPosition="before" icon="filled_bottom_app_bar" size="large" />
|
|
229
194
|
</ExampleContainer>
|
|
230
195
|
<ExampleContainer>
|
|
231
196
|
<Title title="Large size icon after with ellipsis" theme="light" level={4} />
|
|
232
|
-
<DxcButton label="LargeSizePrimaryButton" iconPosition="after" icon=
|
|
197
|
+
<DxcButton label="LargeSizePrimaryButton" iconPosition="after" icon="filled_bottom_app_bar" size="large" />
|
|
233
198
|
</ExampleContainer>
|
|
234
199
|
<ExampleContainer>
|
|
235
200
|
<Title title="Large size icon before with ellipsis" theme="light" level={4} />
|
|
236
|
-
<DxcButton label="LargeSizePrimaryButton" iconPosition="before" icon=
|
|
201
|
+
<DxcButton label="LargeSizePrimaryButton" iconPosition="before" icon="filled_bottom_app_bar" size="large" />
|
|
237
202
|
</ExampleContainer>
|
|
238
203
|
<ExampleContainer>
|
|
239
204
|
<Title title="FillParent size" theme="light" level={4} />
|
|
@@ -272,5 +237,89 @@ export const Chromatic = () => (
|
|
|
272
237
|
<Title title="Xxlarge margin" theme="light" level={4} />
|
|
273
238
|
<DxcButton label="Xxlarge margin" margin="xxlarge" />
|
|
274
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>
|
|
275
324
|
</>
|
|
276
325
|
);
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _react = _interopRequireDefault(require("react"));
|
|
5
|
+
var _react2 = require("@testing-library/react");
|
|
6
|
+
var _Button = _interopRequireDefault(require("./Button.tsx"));
|
|
7
|
+
describe("Button component tests", function () {
|
|
8
|
+
test("Button renders with correct text", function () {
|
|
9
|
+
var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Button["default"], {
|
|
10
|
+
label: "Button"
|
|
11
|
+
})),
|
|
12
|
+
getByText = _render.getByText;
|
|
13
|
+
expect(getByText("Button")).toBeTruthy();
|
|
14
|
+
});
|
|
15
|
+
test("Calls correct function on click", function () {
|
|
16
|
+
var onClick = jest.fn();
|
|
17
|
+
var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Button["default"], {
|
|
18
|
+
label: "Button",
|
|
19
|
+
onClick: onClick
|
|
20
|
+
})),
|
|
21
|
+
getByText = _render2.getByText;
|
|
22
|
+
var button = getByText("Button");
|
|
23
|
+
_react2.fireEvent.click(button);
|
|
24
|
+
expect(onClick).toHaveBeenCalled();
|
|
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
|
+
});
|
|
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,17 +25,17 @@ declare type Props = {
|
|
|
25
25
|
*/
|
|
26
26
|
iconPosition?: "before" | "after";
|
|
27
27
|
/**
|
|
28
|
-
*
|
|
28
|
+
* Value for the HTML properties title and aria-label.
|
|
29
29
|
*/
|
|
30
|
-
|
|
30
|
+
title?: string;
|
|
31
31
|
/**
|
|
32
|
-
*
|
|
32
|
+
* 'type' html prop of the button.
|
|
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
|
/**
|
|
40
40
|
* This function will be called when the user clicks the button.
|
|
41
41
|
*/
|
|
@@ -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 _jestAxe = require("jest-axe");
|
|
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, _jestAxe.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;
|