@dnanpm/styleguide 3.9.13 → 3.9.14

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.
Files changed (45) hide show
  1. package/build/cjs/components/ButtonIcon/ButtonIcon.d.ts +4 -0
  2. package/build/cjs/components/ButtonIcon/ButtonIcon.js +49 -13
  3. package/build/cjs/components/Checkbox/Checkbox.js +1 -1
  4. package/build/cjs/components/MainHeaderNavigation/ChildComponents/BusinessMenu.js +2 -3
  5. package/build/cjs/components/MainHeaderNavigation/ChildComponents/DesktopMenu.js +15 -16
  6. package/build/cjs/components/MainHeaderNavigation/ChildComponents/LanguageSelector.js +1 -2
  7. package/build/cjs/components/MainHeaderNavigation/ChildComponents/LinkModifier.d.ts +2 -2
  8. package/build/cjs/components/MainHeaderNavigation/ChildComponents/LinkModifier.js +5 -7
  9. package/build/cjs/components/MainHeaderNavigation/ChildComponents/LoginTooltip.js +3 -5
  10. package/build/cjs/components/MainHeaderNavigation/ChildComponents/MainNavTooltipMenu.js +5 -5
  11. package/build/cjs/components/MainHeaderNavigation/ChildComponents/MainNavTooltipMenuExportedStyles.js +4 -4
  12. package/build/cjs/components/MainHeaderNavigation/ChildComponents/MinicartTooltip.d.ts +3 -2
  13. package/build/cjs/components/MainHeaderNavigation/ChildComponents/MinicartTooltip.js +6 -10
  14. package/build/cjs/components/MainHeaderNavigation/ChildComponents/MobileMenu.js +3 -3
  15. package/build/cjs/components/MainHeaderNavigation/ChildComponents/PageSearch.js +3 -5
  16. package/build/cjs/components/MainHeaderNavigation/MainHeaderNavigation.d.ts +5 -1
  17. package/build/cjs/components/MainHeaderNavigation/MainHeaderNavigation.js +7 -7
  18. package/build/cjs/components/MainHeaderNavigation/globalNavStyles.js +6 -0
  19. package/build/cjs/components/Pill/Pill.js +1 -1
  20. package/build/cjs/components/PriorityNavigation/PriorityNavigation.js +17 -2
  21. package/build/cjs/components/RadioButton/RadioButton.js +1 -1
  22. package/build/cjs/components/Switch/Switch.js +1 -1
  23. package/build/es/components/ButtonIcon/ButtonIcon.d.ts +4 -0
  24. package/build/es/components/ButtonIcon/ButtonIcon.js +49 -13
  25. package/build/es/components/Checkbox/Checkbox.js +1 -1
  26. package/build/es/components/MainHeaderNavigation/ChildComponents/BusinessMenu.js +2 -3
  27. package/build/es/components/MainHeaderNavigation/ChildComponents/DesktopMenu.js +15 -16
  28. package/build/es/components/MainHeaderNavigation/ChildComponents/LanguageSelector.js +1 -2
  29. package/build/es/components/MainHeaderNavigation/ChildComponents/LinkModifier.d.ts +2 -2
  30. package/build/es/components/MainHeaderNavigation/ChildComponents/LinkModifier.js +5 -7
  31. package/build/es/components/MainHeaderNavigation/ChildComponents/LoginTooltip.js +3 -5
  32. package/build/es/components/MainHeaderNavigation/ChildComponents/MainNavTooltipMenu.js +5 -5
  33. package/build/es/components/MainHeaderNavigation/ChildComponents/MainNavTooltipMenuExportedStyles.js +4 -4
  34. package/build/es/components/MainHeaderNavigation/ChildComponents/MinicartTooltip.d.ts +3 -2
  35. package/build/es/components/MainHeaderNavigation/ChildComponents/MinicartTooltip.js +6 -10
  36. package/build/es/components/MainHeaderNavigation/ChildComponents/MobileMenu.js +3 -3
  37. package/build/es/components/MainHeaderNavigation/ChildComponents/PageSearch.js +3 -5
  38. package/build/es/components/MainHeaderNavigation/MainHeaderNavigation.d.ts +5 -1
  39. package/build/es/components/MainHeaderNavigation/MainHeaderNavigation.js +8 -8
  40. package/build/es/components/MainHeaderNavigation/globalNavStyles.js +6 -0
  41. package/build/es/components/Pill/Pill.js +1 -1
  42. package/build/es/components/PriorityNavigation/PriorityNavigation.js +17 -2
  43. package/build/es/components/RadioButton/RadioButton.js +1 -1
  44. package/build/es/components/Switch/Switch.js +1 -1
  45. package/package.json +1 -1
@@ -30,6 +30,10 @@ interface Props extends Omit<ButtonProps, 'fullWidth'> {
30
30
  * Screen reader label describing the purpose of the ButtonIcon,
31
31
  */
32
32
  ariaLabel?: string;
33
+ /**
34
+ * Show the element with link color (pink)
35
+ */
36
+ isLinkStyle?: boolean;
33
37
  }
34
38
  /** @visibleName Button Icon */
35
39
  declare const ButtonIcon: React.ForwardRefExoticComponent<Omit<Props, "ref"> & React.RefAttributes<HTMLButtonElement>>;
@@ -16,6 +16,47 @@ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'defau
16
16
  var React__default = /*#__PURE__*/_interopDefaultCompat(React);
17
17
  var styled__default = /*#__PURE__*/_interopDefaultCompat(styled);
18
18
 
19
+ const getStandardStyle = ({ isLinkStyle }) => {
20
+ const colorValue = isLinkStyle ? theme.default.color.default.pink : theme.default.color.text.black;
21
+ const colorHoverValue = isLinkStyle ? theme.default.color.hover.pink : theme.default.color.text.black;
22
+ return `
23
+ color: ${colorValue};
24
+ &:focus-visible {
25
+ border: 2px solid ${theme.default.color.focus.light};
26
+ box-shadow: 0px 0px 0px 2px ${theme.default.color.focus.dark};
27
+ }
28
+ &:hover {
29
+ color: ${colorHoverValue};
30
+ }
31
+ &:active {
32
+ color: ${theme.default.color.text.black + theme.default.color.transparency.T80};
33
+ }
34
+ &:disabled,
35
+ &[disabled] {
36
+ color: ${theme.default.color.text.gray};
37
+ }
38
+ `;
39
+ };
40
+ const getDarkBgStyle = () => {
41
+ const colorValue = theme.default.color.text.white;
42
+ return `
43
+ color: ${colorValue};
44
+ &:focus-visible {
45
+ border: 2px solid ${theme.default.color.focus.dark};
46
+ box-shadow: 0px 0px 0px 2px ${theme.default.color.focus.light};
47
+ }
48
+ &:hover {
49
+ color: ${colorValue};
50
+ }
51
+ &:active {
52
+ color: ${colorValue + theme.default.color.transparency.T90};
53
+ }
54
+ &:disabled,
55
+ &[disabled] {
56
+ color: ${colorValue + theme.default.color.transparency.T70};
57
+ }
58
+ `;
59
+ };
19
60
  const ButtonElement = styled__default.default.button `
20
61
  display: inline-flex;
21
62
  align-items: center;
@@ -24,10 +65,11 @@ const ButtonElement = styled__default.default.button `
24
65
  font-size: ${({ small }) => (small ? theme.default.fontSize.s : theme.default.fontSize.default)};
