@dxc-technology/halstack-react 0.0.0-5a1e592 → 0.0.0-5b15506
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/BackgroundColorContext.d.ts +1 -10
- package/BackgroundColorContext.js +4 -21
- package/HalstackContext.d.ts +32 -139
- package/HalstackContext.js +10 -35
- package/accordion/Accordion.accessibility.test.js +71 -0
- package/accordion/Accordion.js +33 -84
- package/accordion/Accordion.stories.tsx +5 -51
- package/accordion/Accordion.test.js +18 -33
- package/accordion/types.d.ts +6 -6
- package/accordion-group/AccordionGroup.accessibility.test.js +88 -0
- package/accordion-group/AccordionGroup.d.ts +2 -3
- package/accordion-group/AccordionGroup.js +17 -44
- package/accordion-group/AccordionGroup.stories.tsx +1 -1
- package/accordion-group/AccordionGroup.test.js +42 -60
- package/accordion-group/AccordionGroupAccordion.js +11 -23
- package/accordion-group/AccordionGroupContext.d.ts +3 -0
- package/accordion-group/AccordionGroupContext.js +8 -0
- package/accordion-group/types.d.ts +7 -7
- package/action-icon/ActionIcon.accessibility.test.js +63 -0
- package/action-icon/ActionIcon.d.ts +4 -0
- package/action-icon/ActionIcon.js +48 -0
- package/action-icon/ActionIcon.stories.tsx +41 -0
- package/action-icon/ActionIcon.test.js +64 -0
- package/action-icon/types.d.ts +26 -0
- package/alert/Alert.accessibility.test.js +95 -0
- package/alert/Alert.js +29 -118
- package/alert/Alert.test.js +28 -45
- package/alert/types.d.ts +5 -5
- package/badge/Badge.accessibility.test.js +129 -0
- package/badge/Badge.d.ts +1 -1
- package/badge/Badge.js +142 -42
- package/badge/Badge.stories.tsx +210 -0
- package/badge/Badge.test.js +30 -0
- package/badge/types.d.ts +52 -3
- package/bleed/Bleed.js +13 -21
- package/bleed/types.d.ts +2 -2
- package/box/Box.accessibility.test.js +33 -0
- package/box/Box.js +11 -33
- package/box/Box.test.js +1 -6
- package/box/types.d.ts +3 -3
- package/bulleted-list/BulletedList.accessibility.test.js +107 -0
- package/bulleted-list/BulletedList.js +22 -55
- package/bulleted-list/BulletedList.stories.tsx +2 -93
- package/bulleted-list/types.d.ts +5 -5
- package/button/Button.accessibility.test.js +127 -0
- package/button/Button.js +36 -59
- package/button/Button.stories.tsx +33 -133
- package/button/Button.test.js +13 -21
- package/button/types.d.ts +5 -5
- package/card/Card.accessibility.test.js +36 -0
- package/card/Card.js +21 -44
- package/card/Card.test.js +10 -21
- package/card/types.d.ts +5 -5
- package/checkbox/Checkbox.accessibility.test.js +87 -0
- package/checkbox/Checkbox.js +55 -109
- package/checkbox/Checkbox.stories.tsx +0 -54
- package/checkbox/Checkbox.test.js +79 -108
- package/checkbox/types.d.ts +4 -4
- package/chip/Chip.accessibility.test.js +67 -0
- package/chip/Chip.js +20 -36
- package/chip/Chip.stories.tsx +5 -24
- package/chip/Chip.test.js +17 -30
- package/chip/types.d.ts +4 -4
- package/common/coreTokens.d.ts +105 -14
- package/common/coreTokens.js +40 -23
- package/common/utils.js +2 -8
- package/common/variables.d.ts +32 -136
- package/common/variables.js +43 -154
- 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 +7 -0
- package/contextual-menu/ContextualMenu.js +71 -0
- package/contextual-menu/ContextualMenu.stories.tsx +182 -0
- package/contextual-menu/ContextualMenu.test.js +71 -0
- package/contextual-menu/MenuItemAction.d.ts +4 -0
- package/contextual-menu/MenuItemAction.js +46 -0
- package/contextual-menu/types.d.ts +22 -0
- package/contextual-menu/types.js +5 -0
- package/date-input/Calendar.js +13 -57
- package/date-input/DateInput.accessibility.test.js +216 -0
- package/date-input/DateInput.js +45 -94
- package/date-input/DateInput.stories.tsx +1 -30
- package/date-input/DateInput.test.js +667 -708
- package/date-input/DatePicker.js +23 -48
- package/date-input/YearPicker.js +8 -34
- package/date-input/types.d.ts +28 -26
- package/dialog/Dialog.accessibility.test.js +69 -0
- package/dialog/Dialog.js +13 -40
- package/dialog/Dialog.stories.tsx +170 -0
- package/dialog/Dialog.test.js +126 -188
- package/dialog/types.d.ts +18 -13
- package/divider/Divider.accessibility.test.js +33 -0
- package/divider/Divider.d.ts +4 -0
- package/divider/Divider.js +36 -0
- package/divider/Divider.stories.tsx +223 -0
- package/divider/Divider.test.js +38 -0
- package/divider/types.d.ts +21 -0
- package/divider/types.js +5 -0
- package/dropdown/Dropdown.accessibility.test.js +180 -0
- package/dropdown/Dropdown.js +59 -128
- package/dropdown/Dropdown.stories.tsx +5 -16
- package/dropdown/Dropdown.test.js +391 -378
- package/dropdown/DropdownMenu.js +8 -19
- package/dropdown/DropdownMenuItem.js +11 -20
- package/dropdown/types.d.ts +20 -24
- package/file-input/FileInput.accessibility.test.js +160 -0
- package/file-input/FileInput.js +180 -284
- package/file-input/FileInput.stories.tsx +1 -1
- package/file-input/FileInput.test.js +279 -354
- package/file-input/FileItem.js +25 -66
- package/file-input/types.d.ts +9 -9
- package/flex/Flex.js +25 -39
- package/flex/types.d.ts +6 -6
- package/footer/Footer.accessibility.test.js +117 -0
- package/footer/Footer.d.ts +1 -1
- package/footer/Footer.js +43 -68
- package/footer/Footer.stories.tsx +46 -2
- package/footer/Footer.test.js +18 -32
- package/footer/Icons.d.ts +3 -2
- package/footer/Icons.js +66 -7
- package/footer/types.d.ts +17 -17
- package/grid/Grid.js +1 -16
- package/grid/types.d.ts +10 -10
- package/header/Header.accessibility.test.js +84 -0
- package/header/Header.d.ts +1 -1
- package/header/Header.js +36 -103
- package/header/Header.test.js +12 -25
- package/header/Icons.d.ts +2 -2
- package/header/Icons.js +2 -7
- package/header/types.d.ts +7 -8
- package/heading/Heading.accessibility.test.js +33 -0
- package/heading/Heading.js +9 -31
- package/heading/Heading.test.js +70 -87
- package/heading/types.d.ts +7 -7
- package/icon/Icon.accessibility.test.js +30 -0
- package/icon/Icon.d.ts +4 -0
- package/icon/Icon.js +33 -0
- package/icon/Icon.stories.tsx +28 -0
- package/icon/types.d.ts +4 -0
- package/icon/types.js +5 -0
- package/image/Image.accessibility.test.js +56 -0
- package/image/Image.d.ts +2 -2
- package/image/Image.js +17 -32
- package/image/Image.stories.tsx +3 -1
- package/image/types.d.ts +2 -2
- package/inset/Inset.js +13 -21
- package/inset/types.d.ts +2 -2
- package/layout/ApplicationLayout.d.ts +2 -2
- package/layout/ApplicationLayout.js +15 -55
- package/layout/Icons.d.ts +5 -5
- package/layout/Icons.js +1 -7
- package/layout/types.d.ts +3 -3
- package/link/Link.accessibility.test.js +112 -0
- package/link/Link.js +28 -47
- package/link/Link.stories.tsx +2 -2
- package/link/Link.test.js +23 -41
- package/link/types.d.ts +14 -14
- package/main.d.ts +7 -4
- package/main.js +32 -60
- package/nav-tabs/NavTabs.accessibility.test.js +44 -0
- package/nav-tabs/NavTabs.d.ts +1 -2
- package/nav-tabs/NavTabs.js +19 -48
- package/nav-tabs/NavTabs.stories.tsx +30 -25
- package/nav-tabs/NavTabs.test.js +38 -45
- package/nav-tabs/NavTabsContext.d.ts +3 -0
- package/nav-tabs/NavTabsContext.js +8 -0
- package/nav-tabs/Tab.js +33 -62
- package/nav-tabs/types.d.ts +10 -10
- package/number-input/NumberInput.accessibility.test.js +228 -0
- package/number-input/NumberInput.d.ts +0 -7
- package/number-input/NumberInput.js +47 -39
- package/number-input/NumberInput.stories.tsx +42 -26
- package/number-input/NumberInput.test.js +839 -575
- package/number-input/NumberInputContext.d.ts +3 -0
- package/number-input/NumberInputContext.js +8 -0
- package/number-input/types.d.ts +17 -5
- package/package.json +39 -37
- package/paginator/Icons.d.ts +5 -5
- package/paginator/Icons.js +5 -19
- package/paginator/Paginator.accessibility.test.js +79 -0
- package/paginator/Paginator.js +15 -43
- package/paginator/Paginator.test.js +224 -207
- package/paginator/types.d.ts +3 -3
- package/paragraph/Paragraph.accessibility.test.js +28 -0
- package/paragraph/Paragraph.js +3 -19
- package/paragraph/Paragraph.stories.tsx +0 -17
- package/password-input/PasswordInput.accessibility.test.js +153 -0
- package/password-input/PasswordInput.js +27 -50
- package/password-input/PasswordInput.stories.tsx +1 -34
- package/password-input/PasswordInput.test.js +153 -129
- package/password-input/types.d.ts +8 -7
- package/progress-bar/ProgressBar.accessibility.test.js +35 -0
- package/progress-bar/ProgressBar.js +21 -53
- package/progress-bar/{ProgressBar.stories.jsx → ProgressBar.stories.tsx} +1 -1
- package/progress-bar/ProgressBar.test.js +35 -52
- package/progress-bar/types.d.ts +3 -3
- package/quick-nav/QuickNav.accessibility.test.js +57 -0
- package/quick-nav/QuickNav.js +4 -27
- package/quick-nav/QuickNav.stories.tsx +1 -1
- package/quick-nav/types.d.ts +10 -10
- package/radio-group/Radio.js +15 -47
- package/radio-group/RadioGroup.accessibility.test.js +97 -0
- package/radio-group/RadioGroup.js +34 -80
- package/radio-group/RadioGroup.test.js +504 -497
- package/radio-group/types.d.ts +5 -5
- package/resultset-table/Icons.d.ts +7 -0
- package/{resultsetTable → resultset-table}/Icons.js +1 -5
- package/resultset-table/ResultsetTable.accessibility.test.js +274 -0
- package/resultset-table/ResultsetTable.d.ts +7 -0
- package/{resultsetTable → resultset-table}/ResultsetTable.js +44 -69
- package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +106 -5
- package/{resultsetTable → resultset-table}/ResultsetTable.test.js +148 -92
- package/{resultsetTable → resultset-table}/types.d.ts +44 -11
- package/resultset-table/types.js +5 -0
- package/select/Listbox.js +18 -42
- package/select/Option.js +26 -35
- package/select/Select.accessibility.test.js +217 -0
- package/select/Select.js +101 -169
- package/select/Select.stories.tsx +33 -97
- package/select/Select.test.js +1894 -1846
- package/select/types.d.ts +15 -16
- package/sidenav/Sidenav.accessibility.test.js +59 -0
- package/sidenav/Sidenav.js +44 -81
- package/sidenav/Sidenav.stories.tsx +4 -9
- package/sidenav/Sidenav.test.js +3 -10
- package/{layout → sidenav}/SidenavContext.d.ts +1 -1
- package/{layout → sidenav}/SidenavContext.js +3 -9
- package/sidenav/types.d.ts +20 -20
- package/slider/Slider.accessibility.test.js +104 -0
- package/slider/Slider.js +68 -125
- package/slider/Slider.test.js +107 -103
- package/slider/types.d.ts +4 -4
- package/spinner/Spinner.accessibility.test.js +96 -0
- package/spinner/Spinner.js +16 -54
- package/spinner/Spinner.test.js +25 -34
- package/spinner/types.d.ts +3 -3
- package/status-light/StatusLight.accessibility.test.js +157 -0
- package/status-light/StatusLight.d.ts +4 -0
- package/status-light/StatusLight.js +51 -0
- package/status-light/StatusLight.stories.tsx +74 -0
- package/status-light/StatusLight.test.js +25 -0
- package/status-light/types.d.ts +17 -0
- package/status-light/types.js +5 -0
- package/switch/Switch.accessibility.test.js +89 -0
- package/switch/Switch.js +49 -97
- package/switch/Switch.stories.tsx +0 -34
- package/switch/Switch.test.js +51 -96
- package/switch/types.d.ts +4 -4
- package/table/DropdownTheme.js +62 -0
- package/table/Table.accessibility.test.js +82 -0
- package/table/Table.d.ts +6 -2
- package/table/Table.js +76 -33
- package/table/{Table.stories.jsx → Table.stories.tsx} +297 -2
- package/table/Table.test.js +93 -6
- package/table/types.d.ts +34 -6
- package/tabs/Tab.js +22 -37
- package/tabs/Tabs.accessibility.test.js +56 -0
- package/tabs/Tabs.js +59 -147
- package/tabs/Tabs.stories.tsx +2 -4
- package/tabs/Tabs.test.js +57 -131
- package/tabs/types.d.ts +21 -21
- package/tag/Tag.accessibility.test.js +69 -0
- package/tag/Tag.js +27 -57
- package/tag/Tag.stories.tsx +4 -7
- package/tag/Tag.test.js +17 -36
- package/tag/types.d.ts +9 -9
- package/text-input/Suggestion.js +9 -26
- package/text-input/Suggestions.d.ts +1 -1
- package/text-input/Suggestions.js +19 -67
- package/text-input/TextInput.accessibility.test.js +321 -0
- package/text-input/TextInput.js +193 -285
- package/text-input/TextInput.stories.tsx +10 -153
- package/text-input/TextInput.test.js +1213 -1269
- package/text-input/types.d.ts +21 -17
- package/textarea/Textarea.accessibility.test.js +155 -0
- package/textarea/Textarea.js +49 -93
- package/textarea/{Textarea.stories.jsx → Textarea.stories.tsx} +58 -108
- package/textarea/Textarea.test.js +135 -208
- package/textarea/types.d.ts +5 -5
- package/toggle-group/ToggleGroup.accessibility.test.js +107 -0
- package/toggle-group/ToggleGroup.js +25 -64
- package/toggle-group/ToggleGroup.stories.tsx +4 -4
- package/toggle-group/ToggleGroup.test.js +48 -81
- package/toggle-group/types.d.ts +12 -12
- package/typography/Typography.accessibility.test.js +339 -0
- package/typography/Typography.js +4 -13
- package/typography/types.d.ts +1 -1
- package/useTheme.d.ts +29 -133
- package/useTheme.js +1 -8
- package/useTranslatedLabels.js +1 -7
- package/utils/BaseTypography.d.ts +2 -2
- package/utils/BaseTypography.js +16 -30
- package/utils/FocusLock.js +25 -39
- package/wizard/Wizard.accessibility.test.js +55 -0
- package/wizard/Wizard.js +27 -65
- package/wizard/Wizard.stories.tsx +19 -0
- package/wizard/Wizard.test.js +53 -80
- package/wizard/types.d.ts +8 -8
- package/common/OpenSans.css +0 -69
- package/common/fonts/OpenSans-Bold.ttf +0 -0
- package/common/fonts/OpenSans-BoldItalic.ttf +0 -0
- package/common/fonts/OpenSans-ExtraBold.ttf +0 -0
- package/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
- package/common/fonts/OpenSans-Italic.ttf +0 -0
- package/common/fonts/OpenSans-Light.ttf +0 -0
- package/common/fonts/OpenSans-LightItalic.ttf +0 -0
- package/common/fonts/OpenSans-Regular.ttf +0 -0
- package/common/fonts/OpenSans-SemiBold.ttf +0 -0
- package/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
- package/date-input/Icons.d.ts +0 -6
- package/date-input/Icons.js +0 -75
- package/password-input/Icons.d.ts +0 -6
- package/password-input/Icons.js +0 -39
- package/resultsetTable/Icons.d.ts +0 -7
- package/resultsetTable/ResultsetTable.d.ts +0 -4
- package/select/Icons.d.ts +0 -10
- package/select/Icons.js +0 -93
- package/sidenav/Icons.d.ts +0 -7
- package/sidenav/Icons.js +0 -51
- package/slider/Slider.stories.tsx +0 -240
- package/text-input/Icons.d.ts +0 -8
- package/text-input/Icons.js +0 -60
- /package/{resultsetTable → action-icon}/types.js +0 -0
- /package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +0 -0
package/grid/types.d.ts
CHANGED
|
@@ -1,30 +1,30 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
type Spaces = "0rem" | "0.125rem" | "0.25rem" | "0.5rem" | "1rem" | "1.5rem" | "2rem" | "3rem" | "4rem" | "5rem";
|
|
3
|
+
type Gap = {
|
|
4
4
|
rowGap: Spaces;
|
|
5
5
|
columnGap?: Spaces;
|
|
6
6
|
} | {
|
|
7
7
|
rowGap?: Spaces;
|
|
8
8
|
columnGap: Spaces;
|
|
9
9
|
} | Spaces;
|
|
10
|
-
|
|
10
|
+
type GridCell = {
|
|
11
11
|
start: number | string;
|
|
12
12
|
end: number | string;
|
|
13
13
|
};
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
14
|
+
type PlaceSelfValues = "auto" | "start" | "end" | "center" | "stretch" | "baseline";
|
|
15
|
+
type PlaceContentValues = "normal" | "start" | "end" | "center" | "stretch" | "space-between" | "space-around" | "space-evenly" | "baseline";
|
|
16
|
+
type PlaceItemsValues = "normal" | "start" | "end" | "center" | "stretch" | "baseline";
|
|
17
|
+
type PlaceObject<Type, Suffix extends string> = {
|
|
18
18
|
[Property in keyof Type as `${string & Property}${Capitalize<string & Suffix>}`]: Type[Property];
|
|
19
19
|
};
|
|
20
|
-
|
|
20
|
+
type PlaceGeneric<PlaceValues, Element extends string> = PlaceObject<{
|
|
21
21
|
justify?: PlaceValues;
|
|
22
22
|
align: PlaceValues;
|
|
23
23
|
}, Element> | PlaceObject<{
|
|
24
24
|
justify: PlaceValues;
|
|
25
25
|
align?: PlaceValues;
|
|
26
26
|
}, Element> | PlaceValues;
|
|
27
|
-
export
|
|
27
|
+
export type GridItemProps = {
|
|
28
28
|
/**
|
|
29
29
|
* Sets the name of an item so that it can be referenced by a template created with the grid-template-areas property.
|
|
30
30
|
*/
|
|
@@ -56,7 +56,7 @@ export declare type GridItemProps = {
|
|
|
56
56
|
*/
|
|
57
57
|
children: React.ReactNode;
|
|
58
58
|
};
|
|
59
|
-
|
|
59
|
+
type Props = GridItemProps & {
|
|
60
60
|
/**
|
|
61
61
|
* Sets the grid-auto-columns CSS property.
|
|
62
62
|
*
|
|
@@ -0,0 +1,84 @@
|
|
|
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 _Header = _interopRequireDefault(require("./Header.tsx"));
|
|
10
|
+
var _Flex = _interopRequireDefault(require("../flex/Flex.tsx"));
|
|
11
|
+
var _Link = _interopRequireDefault(require("../link/Link.tsx"));
|
|
12
|
+
var iconSVG = /*#__PURE__*/_react["default"].createElement("svg", {
|
|
13
|
+
viewBox: "0 0 24 24",
|
|
14
|
+
height: "24",
|
|
15
|
+
width: "24",
|
|
16
|
+
fill: "currentColor"
|
|
17
|
+
}, /*#__PURE__*/_react["default"].createElement("path", {
|
|
18
|
+
d: "M0 0h24v24H0z",
|
|
19
|
+
fill: "none"
|
|
20
|
+
}), /*#__PURE__*/_react["default"].createElement("path", {
|
|
21
|
+
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"
|
|
22
|
+
}));
|
|
23
|
+
var iconUrl = "https://iconape.com/wp-content/files/yd/367773/svg/logo-linkedin-logo-icon-png-svg.png";
|
|
24
|
+
var options = [{
|
|
25
|
+
value: "1",
|
|
26
|
+
label: "Amazon",
|
|
27
|
+
icon: iconUrl
|
|
28
|
+
}, {
|
|
29
|
+
value: "2",
|
|
30
|
+
label: "Ebay",
|
|
31
|
+
icon: iconUrl
|
|
32
|
+
}, {
|
|
33
|
+
value: "3",
|
|
34
|
+
label: "Wallapop",
|
|
35
|
+
icon: iconSVG
|
|
36
|
+
}, {
|
|
37
|
+
value: "4",
|
|
38
|
+
label: "Aliexpress",
|
|
39
|
+
icon: iconSVG
|
|
40
|
+
}];
|
|
41
|
+
describe("Header component accessibility tests", function () {
|
|
42
|
+
beforeAll(function () {
|
|
43
|
+
Object.defineProperty(window, "matchMedia", {
|
|
44
|
+
writable: true,
|
|
45
|
+
value: jest.fn().mockImplementation(function () {
|
|
46
|
+
return {
|
|
47
|
+
matches: false
|
|
48
|
+
};
|
|
49
|
+
})
|
|
50
|
+
});
|
|
51
|
+
});
|
|
52
|
+
it("Should not have basic accessibility issues", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
53
|
+
var _render, container, results;
|
|
54
|
+
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
55
|
+
while (1) switch (_context.prev = _context.next) {
|
|
56
|
+
case 0:
|
|
57
|
+
_render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Header["default"], {
|
|
58
|
+
content: /*#__PURE__*/_react["default"].createElement(_Flex["default"], {
|
|
59
|
+
alignItems: "center",
|
|
60
|
+
gap: "4rem"
|
|
61
|
+
}, /*#__PURE__*/_react["default"].createElement(_Link["default"], null, "Link 1"), /*#__PURE__*/_react["default"].createElement(_Link["default"], null, "Link 2"), /*#__PURE__*/_react["default"].createElement(_Link["default"], null, "Link 3"), /*#__PURE__*/_react["default"].createElement(_Header["default"].Dropdown, {
|
|
62
|
+
options: options,
|
|
63
|
+
label: "dropdown-test",
|
|
64
|
+
icon: iconSVG,
|
|
65
|
+
iconPosition: "after",
|
|
66
|
+
margin: "medium",
|
|
67
|
+
size: "medium",
|
|
68
|
+
optionsIconPosition: "after"
|
|
69
|
+
})),
|
|
70
|
+
margin: "medium",
|
|
71
|
+
underlined: true
|
|
72
|
+
})), container = _render.container;
|
|
73
|
+
_context.next = 3;
|
|
74
|
+
return (0, _jestAxe.axe)(container);
|
|
75
|
+
case 3:
|
|
76
|
+
results = _context.sent;
|
|
77
|
+
expect(results).toHaveNoViolations();
|
|
78
|
+
case 5:
|
|
79
|
+
case "end":
|
|
80
|
+
return _context.stop();
|
|
81
|
+
}
|
|
82
|
+
}, _callee);
|
|
83
|
+
})));
|
|
84
|
+
});
|
package/header/Header.d.ts
CHANGED
|
@@ -3,6 +3,6 @@ import DxcDropdown from "../dropdown/Dropdown";
|
|
|
3
3
|
import HeaderPropsType from "./types";
|
|
4
4
|
declare const DxcHeader: {
|
|
5
5
|
({ underlined, content, responsiveContent, onClick, margin, tabIndex, }: HeaderPropsType): JSX.Element;
|
|
6
|
-
Dropdown: (props: React.ComponentProps<typeof DxcDropdown>) => JSX.Element;
|
|
6
|
+
Dropdown: (props: React.ComponentProps<typeof DxcDropdown>) => React.JSX.Element;
|
|
7
7
|
};
|
|
8
8
|
export default DxcHeader;
|
package/header/Header.js
CHANGED
|
@@ -1,113 +1,64 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
var _typeof3 = require("@babel/runtime/helpers/typeof");
|
|
6
|
-
|
|
4
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
7
5
|
Object.defineProperty(exports, "__esModule", {
|
|
8
6
|
value: true
|
|
9
7
|
});
|
|
10
8
|
exports["default"] = void 0;
|
|
11
|
-
|
|
12
|
-
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
13
|
-
|
|
14
9
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
15
|
-
|
|
16
10
|
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
17
|
-
|
|
18
11
|
var _react = _interopRequireWildcard(require("react"));
|
|
19
|
-
|
|
20
12
|
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
21
|
-
|
|
22
13
|
var _Dropdown = _interopRequireDefault(require("../dropdown/Dropdown"));
|
|
23
|
-
|
|
24
14
|
var _Icons = require("./Icons");
|
|
25
|
-
|
|
26
15
|
var _variables = require("../common/variables");
|
|
27
|
-
|
|
28
16
|
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
29
|
-
|
|
30
17
|
var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
|
|
31
|
-
|
|
32
|
-
var _BackgroundColorContext = _interopRequireWildcard(require("../BackgroundColorContext"));
|
|
33
|
-
|
|
18
|
+
var _Icon = _interopRequireDefault(require("../icon/Icon"));
|
|
34
19
|
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15;
|
|
35
|
-
|
|
36
|
-
function
|
|
37
|
-
|
|
38
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof3(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
39
|
-
|
|
40
|
-
var closeIcon = /*#__PURE__*/_react["default"].createElement("svg", {
|
|
41
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
42
|
-
viewBox: "0 0 24 24",
|
|
43
|
-
height: "24",
|
|
44
|
-
width: "24"
|
|
45
|
-
}, /*#__PURE__*/_react["default"].createElement("path", {
|
|
46
|
-
d: "M6.4 19 5 17.6l5.6-5.6L5 6.4 6.4 5l5.6 5.6L17.6 5 19 6.4 13.4 12l5.6 5.6-1.4 1.4-5.6-5.6Z"
|
|
47
|
-
}));
|
|
48
|
-
|
|
49
|
-
var hamburgerIcon = /*#__PURE__*/_react["default"].createElement("svg", {
|
|
50
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
51
|
-
viewBox: "0 0 24 24",
|
|
52
|
-
width: "24",
|
|
53
|
-
height: "24"
|
|
54
|
-
}, /*#__PURE__*/_react["default"].createElement("path", {
|
|
55
|
-
d: "M3,8H21a1,1,0,0,0,0-2H3A1,1,0,0,0,3,8Zm18,8H3a1,1,0,0,0,0,2H21a1,1,0,0,0,0-2Zm0-5H3a1,1,0,0,0,0,2H21a1,1,0,0,0,0-2Z"
|
|
56
|
-
}));
|
|
57
|
-
|
|
20
|
+
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); }
|
|
21
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(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 && Object.prototype.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; }
|
|
58
22
|
var Dropdown = function Dropdown(props) {
|
|
59
23
|
return /*#__PURE__*/_react["default"].createElement(HeaderDropdown, null, /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], props));
|
|
60
24
|
};
|
|
61
|
-
|
|
62
25
|
var HeaderDropdown = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n button {\n background-color: transparent;\n :hover {\n background-color: transparent;\n }\n }\n"])));
|
|
63
|
-
|
|
64
26
|
var getLogoElement = function getLogoElement(themeInput, logoLabel) {
|
|
65
27
|
if (!themeInput) return _Icons.dxcLogo;else if (typeof themeInput === "string") return /*#__PURE__*/_react["default"].createElement(LogoImg, {
|
|
66
28
|
alt: logoLabel,
|
|
67
29
|
src: themeInput
|
|
68
30
|
});else return themeInput;
|
|
69
31
|
};
|
|
70
|
-
|
|
71
32
|
var Content = function Content(_ref) {
|
|
72
33
|
var isResponsive = _ref.isResponsive,
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
return isResponsive ? /*#__PURE__*/_react["default"].createElement(MenuContent, {
|
|
78
|
-
backgroundType: backgroundType
|
|
79
|
-
}, responsiveContent(handleMenu)) : /*#__PURE__*/_react["default"].createElement(ContentContainer, {
|
|
80
|
-
backgroundType: backgroundType
|
|
81
|
-
}, content);
|
|
34
|
+
responsiveContent = _ref.responsiveContent,
|
|
35
|
+
handleMenu = _ref.handleMenu,
|
|
36
|
+
content = _ref.content;
|
|
37
|
+
return isResponsive ? /*#__PURE__*/_react["default"].createElement(MenuContent, null, responsiveContent(handleMenu)) : /*#__PURE__*/_react["default"].createElement(ContentContainer, null, content);
|
|
82
38
|
};
|
|
83
|
-
|
|
84
39
|
var DxcHeader = function DxcHeader(_ref2) {
|
|
85
40
|
var _ref2$underlined = _ref2.underlined,
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
41
|
+
underlined = _ref2$underlined === void 0 ? false : _ref2$underlined,
|
|
42
|
+
content = _ref2.content,
|
|
43
|
+
responsiveContent = _ref2.responsiveContent,
|
|
44
|
+
onClick = _ref2.onClick,
|
|
45
|
+
margin = _ref2.margin,
|
|
46
|
+
_ref2$tabIndex = _ref2.tabIndex,
|
|
47
|
+
tabIndex = _ref2$tabIndex === void 0 ? 0 : _ref2$tabIndex;
|
|
93
48
|
var colorsTheme = (0, _useTheme["default"])();
|
|
94
49
|
var translatedLabels = (0, _useTranslatedLabels["default"])();
|
|
95
50
|
var ref = (0, _react.useRef)(null);
|
|
96
|
-
|
|
97
51
|
var _useState = (0, _react.useState)(false),
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
52
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
53
|
+
isResponsive = _useState2[0],
|
|
54
|
+
setIsResponsive = _useState2[1];
|
|
102
55
|
var _useState3 = (0, _react.useState)(false),
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
56
|
+
_useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
|
|
57
|
+
isMenuVisible = _useState4[0],
|
|
58
|
+
setIsMenuVisible = _useState4[1];
|
|
107
59
|
var handleResize = (0, _react.useCallback)(function () {
|
|
108
60
|
setIsResponsive(window.matchMedia("(max-width: ".concat(_variables.responsiveSizes.medium, "rem)")).matches);
|
|
109
61
|
}, []);
|
|
110
|
-
|
|
111
62
|
var handleMenu = function handleMenu() {
|
|
112
63
|
if (isResponsive && !isMenuVisible) {
|
|
113
64
|
setIsMenuVisible(!isMenuVisible);
|
|
@@ -115,7 +66,6 @@ var DxcHeader = function DxcHeader(_ref2) {
|
|
|
115
66
|
setIsMenuVisible(!isMenuVisible);
|
|
116
67
|
}
|
|
117
68
|
};
|
|
118
|
-
|
|
119
69
|
var headerLogo = (0, _react.useMemo)(function () {
|
|
120
70
|
return getLogoElement(colorsTheme.header.logo, translatedLabels.formFields.logoAlternativeText);
|
|
121
71
|
}, [colorsTheme.header.logo]);
|
|
@@ -145,39 +95,37 @@ var DxcHeader = function DxcHeader(_ref2) {
|
|
|
145
95
|
}, /*#__PURE__*/_react["default"].createElement(LogoContainer, null, headerLogo)), isResponsive && responsiveContent && /*#__PURE__*/_react["default"].createElement(MainContainer, null, /*#__PURE__*/_react["default"].createElement(ChildContainer, null, /*#__PURE__*/_react["default"].createElement(HamburguerTrigger, {
|
|
146
96
|
tabIndex: tabIndex,
|
|
147
97
|
onClick: handleMenu
|
|
148
|
-
},
|
|
98
|
+
}, /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
|
|
99
|
+
icon: "menu"
|
|
100
|
+
}), translatedLabels.header.hamburguerTitle)), /*#__PURE__*/_react["default"].createElement(ResponsiveMenu, {
|
|
149
101
|
hasVisibility: isMenuVisible
|
|
150
102
|
}, /*#__PURE__*/_react["default"].createElement(ResponsiveIconsContainer, null, /*#__PURE__*/_react["default"].createElement(ResponsiveLogoContainer, null, headerResponsiveLogo), /*#__PURE__*/_react["default"].createElement(CloseAction, {
|
|
151
103
|
tabIndex: tabIndex,
|
|
152
104
|
onClick: handleMenu,
|
|
153
105
|
"aria-label": translatedLabels.header.closeIcon,
|
|
154
106
|
title: translatedLabels.header.closeIcon
|
|
155
|
-
},
|
|
156
|
-
|
|
157
|
-
}, /*#__PURE__*/_react["default"].createElement(Content, {
|
|
107
|
+
}, /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
|
|
108
|
+
icon: "close"
|
|
109
|
+
}))), /*#__PURE__*/_react["default"].createElement(Content, {
|
|
158
110
|
isResponsive: isResponsive,
|
|
159
111
|
responsiveContent: responsiveContent,
|
|
160
112
|
handleMenu: handleMenu,
|
|
161
113
|
content: content
|
|
162
|
-
}))
|
|
114
|
+
})), /*#__PURE__*/_react["default"].createElement(Overlay, {
|
|
163
115
|
onClick: handleMenu,
|
|
164
116
|
hasVisibility: isMenuVisible
|
|
165
|
-
})), !isResponsive && /*#__PURE__*/_react["default"].createElement(
|
|
166
|
-
color: colorsTheme.header.backgroundColor
|
|
167
|
-
}, /*#__PURE__*/_react["default"].createElement(Content, {
|
|
117
|
+
})), !isResponsive && /*#__PURE__*/_react["default"].createElement(Content, {
|
|
168
118
|
isResponsive: isResponsive,
|
|
169
119
|
responsiveContent: responsiveContent,
|
|
170
120
|
handleMenu: handleMenu,
|
|
171
121
|
content: content
|
|
172
|
-
})))
|
|
122
|
+
})));
|
|
173
123
|
};
|
|
174
|
-
|
|
175
124
|
DxcHeader.Dropdown = Dropdown;
|
|
176
|
-
|
|
177
125
|
var HeaderContainer = _styledComponents["default"].header(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n box-sizing: border-box;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n min-height: ", ";\n margin-bottom: ", ";\n padding: ", ";\n background-color: ", ";\n border-bottom: ", ";\n"])), function (props) {
|
|
178
126
|
return props.theme.minHeight;
|
|
179
127
|
}, function (props) {
|
|
180
|
-
return props.margin
|
|
128
|
+
return props.margin ? _variables.spaces[props.margin] : "0px";
|
|
181
129
|
}, function (props) {
|
|
182
130
|
return "".concat(props.theme.paddingTop, " ").concat(props.theme.paddingRight, " ").concat(props.theme.paddingBottom, " ").concat(props.theme.paddingLeft);
|
|
183
131
|
}, function (props) {
|
|
@@ -185,30 +133,24 @@ var HeaderContainer = _styledComponents["default"].header(_templateObject2 || (_
|
|
|
185
133
|
}, function (props) {
|
|
186
134
|
return props.underlined && "".concat(props.theme.underlinedThickness, " ").concat(props.theme.underlinedStyle, " ").concat(props.theme.underlinedColor);
|
|
187
135
|
});
|
|
188
|
-
|
|
189
136
|
var LogoAnchor = _styledComponents["default"].a(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n ", ";\n"])), function (props) {
|
|
190
137
|
return props.interactuable ? "cursor: pointer" : "cursor: default; outline:none;";
|
|
191
138
|
});
|
|
192
|
-
|
|
193
139
|
var LogoImg = _styledComponents["default"].img(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n max-height: ", ";\n width: ", ";\n"])), function (props) {
|
|
194
140
|
return props.theme.logoHeight;
|
|
195
141
|
}, function (props) {
|
|
196
142
|
return props.theme.logoWidth;
|
|
197
143
|
});
|
|
198
|
-
|
|
199
144
|
var LogoContainer = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n max-height: ", ";\n width: ", ";\n vertical-align: middle;\n"])), function (props) {
|
|
200
145
|
return props.theme.logoHeight;
|
|
201
146
|
}, function (props) {
|
|
202
147
|
return props.theme.logoWidth;
|
|
203
148
|
});
|
|
204
|
-
|
|
205
149
|
var ChildContainer = _styledComponents["default"].div(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n justify-content: flex-end;\n flex-grow: 1;\n width: calc(100% - 186px);\n"])));
|
|
206
|
-
|
|
207
150
|
var ContentContainer = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n flex-grow: 1;\n justify-content: flex-end;\n width: calc(100% - 186px);\n color: ", ";\n"])), function (props) {
|
|
208
|
-
return props.
|
|
151
|
+
return props.theme.contentColor;
|
|
209
152
|
});
|
|
210
|
-
|
|
211
|
-
var HamburguerTrigger = _styledComponents["default"].button(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n width: 54px;\n cursor: pointer;\n border: 1px solid transparent;\n border-radius: 2px;\n background-color: transparent;\n :hover {\n background-color: ", ";\n }\n &:focus {\n outline: ", " auto 1px;\n }\n & > svg {\n fill: ", ";\n }\n font-family: ", ";\n font-style: ", ";\n font-size: ", ";\n text-transform: ", ";\n font-weight: ", ";\n color: ", ";\n"])), function (props) {
|
|
153
|
+
var HamburguerTrigger = _styledComponents["default"].button(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n width: 54px;\n cursor: pointer;\n border: 1px solid transparent;\n border-radius: 2px;\n background-color: transparent;\n :hover {\n background-color: ", ";\n }\n &:focus {\n outline: ", " auto 1px;\n }\n & > svg {\n fill: ", ";\n }\n & > span {\n font-size: 24px;\n }\n font-family: ", ";\n font-style: ", ";\n font-size: ", ";\n text-transform: ", ";\n font-weight: ", ";\n color: ", ";\n"])), function (props) {
|
|
212
154
|
return props.theme.hamburguerHoverColor;
|
|
213
155
|
}, function (props) {
|
|
214
156
|
return props.theme.hamburguerFocusColor;
|
|
@@ -227,9 +169,7 @@ var HamburguerTrigger = _styledComponents["default"].button(_templateObject8 ||
|
|
|
227
169
|
}, function (props) {
|
|
228
170
|
return props.theme.hamburguerFontColor;
|
|
229
171
|
});
|
|
230
|
-
|
|
231
172
|
var MainContainer = _styledComponents["default"].div(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-grow: 1;\n"])));
|
|
232
|
-
|
|
233
173
|
var ResponsiveMenu = _styledComponents["default"].div(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n background-color: ", ";\n position: fixed;\n top: 0;\n right: 0;\n z-index: ", ";\n\n @media (max-width: ", "rem) and (min-width: ", "rem) {\n width: ", ";\n }\n\n @media (not((max-width: ", "rem) and (min-width: ", "rem))) {\n width: ", ";\n }\n\n height: 100vh;\n padding: 20px;\n transform: ", ";\n opacity: ", ";\n transition-property: transform, opacity;\n transition-duration: 0.6s;\n transition-timing-function: ease-in-out;\n box-sizing: border-box;\n"])), function (props) {
|
|
234
174
|
return props.theme.menuBackgroundColor;
|
|
235
175
|
}, function (props) {
|
|
@@ -243,23 +183,18 @@ var ResponsiveMenu = _styledComponents["default"].div(_templateObject10 || (_tem
|
|
|
243
183
|
}, function (props) {
|
|
244
184
|
return props.hasVisibility ? "1" : "0.96";
|
|
245
185
|
});
|
|
246
|
-
|
|
247
186
|
var ResponsiveLogoContainer = _styledComponents["default"].div(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2["default"])(["\n max-height: ", ";\n width: ", ";\n display: flex;\n"])), function (props) {
|
|
248
187
|
return props.theme.logoHeight;
|
|
249
188
|
}, function (props) {
|
|
250
189
|
return props.theme.logoWidth;
|
|
251
190
|
});
|
|
252
|
-
|
|
253
191
|
var ResponsiveIconsContainer = _styledComponents["default"].div(_templateObject12 || (_templateObject12 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n justify-content: space-between;\n align-items: center;\n"])));
|
|
254
|
-
|
|
255
|
-
var CloseAction = _styledComponents["default"].button(_templateObject13 || (_templateObject13 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n justify-content: center;\n align-content: center;\n padding: 6px;\n border: unset;\n border-radius: 2px;\n background-color: transparent;\n cursor: pointer;\n\n :focus,\n :focus-visible {\n outline: ", " auto 1px;\n }\n\n svg {\n height: 24px;\n width: 24px;\n }\n"])), function (props) {
|
|
192
|
+
var CloseAction = _styledComponents["default"].button(_templateObject13 || (_templateObject13 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n justify-content: center;\n align-content: center;\n padding: 6px;\n border: unset;\n border-radius: 2px;\n background-color: transparent;\n cursor: pointer;\n\n :focus,\n :focus-visible {\n outline: ", " auto 1px;\n }\n font-size: 24px;\n svg {\n height: 24px;\n width: 24px;\n }\n"])), function (props) {
|
|
256
193
|
return props.theme.hamburguerFocusColor;
|
|
257
194
|
});
|
|
258
|
-
|
|
259
195
|
var MenuContent = _styledComponents["default"].div(_templateObject14 || (_templateObject14 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n height: 100%;\n color: ", ";\n"])), function (props) {
|
|
260
|
-
return props.
|
|
196
|
+
return props.theme.contentColor;
|
|
261
197
|
});
|
|
262
|
-
|
|
263
198
|
var Overlay = _styledComponents["default"].div(_templateObject15 || (_templateObject15 = (0, _taggedTemplateLiteral2["default"])(["\n position: fixed;\n top: 0;\n left: 0;\n width: 100vw;\n height: 100vh;\n background-color: ", ";\n opacity: ", " !important;\n visibility: ", ";\n opacity: ", ";\n\n @media (max-width: ", "rem) {\n display: none;\n }\n\n transition: opacity 0.2s 0.2s ease-in-out;\n z-index: ", ";\n"])), function (props) {
|
|
264
199
|
return props.theme.overlayColor;
|
|
265
200
|
}, function (props) {
|
|
@@ -271,6 +206,4 @@ var Overlay = _styledComponents["default"].div(_templateObject15 || (_templateOb
|
|
|
271
206
|
}, _variables.responsiveSizes.small, function (props) {
|
|
272
207
|
return props.theme.overlayZindex;
|
|
273
208
|
});
|
|
274
|
-
|
|
275
|
-
var _default = DxcHeader;
|
|
276
|
-
exports["default"] = _default;
|
|
209
|
+
var _default = exports["default"] = DxcHeader;
|
package/header/Header.test.js
CHANGED
|
@@ -1,13 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
var _react = _interopRequireDefault(require("react"));
|
|
6
|
-
|
|
7
5
|
var _react2 = require("@testing-library/react");
|
|
8
|
-
|
|
9
6
|
var _Header = _interopRequireDefault(require("./Header.tsx"));
|
|
10
|
-
|
|
11
7
|
describe("Header component tests", function () {
|
|
12
8
|
beforeAll(function () {
|
|
13
9
|
Object.defineProperty(window, "matchMedia", {
|
|
@@ -21,22 +17,17 @@ describe("Header component tests", function () {
|
|
|
21
17
|
});
|
|
22
18
|
test("Header renders with default logo", function () {
|
|
23
19
|
var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Header["default"], null)),
|
|
24
|
-
|
|
25
|
-
|
|
20
|
+
getByTitle = _render.getByTitle;
|
|
26
21
|
expect(getByTitle("DXC Logo")).toBeTruthy();
|
|
27
22
|
});
|
|
28
23
|
test("Call correct function on logo click", function () {
|
|
29
24
|
var onClick = jest.fn();
|
|
30
|
-
|
|
31
25
|
var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Header["default"], {
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
26
|
+
onClick: onClick
|
|
27
|
+
})),
|
|
28
|
+
getByTitle = _render2.getByTitle;
|
|
36
29
|
var logo = getByTitle("DXC Logo");
|
|
37
|
-
|
|
38
30
|
_react2.fireEvent.click(logo);
|
|
39
|
-
|
|
40
31
|
expect(onClick).toHaveBeenCalled();
|
|
41
32
|
});
|
|
42
33
|
test("Header renders with correct children", function () {
|
|
@@ -45,12 +36,10 @@ describe("Header component tests", function () {
|
|
|
45
36
|
configurable: true,
|
|
46
37
|
value: 1024
|
|
47
38
|
});
|
|
48
|
-
|
|
49
39
|
var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Header["default"], {
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
40
|
+
content: /*#__PURE__*/_react["default"].createElement("p", null, "header-child-text")
|
|
41
|
+
})),
|
|
42
|
+
getByText = _render3.getByText;
|
|
54
43
|
expect(getByText("header-child-text")).toBeTruthy();
|
|
55
44
|
});
|
|
56
45
|
test("Header renders menu button in mobile", function () {
|
|
@@ -66,14 +55,12 @@ describe("Header component tests", function () {
|
|
|
66
55
|
};
|
|
67
56
|
})
|
|
68
57
|
});
|
|
69
|
-
|
|
70
58
|
var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Header["default"], {
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
59
|
+
responsiveContent: function responsiveContent() {
|
|
60
|
+
return /*#__PURE__*/_react["default"].createElement("p", null, "header-child-text");
|
|
61
|
+
}
|
|
62
|
+
})),
|
|
63
|
+
getByText = _render4.getByText;
|
|
77
64
|
expect(getByText("Menu")).toBeTruthy();
|
|
78
65
|
});
|
|
79
66
|
});
|
package/header/Icons.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
export declare const dxcLogo: JSX.Element;
|
|
1
|
+
import React from "react";
|
|
2
|
+
export declare const dxcLogo: React.JSX.Element;
|
package/header/Icons.js
CHANGED
|
@@ -1,15 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.dxcLogo = void 0;
|
|
9
|
-
|
|
10
8
|
var _react = _interopRequireDefault(require("react"));
|
|
11
|
-
|
|
12
|
-
var dxcLogo = /*#__PURE__*/_react["default"].createElement("svg", {
|
|
9
|
+
var dxcLogo = exports.dxcLogo = /*#__PURE__*/_react["default"].createElement("svg", {
|
|
13
10
|
xmlns: "http://www.w3.org/2000/svg",
|
|
14
11
|
width: "73",
|
|
15
12
|
height: "40",
|
|
@@ -29,6 +26,4 @@ var dxcLogo = /*#__PURE__*/_react["default"].createElement("svg", {
|
|
|
29
26
|
d: "M75.836-76.712a8.975,8.975,0,0,1,2.246-3.9,8.393,8.393,0,0,1,6.058-2.457h9.824v-5.67H84.139a14.611,14.611,0,0,0-10.232,4.221,14.509,14.509,0,0,0-3.076,4.536,11.913,11.913,0,0,0-.973,3.271Zm0,4.325a8.978,8.978,0,0,0,2.246,3.9,8.394,8.394,0,0,0,6.058,2.457h9.824v5.67H84.139A14.611,14.611,0,0,1,73.907-64.58a14.506,14.506,0,0,1-3.076-4.536,11.91,11.91,0,0,1-.973-3.271ZM57.522-69.832l-7.5,9.473H42.581L53.818-74.55,42.581-88.739H50.02l7.5,9.472,7.5-9.472h7.439L61.225-74.55l11.237,14.19H65.023Zm-12.336-6.88a11.935,11.935,0,0,0-.973-3.271,14.515,14.515,0,0,0-3.076-4.536A14.612,14.612,0,0,0,30.9-88.739H21.081v5.67H30.9a8.394,8.394,0,0,1,6.058,2.457,8.978,8.978,0,0,1,2.246,3.9Zm0,4.325a11.932,11.932,0,0,1-.973,3.271,14.511,14.511,0,0,1-3.076,4.536A14.611,14.611,0,0,1,30.9-60.359H21.081v-5.67H30.9a8.4,8.4,0,0,0,6.058-2.457,8.981,8.981,0,0,0,2.246-3.9h5.978",
|
|
30
27
|
transform: "translate(-21.049 88.739)",
|
|
31
28
|
fill: "#603494"
|
|
32
|
-
}))));
|
|
33
|
-
|
|
34
|
-
exports.dxcLogo = dxcLogo;
|
|
29
|
+
}))));
|
package/header/types.d.ts
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
|
|
3
|
+
type Props = {
|
|
4
4
|
/**
|
|
5
|
-
*
|
|
5
|
+
* Whether a contrast line should appear at the bottom of the header.
|
|
6
6
|
*/
|
|
7
7
|
underlined?: boolean;
|
|
8
8
|
/**
|
|
9
|
-
* Content
|
|
9
|
+
* Content shown in the header. Take into account that the component applies styles
|
|
10
10
|
* for the first child in the content, so we recommend the use of React.Fragment
|
|
11
11
|
* to be applied correctly. Otherwise, the styles can be modified.
|
|
12
12
|
*/
|
|
13
13
|
content?: React.ReactNode;
|
|
14
14
|
/**
|
|
15
|
-
* Content
|
|
15
|
+
* Content shown in responsive version. It receives the close menu handler that can
|
|
16
16
|
* be used to add that functionality when a element is clicked.
|
|
17
17
|
*/
|
|
18
18
|
responsiveContent?: (closeHandler: () => void) => React.ReactNode;
|
|
@@ -21,12 +21,11 @@ declare type Props = {
|
|
|
21
21
|
*/
|
|
22
22
|
onClick?: () => void;
|
|
23
23
|
/**
|
|
24
|
-
* Size of the bottom margin to be applied to the header
|
|
25
|
-
* ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
|
|
24
|
+
* Size of the bottom margin to be applied to the header.
|
|
26
25
|
*/
|
|
27
26
|
margin?: Space;
|
|
28
27
|
/**
|
|
29
|
-
* Value of the tabindex for all
|
|
28
|
+
* Value of the tabindex for all interactive elements, except those inside the
|
|
30
29
|
* custom area.
|
|
31
30
|
*/
|
|
32
31
|
tabIndex?: number;
|
|
@@ -0,0 +1,33 @@
|
|
|
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 _Heading = _interopRequireDefault(require("./Heading.tsx"));
|
|
10
|
+
describe("Heading 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(_Heading["default"], {
|
|
17
|
+
text: "my-heading-test",
|
|
18
|
+
level: 1,
|
|
19
|
+
margin: "medium",
|
|
20
|
+
weight: "bold"
|
|
21
|
+
})), container = _render.container;
|
|
22
|
+
_context.next = 3;
|
|
23
|
+
return (0, _jestAxe.axe)(container);
|
|
24
|
+
case 3:
|
|
25
|
+
results = _context.sent;
|
|
26
|
+
expect(results).toHaveNoViolations();
|
|
27
|
+
case 5:
|
|
28
|
+
case "end":
|
|
29
|
+
return _context.stop();
|
|
30
|
+
}
|
|
31
|
+
}, _callee);
|
|
32
|
+
})));
|
|
33
|
+
});
|