@dxc-technology/halstack-react 11.0.0 → 12.0.1
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 +3 -8
- package/HalstackContext.d.ts +32 -145
- package/HalstackContext.js +3 -7
- package/accordion/Accordion.accessibility.test.d.ts +1 -0
- package/accordion/Accordion.accessibility.test.js +71 -0
- package/accordion/Accordion.js +18 -35
- package/accordion/Accordion.stories.tsx +7 -49
- package/accordion/Accordion.test.d.ts +1 -0
- package/accordion/Accordion.test.js +3 -3
- package/accordion/types.d.ts +1 -1
- package/accordion-group/AccordionGroup.accessibility.test.d.ts +1 -0
- package/accordion-group/AccordionGroup.accessibility.test.js +82 -0
- package/accordion-group/AccordionGroup.d.ts +2 -3
- package/accordion-group/AccordionGroup.js +4 -4
- package/accordion-group/AccordionGroup.stories.tsx +23 -23
- package/accordion-group/AccordionGroup.test.d.ts +1 -0
- package/accordion-group/AccordionGroup.test.js +5 -9
- package/accordion-group/AccordionGroupAccordion.js +3 -3
- package/accordion-group/AccordionGroupContext.d.ts +3 -0
- package/accordion-group/AccordionGroupContext.js +8 -0
- package/accordion-group/types.d.ts +1 -1
- package/action-icon/ActionIcon.accessibility.test.d.ts +1 -0
- 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.d.ts +1 -0
- package/action-icon/ActionIcon.test.js +64 -0
- package/action-icon/types.d.ts +26 -0
- package/action-icon/types.js +5 -0
- package/alert/Alert.accessibility.test.d.ts +1 -0
- package/alert/Alert.accessibility.test.js +95 -0
- package/alert/Alert.js +21 -75
- package/alert/Alert.test.d.ts +1 -0
- package/alert/Alert.test.js +1 -1
- package/badge/Badge.accessibility.test.d.ts +1 -0
- package/badge/Badge.accessibility.test.js +129 -0
- package/badge/Badge.d.ts +1 -1
- package/badge/Badge.js +141 -28
- package/badge/Badge.stories.tsx +210 -0
- package/badge/Badge.test.d.ts +1 -0
- package/badge/Badge.test.js +30 -0
- package/badge/types.d.ts +52 -3
- package/box/Box.accessibility.test.d.ts +1 -0
- package/box/Box.accessibility.test.js +33 -0
- package/box/Box.js +2 -5
- package/box/Box.test.d.ts +1 -0
- package/box/Box.test.js +1 -1
- package/breadcrumbs/Breadcrumbs.accessibility.test.d.ts +1 -0
- package/breadcrumbs/Breadcrumbs.accessibility.test.js +96 -0
- package/breadcrumbs/Breadcrumbs.d.ts +4 -0
- package/breadcrumbs/Breadcrumbs.js +79 -0
- package/breadcrumbs/Breadcrumbs.stories.tsx +194 -0
- package/breadcrumbs/Breadcrumbs.test.d.ts +1 -0
- package/breadcrumbs/Breadcrumbs.test.js +169 -0
- package/breadcrumbs/Item.d.ts +4 -0
- package/breadcrumbs/Item.js +52 -0
- package/breadcrumbs/dropdownTheme.d.ts +53 -0
- package/breadcrumbs/dropdownTheme.js +62 -0
- package/breadcrumbs/types.d.ts +16 -0
- package/breadcrumbs/types.js +5 -0
- package/bulleted-list/BulletedList.accessibility.test.d.ts +1 -0
- package/bulleted-list/BulletedList.accessibility.test.js +119 -0
- package/bulleted-list/BulletedList.js +16 -23
- package/bulleted-list/BulletedList.stories.tsx +1 -2
- package/button/Button.accessibility.test.d.ts +1 -0
- package/button/Button.accessibility.test.js +127 -0
- package/button/Button.js +16 -16
- package/button/Button.stories.tsx +34 -53
- package/button/Button.test.d.ts +1 -0
- package/button/Button.test.js +4 -2
- package/button/types.d.ts +1 -1
- package/card/Card.accessibility.test.d.ts +1 -0
- package/card/Card.accessibility.test.js +36 -0
- package/card/Card.js +3 -2
- package/card/Card.test.d.ts +1 -0
- package/card/Card.test.js +1 -1
- package/checkbox/Checkbox.accessibility.test.d.ts +1 -0
- package/checkbox/Checkbox.accessibility.test.js +87 -0
- package/checkbox/Checkbox.js +36 -44
- package/checkbox/Checkbox.test.d.ts +1 -0
- package/checkbox/Checkbox.test.js +1 -1
- package/chip/Chip.accessibility.test.d.ts +1 -0
- package/chip/Chip.accessibility.test.js +69 -0
- package/chip/Chip.js +20 -26
- package/chip/Chip.stories.tsx +67 -50
- package/chip/Chip.test.d.ts +1 -0
- package/chip/Chip.test.js +5 -5
- package/chip/types.d.ts +35 -12
- package/common/coreTokens.d.ts +105 -14
- package/common/coreTokens.js +40 -22
- package/common/fonts.css +2 -0
- package/common/variables.d.ts +31 -141
- package/common/variables.js +104 -214
- 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.d.ts +1 -0
- package/contextual-menu/ContextualMenu.accessibility.test.js +98 -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.d.ts +1 -0
- package/contextual-menu/ContextualMenu.test.js +205 -0
- package/contextual-menu/GroupItem.d.ts +4 -0
- package/contextual-menu/GroupItem.js +67 -0
- package/contextual-menu/ItemAction.d.ts +4 -0
- package/contextual-menu/ItemAction.js +51 -0
- package/contextual-menu/MenuItem.d.ts +4 -0
- package/contextual-menu/MenuItem.js +29 -0
- package/contextual-menu/SingleItem.d.ts +4 -0
- package/contextual-menu/SingleItem.js +38 -0
- package/contextual-menu/types.d.ts +58 -0
- package/contextual-menu/types.js +5 -0
- package/date-input/Calendar.js +1 -1
- package/date-input/DateInput.accessibility.test.d.ts +1 -0
- package/date-input/DateInput.accessibility.test.js +230 -0
- package/date-input/DateInput.js +19 -20
- package/date-input/DateInput.stories.tsx +15 -8
- package/date-input/DateInput.test.d.ts +1 -0
- package/date-input/DateInput.test.js +9 -8
- package/date-input/DatePicker.js +13 -7
- package/date-input/YearPicker.js +1 -1
- package/date-input/types.d.ts +2 -2
- package/dialog/Dialog.accessibility.test.d.ts +1 -0
- package/dialog/Dialog.accessibility.test.js +69 -0
- package/dialog/Dialog.js +11 -25
- package/dialog/Dialog.stories.tsx +175 -0
- package/dialog/Dialog.test.d.ts +1 -0
- package/dialog/Dialog.test.js +113 -49
- package/divider/Divider.accessibility.test.d.ts +1 -0
- 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.d.ts +1 -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.d.ts +1 -0
- package/dropdown/Dropdown.accessibility.test.js +184 -0
- package/dropdown/Dropdown.js +37 -51
- package/dropdown/Dropdown.stories.tsx +15 -26
- package/dropdown/Dropdown.test.d.ts +1 -0
- package/dropdown/Dropdown.test.js +100 -70
- package/dropdown/DropdownMenu.js +4 -4
- package/dropdown/DropdownMenuItem.js +8 -4
- package/dropdown/types.d.ts +3 -5
- package/file-input/FileInput.accessibility.test.d.ts +1 -0
- package/file-input/FileInput.accessibility.test.js +167 -0
- package/file-input/FileInput.js +127 -145
- package/file-input/FileInput.test.d.ts +1 -0
- package/file-input/FileInput.test.js +125 -129
- package/file-input/FileItem.js +18 -28
- package/file-input/types.d.ts +1 -1
- package/footer/Footer.accessibility.test.d.ts +1 -0
- package/footer/Footer.accessibility.test.js +125 -0
- package/footer/Footer.d.ts +1 -1
- package/footer/Footer.js +36 -31
- package/footer/Footer.stories.tsx +58 -2
- package/footer/Footer.test.d.ts +1 -0
- package/footer/Footer.test.js +1 -1
- package/footer/Icons.d.ts +1 -0
- package/footer/Icons.js +52 -16
- package/footer/types.d.ts +8 -8
- package/header/Header.accessibility.test.d.ts +1 -0
- package/header/Header.accessibility.test.js +94 -0
- package/header/Header.js +20 -41
- package/header/Header.stories.tsx +16 -0
- package/header/Header.test.d.ts +1 -0
- package/header/Header.test.js +1 -1
- package/header/Icons.js +1 -6
- package/header/types.d.ts +4 -3
- package/heading/Heading.accessibility.test.d.ts +1 -0
- package/heading/Heading.accessibility.test.js +33 -0
- package/heading/Heading.js +1 -1
- package/heading/Heading.test.d.ts +1 -0
- package/heading/Heading.test.js +1 -14
- package/icon/Icon.accessibility.test.d.ts +1 -0
- 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.d.ts +1 -0
- package/image/Image.accessibility.test.js +56 -0
- package/image/Image.js +1 -1
- package/image/Image.stories.tsx +3 -1
- package/layout/ApplicationLayout.d.ts +1 -1
- package/layout/ApplicationLayout.js +10 -7
- package/layout/Icons.d.ts +0 -1
- package/layout/Icons.js +1 -11
- package/link/Link.accessibility.test.d.ts +1 -0
- package/link/Link.accessibility.test.js +108 -0
- package/link/Link.js +8 -6
- package/link/Link.stories.tsx +4 -4
- package/link/Link.test.d.ts +1 -0
- package/link/Link.test.js +1 -1
- package/link/types.d.ts +1 -1
- package/main.d.ts +8 -3
- package/main.js +38 -9
- package/nav-tabs/NavTabs.accessibility.test.d.ts +1 -0
- package/nav-tabs/NavTabs.accessibility.test.js +44 -0
- package/nav-tabs/NavTabs.d.ts +1 -2
- package/nav-tabs/NavTabs.js +25 -7
- package/nav-tabs/NavTabs.stories.tsx +44 -24
- package/nav-tabs/NavTabs.test.d.ts +1 -0
- package/nav-tabs/NavTabs.test.js +12 -10
- package/nav-tabs/NavTabsContext.d.ts +3 -0
- package/nav-tabs/NavTabsContext.js +8 -0
- package/nav-tabs/Tab.js +23 -23
- package/nav-tabs/types.d.ts +1 -1
- package/number-input/NumberInput.accessibility.test.d.ts +1 -0
- package/number-input/NumberInput.accessibility.test.js +228 -0
- package/number-input/NumberInput.d.ts +0 -7
- package/number-input/NumberInput.js +24 -5
- package/number-input/NumberInput.test.d.ts +1 -0
- package/number-input/NumberInput.test.js +166 -7
- package/number-input/NumberInputContext.d.ts +3 -0
- package/number-input/NumberInputContext.js +8 -0
- package/number-input/types.d.ts +6 -0
- package/package.json +20 -18
- package/paginator/Paginator.accessibility.test.d.ts +1 -0
- package/paginator/Paginator.accessibility.test.js +79 -0
- package/paginator/Paginator.js +14 -14
- package/paginator/Paginator.test.d.ts +1 -0
- package/paginator/Paginator.test.js +1 -1
- package/paragraph/Paragraph.accessibility.test.d.ts +1 -0
- package/paragraph/Paragraph.accessibility.test.js +28 -0
- package/paragraph/Paragraph.js +2 -7
- package/password-input/PasswordInput.accessibility.test.d.ts +1 -0
- package/password-input/PasswordInput.accessibility.test.js +153 -0
- package/password-input/PasswordInput.js +7 -7
- package/password-input/PasswordInput.stories.tsx +0 -1
- package/password-input/PasswordInput.test.d.ts +1 -0
- package/password-input/PasswordInput.test.js +5 -5
- package/progress-bar/ProgressBar.accessibility.test.d.ts +1 -0
- package/progress-bar/ProgressBar.accessibility.test.js +35 -0
- package/progress-bar/ProgressBar.js +11 -15
- package/progress-bar/ProgressBar.test.d.ts +1 -0
- package/progress-bar/ProgressBar.test.js +1 -1
- package/quick-nav/QuickNav.accessibility.test.d.ts +1 -0
- package/quick-nav/QuickNav.accessibility.test.js +57 -0
- package/quick-nav/QuickNav.js +1 -1
- package/radio-group/Radio.js +6 -9
- package/radio-group/RadioGroup.accessibility.test.d.ts +1 -0
- package/radio-group/RadioGroup.accessibility.test.js +97 -0
- package/radio-group/RadioGroup.js +15 -17
- package/radio-group/RadioGroup.test.d.ts +1 -0
- package/radio-group/RadioGroup.test.js +3 -5
- package/resultset-table/ResultsetTable.accessibility.test.d.ts +1 -0
- package/resultset-table/ResultsetTable.accessibility.test.js +285 -0
- package/resultset-table/ResultsetTable.d.ts +4 -1
- package/resultset-table/ResultsetTable.js +25 -13
- package/resultset-table/ResultsetTable.stories.tsx +118 -5
- package/resultset-table/ResultsetTable.test.d.ts +1 -0
- package/resultset-table/ResultsetTable.test.js +76 -1
- package/resultset-table/types.d.ts +40 -7
- package/select/Listbox.js +24 -16
- package/select/Option.js +19 -10
- package/select/Select.accessibility.test.d.ts +1 -0
- package/select/Select.accessibility.test.js +228 -0
- package/select/Select.js +72 -54
- package/select/Select.stories.tsx +59 -111
- package/select/Select.test.d.ts +1 -0
- package/select/Select.test.js +393 -459
- package/select/types.d.ts +3 -3
- package/sidenav/Sidenav.accessibility.test.d.ts +1 -0
- package/sidenav/Sidenav.accessibility.test.js +59 -0
- package/sidenav/Sidenav.js +21 -19
- package/sidenav/Sidenav.stories.tsx +4 -9
- package/sidenav/Sidenav.test.d.ts +1 -0
- package/sidenav/Sidenav.test.js +1 -1
- package/sidenav/types.d.ts +2 -2
- package/slider/Slider.accessibility.test.d.ts +1 -0
- package/slider/Slider.accessibility.test.js +104 -0
- package/slider/Slider.js +31 -42
- package/slider/Slider.stories.tsx +180 -0
- package/slider/Slider.test.d.ts +1 -0
- package/slider/Slider.test.js +12 -9
- package/spinner/Spinner.accessibility.test.d.ts +1 -0
- package/spinner/Spinner.accessibility.test.js +96 -0
- package/spinner/Spinner.js +12 -16
- package/spinner/Spinner.test.d.ts +1 -0
- package/spinner/Spinner.test.js +1 -1
- package/status-light/StatusLight.accessibility.test.d.ts +1 -0
- 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.d.ts +1 -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.d.ts +1 -0
- package/switch/Switch.accessibility.test.js +98 -0
- package/switch/Switch.js +29 -37
- package/switch/Switch.stories.tsx +12 -0
- package/switch/Switch.test.d.ts +1 -0
- package/switch/Switch.test.js +1 -1
- package/table/DropdownTheme.js +62 -0
- package/table/Table.accessibility.test.d.ts +1 -0
- package/table/Table.accessibility.test.js +93 -0
- package/table/Table.d.ts +6 -2
- package/table/Table.js +74 -12
- package/table/Table.stories.tsx +309 -2
- package/table/Table.test.d.ts +1 -0
- package/table/Table.test.js +92 -1
- package/table/types.d.ts +28 -0
- package/tabs/Tab.js +13 -9
- package/tabs/Tabs.accessibility.test.d.ts +1 -0
- package/tabs/Tabs.accessibility.test.js +56 -0
- package/tabs/Tabs.js +12 -24
- package/tabs/Tabs.stories.tsx +8 -4
- package/tabs/Tabs.test.d.ts +1 -0
- package/tabs/Tabs.test.js +20 -38
- package/tabs/types.d.ts +2 -2
- package/tag/Tag.accessibility.test.d.ts +1 -0
- package/tag/Tag.accessibility.test.js +69 -0
- package/tag/Tag.js +7 -7
- package/tag/Tag.stories.tsx +4 -7
- package/tag/Tag.test.d.ts +1 -0
- package/tag/Tag.test.js +5 -13
- package/tag/types.d.ts +2 -2
- package/text-input/Suggestion.js +1 -1
- package/text-input/Suggestions.js +19 -14
- package/text-input/TextInput.accessibility.test.d.ts +1 -0
- package/text-input/TextInput.accessibility.test.js +321 -0
- package/text-input/TextInput.js +103 -126
- package/text-input/TextInput.stories.tsx +17 -8
- package/text-input/TextInput.test.d.ts +1 -0
- package/text-input/TextInput.test.js +97 -80
- package/textarea/Textarea.accessibility.test.d.ts +1 -0
- package/textarea/Textarea.accessibility.test.js +155 -0
- package/textarea/Textarea.js +13 -21
- package/textarea/Textarea.stories.tsx +0 -1
- package/textarea/Textarea.test.d.ts +1 -0
- package/textarea/Textarea.test.js +1 -1
- package/toggle-group/ToggleGroup.accessibility.test.d.ts +1 -0
- package/toggle-group/ToggleGroup.accessibility.test.js +107 -0
- package/toggle-group/ToggleGroup.js +11 -16
- package/toggle-group/ToggleGroup.stories.tsx +3 -3
- package/toggle-group/ToggleGroup.test.d.ts +1 -0
- package/toggle-group/ToggleGroup.test.js +1 -1
- package/toggle-group/types.d.ts +2 -2
- package/typography/Typography.accessibility.test.d.ts +1 -0
- package/typography/Typography.accessibility.test.js +339 -0
- package/useTheme.d.ts +31 -141
- package/utils/BaseTypography.js +1 -1
- package/utils/FocusLock.js +16 -6
- package/wizard/Wizard.accessibility.test.d.ts +1 -0
- package/wizard/Wizard.accessibility.test.js +55 -0
- package/wizard/Wizard.js +14 -25
- package/wizard/Wizard.stories.tsx +19 -0
- package/wizard/Wizard.test.d.ts +1 -0
- package/wizard/Wizard.test.js +1 -1
- package/wizard/types.d.ts +2 -2
- package/common/OpenSans.css +0 -69
- package/common/fonts/OpenSans-Bold.ttf +0 -0
- package/common/fonts/OpenSans-BoldItalic.ttf +0 -0
- package/common/fonts/OpenSans-ExtraBold.ttf +0 -0
- package/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
- package/common/fonts/OpenSans-Italic.ttf +0 -0
- package/common/fonts/OpenSans-Light.ttf +0 -0
- package/common/fonts/OpenSans-LightItalic.ttf +0 -0
- package/common/fonts/OpenSans-Regular.ttf +0 -0
- package/common/fonts/OpenSans-SemiBold.ttf +0 -0
- package/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
- package/date-input/Icons.d.ts +0 -6
- package/date-input/Icons.js +0 -58
- package/paginator/Icons.d.ts +0 -5
- package/paginator/Icons.js +0 -40
- package/password-input/Icons.d.ts +0 -6
- package/password-input/Icons.js +0 -35
- package/select/Icons.d.ts +0 -10
- package/select/Icons.js +0 -89
- package/sidenav/Icons.d.ts +0 -7
- package/sidenav/Icons.js +0 -47
- package/text-input/Icons.d.ts +0 -8
- package/text-input/Icons.js +0 -56
- /package/{layout → sidenav}/SidenavContext.d.ts +0 -0
- /package/{layout → sidenav}/SidenavContext.js +0 -0
|
@@ -20,7 +20,6 @@ const iconSVG = (
|
|
|
20
20
|
const facebookIcon = (
|
|
21
21
|
<svg
|
|
22
22
|
version="1.1"
|
|
23
|
-
id="Capa_1"
|
|
24
23
|
x="0px"
|
|
25
24
|
y="0px"
|
|
26
25
|
width="438.536px"
|
|
@@ -76,31 +75,27 @@ export const Chromatic = () => (
|
|
|
76
75
|
</ExampleContainer>
|
|
77
76
|
<ExampleContainer>
|
|
78
77
|
<Title title="Disabled" theme="light" level={4} />
|
|
79
|
-
<DxcButton label="Primary disabled" disabled icon=
|
|
78
|
+
<DxcButton label="Primary disabled" disabled icon="filled_bottom_app_bar" />
|
|
80
79
|
</ExampleContainer>
|
|
81
80
|
<ExampleContainer>
|
|
82
81
|
<Title title="With left icon" theme="light" level={4} />
|
|
83
|
-
<DxcButton label="Primary" icon=
|
|
82
|
+
<DxcButton label="Primary" icon="filled_bottom_app_bar" />
|
|
84
83
|
</ExampleContainer>
|
|
85
84
|
<ExampleContainer>
|
|
86
85
|
<Title title="With right icon" theme="light" level={4} />
|
|
87
|
-
<DxcButton label="Primary" icon=
|
|
86
|
+
<DxcButton label="Primary" icon="filled_bottom_app_bar" iconPosition="after" />
|
|
88
87
|
</ExampleContainer>
|
|
89
88
|
<ExampleContainer>
|
|
90
89
|
<Title title="Only icon" theme="light" level={4} />
|
|
91
|
-
<DxcButton icon=
|
|
90
|
+
<DxcButton icon="filled_bottom_app_bar" title="Button with no label" />
|
|
92
91
|
</ExampleContainer>
|
|
93
92
|
<ExampleContainer>
|
|
94
93
|
<Title title="Big icon (SVG)" theme="light" level={4} />
|
|
95
|
-
<DxcButton icon={facebookIcon} />
|
|
94
|
+
<DxcButton icon={facebookIcon} title="Facebook" />
|
|
96
95
|
</ExampleContainer>
|
|
97
96
|
<ExampleContainer>
|
|
98
|
-
<Title title="
|
|
99
|
-
<DxcButton icon="
|
|
100
|
-
</ExampleContainer>
|
|
101
|
-
<ExampleContainer>
|
|
102
|
-
<Title title="Small icon" theme="light" level={4} />
|
|
103
|
-
<DxcButton icon={smallIcon} />
|
|
97
|
+
<Title title="Small icon (SVG)" theme="light" level={4} />
|
|
98
|
+
<DxcButton icon={smallIcon} title="Button with no label" />
|
|
104
99
|
</ExampleContainer>
|
|
105
100
|
<Title title="Secondary" theme="light" level={2} />
|
|
106
101
|
<ExampleContainer>
|
|
@@ -121,18 +116,11 @@ export const Chromatic = () => (
|
|
|
121
116
|
</ExampleContainer>
|
|
122
117
|
<ExampleContainer>
|
|
123
118
|
<Title title="Disabled" theme="light" level={4} />
|
|
124
|
-
<DxcButton mode="secondary" disabled label="Secondary disabled" icon=
|
|
119
|
+
<DxcButton mode="secondary" disabled label="Secondary disabled" icon="filled_bottom_app_bar" />
|
|
125
120
|
</ExampleContainer>
|
|
126
121
|
<ExampleContainer>
|
|
127
122
|
<Title title="With icon" theme="light" level={4} />
|
|
128
|
-
<DxcButton mode="secondary" label="Secondary" icon=
|
|
129
|
-
</ExampleContainer>
|
|
130
|
-
<ExampleContainer>
|
|
131
|
-
<Title title="Only icon (image)" theme="light" level={4} />
|
|
132
|
-
<DxcButton
|
|
133
|
-
mode="secondary"
|
|
134
|
-
icon="https://www.freepnglogos.com/uploads/facebook-logo-design-1.png"
|
|
135
|
-
/>
|
|
123
|
+
<DxcButton mode="secondary" label="Secondary" icon="filled_bottom_app_bar" />
|
|
136
124
|
</ExampleContainer>
|
|
137
125
|
<Title title="Text" theme="light" level={2} />
|
|
138
126
|
<ExampleContainer>
|
|
@@ -153,18 +141,11 @@ export const Chromatic = () => (
|
|
|
153
141
|
</ExampleContainer>
|
|
154
142
|
<ExampleContainer>
|
|
155
143
|
<Title title="Disabled" theme="light" level={4} />
|
|
156
|
-
<DxcButton mode="text" label="Text disabled" disabled icon=
|
|
144
|
+
<DxcButton mode="text" label="Text disabled" disabled icon="filled_bottom_app_bar" />
|
|
157
145
|
</ExampleContainer>
|
|
158
146
|
<ExampleContainer>
|
|
159
147
|
<Title title="With icon" theme="light" level={4} />
|
|
160
|
-
<DxcButton label="Text" mode="text" icon=
|
|
161
|
-
</ExampleContainer>
|
|
162
|
-
<ExampleContainer>
|
|
163
|
-
<Title title="Only icon (image)" theme="light" level={4} />
|
|
164
|
-
<DxcButton
|
|
165
|
-
mode="text"
|
|
166
|
-
icon="https://www.freepnglogos.com/uploads/facebook-logo-design-1.png"
|
|
167
|
-
/>
|
|
148
|
+
<DxcButton label="Text" mode="text" icon="filled_bottom_app_bar" />
|
|
168
149
|
</ExampleContainer>
|
|
169
150
|
<Title title="Sizes" theme="light" level={2} />
|
|
170
151
|
<ExampleContainer>
|
|
@@ -181,19 +162,19 @@ export const Chromatic = () => (
|
|
|
181
162
|
</ExampleContainer>
|
|
182
163
|
<ExampleContainer>
|
|
183
164
|
<Title title="Medium size icon after" theme="light" level={4} />
|
|
184
|
-
<DxcButton label="Medium" iconPosition="after" icon=
|
|
165
|
+
<DxcButton label="Medium" iconPosition="after" icon="filled_bottom_app_bar" size="medium" />
|
|
185
166
|
</ExampleContainer>
|
|
186
167
|
<ExampleContainer>
|
|
187
168
|
<Title title="Medium size icon before" theme="light" level={4} />
|
|
188
|
-
<DxcButton label="Medium" iconPosition="before" icon=
|
|
169
|
+
<DxcButton label="Medium" iconPosition="before" icon="filled_bottom_app_bar" size="medium" />
|
|
189
170
|
</ExampleContainer>
|
|
190
171
|
<ExampleContainer>
|
|
191
172
|
<Title title="Medium size icon after with ellipsis" theme="light" level={4} />
|
|
192
|
-
<DxcButton label="Medium" iconPosition="after" icon=
|
|
173
|
+
<DxcButton label="Medium" iconPosition="after" icon="filled_bottom_app_bar" size="medium" />
|
|
193
174
|
</ExampleContainer>
|
|
194
175
|
<ExampleContainer>
|
|
195
176
|
<Title title="Medium size icon before with ellipsis" theme="light" level={4} />
|
|
196
|
-
<DxcButton label="Medium" iconPosition="before" icon=
|
|
177
|
+
<DxcButton label="Medium" iconPosition="before" icon="filled_bottom_app_bar" size="medium" />
|
|
197
178
|
</ExampleContainer>
|
|
198
179
|
<ExampleContainer>
|
|
199
180
|
<Title title="Large size" theme="light" level={4} />
|
|
@@ -205,19 +186,19 @@ export const Chromatic = () => (
|
|
|
205
186
|
</ExampleContainer>
|
|
206
187
|
<ExampleContainer>
|
|
207
188
|
<Title title="Large size icon after" theme="light" level={4} />
|
|
208
|
-
<DxcButton label="LargeSizePrimaryButton" iconPosition="after" icon=
|
|
189
|
+
<DxcButton label="LargeSizePrimaryButton" iconPosition="after" icon="filled_bottom_app_bar" size="large" />
|
|
209
190
|
</ExampleContainer>
|
|
210
191
|
<ExampleContainer>
|
|
211
192
|
<Title title="Large size icon before" theme="light" level={4} />
|
|
212
|
-
<DxcButton label="LargeSizePrimaryButton" iconPosition="before" icon=
|
|
193
|
+
<DxcButton label="LargeSizePrimaryButton" iconPosition="before" icon="filled_bottom_app_bar" size="large" />
|
|
213
194
|
</ExampleContainer>
|
|
214
195
|
<ExampleContainer>
|
|
215
196
|
<Title title="Large size icon after with ellipsis" theme="light" level={4} />
|
|
216
|
-
<DxcButton label="LargeSizePrimaryButton" iconPosition="after" icon=
|
|
197
|
+
<DxcButton label="LargeSizePrimaryButton" iconPosition="after" icon="filled_bottom_app_bar" size="large" />
|
|
217
198
|
</ExampleContainer>
|
|
218
199
|
<ExampleContainer>
|
|
219
200
|
<Title title="Large size icon before with ellipsis" theme="light" level={4} />
|
|
220
|
-
<DxcButton label="LargeSizePrimaryButton" iconPosition="before" icon=
|
|
201
|
+
<DxcButton label="LargeSizePrimaryButton" iconPosition="before" icon="filled_bottom_app_bar" size="large" />
|
|
221
202
|
</ExampleContainer>
|
|
222
203
|
<ExampleContainer>
|
|
223
204
|
<Title title="FillParent size" theme="light" level={4} />
|
|
@@ -269,75 +250,75 @@ export const Chromatic = () => (
|
|
|
269
250
|
<ExampleContainer>
|
|
270
251
|
<Title title="Enabled" theme="light" level={4} />
|
|
271
252
|
<HalstackProvider theme={opinionatedTheme}>
|
|
272
|
-
<DxcButton label="Primary" icon=
|
|
253
|
+
<DxcButton label="Primary" icon="filled_bottom_app_bar" />
|
|
273
254
|
</HalstackProvider>
|
|
274
255
|
</ExampleContainer>
|
|
275
256
|
<ExampleContainer pseudoState="pseudo-hover">
|
|
276
257
|
<Title title="Hovered" theme="light" level={4} />
|
|
277
|
-
<DxcButton label="Primary hovered" icon=
|
|
258
|
+
<DxcButton label="Primary hovered" icon="filled_bottom_app_bar" />
|
|
278
259
|
</ExampleContainer>
|
|
279
260
|
<ExampleContainer pseudoState="pseudo-focus">
|
|
280
261
|
<Title title="Focused" theme="light" level={4} />
|
|
281
|
-
<DxcButton label="Primary focused" icon=
|
|
262
|
+
<DxcButton label="Primary focused" icon="filled_bottom_app_bar" />
|
|
282
263
|
</ExampleContainer>
|
|
283
264
|
<ExampleContainer pseudoState="pseudo-active">
|
|
284
265
|
<Title title="Actived" theme="light" level={4} />
|
|
285
|
-
<DxcButton label="Primary actived" icon=
|
|
266
|
+
<DxcButton label="Primary actived" icon="filled_bottom_app_bar" />
|
|
286
267
|
</ExampleContainer>
|
|
287
268
|
<ExampleContainer>
|
|
288
269
|
<Title title="Disabled" theme="light" level={4} />
|
|
289
270
|
<HalstackProvider theme={opinionatedTheme}>
|
|
290
|
-
<DxcButton label="Primary" icon=
|
|
271
|
+
<DxcButton label="Primary" icon="filled_bottom_app_bar" disabled />
|
|
291
272
|
</HalstackProvider>
|
|
292
273
|
</ExampleContainer>
|
|
293
274
|
<Title title="Secondary" theme="light" level={3} />
|
|
294
275
|
<ExampleContainer>
|
|
295
276
|
<Title title="Enabled" theme="light" level={4} />
|
|
296
277
|
<HalstackProvider theme={opinionatedTheme}>
|
|
297
|
-
<DxcButton mode="secondary" label="Secondary" icon=
|
|
278
|
+
<DxcButton mode="secondary" label="Secondary" icon="filled_bottom_app_bar" />
|
|
298
279
|
</HalstackProvider>
|
|
299
280
|
</ExampleContainer>
|
|
300
281
|
<ExampleContainer pseudoState="pseudo-hover">
|
|
301
282
|
<Title title="Hovered" theme="light" level={4} />
|
|
302
|
-
<DxcButton mode="secondary" label="Secondary hovered" icon=
|
|
283
|
+
<DxcButton mode="secondary" label="Secondary hovered" icon="filled_bottom_app_bar" />
|
|
303
284
|
</ExampleContainer>
|
|
304
285
|
<ExampleContainer pseudoState="pseudo-focus">
|
|
305
286
|
<Title title="Focused" theme="light" level={4} />
|
|
306
|
-
<DxcButton mode="secondary" label="Secondary focused" icon=
|
|
287
|
+
<DxcButton mode="secondary" label="Secondary focused" icon="filled_bottom_app_bar" />
|
|
307
288
|
</ExampleContainer>
|
|
308
289
|
<ExampleContainer pseudoState="pseudo-active">
|
|
309
290
|
<Title title="Actived" theme="light" level={4} />
|
|
310
|
-
<DxcButton mode="secondary" label="Secondary actived" icon=
|
|
291
|
+
<DxcButton mode="secondary" label="Secondary actived" icon="filled_bottom_app_bar" />
|
|
311
292
|
</ExampleContainer>
|
|
312
293
|
<ExampleContainer>
|
|
313
294
|
<Title title="Disabled" theme="light" level={4} />
|
|
314
295
|
<HalstackProvider theme={opinionatedTheme}>
|
|
315
|
-
<DxcButton mode="secondary" label="Secondary" icon=
|
|
296
|
+
<DxcButton mode="secondary" label="Secondary" icon="filled_bottom_app_bar" disabled />
|
|
316
297
|
</HalstackProvider>
|
|
317
298
|
</ExampleContainer>
|
|
318
299
|
<Title title="Text" theme="light" level={3} />
|
|
319
300
|
<ExampleContainer>
|
|
320
301
|
<Title title="Enabled" theme="light" level={4} />
|
|
321
302
|
<HalstackProvider theme={opinionatedTheme}>
|
|
322
|
-
<DxcButton mode="text" label="Text" icon=
|
|
303
|
+
<DxcButton mode="text" label="Text" icon="filled_bottom_app_bar" />
|
|
323
304
|
</HalstackProvider>
|
|
324
305
|
</ExampleContainer>
|
|
325
306
|
<ExampleContainer pseudoState="pseudo-hover">
|
|
326
307
|
<Title title="Hovered" theme="light" level={4} />
|
|
327
|
-
<DxcButton mode="text" label="Text hovered" icon=
|
|
308
|
+
<DxcButton mode="text" label="Text hovered" icon="filled_bottom_app_bar" />
|
|
328
309
|
</ExampleContainer>
|
|
329
310
|
<ExampleContainer pseudoState="pseudo-focus">
|
|
330
311
|
<Title title="Focused" theme="light" level={4} />
|
|
331
|
-
<DxcButton mode="text" label="Text focused" icon=
|
|
312
|
+
<DxcButton mode="text" label="Text focused" icon="filled_bottom_app_bar" />
|
|
332
313
|
</ExampleContainer>
|
|
333
314
|
<ExampleContainer pseudoState="pseudo-active">
|
|
334
315
|
<Title title="Actived" theme="light" level={4} />
|
|
335
|
-
<DxcButton mode="text" label="Text actived" icon=
|
|
316
|
+
<DxcButton mode="text" label="Text actived" icon="filled_bottom_app_bar" />
|
|
336
317
|
</ExampleContainer>
|
|
337
318
|
<ExampleContainer>
|
|
338
319
|
<Title title="Disabled" theme="light" level={4} />
|
|
339
320
|
<HalstackProvider theme={opinionatedTheme}>
|
|
340
|
-
<DxcButton mode="text" label="Text disabled" icon=
|
|
321
|
+
<DxcButton mode="text" label="Text disabled" icon="filled_bottom_app_bar" disabled />
|
|
341
322
|
</HalstackProvider>
|
|
342
323
|
</ExampleContainer>
|
|
343
324
|
</>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/button/Button.test.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
4
|
var _react = _interopRequireDefault(require("react"));
|
|
5
5
|
var _react2 = require("@testing-library/react");
|
|
6
|
-
var _Button = _interopRequireDefault(require("./Button
|
|
6
|
+
var _Button = _interopRequireDefault(require("./Button"));
|
|
7
7
|
describe("Button component tests", function () {
|
|
8
8
|
test("Button renders with correct text", function () {
|
|
9
9
|
var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Button["default"], {
|
|
@@ -26,11 +26,13 @@ describe("Button component tests", function () {
|
|
|
26
26
|
test("Renders with correct accessibility attributes", function () {
|
|
27
27
|
var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Button["default"], {
|
|
28
28
|
label: "Home",
|
|
29
|
-
title: "Go home"
|
|
29
|
+
title: "Go home",
|
|
30
|
+
tabIndex: 1
|
|
30
31
|
})),
|
|
31
32
|
getByRole = _render3.getByRole;
|
|
32
33
|
var button = getByRole("button");
|
|
33
34
|
expect(button.getAttribute("aria-label")).toBe("Go home");
|
|
34
35
|
expect(button.getAttribute("title")).toBe("Go home");
|
|
36
|
+
expect(button.getAttribute("tabindex")).toBe("1");
|
|
35
37
|
});
|
|
36
38
|
});
|
package/button/types.d.ts
CHANGED
|
@@ -33,7 +33,7 @@ type Props = {
|
|
|
33
33
|
*/
|
|
34
34
|
type?: "button" | "reset" | "submit";
|
|
35
35
|
/**
|
|
36
|
-
*
|
|
36
|
+
* Material Symbol name or SVG element as the icon that will be placed next to the label.
|
|
37
37
|
*/
|
|
38
38
|
icon?: string | SVG;
|
|
39
39
|
/**
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -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"));
|
|
10
|
+
describe("Card component accessibility tests", function () {
|
|
11
|
+
it("Should not have basic accessibility issues", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
12
|
+
var _render, container, results;
|
|
13
|
+
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
14
|
+
while (1) switch (_context.prev = _context.next) {
|
|
15
|
+
case 0:
|
|
16
|
+
_render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Card["default"], {
|
|
17
|
+
linkHref: "https://www.dxc.com",
|
|
18
|
+
imageSrc: "https://picsum.photos/id/1022/200/300",
|
|
19
|
+
imagePosition: "after",
|
|
20
|
+
imagePadding: "xsmall",
|
|
21
|
+
margin: "medium",
|
|
22
|
+
imageBgColor: "yellow",
|
|
23
|
+
imageCover: true
|
|
24
|
+
}, "test-card")), container = _render.container;
|
|
25
|
+
_context.next = 3;
|
|
26
|
+
return (0, _axeHelper.axe)(container);
|
|
27
|
+
case 3:
|
|
28
|
+
results = _context.sent;
|
|
29
|
+
expect(results).toHaveNoViolations();
|
|
30
|
+
case 5:
|
|
31
|
+
case "end":
|
|
32
|
+
return _context.stop();
|
|
33
|
+
}
|
|
34
|
+
}, _callee);
|
|
35
|
+
})));
|
|
36
|
+
});
|
package/card/Card.js
CHANGED
|
@@ -16,7 +16,7 @@ var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
|
16
16
|
var _Box = _interopRequireDefault(require("../box/Box"));
|
|
17
17
|
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
|
|
18
18
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
19
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof3(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u &&
|
|
19
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof3(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
20
20
|
var DxcCard = function DxcCard(_ref) {
|
|
21
21
|
var imageSrc = _ref.imageSrc,
|
|
22
22
|
_ref$imageBgColor = _ref.imageBgColor,
|
|
@@ -64,7 +64,8 @@ var DxcCard = function DxcCard(_ref) {
|
|
|
64
64
|
}, /*#__PURE__*/_react["default"].createElement(TagImage, {
|
|
65
65
|
imagePadding: imagePadding,
|
|
66
66
|
imageCover: imageCover,
|
|
67
|
-
src: imageSrc
|
|
67
|
+
src: imageSrc,
|
|
68
|
+
alt: "Card image"
|
|
68
69
|
})), /*#__PURE__*/_react["default"].createElement(CardContent, null, children)))));
|
|
69
70
|
};
|
|
70
71
|
var Card = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n cursor: ", ";\n outline: ", ";\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n text-decoration: none;\n ", "\n"])), function (_ref2) {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/card/Card.test.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
4
|
var _react = _interopRequireDefault(require("react"));
|
|
5
5
|
var _react2 = require("@testing-library/react");
|
|
6
|
-
var _Card = _interopRequireDefault(require("./Card
|
|
6
|
+
var _Card = _interopRequireDefault(require("./Card"));
|
|
7
7
|
describe("Card component tests", function () {
|
|
8
8
|
test("Card renders with correct content", function () {
|
|
9
9
|
var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Card["default"], null, "test-card")),
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,87 @@
|
|
|
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 _Checkbox = _interopRequireDefault(require("./Checkbox"));
|
|
10
|
+
describe("Checkbox 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(_Checkbox["default"], {
|
|
17
|
+
label: "Checkbox",
|
|
18
|
+
labelPosition: "after",
|
|
19
|
+
name: "name",
|
|
20
|
+
size: "fitContent",
|
|
21
|
+
value: "checkboxValue",
|
|
22
|
+
margin: "small",
|
|
23
|
+
defaultChecked: true,
|
|
24
|
+
optional: true
|
|
25
|
+
})), container = _render.container;
|
|
26
|
+
_context.next = 3;
|
|
27
|
+
return (0, _axeHelper.axe)(container);
|
|
28
|
+
case 3:
|
|
29
|
+
results = _context.sent;
|
|
30
|
+
expect(results).toHaveNoViolations();
|
|
31
|
+
case 5:
|
|
32
|
+
case "end":
|
|
33
|
+
return _context.stop();
|
|
34
|
+
}
|
|
35
|
+
}, _callee);
|
|
36
|
+
})));
|
|
37
|
+
it("Should not have basic accessibility issues for read-only mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
|
|
38
|
+
var _render2, container, results;
|
|
39
|
+
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
|
40
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
41
|
+
case 0:
|
|
42
|
+
_render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Checkbox["default"], {
|
|
43
|
+
label: "Checkbox",
|
|
44
|
+
labelPosition: "after",
|
|
45
|
+
name: "name",
|
|
46
|
+
size: "fitContent",
|
|
47
|
+
value: "checkboxValue",
|
|
48
|
+
margin: "small",
|
|
49
|
+
readOnly: true
|
|
50
|
+
})), container = _render2.container;
|
|
51
|
+
_context2.next = 3;
|
|
52
|
+
return (0, _axeHelper.axe)(container);
|
|
53
|
+
case 3:
|
|
54
|
+
results = _context2.sent;
|
|
55
|
+
expect(results).toHaveNoViolations();
|
|
56
|
+
case 5:
|
|
57
|
+
case "end":
|
|
58
|
+
return _context2.stop();
|
|
59
|
+
}
|
|
60
|
+
}, _callee2);
|
|
61
|
+
})));
|
|
62
|
+
it("Should not have basic accessibility issues for disabled mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
|
|
63
|
+
var _render3, container, results;
|
|
64
|
+
return _regenerator["default"].wrap(function _callee3$(_context3) {
|
|
65
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
66
|
+
case 0:
|
|
67
|
+
_render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Checkbox["default"], {
|
|
68
|
+
label: "Checkbox",
|
|
69
|
+
labelPosition: "after",
|
|
70
|
+
name: "name",
|
|
71
|
+
size: "fitContent",
|
|
72
|
+
value: "checkboxValue",
|
|
73
|
+
margin: "small",
|
|
74
|
+
disabled: true
|
|
75
|
+
})), container = _render3.container;
|
|
76
|
+
_context3.next = 3;
|
|
77
|
+
return (0, _axeHelper.axe)(container);
|
|
78
|
+
case 3:
|
|
79
|
+
results = _context3.sent;
|
|
80
|
+
expect(results).toHaveNoViolations();
|
|
81
|
+
case 5:
|
|
82
|
+
case "end":
|
|
83
|
+
return _context3.stop();
|
|
84
|
+
}
|
|
85
|
+
}, _callee3);
|
|
86
|
+
})));
|
|
87
|
+
});
|
package/checkbox/Checkbox.js
CHANGED
|
@@ -13,17 +13,14 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
13
13
|
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
14
14
|
var _variables = require("../common/variables");
|
|
15
15
|
var _utils = require("../common/utils");
|
|
16
|
-
var _uuid = require("uuid");
|
|
17
16
|
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
18
17
|
var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
|
|
19
|
-
var _BackgroundColorContext = _interopRequireDefault(require("../BackgroundColorContext"));
|
|
20
18
|
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
|
|
21
19
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
22
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof3(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u &&
|
|
20
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof3(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
23
21
|
var checkedIcon = /*#__PURE__*/_react["default"].createElement("svg", {
|
|
24
22
|
fill: "currentColor",
|
|
25
23
|
focusable: "false",
|
|
26
|
-
"aria-hidden": "true",
|
|
27
24
|
viewBox: "0 0 24 24"
|
|
28
25
|
}, /*#__PURE__*/_react["default"].createElement("path", {
|
|
29
26
|
d: "M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"
|
|
@@ -51,16 +48,13 @@ var DxcCheckbox = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref)
|
|
|
51
48
|
size = _ref$size === void 0 ? "fitContent" : _ref$size,
|
|
52
49
|
_ref$tabIndex = _ref.tabIndex,
|
|
53
50
|
tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
|
|
54
|
-
var
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
innerChecked = _useState4[0],
|
|
60
|
-
setInnerChecked = _useState4[1];
|
|
51
|
+
var labelId = "label-checkbox-".concat((0, _react.useId)());
|
|
52
|
+
var _useState = (0, _react.useState)(defaultChecked),
|
|
53
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
54
|
+
innerChecked = _useState2[0],
|
|
55
|
+
setInnerChecked = _useState2[1];
|
|
61
56
|
var checkboxRef = (0, _react.useRef)(null);
|
|
62
57
|
var colorsTheme = (0, _useTheme["default"])();
|
|
63
|
-
var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"]);
|
|
64
58
|
var translatedLabels = (0, _useTranslatedLabels["default"])();
|
|
65
59
|
var handleCheckboxChange = function handleCheckboxChange() {
|
|
66
60
|
if (!disabled && !readOnly) {
|
|
@@ -89,18 +83,16 @@ var DxcCheckbox = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref)
|
|
|
89
83
|
margin: margin,
|
|
90
84
|
size: size,
|
|
91
85
|
checked: checked !== null && checked !== void 0 ? checked : innerChecked,
|
|
92
|
-
backgroundType: backgroundType,
|
|
93
86
|
ref: ref
|
|
94
87
|
}, label && /*#__PURE__*/_react["default"].createElement(LabelContainer, {
|
|
95
88
|
id: labelId,
|
|
96
89
|
disabled: disabled,
|
|
97
|
-
|
|
98
|
-
|
|
90
|
+
labelPosition: labelPosition,
|
|
91
|
+
"aria-label": label
|
|
99
92
|
}, label, optional && " ".concat(translatedLabels.formFields.optionalLabel)), /*#__PURE__*/_react["default"].createElement(ValueInput, {
|
|
100
93
|
type: "checkbox",
|
|
101
94
|
checked: checked !== null && checked !== void 0 ? checked : innerChecked,
|
|
102
95
|
name: name,
|
|
103
|
-
"aria-hidden": "true",
|
|
104
96
|
value: value,
|
|
105
97
|
disabled: disabled,
|
|
106
98
|
readOnly: true
|
|
@@ -112,8 +104,8 @@ var DxcCheckbox = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref)
|
|
|
112
104
|
"aria-disabled": disabled,
|
|
113
105
|
"aria-readonly": readOnly,
|
|
114
106
|
"aria-required": !disabled && !optional,
|
|
115
|
-
"aria-labelledby": labelId,
|
|
116
|
-
|
|
107
|
+
"aria-labelledby": label ? labelId : undefined,
|
|
108
|
+
"aria-label": label ? undefined : "Checkbox",
|
|
117
109
|
checked: checked !== null && checked !== void 0 ? checked : innerChecked,
|
|
118
110
|
disabled: disabled,
|
|
119
111
|
readOnly: readOnly,
|
|
@@ -130,52 +122,52 @@ var sizes = {
|
|
|
130
122
|
var calculateWidth = function calculateWidth(margin, size) {
|
|
131
123
|
return size === "fillParent" ? "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")") : sizes[size];
|
|
132
124
|
};
|
|
133
|
-
var getDisabledColor = function getDisabledColor(
|
|
125
|
+
var getDisabledColor = function getDisabledColor(theme, element) {
|
|
134
126
|
switch (element) {
|
|
135
127
|
case "check":
|
|
136
|
-
return
|
|
128
|
+
return theme.disabledCheckColor;
|
|
137
129
|
case "background":
|
|
138
|
-
return
|
|
130
|
+
return theme.disabledBackgroundColorChecked;
|
|
139
131
|
case "border":
|
|
140
|
-
return
|
|
132
|
+
return theme.disabledBorderColor;
|
|
141
133
|
case "label":
|
|
142
|
-
return
|
|
134
|
+
return theme.disabledFontColor;
|
|
143
135
|
}
|
|
144
136
|
};
|
|
145
|
-
var getReadOnlyColor = function getReadOnlyColor(
|
|
137
|
+
var getReadOnlyColor = function getReadOnlyColor(theme, element) {
|
|
146
138
|
switch (element) {
|
|
147
139
|
case "check":
|
|
148
|
-
return
|
|
140
|
+
return theme.readOnlyCheckColor;
|
|
149
141
|
case "background":
|
|
150
|
-
return
|
|
142
|
+
return theme.readOnlyBackgroundColorChecked;
|
|
151
143
|
case "hoverBackground":
|
|
152
|
-
return
|
|
144
|
+
return theme.hoverReadOnlyBackgroundColorChecked;
|
|
153
145
|
case "border":
|
|
154
|
-
return
|
|
146
|
+
return theme.readOnlyBorderColor;
|
|
155
147
|
case "hoverBorder":
|
|
156
|
-
return
|
|
148
|
+
return theme.hoverReadOnlyBorderColor;
|
|
157
149
|
}
|
|
158
150
|
};
|
|
159
|
-
var getEnabledColor = function getEnabledColor(
|
|
151
|
+
var getEnabledColor = function getEnabledColor(theme, element) {
|
|
160
152
|
switch (element) {
|
|
161
153
|
case "check":
|
|
162
|
-
return
|
|
154
|
+
return theme.checkColor;
|
|
163
155
|
case "background":
|
|
164
|
-
return
|
|
156
|
+
return theme.backgroundColorChecked;
|
|
165
157
|
case "hoverBackground":
|
|
166
|
-
return
|
|
158
|
+
return theme.hoverBackgroundColorChecked;
|
|
167
159
|
case "border":
|
|
168
|
-
return
|
|
160
|
+
return theme.borderColor;
|
|
169
161
|
case "hoverBorder":
|
|
170
|
-
return
|
|
162
|
+
return theme.hoverBorderColor;
|
|
171
163
|
case "label":
|
|
172
|
-
return
|
|
164
|
+
return theme.fontColor;
|
|
173
165
|
}
|
|
174
166
|
};
|
|
175
167
|
var LabelContainer = _styledComponents["default"].span(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n order: ", ";\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-weight: ", ";\n"])), function (props) {
|
|
176
168
|
return props.labelPosition === "before" ? 0 : 1;
|
|
177
169
|
}, function (props) {
|
|
178
|
-
return props.disabled ? getDisabledColor(props, "label") : getEnabledColor(props, "label");
|
|
170
|
+
return props.disabled ? getDisabledColor(props.theme, "label") : getEnabledColor(props.theme, "label");
|
|
179
171
|
}, function (props) {
|
|
180
172
|
return props.theme.fontFamily;
|
|
181
173
|
}, function (props) {
|
|
@@ -185,14 +177,14 @@ var LabelContainer = _styledComponents["default"].span(_templateObject || (_temp
|
|
|
185
177
|
});
|
|
186
178
|
var ValueInput = _styledComponents["default"].input(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: none;\n"])));
|
|
187
179
|
var CheckboxContainer = _styledComponents["default"].span(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n justify-content: center;\n height: 24px;\n width: 24px;\n"])));
|
|
188
|
-
var Checkbox = _styledComponents["default"].span(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n position: relative;\n box-sizing: border-box;\n display: flex;\n align-items: center;\n justify-content: center;\n height: 18px;\n width: 18px;\n border: 2px solid\n ", ";\n border-radius: 2px;\n background-color: ", ";\n color: ", ";\n\n &:focus {\n outline: 2px solid
|
|
189
|
-
return props.disabled ? getDisabledColor(props, "border") : props.readOnly ? getReadOnlyColor(props, "border") : getEnabledColor(props, "border");
|
|
180
|
+
var Checkbox = _styledComponents["default"].span(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n position: relative;\n box-sizing: border-box;\n display: flex;\n align-items: center;\n justify-content: center;\n height: 18px;\n width: 18px;\n border: 2px solid\n ", ";\n border-radius: 2px;\n background-color: ", ";\n color: ", ";\n\n &:focus {\n outline: 2px solid ", ";\n outline-offset: 2px;\n }\n svg {\n position: absolute;\n width: 22px;\n height: 22px;\n }\n ", "\n"])), function (props) {
|
|
181
|
+
return props.disabled ? getDisabledColor(props.theme, "border") : props.readOnly ? getReadOnlyColor(props.theme, "border") : getEnabledColor(props.theme, "border");
|
|
190
182
|
}, function (props) {
|
|
191
|
-
return props.checked ? props.disabled ? getDisabledColor(props, "check") : props.readOnly ? getReadOnlyColor(props, "check") : getEnabledColor(props, "check") : "transparent";
|
|
183
|
+
return props.checked ? props.disabled ? getDisabledColor(props.theme, "check") : props.readOnly ? getReadOnlyColor(props.theme, "check") : getEnabledColor(props.theme, "check") : "transparent";
|
|
192
184
|
}, function (props) {
|
|
193
|
-
return props.disabled ? getDisabledColor(props, "background") : props.readOnly ? getReadOnlyColor(props, "background") : getEnabledColor(props, "background");
|
|
185
|
+
return props.disabled ? getDisabledColor(props.theme, "background") : props.readOnly ? getReadOnlyColor(props.theme, "background") : getEnabledColor(props.theme, "background");
|
|
194
186
|
}, function (props) {
|
|
195
|
-
return props.
|
|
187
|
+
return props.theme.focusColor;
|
|
196
188
|
}, function (props) {
|
|
197
189
|
return props.disabled && "pointer-events: none;";
|
|
198
190
|
});
|
|
@@ -213,8 +205,8 @@ var MainContainer = _styledComponents["default"].div(_templateObject5 || (_templ
|
|
|
213
205
|
}, function (props) {
|
|
214
206
|
return props.disabled ? "not-allowed" : props.readOnly ? "default" : "pointer";
|
|
215
207
|
}, Checkbox, function (props) {
|
|
216
|
-
if (!props.disabled) return props.readOnly ? getReadOnlyColor(props, "hoverBorder") : getEnabledColor(props, "hoverBorder");
|
|
208
|
+
if (!props.disabled) return props.readOnly ? getReadOnlyColor(props.theme, "hoverBorder") : getEnabledColor(props.theme, "hoverBorder");
|
|
217
209
|
}, function (props) {
|
|
218
|
-
if (!props.disabled) return props.readOnly ? getReadOnlyColor(props, "hoverBackground") : getEnabledColor(props, "hoverBackground");
|
|
210
|
+
if (!props.disabled) return props.readOnly ? getReadOnlyColor(props.theme, "hoverBackground") : getEnabledColor(props.theme, "hoverBackground");
|
|
219
211
|
});
|
|
220
212
|
var _default = exports["default"] = DxcCheckbox;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -6,7 +6,7 @@ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/
|
|
|
6
6
|
var _react = _interopRequireDefault(require("react"));
|
|
7
7
|
var _react2 = require("@testing-library/react");
|
|
8
8
|
var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
|
|
9
|
-
var _Checkbox = _interopRequireDefault(require("./Checkbox
|
|
9
|
+
var _Checkbox = _interopRequireDefault(require("./Checkbox"));
|
|
10
10
|
describe("Checkbox component tests", function () {
|
|
11
11
|
test("Checkbox renders with correct aria-labelledby and aria-required", function () {
|
|
12
12
|
var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Checkbox["default"], {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|