@dnanpm/styleguide 3.12.3 → 4.0.0
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/build/cjs/components/Button/Button.d.ts +1 -7
- package/build/cjs/components/Button/Button.js +3 -3
- package/build/cjs/components/ButtonArrow/ButtonArrow.d.ts +1 -7
- package/build/cjs/components/ButtonArrow/ButtonArrow.js +2 -2
- package/build/cjs/components/ButtonIcon/ButtonIcon.js +3 -3
- package/build/cjs/components/Chip/Chip.d.ts +2 -18
- package/build/cjs/components/Chip/Chip.js +2 -2
- package/build/cjs/components/Drawer/Drawer.d.ts +0 -7
- package/build/cjs/components/Drawer/Drawer.js +1 -1
- package/build/cjs/components/Footer/Components/FooterComponents.js +0 -1
- package/build/cjs/components/Hero/Hero.js +3 -2
- package/build/cjs/components/Icon/Icon.d.ts +2 -8
- package/build/cjs/components/Icon/Icon.js +3 -10
- package/build/cjs/components/Input/Input.d.ts +1 -10
- package/build/cjs/components/LabelText/LabelText.d.ts +1 -6
- package/build/cjs/components/MainHeaderNavigation/ChildComponents/MainNavTooltipMenu.d.ts +1 -1
- package/build/cjs/components/MainHeaderNavigation/ChildComponents/MinicartTooltip.js +2 -2
- package/build/cjs/components/MainHeaderNavigation/MainHeaderNavigation.d.ts +1 -7
- package/build/cjs/components/MainHeaderNavigation/MainHeaderNavigation.js +1 -3
- package/build/cjs/components/MainHeaderNavigation/context/NavContext.d.ts +0 -1
- package/build/cjs/components/MainHeaderNavigation/context/NavContext.js +0 -1
- package/build/cjs/components/Modal/Modal.d.ts +0 -5
- package/build/cjs/components/ReadMore/ReadMore.d.ts +0 -20
- package/build/cjs/components/ReadMore/ReadMore.js +2 -8
- package/build/cjs/components/Tab/Tab.d.ts +2 -30
- package/build/cjs/components/Tab/Tab.js +2 -33
- package/build/cjs/components/Tabs/Tabs.d.ts +1 -9
- package/build/cjs/components/Tabs/Tabs.js +9 -17
- package/build/cjs/components/index.d.ts +0 -4
- package/build/cjs/hooks/useCloseOutsideOrElementClicked.js +1 -1
- package/build/cjs/index.js +0 -8
- package/build/cjs/themes/themeComponents/navigation.js +0 -4
- package/build/es/components/Button/Button.d.ts +1 -7
- package/build/es/components/Button/Button.js +3 -3
- package/build/es/components/ButtonArrow/ButtonArrow.d.ts +1 -7
- package/build/es/components/ButtonArrow/ButtonArrow.js +2 -2
- package/build/es/components/ButtonIcon/ButtonIcon.js +3 -3
- package/build/es/components/Chip/Chip.d.ts +2 -18
- package/build/es/components/Chip/Chip.js +2 -2
- package/build/es/components/Drawer/Drawer.d.ts +0 -7
- package/build/es/components/Drawer/Drawer.js +1 -1
- package/build/es/components/Footer/Components/FooterComponents.js +0 -1
- package/build/es/components/Hero/Hero.js +3 -2
- package/build/es/components/Icon/Icon.d.ts +2 -8
- package/build/es/components/Icon/Icon.js +3 -10
- package/build/es/components/Input/Input.d.ts +1 -10
- package/build/es/components/LabelText/LabelText.d.ts +1 -6
- package/build/es/components/MainHeaderNavigation/ChildComponents/MainNavTooltipMenu.d.ts +1 -1
- package/build/es/components/MainHeaderNavigation/ChildComponents/MinicartTooltip.js +2 -2
- package/build/es/components/MainHeaderNavigation/MainHeaderNavigation.d.ts +1 -7
- package/build/es/components/MainHeaderNavigation/MainHeaderNavigation.js +1 -3
- package/build/es/components/MainHeaderNavigation/context/NavContext.d.ts +0 -1
- package/build/es/components/MainHeaderNavigation/context/NavContext.js +0 -1
- package/build/es/components/Modal/Modal.d.ts +0 -5
- package/build/es/components/ReadMore/ReadMore.d.ts +0 -20
- package/build/es/components/ReadMore/ReadMore.js +2 -8
- package/build/es/components/Tab/Tab.d.ts +2 -30
- package/build/es/components/Tab/Tab.js +2 -33
- package/build/es/components/Tabs/Tabs.d.ts +1 -9
- package/build/es/components/Tabs/Tabs.js +9 -17
- package/build/es/components/index.d.ts +0 -4
- package/build/es/hooks/useCloseOutsideOrElementClicked.js +1 -1
- package/build/es/index.js +0 -4
- package/build/es/themes/themeComponents/navigation.js +1 -3
- package/package.json +12 -12
- package/build/cjs/components/ButtonRound/ButtonRound.d.ts +0 -10
- package/build/cjs/components/ButtonRound/ButtonRound.js +0 -37
- package/build/cjs/components/Icons/index.js +0 -224
- package/build/cjs/components/MainNavigation/ChildComponents/BusinessMenu.d.ts +0 -3
- package/build/cjs/components/MainNavigation/ChildComponents/BusinessMenu.js +0 -59
- package/build/cjs/components/MainNavigation/ChildComponents/DesktopMenu.d.ts +0 -3
- package/build/cjs/components/MainNavigation/ChildComponents/DesktopMenu.js +0 -259
- package/build/cjs/components/MainNavigation/ChildComponents/HeaderNavigationElements.d.ts +0 -10
- package/build/cjs/components/MainNavigation/ChildComponents/HeaderNavigationElements.js +0 -168
- package/build/cjs/components/MainNavigation/ChildComponents/LanguageSelector.d.ts +0 -4
- package/build/cjs/components/MainNavigation/ChildComponents/LanguageSelector.js +0 -38
- package/build/cjs/components/MainNavigation/ChildComponents/LinkModifier.d.ts +0 -9
- package/build/cjs/components/MainNavigation/ChildComponents/LinkModifier.js +0 -38
- package/build/cjs/components/MainNavigation/ChildComponents/LoginTooltip.d.ts +0 -6
- package/build/cjs/components/MainNavigation/ChildComponents/LoginTooltip.js +0 -23
- package/build/cjs/components/MainNavigation/ChildComponents/MainNavTooltipMenu.d.ts +0 -24
- package/build/cjs/components/MainNavigation/ChildComponents/MainNavTooltipMenu.js +0 -104
- package/build/cjs/components/MainNavigation/ChildComponents/MainNavTooltipMenuExportedStyles.d.ts +0 -6
- package/build/cjs/components/MainNavigation/ChildComponents/MainNavTooltipMenuExportedStyles.js +0 -62
- package/build/cjs/components/MainNavigation/ChildComponents/MinicartTooltip.d.ts +0 -7
- package/build/cjs/components/MainNavigation/ChildComponents/MinicartTooltip.js +0 -26
- package/build/cjs/components/MainNavigation/ChildComponents/MobileMenu.d.ts +0 -3
- package/build/cjs/components/MainNavigation/ChildComponents/MobileMenu.js +0 -193
- package/build/cjs/components/MainNavigation/ChildComponents/PageSearch.d.ts +0 -6
- package/build/cjs/components/MainNavigation/ChildComponents/PageSearch.js +0 -23
- package/build/cjs/components/MainNavigation/ChildComponents/Ribbon.d.ts +0 -13
- package/build/cjs/components/MainNavigation/ChildComponents/Ribbon.js +0 -74
- package/build/cjs/components/MainNavigation/MainNavigation.d.ts +0 -38
- package/build/cjs/components/MainNavigation/MainNavigation.js +0 -319
- package/build/cjs/components/MainNavigation/context/MobileMenuContext.d.ts +0 -6
- package/build/cjs/components/MainNavigation/context/MobileMenuContext.js +0 -11
- package/build/cjs/components/MainNavigation/context/NavContext.d.ts +0 -29
- package/build/cjs/components/MainNavigation/context/NavContext.js +0 -46
- package/build/cjs/components/MainNavigation/globalNavStyles.d.ts +0 -13
- package/build/cjs/components/MainNavigation/globalNavStyles.js +0 -94
- package/build/cjs/components/SecondaryNavigation/SecondaryNavigation.d.ts +0 -90
- package/build/cjs/components/SecondaryNavigation/SecondaryNavigation.js +0 -207
- package/build/cjs/components/TooltipMenu/ChildComponents/TooltipMenuExportedStyles.d.ts +0 -10
- package/build/cjs/components/TooltipMenu/ChildComponents/TooltipMenuExportedStyles.js +0 -34
- package/build/cjs/components/TooltipMenu/TooltipMenu.d.ts +0 -45
- package/build/cjs/components/TooltipMenu/TooltipMenu.js +0 -76
- package/build/es/components/ButtonRound/ButtonRound.d.ts +0 -10
- package/build/es/components/ButtonRound/ButtonRound.js +0 -29
- package/build/es/components/Icons/index.js +0 -109
- package/build/es/components/MainNavigation/ChildComponents/BusinessMenu.d.ts +0 -3
- package/build/es/components/MainNavigation/ChildComponents/BusinessMenu.js +0 -51
- package/build/es/components/MainNavigation/ChildComponents/DesktopMenu.d.ts +0 -3
- package/build/es/components/MainNavigation/ChildComponents/DesktopMenu.js +0 -251
- package/build/es/components/MainNavigation/ChildComponents/HeaderNavigationElements.d.ts +0 -10
- package/build/es/components/MainNavigation/ChildComponents/HeaderNavigationElements.js +0 -159
- package/build/es/components/MainNavigation/ChildComponents/LanguageSelector.d.ts +0 -4
- package/build/es/components/MainNavigation/ChildComponents/LanguageSelector.js +0 -30
- package/build/es/components/MainNavigation/ChildComponents/LinkModifier.d.ts +0 -9
- package/build/es/components/MainNavigation/ChildComponents/LinkModifier.js +0 -29
- package/build/es/components/MainNavigation/ChildComponents/LoginTooltip.d.ts +0 -6
- package/build/es/components/MainNavigation/ChildComponents/LoginTooltip.js +0 -15
- package/build/es/components/MainNavigation/ChildComponents/MainNavTooltipMenu.d.ts +0 -24
- package/build/es/components/MainNavigation/ChildComponents/MainNavTooltipMenu.js +0 -96
- package/build/es/components/MainNavigation/ChildComponents/MainNavTooltipMenuExportedStyles.d.ts +0 -6
- package/build/es/components/MainNavigation/ChildComponents/MainNavTooltipMenuExportedStyles.js +0 -57
- package/build/es/components/MainNavigation/ChildComponents/MinicartTooltip.d.ts +0 -7
- package/build/es/components/MainNavigation/ChildComponents/MinicartTooltip.js +0 -18
- package/build/es/components/MainNavigation/ChildComponents/MobileMenu.d.ts +0 -3
- package/build/es/components/MainNavigation/ChildComponents/MobileMenu.js +0 -185
- package/build/es/components/MainNavigation/ChildComponents/PageSearch.d.ts +0 -6
- package/build/es/components/MainNavigation/ChildComponents/PageSearch.js +0 -15
- package/build/es/components/MainNavigation/ChildComponents/Ribbon.d.ts +0 -13
- package/build/es/components/MainNavigation/ChildComponents/Ribbon.js +0 -66
- package/build/es/components/MainNavigation/MainNavigation.d.ts +0 -38
- package/build/es/components/MainNavigation/MainNavigation.js +0 -311
- package/build/es/components/MainNavigation/context/MobileMenuContext.d.ts +0 -6
- package/build/es/components/MainNavigation/context/MobileMenuContext.js +0 -7
- package/build/es/components/MainNavigation/context/NavContext.d.ts +0 -29
- package/build/es/components/MainNavigation/context/NavContext.js +0 -42
- package/build/es/components/MainNavigation/globalNavStyles.d.ts +0 -13
- package/build/es/components/MainNavigation/globalNavStyles.js +0 -89
- package/build/es/components/SecondaryNavigation/SecondaryNavigation.d.ts +0 -90
- package/build/es/components/SecondaryNavigation/SecondaryNavigation.js +0 -199
- package/build/es/components/TooltipMenu/ChildComponents/TooltipMenuExportedStyles.d.ts +0 -10
- package/build/es/components/TooltipMenu/ChildComponents/TooltipMenuExportedStyles.js +0 -31
- package/build/es/components/TooltipMenu/TooltipMenu.d.ts +0 -45
- package/build/es/components/TooltipMenu/TooltipMenu.js +0 -68
|
@@ -1,168 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
|
-
var icons = require('@dnanpm/icons');
|
|
6
|
-
var React = require('react');
|
|
7
|
-
var styledComponents = require('styled-components');
|
|
8
|
-
var theme = require('../../../themes/theme.js');
|
|
9
|
-
var breakpoints = require('../../../themes/themeComponents/breakpoints.js');
|
|
10
|
-
var navigation = require('../../../themes/themeComponents/navigation.js');
|
|
11
|
-
var styledUtils = require('../../../utils/styledUtils.js');
|
|
12
|
-
var DnaLogo = require('../../DnaLogo/DnaLogo.js');
|
|
13
|
-
var Icon = require('../../Icon/Icon.js');
|
|
14
|
-
var NavContext = require('../context/NavContext.js');
|
|
15
|
-
var BusinessMenu = require('./BusinessMenu.js');
|
|
16
|
-
var DesktopMenu = require('./DesktopMenu.js');
|
|
17
|
-
var LanguageSelector = require('./LanguageSelector.js');
|
|
18
|
-
var LoginTooltip = require('./LoginTooltip.js');
|
|
19
|
-
var MinicartTooltip = require('./MinicartTooltip.js');
|
|
20
|
-
var PageSearch = require('./PageSearch.js');
|
|
21
|
-
|
|
22
|
-
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
23
|
-
|
|
24
|
-
var React__default = /*#__PURE__*/_interopDefaultCompat(React);
|
|
25
|
-
|
|
26
|
-
const DesktopMenuContainer = styledComponents.styled.div `
|
|
27
|
-
height: 100%;
|
|
28
|
-
display: none;
|
|
29
|
-
border-bottom: 1px solid ${theme.default.color.line.L03};
|
|
30
|
-
@media (min-width: ${p => p.collapseSize + 1}px) {
|
|
31
|
-
display: block;
|
|
32
|
-
padding-left: ${styledUtils.getMultipliedSize(theme.default.base.baseWidth, 0.5)};
|
|
33
|
-
}
|
|
34
|
-
`;
|
|
35
|
-
const IconContainer = styledComponents.styled.div `
|
|
36
|
-
margin: 0;
|
|
37
|
-
display: flex;
|
|
38
|
-
flex-direction: column;
|
|
39
|
-
justify-content: center;
|
|
40
|
-
align-items: center;
|
|
41
|
-
width: ${navigation.IconContainerWidth};
|
|
42
|
-
transition: color 0.2s ease-in-out;
|
|
43
|
-
|
|
44
|
-
> span.dnasg-icon > svg {
|
|
45
|
-
display: block;
|
|
46
|
-
height: ${navigation.navIconSizeMobile};
|
|
47
|
-
width: ${navigation.navIconSizeMobile};
|
|
48
|
-
}
|
|
49
|
-
> span.dnasg-icon > svg,
|
|
50
|
-
> span.dnasg-icon + span {
|
|
51
|
-
color: ${p => (p.isActive ? theme.default.color.text.pink : 'inherit')};
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
@media (min-width: ${p => p.collapseSize + 1}px) {
|
|
55
|
-
> span.dnasg-icon > svg {
|
|
56
|
-
height: ${navigation.navIconSize};
|
|
57
|
-
width: ${navigation.navIconSize};
|
|
58
|
-
}
|
|
59
|
-
> span.dnasg-icon + span {
|
|
60
|
-
display: block;
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
@media (min-width: ${navigation.wideMenuBreakpoint}px) {
|
|
64
|
-
margin: 0 ${styledUtils.getMultipliedSize(theme.default.base.baseHeight, 0.4)} 0
|
|
65
|
-
${styledUtils.getMultipliedSize(theme.default.base.baseHeight, 2)};
|
|
66
|
-
}
|
|
67
|
-
`;
|
|
68
|
-
const HeaderIconContainer = styledComponents.styled.div `
|
|
69
|
-
display: flex;
|
|
70
|
-
justify-content: flex-end;
|
|
71
|
-
border-bottom: 1px solid ${theme.default.color.line.L03};
|
|
72
|
-
padding-right: 0;
|
|
73
|
-
flex: 1 1 100%;
|
|
74
|
-
@media (min-width: ${p => p.collapseSize + 1}px) {
|
|
75
|
-
padding-right: 1rem;
|
|
76
|
-
}
|
|
77
|
-
button {
|
|
78
|
-
&:focus {
|
|
79
|
-
outline: none;
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
`;
|
|
83
|
-
const HeaderIconWrapper = styledComponents.styled.div `
|
|
84
|
-
display: flex;
|
|
85
|
-
flex: 1 1 100%;
|
|
86
|
-
justify-content: space-between;
|
|
87
|
-
max-width: 18.75rem;
|
|
88
|
-
@media (min-width: ${p => p.collapseSize + 1}px) {
|
|
89
|
-
justify-content: flex-end;
|
|
90
|
-
flex: 0 0 100%;
|
|
91
|
-
}
|
|
92
|
-
`;
|
|
93
|
-
const MobileMenuButton = styledComponents.styled.button `
|
|
94
|
-
display: block;
|
|
95
|
-
@media (min-width: ${p => p.collapseSize + 1}px) {
|
|
96
|
-
display: none;
|
|
97
|
-
}
|
|
98
|
-
div > span.dnasg-icon > svg {
|
|
99
|
-
height: ${navigation.navIconSizeMobile};
|
|
100
|
-
width: ${navigation.navIconSizeMobile};
|
|
101
|
-
margin: 0 auto;
|
|
102
|
-
}
|
|
103
|
-
&:focus,
|
|
104
|
-
&:active {
|
|
105
|
-
color: ${theme.default.color.text.pink};
|
|
106
|
-
}
|
|
107
|
-
font-size: 100%;
|
|
108
|
-
font-family: inherit;
|
|
109
|
-
border: 0;
|
|
110
|
-
padding: 0;
|
|
111
|
-
background: transparent;
|
|
112
|
-
`;
|
|
113
|
-
const MenuWrapper = styledComponents.styled.div `
|
|
114
|
-
height: 50%;
|
|
115
|
-
white-space: nowrap;
|
|
116
|
-
align-self: flex-end;
|
|
117
|
-
`;
|
|
118
|
-
const LogoContainer = styledComponents.styled.div `
|
|
119
|
-
margin: 0;
|
|
120
|
-
width: ${navigation.mobileLogoSize};
|
|
121
|
-
height: ${navigation.mobileLogoSize};
|
|
122
|
-
@media (min-width: ${p => p.collapseSize + 1}px) {
|
|
123
|
-
width: ${navigation.desktopLogoSize};
|
|
124
|
-
height: ${navigation.desktopLogoSize};
|
|
125
|
-
}
|
|
126
|
-
`;
|
|
127
|
-
const HeaderIconWrapperNoMargin = styledComponents.styled.div `
|
|
128
|
-
margin: 0;
|
|
129
|
-
`;
|
|
130
|
-
const RenderDesktopMenu = ({ collapseSize }) => (React__default.default.createElement(DesktopMenuContainer, { collapseSize: collapseSize },
|
|
131
|
-
React__default.default.createElement(MenuWrapper, null,
|
|
132
|
-
React__default.default.createElement(BusinessMenu.default, null)),
|
|
133
|
-
React__default.default.createElement(MenuWrapper, null,
|
|
134
|
-
React__default.default.createElement(DesktopMenu.default, null))));
|
|
135
|
-
const MenuFunctionality = ({ menuProps }) => {
|
|
136
|
-
var _a;
|
|
137
|
-
const { collapseSize = breakpoints.default.md, search: isSearch, searchText: searchLabel, minicart: isMinicart, minicartText: minicartLabel, minicartAmount = 0, login: isLogin, loginText: loginLabel, language = 'fi', languageSelector: languageSelectorActive, items, } = menuProps;
|
|
138
|
-
const languagesObject = (_a = items === null || items === void 0 ? void 0 : items.languageSelector) === null || _a === void 0 ? void 0 : _a.urls;
|
|
139
|
-
const { handleToggleClick, isMobileMenuOpen } = React.useContext(NavContext.default);
|
|
140
|
-
return (React__default.default.createElement(HeaderIconContainer, { collapseSize: collapseSize },
|
|
141
|
-
React__default.default.createElement(HeaderIconWrapper, { collapseSize: collapseSize },
|
|
142
|
-
languagesObject && languageSelectorActive && (React__default.default.createElement(IconContainer, { "data-testid": "language-selector-container", collapseSize: collapseSize },
|
|
143
|
-
React__default.default.createElement(LanguageSelector.default, { currentLanguage: language, languagesObject: languagesObject }))),
|
|
144
|
-
isSearch && (React__default.default.createElement(IconContainer, { "data-testid": "header-search-container", collapseSize: collapseSize },
|
|
145
|
-
React__default.default.createElement(PageSearch.default, { searchLabel: searchLabel }))),
|
|
146
|
-
isMinicart && (React__default.default.createElement(IconContainer, { "data-testid": "header-minicart-container", collapseSize: collapseSize },
|
|
147
|
-
React__default.default.createElement(MinicartTooltip.default, { minicartAmount: minicartAmount, minicartLabel: minicartLabel }))),
|
|
148
|
-
isLogin && (React__default.default.createElement(IconContainer, { "data-testid": "header-login-container", collapseSize: collapseSize },
|
|
149
|
-
React__default.default.createElement(LoginTooltip.default, { loginLabel: loginLabel }))),
|
|
150
|
-
React__default.default.createElement(MobileMenuButton, { onClick: handleToggleClick, "aria-label": "menu toggle", role: "button", "aria-expanded": isMobileMenuOpen, collapseSize: collapseSize, "data-testid": "header-mobile-menu-toggle" },
|
|
151
|
-
React__default.default.createElement(IconContainer, { isActive: isMobileMenuOpen, collapseSize: collapseSize },
|
|
152
|
-
React__default.default.createElement(Icon.default, { icon: isMobileMenuOpen ? icons.Close : icons.Menu, size: "2rem" }))))));
|
|
153
|
-
};
|
|
154
|
-
const HeaderNavigationElements = ({ navElementProps, }) => {
|
|
155
|
-
var _a;
|
|
156
|
-
const { collapseSize = breakpoints.default.md, items, language = 'fi' } = navElementProps;
|
|
157
|
-
const currentBusinessSite = (_a = items === null || items === void 0 ? void 0 : items.businessSelector) === null || _a === void 0 ? void 0 : _a.items.find(item => item.businessId === items.businessId);
|
|
158
|
-
return (React__default.default.createElement(React__default.default.Fragment, null,
|
|
159
|
-
React__default.default.createElement(HeaderIconWrapperNoMargin, null,
|
|
160
|
-
React__default.default.createElement("a", { href: currentBusinessSite === null || currentBusinessSite === void 0 ? void 0 : currentBusinessSite.urls[language], title: "DNA", "aria-label": "DNA", "data-testid": "dna-logo-link" },
|
|
161
|
-
React__default.default.createElement(LogoContainer, { collapseSize: collapseSize },
|
|
162
|
-
React__default.default.createElement(DnaLogo.default, { size: "100%" })))),
|
|
163
|
-
React__default.default.createElement(RenderDesktopMenu, { collapseSize: collapseSize }),
|
|
164
|
-
React__default.default.createElement(MenuFunctionality, { menuProps: navElementProps })));
|
|
165
|
-
};
|
|
166
|
-
|
|
167
|
-
exports.IconContainer = IconContainer;
|
|
168
|
-
exports.default = HeaderNavigationElements;
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
|
-
var icons = require('@dnanpm/icons');
|
|
6
|
-
var React = require('react');
|
|
7
|
-
var styledComponents = require('styled-components');
|
|
8
|
-
var theme = require('../../../themes/theme.js');
|
|
9
|
-
var styledUtils = require('../../../utils/styledUtils.js');
|
|
10
|
-
var Icon = require('../../Icon/Icon.js');
|
|
11
|
-
var NavContext = require('../context/NavContext.js');
|
|
12
|
-
var globalNavStyles = require('../globalNavStyles.js');
|
|
13
|
-
var MainNavTooltipMenu = require('./MainNavTooltipMenu.js');
|
|
14
|
-
|
|
15
|
-
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
16
|
-
|
|
17
|
-
var React__default = /*#__PURE__*/_interopDefaultCompat(React);
|
|
18
|
-
|
|
19
|
-
const MenuItem = styledComponents.styled(globalNavStyles.MenuLink) `
|
|
20
|
-
font-weight: ${theme.default.fontWeight.medium};
|
|
21
|
-
margin: ${styledUtils.getMultipliedSize(theme.default.base.baseHeight, 1)} auto;
|
|
22
|
-
text-align: center;
|
|
23
|
-
`;
|
|
24
|
-
const LangComponent = ({ currentLanguage, languagesObject }) => (React__default.default.createElement(React__default.default.Fragment, null, Object.entries(languagesObject)
|
|
25
|
-
.filter(([key]) => key.toLowerCase() !== currentLanguage.toLowerCase())
|
|
26
|
-
.map(([key, value]) => (React__default.default.createElement(MenuItem, { key: `language-${key}`, href: value }, key.toUpperCase())))));
|
|
27
|
-
const LanguageSelector = ({ currentLanguage, languagesObject }) => {
|
|
28
|
-
const { isMobileMenu, navZIndex } = React.useContext(NavContext.default);
|
|
29
|
-
const LngComponent = React.useCallback(() => React__default.default.createElement(LangComponent, { currentLanguage: currentLanguage, languagesObject: languagesObject }), [currentLanguage, languagesObject]);
|
|
30
|
-
if (Object.keys(languagesObject).length < 2) {
|
|
31
|
-
return null;
|
|
32
|
-
}
|
|
33
|
-
return (React__default.default.createElement(MainNavTooltipMenu.default, { zIndex: navZIndex + 1, tooltipRight: isMobileMenu ? '13.8rem' : '11.8rem', contentComponent: LngComponent, contentWidth: "5rem", globalStateString: "lang", closeWhenTagClicked: ['a'] },
|
|
34
|
-
React__default.default.createElement(Icon.default, { icon: icons.Globe, size: "2rem" }),
|
|
35
|
-
React__default.default.createElement("span", { "data-testid": "header-lang-label" }, currentLanguage.toUpperCase())));
|
|
36
|
-
};
|
|
37
|
-
|
|
38
|
-
exports.default = LanguageSelector;
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import type { MenuLevelItem } from '../types/globalNavProps';
|
|
3
|
-
interface LinkModifierProps {
|
|
4
|
-
menuItem: MenuLevelItem;
|
|
5
|
-
tabIndex: boolean;
|
|
6
|
-
}
|
|
7
|
-
export declare const isSelected: (currentUrl: string, linkUrl: string, exactMatch?: boolean) => boolean;
|
|
8
|
-
declare const LinkModifier: ({ menuItem, tabIndex }: LinkModifierProps) => React.JSX.Element;
|
|
9
|
-
export default LinkModifier;
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
|
-
var React = require('react');
|
|
6
|
-
var NavContext = require('../context/NavContext.js');
|
|
7
|
-
var globalNavStyles = require('../globalNavStyles.js');
|
|
8
|
-
|
|
9
|
-
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
10
|
-
|
|
11
|
-
var React__default = /*#__PURE__*/_interopDefaultCompat(React);
|
|
12
|
-
|
|
13
|
-
const isSelected = (currentUrl, linkUrl, exactMatch = false) => {
|
|
14
|
-
if (currentUrl && linkUrl) {
|
|
15
|
-
let url = linkUrl;
|
|
16
|
-
if (url.includes('http')) {
|
|
17
|
-
url = url.replace(/^.*\/\/[^/]+/, '');
|
|
18
|
-
}
|
|
19
|
-
return exactMatch ? url === currentUrl : currentUrl.includes(url);
|
|
20
|
-
}
|
|
21
|
-
return false;
|
|
22
|
-
};
|
|
23
|
-
const isMenuItemLinkAbsolute = (menuItemLink) => menuItemLink.includes('http');
|
|
24
|
-
const LinkModifier = ({ menuItem, tabIndex }) => {
|
|
25
|
-
const { lang, nextJSLinkComponent, resetMenuEvents } = React.useContext(NavContext.default);
|
|
26
|
-
const menuItemLink = menuItem.urls[lang] || '';
|
|
27
|
-
if (nextJSLinkComponent && !isMenuItemLinkAbsolute(menuItemLink)) {
|
|
28
|
-
const NextJSLinkComponent = nextJSLinkComponent;
|
|
29
|
-
return (React__default.default.createElement(NextJSLinkComponent, { linkUrl: menuItem.urls[lang] },
|
|
30
|
-
React__default.default.createElement(globalNavStyles.MenuLink, { href: menuItemLink, id: menuItem.id, onClick: resetMenuEvents, role: "menuitem", tabIndex: tabIndex ? -1 : undefined },
|
|
31
|
-
React__default.default.createElement("span", null, menuItem.titles[lang]))));
|
|
32
|
-
}
|
|
33
|
-
return (React__default.default.createElement(globalNavStyles.MenuLink, { href: menuItem.urls[lang], onClick: resetMenuEvents, tabIndex: tabIndex ? -1 : undefined, id: menuItem.id, role: "menuitem" },
|
|
34
|
-
React__default.default.createElement("span", null, menuItem.titles[lang])));
|
|
35
|
-
};
|
|
36
|
-
|
|
37
|
-
exports.default = LinkModifier;
|
|
38
|
-
exports.isSelected = isSelected;
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
|
-
var icons = require('@dnanpm/icons');
|
|
6
|
-
var React = require('react');
|
|
7
|
-
var Icon = require('../../Icon/Icon.js');
|
|
8
|
-
var NavContext = require('../context/NavContext.js');
|
|
9
|
-
var MainNavTooltipMenu = require('./MainNavTooltipMenu.js');
|
|
10
|
-
|
|
11
|
-
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
12
|
-
|
|
13
|
-
var React__default = /*#__PURE__*/_interopDefaultCompat(React);
|
|
14
|
-
|
|
15
|
-
const LoginTooltip = ({ loginLabel }) => {
|
|
16
|
-
const globalStateString = 'login';
|
|
17
|
-
const { navZIndex, isMobileMenu, loginComponent: LoginComponent } = React.useContext(NavContext.default);
|
|
18
|
-
return (React__default.default.createElement(MainNavTooltipMenu.default, { zIndex: navZIndex + 1, tooltipRight: isMobileMenu ? '3rem' : '1rem', contentComponent: LoginComponent, globalStateString: globalStateString, closeWhenTagClicked: ['a', 'button'] },
|
|
19
|
-
React__default.default.createElement(Icon.default, { icon: icons.User, size: "2rem" }),
|
|
20
|
-
React__default.default.createElement("span", { "data-testid": "header-login-label" }, loginLabel)));
|
|
21
|
-
};
|
|
22
|
-
|
|
23
|
-
exports.default = LoginTooltip;
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import type { ReactNode } from 'react';
|
|
2
|
-
import React from 'react';
|
|
3
|
-
export interface MainNavTooltipMenuProps {
|
|
4
|
-
/** Tooltip menu content */
|
|
5
|
-
children?: ReactNode;
|
|
6
|
-
/** Overlap other elements */
|
|
7
|
-
zIndex?: number;
|
|
8
|
-
/** Tooltip position from right. Default: 1.25rem */
|
|
9
|
-
tooltipRight?: string;
|
|
10
|
-
/** Component provided for tooltip content */
|
|
11
|
-
contentComponent?: ReactNode | boolean | undefined;
|
|
12
|
-
/** Array of tags (lowercase) that will close menu if they are inside the dropdown tooltip menu. default []. THIS CAN BE OVERRIDEN WITH data-no-close="true" in element */
|
|
13
|
-
closeWhenTagClicked?: string[];
|
|
14
|
-
/** Width of the opened menu content. default 20rem. */
|
|
15
|
-
contentWidth?: string;
|
|
16
|
-
/** This will define the global state object string. mandatory */
|
|
17
|
-
globalStateString: string;
|
|
18
|
-
/** Adjust menu margin so that it will not overflow if fullWidth. optional. default false. */
|
|
19
|
-
fullWidthDesktop?: boolean;
|
|
20
|
-
/** Adjust menu to be full width after this number. default xs (480). */
|
|
21
|
-
fullWidthBreakpoint?: number;
|
|
22
|
-
}
|
|
23
|
-
declare const MainNavTooltipMenu: ({ children, zIndex, tooltipRight, contentWidth, contentComponent, closeWhenTagClicked, globalStateString, fullWidthDesktop, fullWidthBreakpoint, }: MainNavTooltipMenuProps) => React.JSX.Element;
|
|
24
|
-
export default MainNavTooltipMenu;
|
|
@@ -1,104 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
|
-
var React = require('react');
|
|
6
|
-
var useCloseOutsideOrElementClicked = require('../../../hooks/useCloseOutsideOrElementClicked.js');
|
|
7
|
-
var useDocHeight = require('../../../hooks/useDocHeight.js');
|
|
8
|
-
var styledComponents = require('styled-components');
|
|
9
|
-
var theme = require('../../../themes/theme.js');
|
|
10
|
-
var navigation = require('../../../themes/themeComponents/navigation.js');
|
|
11
|
-
var styledUtils = require('../../../utils/styledUtils.js');
|
|
12
|
-
var Box = require('../../Box/Box.js');
|
|
13
|
-
var NavContext = require('../context/NavContext.js');
|
|
14
|
-
var MainNavTooltipMenuExportedStyles = require('./MainNavTooltipMenuExportedStyles.js');
|
|
15
|
-
|
|
16
|
-
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
17
|
-
|
|
18
|
-
var React__default = /*#__PURE__*/_interopDefaultCompat(React);
|
|
19
|
-
|
|
20
|
-
const Container = styledComponents.styled.div `
|
|
21
|
-
width: 100%;
|
|
22
|
-
`;
|
|
23
|
-
const Tooltip = styledComponents.styled.div `
|
|
24
|
-
min-height: ${styledUtils.getMultipliedSize(theme.default.base.baseHeight, 5)};
|
|
25
|
-
max-height: calc(var(--vh100, 100vh) - ${navigation.mobileNavMaxHeight});
|
|
26
|
-
width: 100%;
|
|
27
|
-
position: absolute;
|
|
28
|
-
right: 0;
|
|
29
|
-
top: ${navigation.mobileNavMaxHeight};
|
|
30
|
-
z-index: ${p => p.zIndex};
|
|
31
|
-
display: flex;
|
|
32
|
-
flex-direction: row;
|
|
33
|
-
|
|
34
|
-
@media (min-width: ${p => p.fullWidthBreakpoint}px) {
|
|
35
|
-
width: ${p => p.contentWidth};
|
|
36
|
-
right: ${p => (p.fullWidthDesktop ? 0 : p.tooltipRight)};
|
|
37
|
-
}
|
|
38
|
-
${styledUtils.media.md `
|
|
39
|
-
max-height: calc(var(--vh100, 100vh) - (${navigation.mobileNavMaxHeight} + ${navigation.ribbonHeight}));
|
|
40
|
-
top: calc(${navigation.mobileNavMaxHeight} + ${navigation.ribbonHeight});
|
|
41
|
-
`};
|
|
42
|
-
@media (min-width: ${p => p.collapseSize + 1}px) {
|
|
43
|
-
max-height: calc(var(--vh100, 100vh) - (${navigation.desktopNavMaxHeight} + ${navigation.ribbonHeight}));
|
|
44
|
-
top: calc(${navigation.desktopNavMaxHeight} + ${navigation.ribbonHeight});
|
|
45
|
-
}
|
|
46
|
-
`;
|
|
47
|
-
const TooltipBox = styledComponents.styled(Box.default) `
|
|
48
|
-
border-top-left-radius: 0 !important;
|
|
49
|
-
border-top-right-radius: 0 !important;
|
|
50
|
-
min-height: inherit;
|
|
51
|
-
max-height: inherit;
|
|
52
|
-
`;
|
|
53
|
-
const Caret = styledComponents.styled.div `
|
|
54
|
-
position: absolute;
|
|
55
|
-
z-index: ${p => p.zIndex + 1};
|
|
56
|
-
top: ${navigation.mobileNavMaxHeight};
|
|
57
|
-
transform: translate3d(50%, -50%, 0) rotate(-45deg);
|
|
58
|
-
width: ${styledUtils.getMultipliedSize(theme.default.base.baseWidth, 1.2)};
|
|
59
|
-
height: ${styledUtils.getMultipliedSize(theme.default.base.baseWidth, 1.2)};
|
|
60
|
-
background-color: ${theme.default.color.default.white};
|
|
61
|
-
border: 1px solid ${theme.default.color.line.L03};
|
|
62
|
-
border-width: 1px 1px 0 0;
|
|
63
|
-
margin-left: ${styledUtils.getMultipliedSize(theme.default.base.baseWidth, 1.85)};
|
|
64
|
-
${styledUtils.media.md `
|
|
65
|
-
top: calc(${navigation.mobileNavMaxHeight} + ${navigation.ribbonHeight});
|
|
66
|
-
`};
|
|
67
|
-
@media (min-width: ${p => p.collapseSize + 1}px) {
|
|
68
|
-
max-height: calc(var(--vh100, 100vh) - ${navigation.desktopNavMaxHeight});
|
|
69
|
-
top: calc(${navigation.desktopNavMaxHeight} + ${navigation.ribbonHeight});
|
|
70
|
-
}
|
|
71
|
-
`;
|
|
72
|
-
const MainNavTooltipMenu = ({ children, zIndex = 1, tooltipRight = '-1rem', contentWidth = '20rem', contentComponent, closeWhenTagClicked = [], globalStateString, fullWidthDesktop = false, fullWidthBreakpoint = theme.default.breakpoints.xs, }) => {
|
|
73
|
-
const { collapseSize, isMobileMenu, isLoggedIn, resetMenuEvents, setTooltipItems, showLoginTooltip, showMinicart, tooltipItems, } = React.useContext(NavContext.default);
|
|
74
|
-
const ref = React.useRef(null);
|
|
75
|
-
const globalStateKey = globalStateString;
|
|
76
|
-
const ContentComponent = contentComponent;
|
|
77
|
-
useDocHeight.default();
|
|
78
|
-
React.useEffect(() => {
|
|
79
|
-
setTooltipItems({
|
|
80
|
-
minicart: showMinicart,
|
|
81
|
-
login: showLoginTooltip,
|
|
82
|
-
search: false,
|
|
83
|
-
});
|
|
84
|
-
}, [showMinicart, showLoginTooltip, setTooltipItems]);
|
|
85
|
-
const toggleState = () => {
|
|
86
|
-
resetMenuEvents();
|
|
87
|
-
setTimeout(() => {
|
|
88
|
-
setTooltipItems(prevItems => (Object.assign(Object.assign({}, prevItems), { [globalStateKey]: !tooltipItems[globalStateKey] })));
|
|
89
|
-
});
|
|
90
|
-
};
|
|
91
|
-
useCloseOutsideOrElementClicked.default({ ref, closeWhenTagClicked }, () => {
|
|
92
|
-
if (tooltipItems[globalStateKey]) {
|
|
93
|
-
setTooltipItems(prevItems => (Object.assign(Object.assign({}, prevItems), { [globalStateKey]: false })));
|
|
94
|
-
}
|
|
95
|
-
});
|
|
96
|
-
return (React__default.default.createElement(Container, { ref: ref },
|
|
97
|
-
React__default.default.createElement(MainNavTooltipMenuExportedStyles.default, { collapseSize: collapseSize, isHighlighted: tooltipItems[globalStateKey] || (globalStateKey === 'login' && isLoggedIn), onClick: ContentComponent ? toggleState : undefined }, children),
|
|
98
|
-
tooltipItems[globalStateKey] && React__default.default.createElement(Caret, { zIndex: zIndex, collapseSize: collapseSize }),
|
|
99
|
-
tooltipItems[globalStateKey] && ContentComponent && (React__default.default.createElement(Tooltip, { zIndex: zIndex, tooltipRight: tooltipRight, contentWidth: contentWidth, collapseSize: collapseSize, fullWidthDesktop: fullWidthDesktop, fullWidthBreakpoint: fullWidthBreakpoint },
|
|
100
|
-
React__default.default.createElement(TooltipBox, { elevation: "high", padding: "0", width: "100%" },
|
|
101
|
-
React__default.default.createElement(ContentComponent, { mobileView: isMobileMenu }))))));
|
|
102
|
-
};
|
|
103
|
-
|
|
104
|
-
exports.default = MainNavTooltipMenu;
|
package/build/cjs/components/MainNavigation/ChildComponents/MainNavTooltipMenuExportedStyles.d.ts
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
declare const TooltipWrapper: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, {
|
|
2
|
-
collapseSize: number;
|
|
3
|
-
isHighlighted?: boolean;
|
|
4
|
-
}>> & string;
|
|
5
|
-
export default TooltipWrapper;
|
|
6
|
-
export { TooltipWrapper };
|
package/build/cjs/components/MainNavigation/ChildComponents/MainNavTooltipMenuExportedStyles.js
DELETED
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
|
-
var styledComponents = require('styled-components');
|
|
6
|
-
var theme = require('../../../themes/theme.js');
|
|
7
|
-
var navigation = require('../../../themes/themeComponents/navigation.js');
|
|
8
|
-
|
|
9
|
-
const TooltipWrapper = styledComponents.styled.button `
|
|
10
|
-
position: relative;
|
|
11
|
-
border: none;
|
|
12
|
-
margin: 0;
|
|
13
|
-
padding: 0;
|
|
14
|
-
overflow: visible;
|
|
15
|
-
background: transparent;
|
|
16
|
-
color: ${p => (p.isHighlighted ? theme.default.color.text.pink : 'inherit')};
|
|
17
|
-
font: inherit;
|
|
18
|
-
line-height: normal;
|
|
19
|
-
-webkit-font-smoothing: inherit;
|
|
20
|
-
-moz-osx-font-smoothing: inherit;
|
|
21
|
-
-webkit-appearance: none;
|
|
22
|
-
width: 100%;
|
|
23
|
-
cursor: pointer;
|
|
24
|
-
&:hover {
|
|
25
|
-
span.dnasg-icon > svg,
|
|
26
|
-
> span {
|
|
27
|
-
color: ${p => (p.isHighlighted ? theme.default.color.text.pink : theme.default.color.text.black)};
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
&:active,
|
|
31
|
-
&:focus {
|
|
32
|
-
span.dnasg-icon > svg,
|
|
33
|
-
> span {
|
|
34
|
-
color: ${theme.default.color.text.pink};
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
span.dnasg-icon > svg {
|
|
38
|
-
align-content: center;
|
|
39
|
-
display: flex;
|
|
40
|
-
@media (min-width: ${p => p.collapseSize + 1}px) {
|
|
41
|
-
height: 1.625em;
|
|
42
|
-
width: 1.625em;
|
|
43
|
-
}
|
|
44
|
-
margin: 0 auto;
|
|
45
|
-
}
|
|
46
|
-
span.dnasg-icon + span {
|
|
47
|
-
width: 100%;
|
|
48
|
-
display: none;
|
|
49
|
-
@media (min-width: ${p => p.collapseSize + 1}px) {
|
|
50
|
-
display: block;
|
|
51
|
-
text-overflow: ellipsis;
|
|
52
|
-
white-space: nowrap;
|
|
53
|
-
overflow: hidden;
|
|
54
|
-
max-width: ${navigation.IconContainerWidth};
|
|
55
|
-
}
|
|
56
|
-
font-size: ${theme.default.fontSize.xs};
|
|
57
|
-
font-weight: ${theme.default.fontWeight.book};
|
|
58
|
-
}
|
|
59
|
-
`;
|
|
60
|
-
|
|
61
|
-
exports.TooltipWrapper = TooltipWrapper;
|
|
62
|
-
exports.default = TooltipWrapper;
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
|
-
var icons = require('@dnanpm/icons');
|
|
6
|
-
var React = require('react');
|
|
7
|
-
var theme = require('../../../themes/theme.js');
|
|
8
|
-
var Icon = require('../../Icon/Icon.js');
|
|
9
|
-
var NotificationBadge = require('../../NotificationBadge/NotificationBadge.js');
|
|
10
|
-
var NavContext = require('../context/NavContext.js');
|
|
11
|
-
var MainNavTooltipMenu = require('./MainNavTooltipMenu.js');
|
|
12
|
-
|
|
13
|
-
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
14
|
-
|
|
15
|
-
var React__default = /*#__PURE__*/_interopDefaultCompat(React);
|
|
16
|
-
|
|
17
|
-
const MinicartTooltip = ({ minicartAmount, minicartLabel }) => {
|
|
18
|
-
const globalStateString = 'minicart';
|
|
19
|
-
const { navZIndex, minicartComponent: MinicartComponent } = React.useContext(NavContext.default);
|
|
20
|
-
return (React__default.default.createElement(MainNavTooltipMenu.default, { zIndex: navZIndex + 1, contentWidth: "35rem", tooltipRight: "5rem", contentComponent: MinicartComponent, globalStateString: globalStateString, fullWidthBreakpoint: theme.default.breakpoints.md, closeWhenTagClicked: ['a', 'button'] },
|
|
21
|
-
React__default.default.createElement(Icon.default, { icon: icons.Cart, size: "2rem" }),
|
|
22
|
-
React__default.default.createElement("span", null, minicartLabel),
|
|
23
|
-
minicartAmount > 0 && (React__default.default.createElement(NotificationBadge.default, { top: "-5px", right: "5px", "data-testid": "header-minicart-amount" }, minicartAmount))));
|
|
24
|
-
};
|
|
25
|
-
|
|
26
|
-
exports.default = MinicartTooltip;
|