25
66
  line-height: ${({ small }) => (small ? theme.default.lineHeight.xs : theme.default.lineHeight.default)};
26
67
  cursor: pointer;
27
- color: ${({ darkBg }) => (darkBg ? theme.default.color.text.white : theme.default.color.text.black)};
28
68
  background-color: transparent;
29
69
  border: 2px solid transparent;
30
70
  padding: ${styledUtils.getDividedSize(theme.default.base.baseWidth, 5)} 0;
71
+ text-align: left;
72
+ transition: all 0.2s ease-in-out;
31
73
 
32
74
  & svg {
33
75
  pointer-events: none;
@@ -35,29 +77,23 @@ const ButtonElement = styled__default.default.button `
35
77
 
36
78
  ${({ isReversed }) => isReversed && `flex-direction: row-reverse;`}
37
79
 
80
+ ${({ darkBg, isLinkStyle }) => (darkBg ? getDarkBgStyle() : getStandardStyle({ isLinkStyle }))}
81
+
38
82
  &:focus-visible {
39
83
  border-radius: ${theme.default.radius.s};
40
84
  text-decoration: underline;
41
- border: 2px solid
42
- ${({ darkBg }) => (darkBg ? theme.default.color.focus.dark : theme.default.color.focus.light)};
43
- box-shadow: 0px 0px 0px 2px
44
- ${({ darkBg }) => (darkBg ? theme.default.color.focus.light : theme.default.color.focus.dark)};
45
85
  outline: none;
46
86
  }
47
87
 
48
88
  &:hover {
49
89
  text-decoration: underline;
50
- }
51
-
52
- &:active {
53
- color: ${({ darkBg }) => darkBg
54
- ? theme.default.color.text.white + theme.default.color.transparency.T90
55
- : theme.default.color.text.black + theme.default.color.transparency.T80};
90
+ text-underline-offset: 0.2em;
91
+ text-decoration-skip-ink: auto;
92
+ text-decoration-thickness: from-font;
56
93
  }
57
94
 
58
95
  &:disabled,
59
96
  &[disabled] {
60
- color: ${({ darkBg }) => darkBg ? theme.default.color.text.white + theme.default.color.transparency.T70 : theme.default.color.text.gray};
61
97
  pointer-events: none;
62
98
  }
63
99
 
@@ -92,7 +128,7 @@ const ButtonElement = styled__default.default.button `
92
128
  const ButtonIcon = React.forwardRef((_a, ref) => {
93
129
  var { icon = icons.EditUnderline, 'data-testid': dataTestId, 'data-no-close': dataNoClose, 'data-track-value': dataTrackValue } = _a, props = tslib.__rest(_a, ["icon", 'data-testid', 'data-no-close', 'data-track-value']);
94
130
  const position = props.isReversed ? 'right' : 'left';
95
- return (React__default.default.createElement(ButtonElement, Object.assign({ ref: ref, id: props.id, name: props.name, type: props.type, onClick: props.onClick, onMouseDown: props.onMouseDown, small: props.small, darkBg: props.darkBg, "$loading": props.loading, tabIndex: props.loading ? -1 : 0, "data-loading": props.loading, disabled: props.disabled, hideChildrenMobile: props.hideChildrenMobile, isReversed: props.isReversed, className: props.className, "data-testid": dataTestId, "data-no-close": dataNoClose, "data-track-value": dataTrackValue, "aria-expanded": props.ariaExpanded, "aria-label": props.ariaLabel }, props.dataAttributes), props.loading ? (React__default.default.createElement(PixelLoader.default, { color: props.darkBg ? theme.default.color.default.white : theme.default.color.default.black, label: props.loadingLabel })) : (React__default.default.createElement(React__default.default.Fragment, null,
131
+ return (React__default.default.createElement(ButtonElement, Object.assign({ ref: ref, id: props.id, name: props.name, type: props.type, onClick: props.onClick, onMouseDown: props.onMouseDown, small: props.small, darkBg: props.darkBg, "$loading": props.loading, tabIndex: props.loading ? -1 : 0, "data-loading": props.loading, disabled: props.disabled, hideChildrenMobile: props.hideChildrenMobile, isReversed: props.isReversed, className: props.className, "data-testid": dataTestId, "data-no-close": dataNoClose, "data-track-value": dataTrackValue, "aria-expanded": props.ariaExpanded, "aria-label": props.ariaLabel, isLinkStyle: props.isLinkStyle }, props.dataAttributes), props.loading ? (React__default.default.createElement(PixelLoader.default, { color: props.darkBg ? theme.default.color.default.white : theme.default.color.default.black, label: props.loadingLabel })) : (React__default.default.createElement(React__default.default.Fragment, null,
96
132
  React__default.default.createElement(Icon.default, { icon: icon, color: props.darkBg ? theme.default.color.default.white : theme.default.color.default.pink, size: props.small ? '1.25rem' : '1.5rem', position: props.children ? position : undefined, "aria-hidden": true }),
97
133
  props.children && (React__default.default.createElement("span", { "data-testid": dataTestId && `${dataTestId}-text`, "data-no-close": dataNoClose }, props.children))))));
98
134
  });
@@ -118,7 +118,7 @@ const Checkbox = (_a) => {
118
118
  };
119
119
  return (React__default.default.createElement(React__default.default.Fragment, null,
120
120
  React__default.default.createElement(Container, null,
121
- React__default.default.createElement(Input, { id: props.id, name: props.name, type: "checkbox", className: props.className, checked: Boolean(props.value), onChange: handleChange, disabled: props.disabled, "data-testid": dataTestId, "aria-required": props.required, "aria-invalid": props.error ? 'true' : undefined, "aria-errormessage": props.error && props.errorMessage ? errorId : undefined }),
121
+ React__default.default.createElement(Input, { id: props.id, name: props.name, type: "checkbox", className: props.className, checked: Boolean(props.value), onChange: handleChange, disabled: props.disabled, "data-testid": dataTestId, "aria-required": props.required, "aria-invalid": props.error ? 'true' : undefined, "aria-errormessage": props.error && props.errorMessage ? errorId : undefined, "data-checked": Boolean(props.value) }),
122
122
  React__default.default.createElement("label", { htmlFor: props.id, "data-testid": dataTestId && `${dataTestId}-label` },
123
123
  props.label,
124
124
  props.required && React__default.default.createElement(Mandatory, null, "*"))),
@@ -47,8 +47,7 @@ const BusinessMenuLink = styled.default.a `
47
47
  const BusinessMenuList = styled.default.nav `
48
48
  display: flex;
49
49
  gap: ${styledUtils.getMultipliedSize(theme.default.base.baseWidth, 1)};
50
- padding: ${styledUtils.getMultipliedSize(theme.default.base.baseHeight, 0.5)}
51
- ${styledUtils.getMultipliedSize(theme.default.base.baseWidth, 1)};
50
+ padding: ${styledUtils.getMultipliedSize(theme.default.base.baseHeight, 0.5)} ${styledUtils.getMultipliedSize(theme.default.base.baseWidth, 1)};
52
51
  ${styledUtils.media.md `
53
52
  padding: ${styledUtils.getMultipliedSize(theme.default.base.baseHeight, 1)} ${styledUtils.getMultipliedSize(theme.default.base.baseWidth, 1.5)};
54
53
  `};
@@ -57,7 +56,7 @@ const BusinessMenu = ({ ariaLabel, currentBusinessId, items, lang }) => {
57
56
  if (!(items === null || items === void 0 ? void 0 : items.length)) {
58
57
  return null;
59
58
  }
60
- return (React__default.default.createElement(BusinessMenuList, { "aria-label": ariaLabel, "data-testid": "business-menu", role: "navigation" }, items.map(item => (React__default.default.createElement(BusinessMenuLink, { className: `menu-link ${item.businessId === currentBusinessId ? 'active-site' : ''}`, href: item.urls[lang], isActive: item.businessId === currentBusinessId, key: item.businessId }, item.titles[lang])))));
59
+ return (React__default.default.createElement(BusinessMenuList, { "aria-label": ariaLabel, "data-testid": "business-menu" }, items.map(item => (React__default.default.createElement(BusinessMenuLink, { className: `menu-link ${item.businessId === currentBusinessId ? 'active-site' : ''}`, href: item.urls[lang], isActive: item.businessId === currentBusinessId, key: item.businessId }, item.titles[lang])))));
61
60
  };
62
61
 
63
62
  exports.default = BusinessMenu;
@@ -36,13 +36,12 @@ const noAnimation = styled.css `
36
36
  const MegaMenuContent = styled.default.ul `
37
37
  display: grid;
38
38
  grid-template-columns: 25% 25% 25% 25%;
39
- padding-left: 0;
40
39
  `;
41
- const CategoryTitle = styled.default.span `
40
+ const CategoryTitle = styled.default.h2 `
42
41
  display: flex;
43
42
  font-size: ${theme.default.fontSize.default};
44
43
  line-height: ${theme.default.lineHeight.default};
45
- font-weight: ${theme.default.fontWeight.bold};
44
+ margin: 0;
46
45
  padding: 0 ${styledUtils.getMultipliedSize(theme.default.base.baseHeight, 2)}
47
46
  ${styledUtils.getMultipliedSize(theme.default.base.baseWidth, 1)};
48
47
  ${styledUtils.media.xl `
@@ -129,21 +128,21 @@ const SubMenuLevel1 = ({ menuItem }) => {
129
128
  const pagesWithSubItems = menuItem.pages.filter(element => element.pages.length > 0);
130
129
  // Helper function to render a sub menu item
131
130
  const renderSubMenuItem = (element, index, currUrl) => (React__default.default.createElement(SubMenuItem, { key: element.id, isHighlighted: LinkModifier.isSelected(currUrl, element.urls[lang], true), "data-testid": `desktop-nav-item-level-2-${index + 1}` },
132
- React__default.default.createElement(LinkModifier.default, { menuItem: element, tabIndex: false })));
131
+ React__default.default.createElement(LinkModifier.default, { menuItem: element, disabledTabIndex: false })));
133
132
  if (!level1HasElements) {
134
133
  return null;
135
134
  }
136
135
  return (React__default.default.createElement(SubMenuList, { "aria-hidden": false, menuStates: menuLevel, navItemId: menuItem.id, navZIndex: navZIndex },
137
- React__default.default.createElement(MegaMenuContent, null,
136
+ React__default.default.createElement(MegaMenuContent, { "aria-labelledby": `menu-id-${menuItem.id}` },
138
137
  pagesWithSubItems.slice(0, 5).map(element => (React__default.default.createElement(CategoryBlock, { key: element.id },
139
- React__default.default.createElement(CategoryTitle, null, element.titles[lang]),
140
- React__default.default.createElement("ul", { "data-testid": "desktop-nav-menu-ul-level-2" }, element.pages.map((subElement, index) => renderSubMenuItem(subElement, index, currentUrl)))))),
138
+ React__default.default.createElement(CategoryTitle, { id: `menu-id-${element.id}` }, element.titles[lang]),
139
+ React__default.default.createElement("ul", { "aria-labelledby": `menu-id-${element.id}`, "data-testid": "desktop-nav-menu-ul-level-2" }, element.pages.map((subElement, index) => renderSubMenuItem(subElement, index, currentUrl)))))),
141
140
  pagesWithSubItems.length > 5 && (React__default.default.createElement(CategoryCollectionBlock, null,
142
- React__default.default.createElement(CategoryTitle, null, categoryCollectionText),
143
- React__default.default.createElement("ul", { "data-testid": "desktop-nav-menu-ul-level-2" }, pagesWithSubItems
141
+ React__default.default.createElement(CategoryTitle, { id: "misc-categories" }, categoryCollectionText),
142
+ React__default.default.createElement("ul", { "aria-labelledby": "misc-categories", "data-testid": "desktop-nav-menu-ul-level-2" }, pagesWithSubItems
144
143
  .slice(5)
145
144
  .map((element, index) => renderSubMenuItem(element, index, currentUrl))))),
146
- React__default.default.createElement(globalNavStyles.FeaturedBlock, { collapseSize: collapseSize, "data-testid": "desktop-nav-menu-level-2-featured" }, menuItem.pages.map(element => element.pages.length ? null : (React__default.default.createElement(LinkModifier.default, { key: element.id, showIcon: true, menuItem: element, tabIndex: false })))))));
145
+ React__default.default.createElement(globalNavStyles.FeaturedBlock, { collapseSize: collapseSize, "data-testid": "desktop-nav-menu-level-2-featured" }, menuItem.pages.map(element => element.pages.length ? null : (React__default.default.createElement(LinkModifier.default, { key: element.id, showIcon: true, menuItem: element, disabledTabIndex: false })))))));
147
146
  };
148
147
  const MenuItemWithChildren = ({ menuItem, currentLevel }) => {
149
148
  const { lang, handleNavMenuClick, currentUrl, menuLevel } = React.useContext(NavContext.default);
@@ -152,9 +151,9 @@ const MenuItemWithChildren = ({ menuItem, currentLevel }) => {
152
151
  e.preventDefault();
153
152
  handleNavMenuClick(element.id, 'level1');
154
153
  };
155
- return (React__default.default.createElement(DesktopMenuItem, { isActive: LinkModifier.isSelected(currentUrl, menuItem.urls[lang]), "data-testid": `desktop-nav-item-level-1-${currentLevel + 1}` },
156
- React__default.default.createElement(globalNavStyles.MenuLinkWithChildren, { isOpen: menuLevel.level1 === menuItem.id, onClick: menuClickMain(menuItem), "data-testid": "menu-button-with-children", href: linkUrl },
157
- React__default.default.createElement("span", null, menuItem.titles[lang]),
154
+ return (React__default.default.createElement(DesktopMenuItem, { isActive: LinkModifier.isSelected(currentUrl, linkUrl), "data-testid": `desktop-nav-item-level-1-${currentLevel + 1}` },
155
+ React__default.default.createElement(globalNavStyles.MenuLinkWithChildren, { isOpen: menuLevel.level1 === menuItem.id, onClick: menuClickMain(menuItem), "data-testid": "menu-button-with-children", "aria-current": LinkModifier.isSelected(currentUrl, linkUrl) ? 'true' : undefined, "aria-expanded": menuLevel.level1 === menuItem.id, href: linkUrl },
156
+ React__default.default.createElement("span", { id: `menu-id-${menuItem.id}` }, menuItem.titles[lang]),
158
157
  React__default.default.createElement(icons.ChevronRight, { size: "1rem" })),
159
158
  React__default.default.createElement(SubMenuLevel1, { menuItem: menuItem })));
160
159
  };
@@ -174,10 +173,10 @@ const DesktopMenu = () => {
174
173
  return (React__default.default.createElement(globalNavStyles.MenuList, { "aria-hidden": false, ref: ref, "data-testid": "desktop-nav-menu-ul" }, mainNavigation.map((navElement, index) => {
175
174
  const displaySubMenu = !navElement.pageIsLinkInDesktopNavigation && !!navElement.pages.length;
176
175
  if (displaySubMenu) {
177
- return (React__default.default.createElement(MenuItemWithChildren, { menuItem: navElement, key: navElement.id, currentLevel: index }));
176
+ return (React__default.default.createElement(MenuItemWithChildren, { currentLevel: index, key: navElement.id, menuItem: navElement }));
178
177
  }
179
- return (React__default.default.createElement(DesktopMenuItem, { key: navElement.id, "data-testid": `desktop-nav-item-level-1-${index + 1}`, isActive: LinkModifier.isSelected(currentUrl, navElement.urls[lang]) },
180
- React__default.default.createElement(LinkModifier.default, { menuItem: navElement, tabIndex: false })));
178
+ return (React__default.default.createElement(DesktopMenuItem, { "data-testid": `desktop-nav-item-level-1-${index + 1}`, isActive: LinkModifier.isSelected(currentUrl, navElement.urls[lang]), key: navElement.id },
179
+ React__default.default.createElement(LinkModifier.default, { menuItem: navElement, disabledTabIndex: false })));
181
180
  })));
182
181
  };
183
182
 
@@ -8,7 +8,6 @@ var styled = require('../../../themes/styled.js');
8
8
  var theme = require('../../../themes/theme.js');
9
9
  var navigation = require('../../../themes/themeComponents/navigation.js');
10
10
  var styledUtils = require('../../../utils/styledUtils.js');
11
- var Icon = require('../../Icon/Icon.js');
12
11
  var NavContext = require('../context/NavContext.js');
13
12
  var globalNavStyles = require('../globalNavStyles.js');
14
13
  var MainNavTooltipMenu = require('./MainNavTooltipMenu.js');
@@ -32,7 +31,7 @@ const LanguageSelector = ({ currentLanguage, languagesObject, languageSelectorLa
32
31
  return null;
33
32
  }
34
33
  return (React__default.default.createElement(MainNavTooltipMenu.default, { ariaLabel: languageSelectorLabel, closeWhenTagClicked: ['a'], contentComponent: LngComponent, contentWidth: "5rem", globalStateString: "lang", tooltipRight: isMobileMenu ? '13.8rem' : '11.8rem', zIndex: navZIndex + 1 },
35
- React__default.default.createElement(Icon.default, { icon: icons.Globe, size: navigation.navIconSize }),
34
+ React__default.default.createElement(icons.Globe, { size: navigation.navIconSize }),
36
35
  React__default.default.createElement("span", { "data-testid": "header-lang-label" }, currentLanguage.toUpperCase())));
37
36
  };
38
37
 
@@ -2,9 +2,9 @@ import React from 'react';
2
2
  import type { MenuLevelItem } from '../types/globalNavProps';
3
3
  interface LinkModifierProps {
4
4
  menuItem: MenuLevelItem;
5
- tabIndex: boolean;
5
+ disabledTabIndex?: boolean;
6
6
  showIcon?: boolean;
7
7
  }
8
8
  export declare const isSelected: (currentUrl: string, linkUrl: string, exactMatch?: boolean) => boolean;
9
- declare const LinkModifier: ({ menuItem, tabIndex, showIcon }: LinkModifierProps) => React.JSX.Element;
9
+ declare const LinkModifier: ({ menuItem, disabledTabIndex, showIcon }: LinkModifierProps) => React.JSX.Element;
10
10
  export default LinkModifier;
@@ -4,8 +4,6 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var icons = require('@dnanpm/icons');
6
6
  var React = require('react');
7
- var theme = require('../../../themes/theme.js');
8
- var Icon = require('../../Icon/Icon.js');
9
7
  var NavContext = require('../context/NavContext.js');
10
8
  var globalNavStyles = require('../globalNavStyles.js');
11
9
 
@@ -24,12 +22,12 @@ const isSelected = (currentUrl, linkUrl, exactMatch = false) => {
24
22
  return false;
25
23
  };
26
24
  const isMenuItemLinkAbsolute = (menuItemLink) => menuItemLink.includes('http');
27
- const LinkModifier = ({ menuItem, tabIndex, showIcon }) => {
28
- const { lang, nextJSLinkComponent, resetMenuEvents } = React.useContext(NavContext.default);
29
- const menuItemLink = menuItem.urls[lang] || '';
25
+ const LinkModifier = ({ menuItem, disabledTabIndex, showIcon }) => {
26
+ const { lang, currentUrl, nextJSLinkComponent, resetMenuEvents } = React.useContext(NavContext.default);
27
+ const menuItemLink = menuItem.urls[lang];
30
28
  const isExternalLink = menuItem.target === '_blank';
31
- const MenuLinkComponent = (React__default.default.createElement(globalNavStyles.MenuLink, { href: menuItemLink, id: menuItem.id, onClick: resetMenuEvents, tabIndex: tabIndex ? -1 : undefined, target: isExternalLink ? '_blank' : '_self' },
32
- showIcon && (React__default.default.createElement(Icon.default, { icon: isExternalLink ? icons.Open : icons.ArrowRight, size: "1.25rem", color: theme.default.color.default.pink })),
29
+ const MenuLinkComponent = (React__default.default.createElement(globalNavStyles.MenuLink, { "aria-current": isSelected(currentUrl, menuItemLink) ? 'page' : undefined, href: menuItemLink, id: menuItem.id, onClick: resetMenuEvents, tabIndex: disabledTabIndex ? -1 : undefined, target: isExternalLink ? '_blank' : '_self' },
30
+ showIcon && (isExternalLink ? React__default.default.createElement(icons.Open, null) : React__default.default.createElement(icons.ArrowRight, null)),
33
31
  React__default.default.createElement("span", null, menuItem.titles[lang])));
34
32
  if (nextJSLinkComponent && !isMenuItemLinkAbsolute(menuItemLink)) {
35
33
  const NextJSLinkComponent = nextJSLinkComponent;
@@ -4,8 +4,6 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var icons = require('@dnanpm/icons');
6
6
  var React = require('react');
7
- var navigation = require('../../../themes/themeComponents/navigation.js');
8
- var Icon = require('../../Icon/Icon.js');
9
7
  var NavContext = require('../context/NavContext.js');
10
8
  var MainNavTooltipMenu = require('./MainNavTooltipMenu.js');
11
9
 
@@ -14,9 +12,9 @@ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'defau
14
12
  var React__default = /*#__PURE__*/_interopDefaultCompat(React);
15
13
 
16
14
  const LoginTooltip = ({ isLogged, loginLabel }) => {
17
- const { navZIndex, isMobileMenu, loginComponent: LoginComponent } = React.useContext(NavContext.default);
18
- return (React__default.default.createElement(MainNavTooltipMenu.default, { ariaLabel: loginLabel, closeWhenTagClicked: ['a', 'button'], contentComponent: LoginComponent, globalStateString: "login", tooltipRight: isMobileMenu ? '3rem' : '1rem', zIndex: navZIndex + 1 }, !isLogged ? (loginLabel) : (React__default.default.createElement(React__default.default.Fragment, null,
19
- React__default.default.createElement(Icon.default, { icon: icons.User, size: navigation.navIconSize }),
15
+ const { navZIndex, isMobileMenu, loginComponent } = React.useContext(NavContext.default);
16
+ return (React__default.default.createElement(MainNavTooltipMenu.default, { ariaLabel: loginLabel, closeWhenTagClicked: ['a', 'button'], contentComponent: loginComponent, globalStateString: "login", tooltipRight: isMobileMenu ? '3rem' : '1rem', zIndex: navZIndex + 1 }, !isLogged ? (loginLabel) : (React__default.default.createElement(React__default.default.Fragment, null,
17
+ React__default.default.createElement(icons.User, null),
20
18
  React__default.default.createElement("span", { "data-testid": "header-login-label" }, loginLabel)))));
21
19
  };
22
20
 
@@ -28,19 +28,19 @@ const IconContainer = styled.default.div `
28
28
  min-width: ${navigation.IconContainerMinWidth};
29
29
  transition: color 0.2s ease-in-out;
30
30
 
31
- > span.dnasg-icon > svg {
31
+ > svg {
32
32
  display: block;
33
33
  height: ${navigation.navIconSize};
34
34
  width: ${navigation.navIconSize};
35
35
  }
36
- > span.dnasg-icon > svg,
37
- > span.dnasg-icon + span {
36
+ > svg,
37
+ + span {
38
38
  color: ${p => (p.isActive ? theme.default.color.text.pink : 'inherit')};
39
39
  }
40
40
 
41
41
  @media (min-width: ${p => p.collapseSize + 1}px) {
42
42
  min-width: ${styledUtils.getMultipliedSize(theme.default.base.baseWidth, 6)};
43
- > span.dnasg-icon + span {
43
+ + span {
44
44
  display: block;
45
45
  }
46
46
  }
@@ -111,7 +111,7 @@ const MainNavTooltipMenu = (_a) => {
111
111
  }
112
112
  });
113
113
  return (React__default.default.createElement(IconContainer, { "data-testid": `header-${globalStateKey}-container`, collapseSize: collapseSize, ref: ref },
114
- globalStateKey === 'login' && !isLoggedIn ? (React__default.default.createElement(ButtonPrimary.default, { onClick: ContentComponent ? toggleState : undefined, small: true }, children)) : (React__default.default.createElement(MainNavTooltipMenuExportedStyles.default, { "aria-label": ariaLabel, isLoggedIn: isLoginItemAndLoggedIn, collapseSize: collapseSize, isHighlighted: tooltipItems[globalStateKey] || isLoginItemAndLoggedIn, onClick: props.onCartButtonClick || (ContentComponent ? toggleState : undefined) }, children)),
114
+ globalStateKey === 'login' && !isLoggedIn ? (React__default.default.createElement(ButtonPrimary.default, { onClick: ContentComponent ? toggleState : undefined, small: true }, children)) : (React__default.default.createElement(MainNavTooltipMenuExportedStyles.default, { "aria-label": ariaLabel, "aria-expanded": tooltipItems[globalStateKey], isLoggedIn: isLoginItemAndLoggedIn, collapseSize: collapseSize, isHighlighted: tooltipItems[globalStateKey] || isLoginItemAndLoggedIn, onClick: props.onCartButtonClick || (ContentComponent ? toggleState : undefined) }, children)),
115
115
  tooltipItems[globalStateKey] && ContentComponent && (React__default.default.createElement(React__default.default.Fragment, null,
116
116
  React__default.default.createElement(Caret, { zIndex: zIndex, collapseSize: collapseSize }),
117
117
  React__default.default.createElement(Tooltip, { zIndex: zIndex, tooltipRight: tooltipRight, contentWidth: contentWidth, collapseSize: collapseSize, fullWidthDesktop: fullWidthDesktop, fullWidthBreakpoint: fullWidthBreakpoint },
@@ -24,7 +24,7 @@ const TooltipWrapper = styled.default.button `
24
24
  border-left: ${p => (p.isLoggedIn ? `2px solid ${theme.default.color.line.L03}` : 'none')};
25
25
  &:active,
26
26
  &:focus {
27
- span.dnasg-icon > svg,
27
+ > svg,
28
28
  > span {
29
29
  color: ${theme.default.color.text.pink};
30
30
  }
@@ -34,12 +34,12 @@ const TooltipWrapper = styled.default.button `
34
34
  border-radius: ${theme.default.radius.s};
35
35
  box-shadow: 0px 0px 0px 2px ${theme.default.color.focus.light},
36
36
  0px 0px 0px 4px ${theme.default.color.focus.dark};
37
- span.dnasg-icon > svg,
37
+ > svg,
38
38
  > span {
39
39
  color: ${theme.default.color.text.black};
40
40
  }
41
41
  }
42
- span.dnasg-icon > svg {
42
+ > svg {
43
43
  align-content: center;
44
44
  display: flex;
45
45
  margin: 0 auto;
@@ -48,7 +48,7 @@ const TooltipWrapper = styled.default.button `
48
48
  width: 1.625em;
49
49
  }
50
50
  }
51
- span.dnasg-icon + span {
51
+ > span {
52
52
  display: none;
53
53
  @media (min-width: ${p => p.collapseSize + 1}px) {
54
54
  font-size: ${theme.default.fontSize.xs};
@@ -2,7 +2,8 @@ import React from 'react';
2
2
  import type { MainHeaderNavigationProps } from '../MainHeaderNavigation';
3
3
  interface MinicartTooltipProps extends Pick<MainHeaderNavigationProps, 'onCartButtonClick'> {
4
4
  minicartAmount: number;
5
- minicartLabel?: string;
5
+ minicartLabel: string;
6
+ minicartAmountLabel: string;
6
7
  }
7
- declare const MinicartTooltip: ({ minicartAmount, minicartLabel, ...props }: MinicartTooltipProps) => React.JSX.Element;
8
+ declare const MinicartTooltip: ({ minicartAmount, minicartAmountLabel, minicartLabel, onCartButtonClick, }: MinicartTooltipProps) => React.JSX.Element;
8
9
  export default MinicartTooltip;
@@ -2,12 +2,9 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var tslib = require('tslib');
6
5
  var icons = require('@dnanpm/icons');
7
6
  var React = require('react');
8
7
  var theme = require('../../../themes/theme.js');
9
- var navigation = require('../../../themes/themeComponents/navigation.js');
10
- var Icon = require('../../Icon/Icon.js');
11
8
  var NotificationBadge = require('../../NotificationBadge/NotificationBadge.js');
12
9
  var NavContext = require('../context/NavContext.js');
13
10
  var MainNavTooltipMenu = require('./MainNavTooltipMenu.js');
@@ -16,13 +13,12 @@ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'defau
16
13
 
17
14
  var React__default = /*#__PURE__*/_interopDefaultCompat(React);
18
15
 
19
- const MinicartTooltip = (_a) => {
20
- var { minicartAmount, minicartLabel } = _a, props = tslib.__rest(_a, ["minicartAmount", "minicartLabel"]);
21
- const { navZIndex, minicartComponent: MinicartComponent } = React.useContext(NavContext.default);
22
- return (React__default.default.createElement(MainNavTooltipMenu.default, { ariaLabel: minicartLabel, closeWhenTagClicked: ['a', 'button'], onCartButtonClick: props.onCartButtonClick, contentComponent: MinicartComponent, contentWidth: "35rem", fullWidthBreakpoint: theme.default.breakpoints.md, globalStateString: "minicart", tooltipRight: "5rem", zIndex: navZIndex + 1 },
23
- React__default.default.createElement(Icon.default, { icon: icons.Cart, size: navigation.navIconSize }),
24
- React__default.default.createElement("span", null, minicartLabel),
25
- minicartAmount > 0 && (React__default.default.createElement(NotificationBadge.default, { top: "-5px", right: "5px", "data-testid": "header-minicart-amount" }, minicartAmount))));
16
+ const MinicartTooltip = ({ minicartAmount, minicartAmountLabel, minicartLabel, onCartButtonClick, }) => {
17
+ const { navZIndex, minicartComponent } = React.useContext(NavContext.default);
18
+ return (React__default.default.createElement(MainNavTooltipMenu.default, { ariaLabel: minicartLabel, closeWhenTagClicked: ['a', 'button'], onCartButtonClick: onCartButtonClick, contentComponent: minicartComponent, contentWidth: "35rem", fullWidthBreakpoint: theme.default.breakpoints.md, globalStateString: "minicart", tooltipRight: "5rem", zIndex: navZIndex + 1 },
19
+ React__default.default.createElement(icons.Cart, null),
20
+ React__default.default.createElement("span", { "aria-hidden": true }, minicartLabel),
21
+ minicartAmount > 0 && (React__default.default.createElement(NotificationBadge.default, { "data-testid": "header-minicart-amount", right: "5px", top: "-5px", visuallyHiddenText: minicartAmountLabel }, minicartAmount))));
26
22
  };
27
23
 
28
24
  exports.default = MinicartTooltip;
@@ -132,7 +132,7 @@ const CreateSubMenuItem = ({ menuItem, currentLevel, itemIndex }) => {
132
132
  menuItem.titles[lang],
133
133
  React__default.default.createElement(icons.ChevronRight, { color: theme.default.color.default.pink })));
134
134
  }
135
- return renderMenuItem(React__default.default.createElement(LinkModifier.default, { menuItem: menuItem, tabIndex: tabNavigationDisabled }));
135
+ return renderMenuItem(React__default.default.createElement(LinkModifier.default, { menuItem: menuItem, disabledTabIndex: tabNavigationDisabled }));
136
136
  };
137
137
  const SubMenuMobile = ({ currentLevel, menuItem }) => {
138
138
  const featuredItems = menuItem.pages.filter(subMenuItem => !subMenuItem.pages.length && currentLevel === 2);
@@ -144,7 +144,7 @@ const SubMenuMobile = ({ currentLevel, menuItem }) => {
144
144
  }
145
145
  return (React__default.default.createElement(React__default.default.Fragment, null,
146
146
  currentLevel > 1 && React__default.default.createElement(MenuItemBackLink, { currentLevel: currentLevel }),
147
- featuredItems.length > 0 && (React__default.default.createElement(globalNavStyles.FeaturedBlock, { collapseSize: collapseSize }, featuredItems.map(subMenuItem => (React__default.default.createElement(LinkModifier.default, { key: subMenuItem.id, menuItem: subMenuItem, showIcon: true, tabIndex: tabNavigationDisabled }))))),
147
+ featuredItems.length > 0 && (React__default.default.createElement(globalNavStyles.FeaturedBlock, { collapseSize: collapseSize }, featuredItems.map(subMenuItem => (React__default.default.createElement(LinkModifier.default, { key: subMenuItem.id, menuItem: subMenuItem, showIcon: true, disabledTabIndex: tabNavigationDisabled }))))),
148
148
  menuItem.pages
149
149
  .filter(subMenuItem => !featuredItems.includes(subMenuItem))
150
150
  .map((subMenuItem, index) => (React__default.default.createElement(CreateSubMenuItem, { currentLevel: currentLevel, itemIndex: index, key: subMenuItem.id, menuItem: subMenuItem })))));
@@ -155,7 +155,7 @@ const NavigationMenuMobile = () => {
155
155
  if (!(mainNavigation === null || mainNavigation === void 0 ? void 0 : mainNavigation.pages.length)) {
156
156
  return null;
157
157
  }
158
- const renderMenuList = (scrollPosition, level, menuItem) => (React__default.default.createElement(globalNavStyles.MenuList, { role: "menu", "aria-hidden": menuLevel.scrollPosition !== scrollPosition, "aria-disabled": menuLevel.scrollPosition !== scrollPosition, "data-testid": `mobile-nav-menu-level-${level}`, isInView: menuLevel.scrollPosition === scrollPosition },
158
+ const renderMenuList = (scrollPosition, level, menuItem) => (React__default.default.createElement(globalNavStyles.MenuList, { "aria-hidden": menuLevel.scrollPosition !== scrollPosition, "aria-disabled": menuLevel.scrollPosition !== scrollPosition, "data-testid": `mobile-nav-menu-level-${level}`, isInView: menuLevel.scrollPosition === scrollPosition },
159
159
  React__default.default.createElement(SubMenuMobile, { currentLevel: level, menuItem: menuItem })));
160
160
  return (React__default.default.createElement(React__default.default.Fragment, null,
161
161
  renderMenuList(0, 1, mainNavigation),
@@ -4,8 +4,6 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var icons = require('@dnanpm/icons');
6
6
  var React = require('react');
7
- var navigation = require('../../../themes/themeComponents/navigation.js');
8
- var Icon = require('../../Icon/Icon.js');
9
7
  var NavContext = require('../context/NavContext.js');
10
8
  var MainNavTooltipMenu = require('./MainNavTooltipMenu.js');
11
9
 
@@ -14,9 +12,9 @@ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'defau
14
12
  var React__default = /*#__PURE__*/_interopDefaultCompat(React);
15
13
 
16
14
  const PageSearch = ({ searchLabel }) => {
17
- const { navZIndex, searchComponent: SearchComponent } = React.useContext(NavContext.default);
18
- return (React__default.default.createElement(MainNavTooltipMenu.default, { ariaLabel: searchLabel, closeWhenTagClicked: ['a'], contentComponent: SearchComponent, contentWidth: "100%", "data-testid": "header-search-container", fullWidthDesktop: true, globalStateString: "search", tooltipRight: "0", zIndex: navZIndex + 1 },
19
- React__default.default.createElement(Icon.default, { icon: icons.Search, size: navigation.navIconSize }),
15
+ const { navZIndex, searchComponent } = React.useContext(NavContext.default);
16
+ return (React__default.default.createElement(MainNavTooltipMenu.default, { ariaLabel: searchLabel, closeWhenTagClicked: ['a'], contentComponent: searchComponent, contentWidth: "100%", "data-testid": "header-search-container", fullWidthDesktop: true, globalStateString: "search", tooltipRight: "0", zIndex: navZIndex + 1 },
17
+ React__default.default.createElement(icons.Search, null),
20
18
  React__default.default.createElement("span", null, searchLabel)));
21
19
  };
22
20
 
@@ -16,6 +16,7 @@ export interface MainHeaderNavigationProps {
16
16
  minicart?: boolean;
17
17
  minicartText?: string;
18
18
  minicartAmount?: number;
19
+ minicartAmountLabel?: string;
19
20
  /**
20
21
  * Defines MinicartComponent when used. If minicart is true but component is not provided, shown as disabled element.
21
22
  *
@@ -27,6 +28,9 @@ export interface MainHeaderNavigationProps {
27
28
  * On Cart button click callback
28
29
  */
29
30
  onCartButtonClick?: (e: MouseEvent<HTMLElement>) => void;
31
+ dnaLogoLinkAriaLabel?: string;
32
+ openMainMenuAriaLabel?: string;
33
+ closeMainMenuAriaLabel?: string;
30
34
  showLoginTooltip?: boolean;
31
35
  languageSelector?: boolean;
32
36
  languageSelectorText?: string;
@@ -40,6 +44,6 @@ export interface MainHeaderNavigationProps {
40
44
  notificationText?: string;
41
45
  }
42
46
  /** @visibleName MainHeaderNavigation */
43
- declare const MainHeaderNavigation: ({ businessMenuAriaLabel, categoryCollectionText, className, collapseSize, currentUrl, isLoggedIn, items, language, languageSelector, languageSelectorText, login, loginComponent, loginText, mainMenuAriaLabel, minicart, minicartAmount, minicartComponent, minicartText, nextJSLinkComponent, notificationText, search, searchComponent, searchText, showLoginTooltip, showMinicart, zIndex, ...props }: MainHeaderNavigationProps) => React.JSX.Element;
47
+ declare const MainHeaderNavigation: ({ businessMenuAriaLabel, categoryCollectionText, closeMainMenuAriaLabel, className, collapseSize, currentUrl, dnaLogoLinkAriaLabel, isLoggedIn, items, language, languageSelector, languageSelectorText, login, loginComponent, loginText, mainMenuAriaLabel, minicart, minicartAmount, minicartAmountLabel, minicartComponent, minicartText, nextJSLinkComponent, notificationText, openMainMenuAriaLabel, search, searchComponent, searchText, showLoginTooltip, showMinicart, zIndex, ...props }: MainHeaderNavigationProps) => React.JSX.Element;
44
48
  /** @component */
45
49
  export default MainHeaderNavigation;
@@ -13,7 +13,6 @@ var theme = require('../../themes/theme.js');
13
13
  var navigation = require('../../themes/themeComponents/navigation.js');
14
14
  var styledUtils = require('../../utils/styledUtils.js');
15
15
  var DnaLogo = require('../DnaLogo/DnaLogo.js');
16
- var Icon = require('../Icon/Icon.js');
17
16
  var Notification = require('../Notification/Notification.js');
18
17
  var BusinessMenu = require('./ChildComponents/BusinessMenu.js');
19
18
  var DesktopMenu = require('./ChildComponents/DesktopMenu.js');
@@ -135,7 +134,7 @@ const initiateScrollToHeader = (componentRef) => {
135
134
  /** @visibleName MainHeaderNavigation */
136
135
  const MainHeaderNavigation = (_a) => {
137
136
  var _b, _c, _d;
138
- var { businessMenuAriaLabel = 'Sivustot', categoryCollectionText = 'Muut kategoriat', className, collapseSize = 767, currentUrl = '', isLoggedIn = false, items = {}, language = 'fi', languageSelector = false, languageSelectorText = 'Vaihda kieltä', login = true, loginComponent, loginText = 'Kirjaudu', mainMenuAriaLabel = 'Päänavigaatio', minicart = true, minicartAmount = 0, minicartComponent = false, minicartText = 'Ostoskori', nextJSLinkComponent = false, notificationText = '', search = true, searchComponent = false, searchText = 'Haku', showLoginTooltip = false, showMinicart = false, zIndex = 1030 } = _a, props = tslib.__rest(_a, ["businessMenuAriaLabel", "categoryCollectionText", "className", "collapseSize", "currentUrl", "isLoggedIn", "items", "language", "languageSelector", "languageSelectorText", "login", "loginComponent", "loginText", "mainMenuAriaLabel", "minicart", "minicartAmount", "minicartComponent", "minicartText", "nextJSLinkComponent", "notificationText", "search", "searchComponent", "searchText", "showLoginTooltip", "showMinicart", "zIndex"]);
137
+ var { businessMenuAriaLabel = 'Sivustot', categoryCollectionText = 'Muut kategoriat', closeMainMenuAriaLabel, className, collapseSize = 767, currentUrl = '', dnaLogoLinkAriaLabel, isLoggedIn = false, items = {}, language = 'fi', languageSelector = false, languageSelectorText = 'Vaihda kieltä', login = true, loginComponent, loginText = 'Kirjaudu', mainMenuAriaLabel = 'Päänavigaatio', minicart = true, minicartAmount = 0, minicartAmountLabel, minicartComponent = false, minicartText = 'Ostoskori', nextJSLinkComponent = false, notificationText = '', openMainMenuAriaLabel, search = true, searchComponent = false, searchText = 'Haku', showLoginTooltip = false, showMinicart = false, zIndex = 1030 } = _a, props = tslib.__rest(_a, ["businessMenuAriaLabel", "categoryCollectionText", "closeMainMenuAriaLabel", "className", "collapseSize", "currentUrl", "dnaLogoLinkAriaLabel", "isLoggedIn", "items", "language", "languageSelector", "languageSelectorText", "login", "loginComponent", "loginText", "mainMenuAriaLabel", "minicart", "minicartAmount", "minicartAmountLabel", "minicartComponent", "minicartText", "nextJSLinkComponent", "notificationText", "openMainMenuAriaLabel", "search", "searchComponent", "searchText", "showLoginTooltip", "showMinicart", "zIndex"]);
139
138
  const { isMobile } = useWindowSize.default(collapseSize);
140
139
  const navigationEl = React.useRef(null);
141
140
  const key = ramda.prop('id');
@@ -301,24 +300,25 @@ const MainHeaderNavigation = (_a) => {
301
300
  };
302
301
  return (React__default.default.createElement(React__default.default.Fragment, null,
303
302
  isPageOverlay && React__default.default.createElement(PageOverlay, { "data-testid": "navigation-overlay", navZIndex: zIndex }),
304
- React__default.default.createElement(GlobalNavigationContainer, { className: className, collapseSize: collapseSize, "data-testid": "dna-main-header", navZIndex: zIndex, ref: navigationEl, role: "banner" },
303
+ React__default.default.createElement(GlobalNavigationContainer, { className: className, collapseSize: collapseSize, "data-testid": "dna-main-header", navZIndex: zIndex, ref: navigationEl },
305
304
  React__default.default.createElement(NavContext.default.Provider, { value: navigationContext },
306
305
  React__default.default.createElement(GlobalStyle, null),
307
306
  !items.mainNavigation && notificationText && (React__default.default.createElement(Notification.default, { type: "info" }, notificationText)),
308
307
  React__default.default.createElement(BusinessMenu.default, { ariaLabel: businessMenuAriaLabel, currentBusinessId: items.businessId, items: (_d = items.businessSelector) === null || _d === void 0 ? void 0 : _d.items, lang: language }),
309
308
  React__default.default.createElement(NavigationWrapper, { collapseSize: collapseSize },
310
- React__default.default.createElement(globalNavStyles.LogoLink, { "data-testid": "dna-logo-link", href: currentBusinessSite === null || currentBusinessSite === void 0 ? void 0 : currentBusinessSite.urls[language], title: "DNA" },
309
+ React__default.default.createElement(globalNavStyles.LogoLink, { "data-testid": "dna-logo-link", href: currentBusinessSite === null || currentBusinessSite === void 0 ? void 0 : currentBusinessSite.urls[language], "aria-label": dnaLogoLinkAriaLabel },
311
310
  React__default.default.createElement(DnaLogo.default, { size: navigation.headerLogoSize })),
312
311
  React__default.default.createElement(globalNavStyles.DesktopMenuContainer, { "aria-label": mainMenuAriaLabel, collapseSize: collapseSize },
313
312
  React__default.default.createElement(DesktopMenu.default, null)),
314
313
  React__default.default.createElement(globalNavStyles.HeaderIconContainer, { collapseSize: collapseSize },
315
314
  languagesObject && languageSelector && (React__default.default.createElement(LanguageSelector.default, { currentLanguage: language, languagesObject: languagesObject, languageSelectorLabel: languageSelectorText })),
316
315
  search && React__default.default.createElement(PageSearch.default, { searchLabel: searchText }),
317
- minicart && (React__default.default.createElement(MinicartTooltip.default, { minicartAmount: minicartAmount, minicartLabel: minicartText, onCartButtonClick: props.onCartButtonClick })),
316
+ minicart && (React__default.default.createElement(MinicartTooltip.default, { minicartAmount: minicartAmount, minicartAmountLabel: minicartAmountLabel !== null && minicartAmountLabel !== void 0 ? minicartAmountLabel : '', minicartLabel: minicartText, onCartButtonClick: props.onCartButtonClick })),
318
317
  login && React__default.default.createElement(LoginTooltip.default, { loginLabel: loginText, isLogged: isLoggedIn }),
319
318
  React__default.default.createElement(MainNavTooltipMenu.IconContainer, { collapseSize: collapseSize, "data-testid": "header-mobile-menu-container" },
320
- React__default.default.createElement(globalNavStyles.MobileMenuButton, { "aria-expanded": isMobileMenuOpen, "aria-label": "menu toggle", "data-testid": "header-mobile-menu-toggle", onClick: handleToggleClick },
321
- React__default.default.createElement(Icon.default, { icon: isMobileMenuOpen ? icons.Close : icons.Menu, size: navigation.navIconSize })))),
319
+ React__default.default.createElement(globalNavStyles.MobileMenuButton, { "aria-expanded": isMobileMenuOpen, "aria-label": isMobileMenuOpen
320
+ ? closeMainMenuAriaLabel
321
+ : openMainMenuAriaLabel, "data-testid": "header-mobile-menu-toggle", onClick: handleToggleClick }, isMobileMenuOpen ? React__default.default.createElement(icons.Close, null) : React__default.default.createElement(icons.Menu, null)))),
322
322
  isMobile && React__default.default.createElement(MobileMenu.default, null))))));
323
323
  };
324
324
 
@@ -94,6 +94,12 @@ const MenuLink = styled.default.a `
94
94
  overflow: visible;
95
95
  text-decoration: none;
96
96
  color: ${p => (p.isActive ? theme.default.color.text.pink : theme.default.color.text.black)};
97
+ > svg {
98
+ fill: ${theme.default.color.text.pink};
99
+ height: ${styledUtils.getMultipliedSize(theme.default.base.baseHeight, 2)};
100
+ width: ${styledUtils.getMultipliedSize(theme.default.base.baseWidth, 2)};
101
+ }
102
+ }
97
103
  `;
98
104
  const MenuLinkWithChildren = styled.default.a `
99
105
  line-height: ${theme.default.lineHeight.xs};
@@ -124,7 +124,7 @@ const Pill = (_a) => {
124
124
  const isDefaultType = type === 'none';
125
125
  return (React__default.default.createElement(Label, { as: isDefaultType ? 'button' : 'label', id: isDefaultType ? props.id : undefined, htmlFor: !isDefaultType ? props.id : undefined, type: isDefaultType ? 'button' : undefined, position: props.position, isChecked: props.isChecked || props.isDefaultChecked, isDisabled: props.isDisabled, className: props.className, "data-testid": dataTestId, isDefaultButtonStyle: props.isDefaultButtonStyle, "aria-label": props.ariaLabel, disabled: isDefaultType ? props.isDisabled : undefined, onClick: isDefaultType && !props.isDisabled ? props.onClick : undefined },
126
126
  props.children,
127
- !isDefaultType && (React__default.default.createElement(Input, { id: props.id, name: props.name, type: type, defaultChecked: props.isDefaultChecked, checked: props.isChecked, value: props.value, onChange: props.onChange, disabled: props.isDisabled, readOnly: !props.onChange, "data-testid": dataTestId && `${dataTestId}-input` }))));
127
+ !isDefaultType && (React__default.default.createElement(Input, { id: props.id, name: props.name, type: type, defaultChecked: props.isDefaultChecked, checked: props.isChecked, value: props.value, onChange: props.onChange, disabled: props.isDisabled, readOnly: !props.onChange, "data-testid": dataTestId && `${dataTestId}-input`, "data-checked": props.isChecked }))));
128
128
  };
129
129
 
130
130
  exports.default = Pill;