@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.
Files changed (147) hide show
  1. package/build/cjs/components/Button/Button.d.ts +1 -7
  2. package/build/cjs/components/Button/Button.js +3 -3
  3. package/build/cjs/components/ButtonArrow/ButtonArrow.d.ts +1 -7
  4. package/build/cjs/components/ButtonArrow/ButtonArrow.js +2 -2
  5. package/build/cjs/components/ButtonIcon/ButtonIcon.js +3 -3
  6. package/build/cjs/components/Chip/Chip.d.ts +2 -18
  7. package/build/cjs/components/Chip/Chip.js +2 -2
  8. package/build/cjs/components/Drawer/Drawer.d.ts +0 -7
  9. package/build/cjs/components/Drawer/Drawer.js +1 -1
  10. package/build/cjs/components/Footer/Components/FooterComponents.js +0 -1
  11. package/build/cjs/components/Hero/Hero.js +3 -2
  12. package/build/cjs/components/Icon/Icon.d.ts +2 -8
  13. package/build/cjs/components/Icon/Icon.js +3 -10
  14. package/build/cjs/components/Input/Input.d.ts +1 -10
  15. package/build/cjs/components/LabelText/LabelText.d.ts +1 -6
  16. package/build/cjs/components/MainHeaderNavigation/ChildComponents/MainNavTooltipMenu.d.ts +1 -1
  17. package/build/cjs/components/MainHeaderNavigation/ChildComponents/MinicartTooltip.js +2 -2
  18. package/build/cjs/components/MainHeaderNavigation/MainHeaderNavigation.d.ts +1 -7
  19. package/build/cjs/components/MainHeaderNavigation/MainHeaderNavigation.js +1 -3
  20. package/build/cjs/components/MainHeaderNavigation/context/NavContext.d.ts +0 -1
  21. package/build/cjs/components/MainHeaderNavigation/context/NavContext.js +0 -1
  22. package/build/cjs/components/Modal/Modal.d.ts +0 -5
  23. package/build/cjs/components/ReadMore/ReadMore.d.ts +0 -20
  24. package/build/cjs/components/ReadMore/ReadMore.js +2 -8
  25. package/build/cjs/components/Tab/Tab.d.ts +2 -30
  26. package/build/cjs/components/Tab/Tab.js +2 -33
  27. package/build/cjs/components/Tabs/Tabs.d.ts +1 -9
  28. package/build/cjs/components/Tabs/Tabs.js +9 -17
  29. package/build/cjs/components/index.d.ts +0 -4
  30. package/build/cjs/hooks/useCloseOutsideOrElementClicked.js +1 -1
  31. package/build/cjs/index.js +0 -8
  32. package/build/cjs/themes/themeComponents/navigation.js +0 -4
  33. package/build/es/components/Button/Button.d.ts +1 -7
  34. package/build/es/components/Button/Button.js +3 -3
  35. package/build/es/components/ButtonArrow/ButtonArrow.d.ts +1 -7
  36. package/build/es/components/ButtonArrow/ButtonArrow.js +2 -2
  37. package/build/es/components/ButtonIcon/ButtonIcon.js +3 -3
  38. package/build/es/components/Chip/Chip.d.ts +2 -18
  39. package/build/es/components/Chip/Chip.js +2 -2
  40. package/build/es/components/Drawer/Drawer.d.ts +0 -7
  41. package/build/es/components/Drawer/Drawer.js +1 -1
  42. package/build/es/components/Footer/Components/FooterComponents.js +0 -1
  43. package/build/es/components/Hero/Hero.js +3 -2
  44. package/build/es/components/Icon/Icon.d.ts +2 -8
  45. package/build/es/components/Icon/Icon.js +3 -10
  46. package/build/es/components/Input/Input.d.ts +1 -10
  47. package/build/es/components/LabelText/LabelText.d.ts +1 -6
  48. package/build/es/components/MainHeaderNavigation/ChildComponents/MainNavTooltipMenu.d.ts +1 -1
  49. package/build/es/components/MainHeaderNavigation/ChildComponents/MinicartTooltip.js +2 -2
  50. package/build/es/components/MainHeaderNavigation/MainHeaderNavigation.d.ts +1 -7
  51. package/build/es/components/MainHeaderNavigation/MainHeaderNavigation.js +1 -3
  52. package/build/es/components/MainHeaderNavigation/context/NavContext.d.ts +0 -1
  53. package/build/es/components/MainHeaderNavigation/context/NavContext.js +0 -1
  54. package/build/es/components/Modal/Modal.d.ts +0 -5
  55. package/build/es/components/ReadMore/ReadMore.d.ts +0 -20
  56. package/build/es/components/ReadMore/ReadMore.js +2 -8
  57. package/build/es/components/Tab/Tab.d.ts +2 -30
  58. package/build/es/components/Tab/Tab.js +2 -33
  59. package/build/es/components/Tabs/Tabs.d.ts +1 -9
  60. package/build/es/components/Tabs/Tabs.js +9 -17
  61. package/build/es/components/index.d.ts +0 -4
  62. package/build/es/hooks/useCloseOutsideOrElementClicked.js +1 -1
  63. package/build/es/index.js +0 -4
  64. package/build/es/themes/themeComponents/navigation.js +1 -3
  65. package/package.json +12 -12
  66. package/build/cjs/components/ButtonRound/ButtonRound.d.ts +0 -10
  67. package/build/cjs/components/ButtonRound/ButtonRound.js +0 -37
  68. package/build/cjs/components/Icons/index.js +0 -224
  69. package/build/cjs/components/MainNavigation/ChildComponents/BusinessMenu.d.ts +0 -3
  70. package/build/cjs/components/MainNavigation/ChildComponents/BusinessMenu.js +0 -59
  71. package/build/cjs/components/MainNavigation/ChildComponents/DesktopMenu.d.ts +0 -3
  72. package/build/cjs/components/MainNavigation/ChildComponents/DesktopMenu.js +0 -259
  73. package/build/cjs/components/MainNavigation/ChildComponents/HeaderNavigationElements.d.ts +0 -10
  74. package/build/cjs/components/MainNavigation/ChildComponents/HeaderNavigationElements.js +0 -168
  75. package/build/cjs/components/MainNavigation/ChildComponents/LanguageSelector.d.ts +0 -4
  76. package/build/cjs/components/MainNavigation/ChildComponents/LanguageSelector.js +0 -38
  77. package/build/cjs/components/MainNavigation/ChildComponents/LinkModifier.d.ts +0 -9
  78. package/build/cjs/components/MainNavigation/ChildComponents/LinkModifier.js +0 -38
  79. package/build/cjs/components/MainNavigation/ChildComponents/LoginTooltip.d.ts +0 -6
  80. package/build/cjs/components/MainNavigation/ChildComponents/LoginTooltip.js +0 -23
  81. package/build/cjs/components/MainNavigation/ChildComponents/MainNavTooltipMenu.d.ts +0 -24
  82. package/build/cjs/components/MainNavigation/ChildComponents/MainNavTooltipMenu.js +0 -104
  83. package/build/cjs/components/MainNavigation/ChildComponents/MainNavTooltipMenuExportedStyles.d.ts +0 -6
  84. package/build/cjs/components/MainNavigation/ChildComponents/MainNavTooltipMenuExportedStyles.js +0 -62
  85. package/build/cjs/components/MainNavigation/ChildComponents/MinicartTooltip.d.ts +0 -7
  86. package/build/cjs/components/MainNavigation/ChildComponents/MinicartTooltip.js +0 -26
  87. package/build/cjs/components/MainNavigation/ChildComponents/MobileMenu.d.ts +0 -3
  88. package/build/cjs/components/MainNavigation/ChildComponents/MobileMenu.js +0 -193
  89. package/build/cjs/components/MainNavigation/ChildComponents/PageSearch.d.ts +0 -6
  90. package/build/cjs/components/MainNavigation/ChildComponents/PageSearch.js +0 -23
  91. package/build/cjs/components/MainNavigation/ChildComponents/Ribbon.d.ts +0 -13
  92. package/build/cjs/components/MainNavigation/ChildComponents/Ribbon.js +0 -74
  93. package/build/cjs/components/MainNavigation/MainNavigation.d.ts +0 -38
  94. package/build/cjs/components/MainNavigation/MainNavigation.js +0 -319
  95. package/build/cjs/components/MainNavigation/context/MobileMenuContext.d.ts +0 -6
  96. package/build/cjs/components/MainNavigation/context/MobileMenuContext.js +0 -11
  97. package/build/cjs/components/MainNavigation/context/NavContext.d.ts +0 -29
  98. package/build/cjs/components/MainNavigation/context/NavContext.js +0 -46
  99. package/build/cjs/components/MainNavigation/globalNavStyles.d.ts +0 -13
  100. package/build/cjs/components/MainNavigation/globalNavStyles.js +0 -94
  101. package/build/cjs/components/SecondaryNavigation/SecondaryNavigation.d.ts +0 -90
  102. package/build/cjs/components/SecondaryNavigation/SecondaryNavigation.js +0 -207
  103. package/build/cjs/components/TooltipMenu/ChildComponents/TooltipMenuExportedStyles.d.ts +0 -10
  104. package/build/cjs/components/TooltipMenu/ChildComponents/TooltipMenuExportedStyles.js +0 -34
  105. package/build/cjs/components/TooltipMenu/TooltipMenu.d.ts +0 -45
  106. package/build/cjs/components/TooltipMenu/TooltipMenu.js +0 -76
  107. package/build/es/components/ButtonRound/ButtonRound.d.ts +0 -10
  108. package/build/es/components/ButtonRound/ButtonRound.js +0 -29
  109. package/build/es/components/Icons/index.js +0 -109
  110. package/build/es/components/MainNavigation/ChildComponents/BusinessMenu.d.ts +0 -3
  111. package/build/es/components/MainNavigation/ChildComponents/BusinessMenu.js +0 -51
  112. package/build/es/components/MainNavigation/ChildComponents/DesktopMenu.d.ts +0 -3
  113. package/build/es/components/MainNavigation/ChildComponents/DesktopMenu.js +0 -251
  114. package/build/es/components/MainNavigation/ChildComponents/HeaderNavigationElements.d.ts +0 -10
  115. package/build/es/components/MainNavigation/ChildComponents/HeaderNavigationElements.js +0 -159
  116. package/build/es/components/MainNavigation/ChildComponents/LanguageSelector.d.ts +0 -4
  117. package/build/es/components/MainNavigation/ChildComponents/LanguageSelector.js +0 -30
  118. package/build/es/components/MainNavigation/ChildComponents/LinkModifier.d.ts +0 -9
  119. package/build/es/components/MainNavigation/ChildComponents/LinkModifier.js +0 -29
  120. package/build/es/components/MainNavigation/ChildComponents/LoginTooltip.d.ts +0 -6
  121. package/build/es/components/MainNavigation/ChildComponents/LoginTooltip.js +0 -15
  122. package/build/es/components/MainNavigation/ChildComponents/MainNavTooltipMenu.d.ts +0 -24
  123. package/build/es/components/MainNavigation/ChildComponents/MainNavTooltipMenu.js +0 -96
  124. package/build/es/components/MainNavigation/ChildComponents/MainNavTooltipMenuExportedStyles.d.ts +0 -6
  125. package/build/es/components/MainNavigation/ChildComponents/MainNavTooltipMenuExportedStyles.js +0 -57
  126. package/build/es/components/MainNavigation/ChildComponents/MinicartTooltip.d.ts +0 -7
  127. package/build/es/components/MainNavigation/ChildComponents/MinicartTooltip.js +0 -18
  128. package/build/es/components/MainNavigation/ChildComponents/MobileMenu.d.ts +0 -3
  129. package/build/es/components/MainNavigation/ChildComponents/MobileMenu.js +0 -185
  130. package/build/es/components/MainNavigation/ChildComponents/PageSearch.d.ts +0 -6
  131. package/build/es/components/MainNavigation/ChildComponents/PageSearch.js +0 -15
  132. package/build/es/components/MainNavigation/ChildComponents/Ribbon.d.ts +0 -13
  133. package/build/es/components/MainNavigation/ChildComponents/Ribbon.js +0 -66
  134. package/build/es/components/MainNavigation/MainNavigation.d.ts +0 -38
  135. package/build/es/components/MainNavigation/MainNavigation.js +0 -311
  136. package/build/es/components/MainNavigation/context/MobileMenuContext.d.ts +0 -6
  137. package/build/es/components/MainNavigation/context/MobileMenuContext.js +0 -7
  138. package/build/es/components/MainNavigation/context/NavContext.d.ts +0 -29
  139. package/build/es/components/MainNavigation/context/NavContext.js +0 -42
  140. package/build/es/components/MainNavigation/globalNavStyles.d.ts +0 -13
  141. package/build/es/components/MainNavigation/globalNavStyles.js +0 -89
  142. package/build/es/components/SecondaryNavigation/SecondaryNavigation.d.ts +0 -90
  143. package/build/es/components/SecondaryNavigation/SecondaryNavigation.js +0 -199
  144. package/build/es/components/TooltipMenu/ChildComponents/TooltipMenuExportedStyles.d.ts +0 -10
  145. package/build/es/components/TooltipMenu/ChildComponents/TooltipMenuExportedStyles.js +0 -31
  146. package/build/es/components/TooltipMenu/TooltipMenu.d.ts +0 -45
  147. 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,4 +0,0 @@
1
- import React from 'react';
2
- import type { LanguageSelectorProps } from '../types/globalNavProps';
3
- declare const LanguageSelector: ({ currentLanguage, languagesObject }: LanguageSelectorProps) => React.JSX.Element | null;
4
- export default LanguageSelector;
@@ -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,6 +0,0 @@
1
- import React from 'react';
2
- interface LoginTooltipProp {
3
- loginLabel?: string;
4
- }
5
- declare const LoginTooltip: ({ loginLabel }: LoginTooltipProp) => React.JSX.Element;
6
- export default LoginTooltip;
@@ -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;
@@ -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 };
@@ -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,7 +0,0 @@
1
- import React from 'react';
2
- interface MinicartTooltipProps {
3
- minicartAmount: number;
4
- minicartLabel?: string;
5
- }
6
- declare const MinicartTooltip: ({ minicartAmount, minicartLabel }: MinicartTooltipProps) => React.JSX.Element;
7
- export default MinicartTooltip;
@@ -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;
@@ -1,3 +0,0 @@
1
- import React from 'react';
2
- declare const RenderMobileMenu: () => React.JSX.Element | null;
3
- export default RenderMobileMenu;