@dxc-technology/halstack-react 0.0.0-c9c1158 → 0.0.0-c9efd3e
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 +2 -7
- package/HalstackContext.d.ts +29 -133
- package/HalstackContext.js +1 -1
- package/accordion/Accordion.accessibility.test.js +71 -0
- package/accordion/Accordion.js +10 -26
- package/accordion/Accordion.stories.tsx +4 -36
- package/accordion/types.d.ts +1 -1
- package/accordion-group/AccordionGroup.accessibility.test.js +88 -0
- package/accordion-group/AccordionGroup.d.ts +2 -3
- package/accordion-group/AccordionGroup.js +3 -3
- package/accordion-group/AccordionGroupAccordion.js +2 -2
- 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.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/action-icon/types.js +5 -0
- package/alert/Alert.accessibility.test.js +95 -0
- package/alert/Alert.js +15 -72
- 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.js +30 -0
- package/badge/types.d.ts +52 -3
- package/box/Box.accessibility.test.js +33 -0
- package/box/Box.js +1 -4
- package/bulleted-list/BulletedList.accessibility.test.js +107 -0
- package/bulleted-list/BulletedList.js +15 -22
- package/bulleted-list/BulletedList.stories.tsx +1 -2
- package/button/Button.accessibility.test.js +127 -0
- package/button/Button.js +15 -15
- package/button/Button.stories.tsx +32 -51
- package/button/Button.test.js +3 -1
- package/button/types.d.ts +1 -1
- package/card/Card.accessibility.test.js +36 -0
- package/checkbox/Checkbox.accessibility.test.js +87 -0
- package/checkbox/Checkbox.js +26 -31
- package/chip/Chip.accessibility.test.js +67 -0
- package/chip/Chip.js +8 -5
- package/chip/Chip.stories.tsx +5 -24
- package/chip/Chip.test.js +4 -4
- package/common/coreTokens.d.ts +1 -1
- package/common/coreTokens.js +3 -3
- package/common/variables.d.ts +29 -133
- package/common/variables.js +38 -142
- package/container/Container.js +3 -7
- package/container/Container.stories.tsx +10 -25
- 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/DateInput.accessibility.test.js +216 -0
- package/date-input/types.d.ts +2 -2
- package/dialog/Dialog.accessibility.test.js +69 -0
- package/dialog/Dialog.js +2 -5
- package/dialog/Dialog.stories.tsx +170 -0
- package/dialog/Dialog.test.js +1 -1
- 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 +21 -36
- package/dropdown/Dropdown.stories.tsx +5 -16
- package/dropdown/DropdownMenuItem.js +6 -3
- package/dropdown/types.d.ts +3 -5
- package/file-input/FileInput.accessibility.test.js +160 -0
- package/file-input/FileInput.js +3 -39
- package/file-input/FileInput.test.js +7 -84
- package/file-input/FileItem.js +13 -27
- package/footer/Footer.accessibility.test.js +117 -0
- package/footer/Footer.d.ts +1 -1
- package/footer/Footer.js +36 -31
- package/footer/Footer.stories.tsx +46 -2
- package/footer/Icons.d.ts +1 -0
- package/footer/Icons.js +65 -1
- package/footer/types.d.ts +8 -8
- package/header/Header.accessibility.test.js +84 -0
- package/header/Header.js +18 -40
- package/header/types.d.ts +4 -3
- package/heading/Heading.accessibility.test.js +33 -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.js +56 -0
- package/image/Image.stories.tsx +3 -1
- package/layout/ApplicationLayout.d.ts +1 -1
- package/layout/ApplicationLayout.js +1 -1
- package/layout/Icons.js +0 -2
- package/link/Link.accessibility.test.js +112 -0
- package/link/Link.js +7 -5
- package/link/Link.stories.tsx +2 -2
- package/link/types.d.ts +1 -1
- package/main.d.ts +5 -3
- package/main.js +22 -8
- package/nav-tabs/NavTabs.accessibility.test.js +52 -0
- package/nav-tabs/NavTabs.d.ts +1 -2
- package/nav-tabs/NavTabs.js +9 -6
- package/nav-tabs/NavTabs.stories.tsx +6 -4
- package/nav-tabs/NavTabs.test.js +3 -2
- package/nav-tabs/NavTabsContext.d.ts +3 -0
- package/nav-tabs/NavTabsContext.js +8 -0
- package/nav-tabs/Tab.js +8 -7
- 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.js +165 -6
- 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 +12 -12
- package/paginator/Paginator.accessibility.test.js +79 -0
- package/paginator/Paginator.js +1 -4
- package/paragraph/Paragraph.accessibility.test.js +28 -0
- package/paragraph/Paragraph.js +2 -7
- package/password-input/PasswordInput.accessibility.test.js +153 -0
- package/password-input/PasswordInput.stories.tsx +0 -1
- package/progress-bar/ProgressBar.accessibility.test.js +35 -0
- package/progress-bar/ProgressBar.js +5 -11
- package/quick-nav/QuickNav.accessibility.test.js +57 -0
- package/radio-group/RadioGroup.accessibility.test.js +97 -0
- package/radio-group/RadioGroup.js +1 -1
- package/resultset-table/ResultsetTable.accessibility.test.js +274 -0
- package/resultset-table/ResultsetTable.d.ts +4 -1
- package/resultset-table/ResultsetTable.js +23 -12
- package/resultset-table/ResultsetTable.stories.tsx +106 -5
- package/resultset-table/ResultsetTable.test.js +76 -0
- package/resultset-table/types.d.ts +40 -7
- package/select/Option.js +8 -1
- package/select/Select.accessibility.test.js +217 -0
- package/select/Select.js +35 -27
- package/select/Select.stories.tsx +0 -1
- package/select/Select.test.js +498 -462
- package/select/types.d.ts +2 -2
- package/sidenav/Sidenav.accessibility.test.js +59 -0
- package/sidenav/Sidenav.js +20 -18
- package/sidenav/Sidenav.stories.tsx +4 -9
- package/sidenav/types.d.ts +2 -2
- package/slider/Slider.accessibility.test.js +104 -0
- package/slider/Slider.js +37 -46
- package/spinner/Spinner.accessibility.test.js +96 -0
- package/spinner/Spinner.js +6 -14
- 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 +23 -28
- 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 +73 -11
- package/table/Table.stories.tsx +297 -2
- package/table/Table.test.js +92 -0
- package/table/types.d.ts +28 -0
- package/tabs/Tab.js +7 -4
- package/tabs/Tabs.accessibility.test.js +56 -0
- package/tabs/Tabs.js +4 -5
- package/tabs/Tabs.stories.tsx +1 -1
- package/tag/Tag.accessibility.test.js +69 -0
- package/tag/Tag.js +6 -6
- package/tag/Tag.stories.tsx +4 -7
- package/tag/Tag.test.js +4 -12
- package/tag/types.d.ts +2 -2
- package/text-input/Suggestions.js +7 -10
- package/text-input/TextInput.accessibility.test.js +321 -0
- package/text-input/TextInput.js +77 -102
- package/text-input/TextInput.stories.tsx +1 -1
- package/text-input/TextInput.test.js +96 -79
- package/textarea/Textarea.accessibility.test.js +155 -0
- package/textarea/Textarea.js +10 -16
- package/textarea/Textarea.stories.tsx +0 -1
- package/toggle-group/ToggleGroup.accessibility.test.js +107 -0
- package/toggle-group/ToggleGroup.js +1 -4
- package/typography/Typography.accessibility.test.js +339 -0
- package/useTheme.d.ts +29 -133
- package/utils/FocusLock.js +15 -5
- package/wizard/Wizard.accessibility.test.js +55 -0
- package/wizard/types.d.ts +1 -1
- 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/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
package/header/Header.js
CHANGED
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
var
|
|
4
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
8
|
exports["default"] = void 0;
|
|
9
|
-
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
10
9
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
11
10
|
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
12
11
|
var _react = _interopRequireWildcard(require("react"));
|
|
@@ -16,26 +15,10 @@ var _Icons = require("./Icons");
|
|
|
16
15
|
var _variables = require("../common/variables");
|
|
17
16
|
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
18
17
|
var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
|
|
19
|
-
var
|
|
18
|
+
var _Icon = _interopRequireDefault(require("../icon/Icon"));
|
|
20
19
|
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15;
|
|
21
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); }
|
|
22
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" !=
|
|
23
|
-
var closeIcon = /*#__PURE__*/_react["default"].createElement("svg", {
|
|
24
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
25
|
-
viewBox: "0 0 24 24",
|
|
26
|
-
height: "24",
|
|
27
|
-
width: "24"
|
|
28
|
-
}, /*#__PURE__*/_react["default"].createElement("path", {
|
|
29
|
-
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"
|
|
30
|
-
}));
|
|
31
|
-
var hamburgerIcon = /*#__PURE__*/_react["default"].createElement("svg", {
|
|
32
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
33
|
-
viewBox: "0 0 24 24",
|
|
34
|
-
width: "24",
|
|
35
|
-
height: "24"
|
|
36
|
-
}, /*#__PURE__*/_react["default"].createElement("path", {
|
|
37
|
-
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"
|
|
38
|
-
}));
|
|
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; }
|
|
39
22
|
var Dropdown = function Dropdown(props) {
|
|
40
23
|
return /*#__PURE__*/_react["default"].createElement(HeaderDropdown, null, /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], props));
|
|
41
24
|
};
|
|
@@ -51,12 +34,7 @@ var Content = function Content(_ref) {
|
|
|
51
34
|
responsiveContent = _ref.responsiveContent,
|
|
52
35
|
handleMenu = _ref.handleMenu,
|
|
53
36
|
content = _ref.content;
|
|
54
|
-
|
|
55
|
-
return isResponsive ? /*#__PURE__*/_react["default"].createElement(MenuContent, {
|
|
56
|
-
backgroundType: backgroundType
|
|
57
|
-
}, responsiveContent(handleMenu)) : /*#__PURE__*/_react["default"].createElement(ContentContainer, {
|
|
58
|
-
backgroundType: backgroundType
|
|
59
|
-
}, content);
|
|
37
|
+
return isResponsive ? /*#__PURE__*/_react["default"].createElement(MenuContent, null, responsiveContent(handleMenu)) : /*#__PURE__*/_react["default"].createElement(ContentContainer, null, content);
|
|
60
38
|
};
|
|
61
39
|
var DxcHeader = function DxcHeader(_ref2) {
|
|
62
40
|
var _ref2$underlined = _ref2.underlined,
|
|
@@ -117,37 +95,37 @@ var DxcHeader = function DxcHeader(_ref2) {
|
|
|
117
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, {
|
|
118
96
|
tabIndex: tabIndex,
|
|
119
97
|
onClick: handleMenu
|
|
120
|
-
},
|
|
98
|
+
}, /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
|
|
99
|
+
icon: "menu"
|
|
100
|
+
}), translatedLabels.header.hamburguerTitle)), /*#__PURE__*/_react["default"].createElement(ResponsiveMenu, {
|
|
121
101
|
hasVisibility: isMenuVisible
|
|
122
102
|
}, /*#__PURE__*/_react["default"].createElement(ResponsiveIconsContainer, null, /*#__PURE__*/_react["default"].createElement(ResponsiveLogoContainer, null, headerResponsiveLogo), /*#__PURE__*/_react["default"].createElement(CloseAction, {
|
|
123
103
|
tabIndex: tabIndex,
|
|
124
104
|
onClick: handleMenu,
|
|
125
105
|
"aria-label": translatedLabels.header.closeIcon,
|
|
126
106
|
title: translatedLabels.header.closeIcon
|
|
127
|
-
},
|
|
128
|
-
|
|
129
|
-
}, /*#__PURE__*/_react["default"].createElement(Content, {
|
|
107
|
+
}, /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
|
|
108
|
+
icon: "close"
|
|
109
|
+
}))), /*#__PURE__*/_react["default"].createElement(Content, {
|
|
130
110
|
isResponsive: isResponsive,
|
|
131
111
|
responsiveContent: responsiveContent,
|
|
132
112
|
handleMenu: handleMenu,
|
|
133
113
|
content: content
|
|
134
|
-
}))
|
|
114
|
+
})), /*#__PURE__*/_react["default"].createElement(Overlay, {
|
|
135
115
|
onClick: handleMenu,
|
|
136
116
|
hasVisibility: isMenuVisible
|
|
137
|
-
})), !isResponsive && /*#__PURE__*/_react["default"].createElement(
|
|
138
|
-
color: colorsTheme.header.backgroundColor
|
|
139
|
-
}, /*#__PURE__*/_react["default"].createElement(Content, {
|
|
117
|
+
})), !isResponsive && /*#__PURE__*/_react["default"].createElement(Content, {
|
|
140
118
|
isResponsive: isResponsive,
|
|
141
119
|
responsiveContent: responsiveContent,
|
|
142
120
|
handleMenu: handleMenu,
|
|
143
121
|
content: content
|
|
144
|
-
})))
|
|
122
|
+
})));
|
|
145
123
|
};
|
|
146
124
|
DxcHeader.Dropdown = Dropdown;
|
|
147
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) {
|
|
148
126
|
return props.theme.minHeight;
|
|
149
127
|
}, function (props) {
|
|
150
|
-
return props.margin
|
|
128
|
+
return props.margin ? _variables.spaces[props.margin] : "0px";
|
|
151
129
|
}, function (props) {
|
|
152
130
|
return "".concat(props.theme.paddingTop, " ").concat(props.theme.paddingRight, " ").concat(props.theme.paddingBottom, " ").concat(props.theme.paddingLeft);
|
|
153
131
|
}, function (props) {
|
|
@@ -170,9 +148,9 @@ var LogoContainer = _styledComponents["default"].div(_templateObject5 || (_templ
|
|
|
170
148
|
});
|
|
171
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"])));
|
|
172
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) {
|
|
173
|
-
return props.
|
|
151
|
+
return props.theme.contentColor;
|
|
174
152
|
});
|
|
175
|
-
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) {
|
|
176
154
|
return props.theme.hamburguerHoverColor;
|
|
177
155
|
}, function (props) {
|
|
178
156
|
return props.theme.hamburguerFocusColor;
|
|
@@ -211,11 +189,11 @@ var ResponsiveLogoContainer = _styledComponents["default"].div(_templateObject11
|
|
|
211
189
|
return props.theme.logoWidth;
|
|
212
190
|
});
|
|
213
191
|
var ResponsiveIconsContainer = _styledComponents["default"].div(_templateObject12 || (_templateObject12 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n justify-content: space-between;\n align-items: center;\n"])));
|
|
214
|
-
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
|
|
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) {
|
|
215
193
|
return props.theme.hamburguerFocusColor;
|
|
216
194
|
});
|
|
217
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) {
|
|
218
|
-
return props.
|
|
196
|
+
return props.theme.contentColor;
|
|
219
197
|
});
|
|
220
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) {
|
|
221
199
|
return props.theme.overlayColor;
|
package/header/types.d.ts
CHANGED
|
@@ -1,17 +1,18 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
+
type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
|
|
2
3
|
type Props = {
|
|
3
4
|
/**
|
|
4
5
|
* Whether a contrast line should appear at the bottom of the header.
|
|
5
6
|
*/
|
|
6
7
|
underlined?: boolean;
|
|
7
8
|
/**
|
|
8
|
-
* Content
|
|
9
|
+
* Content shown in the header. Take into account that the component applies styles
|
|
9
10
|
* for the first child in the content, so we recommend the use of React.Fragment
|
|
10
11
|
* to be applied correctly. Otherwise, the styles can be modified.
|
|
11
12
|
*/
|
|
12
13
|
content?: React.ReactNode;
|
|
13
14
|
/**
|
|
14
|
-
* Content
|
|
15
|
+
* Content shown in responsive version. It receives the close menu handler that can
|
|
15
16
|
* be used to add that functionality when a element is clicked.
|
|
16
17
|
*/
|
|
17
18
|
responsiveContent?: (closeHandler: () => void) => React.ReactNode;
|
|
@@ -22,7 +23,7 @@ type Props = {
|
|
|
22
23
|
/**
|
|
23
24
|
* Size of the bottom margin to be applied to the header.
|
|
24
25
|
*/
|
|
25
|
-
margin?:
|
|
26
|
+
margin?: Space;
|
|
26
27
|
/**
|
|
27
28
|
* Value of the tabindex for all interactive elements, except those inside the
|
|
28
29
|
* custom area.
|
|
@@ -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
|
+
});
|
|
@@ -0,0 +1,30 @@
|
|
|
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 _Icon = _interopRequireDefault(require("./Icon"));
|
|
10
|
+
describe("Icon 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(_Icon["default"], {
|
|
17
|
+
icon: "home"
|
|
18
|
+
})), container = _render.container;
|
|
19
|
+
_context.next = 3;
|
|
20
|
+
return (0, _jestAxe.axe)(container);
|
|
21
|
+
case 3:
|
|
22
|
+
results = _context.sent;
|
|
23
|
+
expect(results).toHaveNoViolations();
|
|
24
|
+
case 5:
|
|
25
|
+
case "end":
|
|
26
|
+
return _context.stop();
|
|
27
|
+
}
|
|
28
|
+
}, _callee);
|
|
29
|
+
})));
|
|
30
|
+
});
|
package/icon/Icon.d.ts
ADDED
package/icon/Icon.js
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports["default"] = void 0;
|
|
8
|
+
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
9
|
+
var _react = _interopRequireDefault(require("react"));
|
|
10
|
+
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
11
|
+
var _templateObject;
|
|
12
|
+
var DxcIcon = function DxcIcon(_ref) {
|
|
13
|
+
var icon = _ref.icon;
|
|
14
|
+
var filled = false;
|
|
15
|
+
var iconName = icon;
|
|
16
|
+
if (icon.startsWith("filled_")) {
|
|
17
|
+
filled = true;
|
|
18
|
+
iconName = icon.replace(/filled_/g, "");
|
|
19
|
+
}
|
|
20
|
+
return /*#__PURE__*/_react["default"].createElement(IconContainer, {
|
|
21
|
+
role: "img",
|
|
22
|
+
"aria-label": icon,
|
|
23
|
+
filled: filled,
|
|
24
|
+
icon: iconName,
|
|
25
|
+
"aria-hidden": "true"
|
|
26
|
+
});
|
|
27
|
+
};
|
|
28
|
+
var IconContainer = _styledComponents["default"].span(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n font-family: \"Material Symbols Outlined\";\n font-weight: normal;\n font-style: normal;\n line-height: 1;\n letter-spacing: normal;\n text-transform: none;\n display: inline-block;\n white-space: nowrap;\n word-wrap: normal;\n direction: ltr;\n -webkit-font-feature-settings: \"liga\";\n -webkit-font-smoothing: antialiased;\n text-rendering: optimizeLegibility;\n -moz-osx-font-smoothing: grayscale;\n font-variation-settings: ", ";\n ::before {\n content: \"", "\";\n }\n"])), function (props) {
|
|
29
|
+
return props.filled ? "'FILL' 1" : "'FILL' 0";
|
|
30
|
+
}, function (props) {
|
|
31
|
+
return props.icon;
|
|
32
|
+
});
|
|
33
|
+
var _default = exports["default"] = DxcIcon;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import DxcIcon from "./Icon";
|
|
3
|
+
import Title from "../../.storybook/components/Title";
|
|
4
|
+
import ExampleContainer from "../../.storybook/components/ExampleContainer";
|
|
5
|
+
import { DxcTypography } from "../main";
|
|
6
|
+
|
|
7
|
+
export default {
|
|
8
|
+
title: "Icon",
|
|
9
|
+
component: DxcIcon,
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
export const Chromatic = () => (
|
|
13
|
+
<>
|
|
14
|
+
<Title title="Icon component" theme="light" level={2} />
|
|
15
|
+
<ExampleContainer>
|
|
16
|
+
<DxcTypography as="p" fontSize="1.5rem">
|
|
17
|
+
<DxcIcon icon="home" />
|
|
18
|
+
<DxcIcon icon="filled_home" />
|
|
19
|
+
</DxcTypography>
|
|
20
|
+
</ExampleContainer>
|
|
21
|
+
<ExampleContainer>
|
|
22
|
+
<DxcTypography as="p" fontSize="1.5rem" color="#b182e3">
|
|
23
|
+
<DxcIcon icon="home" />
|
|
24
|
+
<DxcIcon icon="filled_home" />
|
|
25
|
+
</DxcTypography>
|
|
26
|
+
</ExampleContainer>
|
|
27
|
+
</>
|
|
28
|
+
);
|
package/icon/types.d.ts
ADDED
package/icon/types.js
ADDED
|
@@ -0,0 +1,56 @@
|
|
|
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 _Image = _interopRequireDefault(require("./Image"));
|
|
10
|
+
describe("Image 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(_Image["default"], {
|
|
17
|
+
alt: "Example image",
|
|
18
|
+
width: "100%",
|
|
19
|
+
src: "https://images.ctfassets.net/hrltx12pl8hq/5596z2BCR9KmT1KeRBrOQa/4070fd4e2f1a13f71c2c46afeb18e41c/shutterstock_451077043-hero1.jpg",
|
|
20
|
+
caption: "Caption"
|
|
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
|
+
it("Should not have basic accessibility issues for lazy-loading mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
|
|
34
|
+
var _render2, container, results;
|
|
35
|
+
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
|
36
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
37
|
+
case 0:
|
|
38
|
+
_render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Image["default"], {
|
|
39
|
+
alt: "Example image",
|
|
40
|
+
width: "100%",
|
|
41
|
+
src: "https://images.ctfassets.net/hrltx12pl8hq/5596z2BCR9KmT1KeRBrOQa/4070fd4e2f1a13f71c2c46afeb18e41c/shutterstock_451077043-hero1.jpg",
|
|
42
|
+
caption: "Caption",
|
|
43
|
+
lazyLoading: true
|
|
44
|
+
})), container = _render2.container;
|
|
45
|
+
_context2.next = 3;
|
|
46
|
+
return (0, _jestAxe.axe)(container);
|
|
47
|
+
case 3:
|
|
48
|
+
results = _context2.sent;
|
|
49
|
+
expect(results).toHaveNoViolations();
|
|
50
|
+
case 5:
|
|
51
|
+
case "end":
|
|
52
|
+
return _context2.stop();
|
|
53
|
+
}
|
|
54
|
+
}, _callee2);
|
|
55
|
+
})));
|
|
56
|
+
});
|
package/image/Image.stories.tsx
CHANGED
|
@@ -2,7 +2,9 @@ import React from "react";
|
|
|
2
2
|
import DxcImage from "./Image";
|
|
3
3
|
import Title from "../../.storybook/components/Title";
|
|
4
4
|
import ExampleContainer from "../../.storybook/components/ExampleContainer";
|
|
5
|
-
import
|
|
5
|
+
import DxcFlex from "../flex/Flex";
|
|
6
|
+
import DxcInset from "../inset/Inset";
|
|
7
|
+
import DxcParagraph from "../paragraph/Paragraph";
|
|
6
8
|
|
|
7
9
|
export default {
|
|
8
10
|
title: "Image",
|
|
@@ -7,7 +7,7 @@ declare const DxcApplicationLayout: {
|
|
|
7
7
|
Dropdown: (props: import("../dropdown/types").default) => React.JSX.Element;
|
|
8
8
|
};
|
|
9
9
|
Main: ({ children }: AppLayoutMainPropsType) => JSX.Element;
|
|
10
|
-
Footer: ({ socialLinks, bottomLinks, copyright, children, margin, tabIndex, }: import("../footer/types").default) => JSX.Element;
|
|
10
|
+
Footer: ({ socialLinks, bottomLinks, copyright, children, margin, tabIndex, mode, }: import("../footer/types").default) => JSX.Element;
|
|
11
11
|
SideNav: {
|
|
12
12
|
({ title, children }: import("../sidenav/types").default): JSX.Element;
|
|
13
13
|
Section: ({ children }: import("../sidenav/types").SidenavSectionPropsType) => JSX.Element;
|
|
@@ -15,7 +15,7 @@ var _Sidenav = _interopRequireDefault(require("../sidenav/Sidenav"));
|
|
|
15
15
|
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
16
16
|
var _variables = require("../common/variables");
|
|
17
17
|
var _Icons = _interopRequireDefault(require("./Icons"));
|
|
18
|
-
var _SidenavContext = require("
|
|
18
|
+
var _SidenavContext = require("../sidenav/SidenavContext");
|
|
19
19
|
var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
|
|
20
20
|
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8;
|
|
21
21
|
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); }
|
package/layout/Icons.js
CHANGED
|
@@ -9,7 +9,6 @@ var _react = _interopRequireDefault(require("react"));
|
|
|
9
9
|
var layoutIcons = {
|
|
10
10
|
facebookLogo: /*#__PURE__*/_react["default"].createElement("svg", {
|
|
11
11
|
version: "1.1",
|
|
12
|
-
id: "Capa_1",
|
|
13
12
|
x: "0px",
|
|
14
13
|
y: "0px",
|
|
15
14
|
width: "438.536px",
|
|
@@ -36,7 +35,6 @@ var layoutIcons = {
|
|
|
36
35
|
})),
|
|
37
36
|
linkedinLogo: /*#__PURE__*/_react["default"].createElement("svg", {
|
|
38
37
|
version: "1.1",
|
|
39
|
-
id: "Capa_1",
|
|
40
38
|
x: "0px",
|
|
41
39
|
y: "0px",
|
|
42
40
|
width: "438.536px",
|
|
@@ -0,0 +1,112 @@
|
|
|
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 _Link = _interopRequireDefault(require("./Link.tsx"));
|
|
10
|
+
var _Flex = _interopRequireDefault(require("../flex/Flex.tsx"));
|
|
11
|
+
var icon = /*#__PURE__*/_react["default"].createElement("svg", {
|
|
12
|
+
viewBox: "0 0 24 24",
|
|
13
|
+
enableBackground: "new 0 0 24 24",
|
|
14
|
+
fill: "currentColor"
|
|
15
|
+
}, /*#__PURE__*/_react["default"].createElement("g", {
|
|
16
|
+
id: "Bounding_Box"
|
|
17
|
+
}, /*#__PURE__*/_react["default"].createElement("rect", {
|
|
18
|
+
fill: "none",
|
|
19
|
+
width: "24",
|
|
20
|
+
height: "24"
|
|
21
|
+
})), /*#__PURE__*/_react["default"].createElement("g", {
|
|
22
|
+
id: "Master"
|
|
23
|
+
}, /*#__PURE__*/_react["default"].createElement("path", {
|
|
24
|
+
d: "M19,9.3V4h-3v2.6L12,3L2,12h3v8h5v-6h4v6h5v-8h3L19,9.3z M10,10c0-1.1,0.9-2,2-2s2,0.9,2,2H10z"
|
|
25
|
+
})));
|
|
26
|
+
describe("Link component accessibility tests", function () {
|
|
27
|
+
it("Should not have basic accessibility issues", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
28
|
+
var _render, container, results;
|
|
29
|
+
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
30
|
+
while (1) switch (_context.prev = _context.next) {
|
|
31
|
+
case 0:
|
|
32
|
+
_render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Flex["default"], null, /*#__PURE__*/_react["default"].createElement(_Link["default"], {
|
|
33
|
+
href: "https://www.google.com",
|
|
34
|
+
icon: icon,
|
|
35
|
+
iconPosition: "before",
|
|
36
|
+
margin: "medium"
|
|
37
|
+
}, "Link"), /*#__PURE__*/_react["default"].createElement(_Link["default"], {
|
|
38
|
+
href: "https://www.google.com",
|
|
39
|
+
icon: icon,
|
|
40
|
+
iconPosition: "after",
|
|
41
|
+
margin: "medium"
|
|
42
|
+
}, "Link"))), container = _render.container;
|
|
43
|
+
_context.next = 3;
|
|
44
|
+
return (0, _jestAxe.axe)(container);
|
|
45
|
+
case 3:
|
|
46
|
+
results = _context.sent;
|
|
47
|
+
expect(results).toHaveNoViolations();
|
|
48
|
+
case 5:
|
|
49
|
+
case "end":
|
|
50
|
+
return _context.stop();
|
|
51
|
+
}
|
|
52
|
+
}, _callee);
|
|
53
|
+
})));
|
|
54
|
+
it("Should not have basic accessibility issues for disabled mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
|
|
55
|
+
var _render2, container, results;
|
|
56
|
+
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
|
57
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
58
|
+
case 0:
|
|
59
|
+
_render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Flex["default"], null, /*#__PURE__*/_react["default"].createElement(_Link["default"], {
|
|
60
|
+
href: "https://www.google.com",
|
|
61
|
+
icon: icon,
|
|
62
|
+
iconPosition: "before",
|
|
63
|
+
margin: "medium",
|
|
64
|
+
disabled: true
|
|
65
|
+
}, "Link"), /*#__PURE__*/_react["default"].createElement(_Link["default"], {
|
|
66
|
+
href: "https://www.google.com",
|
|
67
|
+
icon: icon,
|
|
68
|
+
iconPosition: "after",
|
|
69
|
+
margin: "medium",
|
|
70
|
+
disabled: true
|
|
71
|
+
}, "Link"))), container = _render2.container;
|
|
72
|
+
_context2.next = 3;
|
|
73
|
+
return (0, _jestAxe.axe)(container);
|
|
74
|
+
case 3:
|
|
75
|
+
results = _context2.sent;
|
|
76
|
+
expect(results).toHaveNoViolations();
|
|
77
|
+
case 5:
|
|
78
|
+
case "end":
|
|
79
|
+
return _context2.stop();
|
|
80
|
+
}
|
|
81
|
+
}, _callee2);
|
|
82
|
+
})));
|
|
83
|
+
it("Should not have basic accessibility issues for new-window mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
|
|
84
|
+
var _render3, container, results;
|
|
85
|
+
return _regenerator["default"].wrap(function _callee3$(_context3) {
|
|
86
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
87
|
+
case 0:
|
|
88
|
+
_render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Flex["default"], null, /*#__PURE__*/_react["default"].createElement(_Link["default"], {
|
|
89
|
+
href: "https://www.google.com",
|
|
90
|
+
icon: icon,
|
|
91
|
+
iconPosition: "before",
|
|
92
|
+
margin: "medium",
|
|
93
|
+
newWindow: true
|
|
94
|
+
}, "Link"), /*#__PURE__*/_react["default"].createElement(_Link["default"], {
|
|
95
|
+
href: "https://www.google.com",
|
|
96
|
+
icon: icon,
|
|
97
|
+
iconPosition: "after",
|
|
98
|
+
margin: "medium",
|
|
99
|
+
newWindow: true
|
|
100
|
+
}, "Link"))), container = _render3.container;
|
|
101
|
+
_context3.next = 3;
|
|
102
|
+
return (0, _jestAxe.axe)(container);
|
|
103
|
+
case 3:
|
|
104
|
+
results = _context3.sent;
|
|
105
|
+
expect(results).toHaveNoViolations();
|
|
106
|
+
case 5:
|
|
107
|
+
case "end":
|
|
108
|
+
return _context3.stop();
|
|
109
|
+
}
|
|
110
|
+
}, _callee3);
|
|
111
|
+
})));
|
|
112
|
+
});
|
package/link/Link.js
CHANGED
|
@@ -14,7 +14,8 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
14
14
|
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
15
15
|
var _variables = require("../common/variables");
|
|
16
16
|
var _useTheme = _interopRequireDefault(require("../useTheme"));
|
|
17
|
-
var
|
|
17
|
+
var _Icon = _interopRequireDefault(require("../icon/Icon"));
|
|
18
|
+
var _templateObject, _templateObject2;
|
|
18
19
|
var _excluded = ["inheritColor", "disabled", "icon", "iconPosition", "href", "newWindow", "onClick", "margin", "tabIndex", "children"];
|
|
19
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); }
|
|
20
21
|
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 && 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; }
|
|
@@ -24,8 +25,8 @@ var LinkContent = /*#__PURE__*/_react["default"].memo(function (_ref) {
|
|
|
24
25
|
children = _ref.children;
|
|
25
26
|
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, iconPosition === "after" && children, icon && /*#__PURE__*/_react["default"].createElement(LinkIconContainer, {
|
|
26
27
|
iconPosition: iconPosition
|
|
27
|
-
}, typeof icon === "string" ? /*#__PURE__*/_react["default"].createElement(
|
|
28
|
-
|
|
28
|
+
}, typeof icon === "string" ? /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
|
|
29
|
+
icon: icon
|
|
29
30
|
}) : icon), iconPosition === "before" && children);
|
|
30
31
|
});
|
|
31
32
|
var DxcLink = /*#__PURE__*/(0, _react.forwardRef)(function (_ref2, ref) {
|
|
@@ -104,12 +105,13 @@ var StyledLink = _styledComponents["default"].div(_templateObject || (_templateO
|
|
|
104
105
|
}, function (props) {
|
|
105
106
|
return "color: ".concat(props.theme.activeFontColor, " !important;\n border-bottom-color: ").concat(props.theme.activeUnderlineColor, " !important;");
|
|
106
107
|
});
|
|
107
|
-
var
|
|
108
|
-
var LinkIconContainer = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n width: ", ";\n height: ", ";\n ", ";\n overflow: hidden;\n align-self: center;\n\n img,\n svg {\n height: 100%;\n width: 100%;\n }\n"])), function (props) {
|
|
108
|
+
var LinkIconContainer = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n width: ", ";\n height: ", ";\n ", ";\n overflow: hidden;\n align-self: center;\n\n font-size: ", ";\n svg {\n height: 100%;\n width: 100%;\n }\n"])), function (props) {
|
|
109
109
|
return props.theme.iconSize;
|
|
110
110
|
}, function (props) {
|
|
111
111
|
return props.theme.iconSize;
|
|
112
112
|
}, function (props) {
|
|
113
113
|
return "".concat(props.iconPosition === "before" ? "margin-right" : "margin-left", ": ").concat(props.theme.iconSpacing);
|
|
114
|
+
}, function (props) {
|
|
115
|
+
return props.theme.iconSize;
|
|
114
116
|
});
|
|
115
117
|
var _default = exports["default"] = DxcLink;
|
package/link/Link.stories.tsx
CHANGED
|
@@ -33,7 +33,7 @@ export const Chromatic = () => (
|
|
|
33
33
|
<Title title="Disabled" theme="light" level={4} />
|
|
34
34
|
<DxcLink disabled>Test</DxcLink>
|
|
35
35
|
<Title title="Icon before" theme="light" level={4} />
|
|
36
|
-
<DxcLink href="https://www.google.com" icon=
|
|
36
|
+
<DxcLink href="https://www.google.com" icon="lock" iconPosition="before">
|
|
37
37
|
Test
|
|
38
38
|
</DxcLink>
|
|
39
39
|
<Title title="Icon after" theme="light" level={4} />
|
|
@@ -76,7 +76,7 @@ export const Chromatic = () => (
|
|
|
76
76
|
<ExampleContainer pseudoState="pseudo-hover">
|
|
77
77
|
<Title title="Long text with hover" theme="light" level={4} />
|
|
78
78
|
Lorem{" "}
|
|
79
|
-
<DxcLink href="https://www.google.com" icon=
|
|
79
|
+
<DxcLink href="https://www.google.com" icon="filled_home">
|
|
80
80
|
Test
|
|
81
81
|
</DxcLink>{" "}
|
|
82
82
|
ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna
|
package/link/types.d.ts
CHANGED
|
@@ -17,7 +17,7 @@ export type LinkProps = {
|
|
|
17
17
|
*/
|
|
18
18
|
inheritColor?: boolean;
|
|
19
19
|
/**
|
|
20
|
-
*
|
|
20
|
+
* Material Symbol name or SVG element as the icon that will be placed next to the link text.
|
|
21
21
|
*/
|
|
22
22
|
icon?: string | SVG;
|
|
23
23
|
/**
|
package/main.d.ts
CHANGED
|
@@ -22,7 +22,6 @@ import DxcChip from "./chip/Chip";
|
|
|
22
22
|
import DxcApplicationLayout from "./layout/ApplicationLayout";
|
|
23
23
|
import DxcToggleGroup from "./toggle-group/ToggleGroup";
|
|
24
24
|
import DxcAccordionGroup from "./accordion-group/AccordionGroup";
|
|
25
|
-
import DxcBadge from "./badge/Badge";
|
|
26
25
|
import DxcTextInput from "./text-input/TextInput";
|
|
27
26
|
import DxcPasswordInput from "./password-input/PasswordInput";
|
|
28
27
|
import DxcDateInput from "./date-input/DateInput";
|
|
@@ -42,6 +41,9 @@ import DxcBulletedList from "./bulleted-list/BulletedList";
|
|
|
42
41
|
import DxcGrid from "./grid/Grid";
|
|
43
42
|
import DxcImage from "./image/Image";
|
|
44
43
|
import DxcContainer from "./container/Container";
|
|
44
|
+
import DxcBadge from "./badge/Badge";
|
|
45
|
+
import DxcStatusLight from "./status-light/StatusLight";
|
|
46
|
+
import DxcContextualMenu from "./contextual-menu/ContextualMenu";
|
|
47
|
+
import DxcDivider from "./divider/Divider";
|
|
45
48
|
import HalstackContext, { HalstackProvider, HalstackLanguageContext } from "./HalstackContext";
|
|
46
|
-
|
|
47
|
-
export { DxcAlert, DxcButton, DxcCheckbox, DxcTextInput, DxcDropdown, DxcSwitch, DxcSlider, DxcTable, DxcTabs, DxcToggleGroup, DxcDialog, DxcCard, DxcProgressBar, DxcAccordion, DxcSpinner, DxcBox, DxcTag, DxcPaginator, DxcWizard, DxcLink, DxcHeading, DxcResultsetTable, DxcChip, DxcApplicationLayout, HalstackContext, HalstackLanguageContext, HalstackProvider, BackgroundColorProvider, DxcAccordionGroup, DxcBadge, DxcPasswordInput, DxcDateInput, DxcNumberInput, DxcTextarea, DxcSelect, DxcFileInput, DxcRadioGroup, DxcBleed, DxcInset, DxcQuickNav, DxcNavTabs, DxcFlex, DxcTypography, DxcParagraph, DxcBulletedList, DxcGrid, DxcImage, DxcContainer, };
|
|
49
|
+
export { DxcAlert, DxcButton, DxcCheckbox, DxcTextInput, DxcDropdown, DxcSwitch, DxcSlider, DxcTable, DxcTabs, DxcToggleGroup, DxcDialog, DxcCard, DxcProgressBar, DxcAccordion, DxcSpinner, DxcBox, DxcTag, DxcPaginator, DxcWizard, DxcLink, DxcHeading, DxcResultsetTable, DxcChip, DxcApplicationLayout, HalstackContext, HalstackLanguageContext, HalstackProvider, DxcAccordionGroup, DxcPasswordInput, DxcDateInput, DxcNumberInput, DxcTextarea, DxcSelect, DxcFileInput, DxcRadioGroup, DxcBleed, DxcInset, DxcQuickNav, DxcNavTabs, DxcFlex, DxcTypography, DxcParagraph, DxcBulletedList, DxcGrid, DxcImage, DxcContainer, DxcBadge, DxcStatusLight, DxcContextualMenu, DxcDivider, };
|