@dnanpm/styleguide 3.7.2 → 3.8.2
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/README.md +29 -22
- package/build/cjs/components/Accordion/Accordion.js +7 -12
- package/build/cjs/components/AccordionItem/AccordionItem.js +30 -35
- package/build/cjs/components/AmountSelector/AmountSelector.js +25 -29
- package/build/cjs/components/Box/Box.js +8 -13
- package/build/cjs/components/Button/Button.js +28 -33
- package/build/cjs/components/Button/ButtonArrow.js +16 -21
- package/build/cjs/components/Button/ButtonClose.js +4 -8
- package/build/cjs/components/Button/ButtonIcon.js +17 -22
- package/build/cjs/components/Button/ButtonPrimary.js +13 -17
- package/build/cjs/components/Button/ButtonRound.js +6 -11
- package/build/cjs/components/Button/ButtonSecondary.js +13 -17
- package/build/cjs/components/Carousel/Carousel.d.ts +1 -1
- package/build/cjs/components/Carousel/Carousel.js +43 -47
- package/build/cjs/components/Checkbox/Checkbox.js +23 -27
- package/build/cjs/components/Chip/Chip.js +11 -16
- package/build/cjs/components/DateTimePicker/DateTimePicker.js +76 -82
- package/build/cjs/components/Divider/Divider.js +5 -10
- package/build/cjs/components/DnaLogo/DnaLogo.js +14 -18
- package/build/cjs/components/Drawer/Drawer.js +47 -52
- package/build/cjs/components/EmptyState/EmptyState.js +8 -12
- package/build/cjs/components/Expander/Expander.js +13 -17
- package/build/cjs/components/Floater/Floater.js +3 -8
- package/build/cjs/components/Footer/Components/FooterComponents.js +58 -64
- package/build/cjs/components/Footer/Footer.js +63 -67
- package/build/cjs/components/Footer/context/FooterContext.js +2 -2
- package/build/cjs/components/Icon/Icon.js +9 -13
- package/build/cjs/components/Icons/Small/hlArrowBackSmall.js +3 -7
- package/build/cjs/components/Icons/Small/hlArrowForwardSmall.js +3 -7
- package/build/cjs/components/Icons/Small/hlArrowUnderSmall.js +3 -7
- package/build/cjs/components/Icons/Small/hlCalendarSmall.js +3 -7
- package/build/cjs/components/Icons/Small/hlChevronDownSmall.js +3 -7
- package/build/cjs/components/Icons/Small/hlChevronLeftSmall.js +3 -7
- package/build/cjs/components/Icons/Small/hlChevronRightSmall.js +3 -7
- package/build/cjs/components/Icons/Small/hlChevronUpSmall.js +3 -7
- package/build/cjs/components/Icons/Small/hlClockSmall.js +4 -8
- package/build/cjs/components/Icons/Small/hlDownloadSmall.js +5 -9
- package/build/cjs/components/Icons/Small/hlExternalSmall.js +3 -7
- package/build/cjs/components/Icons/Small/hlUploadSmall.js +5 -9
- package/build/cjs/components/Icons/Social/facebook.js +3 -7
- package/build/cjs/components/Icons/Social/instagram.js +3 -7
- package/build/cjs/components/Icons/Social/linkedin.js +3 -7
- package/build/cjs/components/Icons/Social/tiktok.js +3 -7
- package/build/cjs/components/Icons/Social/twitter.js +3 -7
- package/build/cjs/components/Icons/Social/youtube.js +3 -7
- package/build/cjs/components/Icons/hl404.js +3 -7
- package/build/cjs/components/Icons/hl4gSim.js +3 -7
- package/build/cjs/components/Icons/hl5gSim.js +3 -7
- package/build/cjs/components/Icons/hlBattery.js +5 -9
- package/build/cjs/components/Icons/hlBell.js +3 -7
- package/build/cjs/components/Icons/hlCableTVCard.js +3 -7
- package/build/cjs/components/Icons/hlCalendar.js +14 -18
- package/build/cjs/components/Icons/hlCall.js +3 -7
- package/build/cjs/components/Icons/hlCameraBack.js +5 -9
- package/build/cjs/components/Icons/hlCameraFront.js +4 -8
- package/build/cjs/components/Icons/hlCart.js +5 -9
- package/build/cjs/components/Icons/hlCartEmpty.js +5 -9
- package/build/cjs/components/Icons/hlChat.js +6 -10
- package/build/cjs/components/Icons/hlCheck.js +3 -7
- package/build/cjs/components/Icons/hlChevronDown.js +3 -7
- package/build/cjs/components/Icons/hlChevronLeft.js +3 -7
- package/build/cjs/components/Icons/hlChevronRight.js +3 -7
- package/build/cjs/components/Icons/hlChevronUp.js +3 -7
- package/build/cjs/components/Icons/hlCompensation.js +3 -7
- package/build/cjs/components/Icons/hlCookie.js +3 -7
- package/build/cjs/components/Icons/hlCopy.js +4 -8
- package/build/cjs/components/Icons/hlCoupon.js +5 -9
- package/build/cjs/components/Icons/hlDelivery.js +3 -7
- package/build/cjs/components/Icons/hlDigiturva.js +3 -7
- package/build/cjs/components/Icons/hlDisplaySize.js +5 -9
- package/build/cjs/components/Icons/hlDocument.js +4 -8
- package/build/cjs/components/Icons/hlDownload.js +5 -9
- package/build/cjs/components/Icons/hlEnvelope.js +3 -7
- package/build/cjs/components/Icons/hlError.js +5 -9
- package/build/cjs/components/Icons/hlEuro.js +3 -7
- package/build/cjs/components/Icons/hlExclamationMark.js +3 -7
- package/build/cjs/components/Icons/hlExpand.js +3 -7
- package/build/cjs/components/Icons/hlExternal.js +3 -7
- package/build/cjs/components/Icons/hlEyeClosed.js +3 -7
- package/build/cjs/components/Icons/hlEyeOpen.js +4 -8
- package/build/cjs/components/Icons/hlFaceId.js +3 -7
- package/build/cjs/components/Icons/hlFastDelivery.js +3 -7
- package/build/cjs/components/Icons/hlFingerprint.js +7 -11
- package/build/cjs/components/Icons/hlGlobe.js +3 -7
- package/build/cjs/components/Icons/hlHeadphones.js +3 -7
- package/build/cjs/components/Icons/hlHeadset.js +5 -9
- package/build/cjs/components/Icons/hlHeart.js +3 -7
- package/build/cjs/components/Icons/hlHome.js +3 -7
- package/build/cjs/components/Icons/hlHub.js +4 -8
- package/build/cjs/components/Icons/hlImage.js +3 -7
- package/build/cjs/components/Icons/hlInfo.js +5 -9
- package/build/cjs/components/Icons/hlInstallment.js +4 -8
- package/build/cjs/components/Icons/hlIotSim.js +4 -8
- package/build/cjs/components/Icons/hlLaptop.js +3 -7
- package/build/cjs/components/Icons/hlLink.js +4 -8
- package/build/cjs/components/Icons/hlLiveVideo.js +3 -7
- package/build/cjs/components/Icons/hlLock.js +5 -9
- package/build/cjs/components/Icons/hlMagnifyingGlass.js +4 -8
- package/build/cjs/components/Icons/hlMarker.js +4 -8
- package/build/cjs/components/Icons/hlMemory.js +4 -8
- package/build/cjs/components/Icons/hlMenu.js +3 -7
- package/build/cjs/components/Icons/hlMinimize.js +3 -7
- package/build/cjs/components/Icons/hlMinus.js +3 -7
- package/build/cjs/components/Icons/hlMobileData.js +3 -7
- package/build/cjs/components/Icons/hlMobilePayment.js +5 -9
- package/build/cjs/components/Icons/hlModem.js +7 -11
- package/build/cjs/components/Icons/hlMore.js +5 -9
- package/build/cjs/components/Icons/hlOs.js +4 -8
- package/build/cjs/components/Icons/hlPackage.js +3 -7
- package/build/cjs/components/Icons/hlPaperclip.js +3 -7
- package/build/cjs/components/Icons/hlPaytime.js +3 -7
- package/build/cjs/components/Icons/hlPen.js +3 -7
- package/build/cjs/components/Icons/hlPerson.js +3 -7
- package/build/cjs/components/Icons/hlPhone.js +4 -8
- package/build/cjs/components/Icons/hlPlaylist.js +3 -7
- package/build/cjs/components/Icons/hlPlus.js +4 -8
- package/build/cjs/components/Icons/hlPrepaid.js +3 -7
- package/build/cjs/components/Icons/hlProcessor.js +4 -8
- package/build/cjs/components/Icons/hlServices.js +3 -7
- package/build/cjs/components/Icons/hlSettings.js +3 -7
- package/build/cjs/components/Icons/hlShield.js +4 -8
- package/build/cjs/components/Icons/hlSim.js +4 -8
- package/build/cjs/components/Icons/hlSimSimple.js +5 -9
- package/build/cjs/components/Icons/hlSmile.js +6 -10
- package/build/cjs/components/Icons/hlSpeechBubble.js +4 -8
- package/build/cjs/components/Icons/hlSquaretrade.js +3 -7
- package/build/cjs/components/Icons/hlStar.js +3 -7
- package/build/cjs/components/Icons/hlStarFilled.js +3 -7
- package/build/cjs/components/Icons/hlTrash.js +4 -8
- package/build/cjs/components/Icons/hlTv.js +3 -7
- package/build/cjs/components/Icons/hlUnlock.js +4 -8
- package/build/cjs/components/Icons/hlUpload.js +5 -9
- package/build/cjs/components/Icons/hlWarning.js +5 -9
- package/build/cjs/components/Icons/hlWifi.js +5 -9
- package/build/cjs/components/Icons/hlWrench.js +3 -7
- package/build/cjs/components/Icons/hlX.js +3 -7
- package/build/cjs/components/Icons/index.js +109 -111
- package/build/cjs/components/InfoDialog/InfoDialog.js +18 -22
- package/build/cjs/components/Input/Input.js +44 -48
- package/build/cjs/components/Label/Label.js +14 -18
- package/build/cjs/components/LabelText/LabelText.js +11 -15
- package/build/cjs/components/MainHeaderNavigation/ChildComponents/BusinessMenu.js +23 -27
- package/build/cjs/components/MainHeaderNavigation/ChildComponents/DesktopMenu.js +59 -63
- package/build/cjs/components/MainHeaderNavigation/ChildComponents/LanguageSelector.js +11 -15
- package/build/cjs/components/MainHeaderNavigation/ChildComponents/LinkModifier.js +6 -10
- package/build/cjs/components/MainHeaderNavigation/ChildComponents/LoginTooltip.js +5 -9
- package/build/cjs/components/MainHeaderNavigation/ChildComponents/MainNavTooltipMenu.d.ts +4 -4
- package/build/cjs/components/MainHeaderNavigation/ChildComponents/MainNavTooltipMenu.js +28 -30
- package/build/cjs/components/MainHeaderNavigation/ChildComponents/MainNavTooltipMenuExportedStyles.d.ts +2 -2
- package/build/cjs/components/MainHeaderNavigation/ChildComponents/MainNavTooltipMenuExportedStyles.js +11 -11
- package/build/cjs/components/MainHeaderNavigation/ChildComponents/MinicartTooltip.d.ts +3 -2
- package/build/cjs/components/MainHeaderNavigation/ChildComponents/MinicartTooltip.js +9 -11
- package/build/cjs/components/MainHeaderNavigation/ChildComponents/MobileMenu.js +50 -54
- package/build/cjs/components/MainHeaderNavigation/ChildComponents/PageSearch.js +5 -9
- package/build/cjs/components/MainHeaderNavigation/MainHeaderNavigation.d.ts +11 -2
- package/build/cjs/components/MainHeaderNavigation/MainHeaderNavigation.js +41 -43
- package/build/cjs/components/MainHeaderNavigation/context/MobileMenuContext.js +1 -1
- package/build/cjs/components/MainHeaderNavigation/context/NavContext.js +1 -1
- package/build/cjs/components/MainHeaderNavigation/globalNavStyles.d.ts +5 -5
- package/build/cjs/components/MainHeaderNavigation/globalNavStyles.js +48 -50
- package/build/cjs/components/MainNavigation/ChildComponents/BusinessMenu.js +14 -18
- package/build/cjs/components/MainNavigation/ChildComponents/DesktopMenu.js +49 -53
- package/build/cjs/components/MainNavigation/ChildComponents/HeaderNavigationElements.d.ts +1 -1
- package/build/cjs/components/MainNavigation/ChildComponents/HeaderNavigationElements.js +44 -48
- package/build/cjs/components/MainNavigation/ChildComponents/LanguageSelector.js +11 -15
- package/build/cjs/components/MainNavigation/ChildComponents/LinkModifier.js +7 -11
- package/build/cjs/components/MainNavigation/ChildComponents/LoginTooltip.js +5 -9
- package/build/cjs/components/MainNavigation/ChildComponents/MainNavTooltipMenu.js +21 -25
- package/build/cjs/components/MainNavigation/ChildComponents/MainNavTooltipMenuExportedStyles.d.ts +1 -1
- package/build/cjs/components/MainNavigation/ChildComponents/MainNavTooltipMenuExportedStyles.js +7 -7
- package/build/cjs/components/MainNavigation/ChildComponents/MinicartTooltip.js +6 -10
- package/build/cjs/components/MainNavigation/ChildComponents/MobileMenu.js +52 -56
- package/build/cjs/components/MainNavigation/ChildComponents/PageSearch.js +5 -9
- package/build/cjs/components/MainNavigation/ChildComponents/Ribbon.js +20 -24
- package/build/cjs/components/MainNavigation/MainNavigation.js +20 -24
- package/build/cjs/components/MainNavigation/context/MobileMenuContext.js +1 -1
- package/build/cjs/components/MainNavigation/context/NavContext.js +1 -1
- package/build/cjs/components/MainNavigation/globalNavStyles.d.ts +5 -5
- package/build/cjs/components/MainNavigation/globalNavStyles.js +12 -14
- package/build/cjs/components/Modal/Modal.js +20 -25
- package/build/cjs/components/Notification/Notification.js +17 -22
- package/build/cjs/components/NotificationBadge/NotificationBadge.js +8 -12
- package/build/cjs/components/Overlay/Overlay.d.ts +49 -0
- package/build/cjs/components/Overlay/Overlay.js +80 -0
- package/build/cjs/components/Pill/Pill.js +19 -24
- package/build/cjs/components/PixelLoader/PixelLoader.js +9 -13
- package/build/cjs/components/PriorityNavigation/PriorityNavigation.d.ts +10 -0
- package/build/cjs/components/PriorityNavigation/PriorityNavigation.js +84 -53
- package/build/cjs/components/PriorityNavigationItem/PriorityNavigationItem.js +20 -15
- package/build/cjs/components/ProgressIndicator/ProgressIndicator.js +30 -34
- package/build/cjs/components/RadioButton/RadioButton.js +11 -15
- package/build/cjs/components/ReadMore/ReadMore.js +14 -17
- package/build/cjs/components/Search/Search.js +16 -20
- package/build/cjs/components/SecondaryNavigation/SecondaryNavigation.js +53 -57
- package/build/cjs/components/Selectbox/Selectbox.js +44 -49
- package/build/cjs/components/Switch/Switch.js +18 -19
- package/build/cjs/components/Tab/Tab.js +29 -33
- package/build/cjs/components/Tabs/Tabs.js +15 -19
- package/build/cjs/components/Textarea/Textarea.js +29 -33
- package/build/cjs/components/Toaster/Toaster.js +19 -24
- package/build/cjs/components/Tooltip/Tooltip.js +21 -25
- package/build/cjs/components/TooltipMenu/ChildComponents/TooltipMenuExportedStyles.js +2 -4
- package/build/cjs/components/TooltipMenu/TooltipMenu.js +20 -24
- package/build/cjs/components/index.d.ts +1 -0
- package/build/cjs/hooks/useCloseOutsideOrElementClicked.js +1 -1
- package/build/cjs/hooks/useDebounce.js +1 -1
- package/build/cjs/hooks/useDocHeight.js +2 -2
- package/build/cjs/hooks/useOutsideClick.js +1 -1
- package/build/cjs/hooks/useResizeObserver.d.ts +1 -1
- package/build/cjs/hooks/useResizeObserver.js +1 -1
- package/build/cjs/hooks/useScrollPosition.d.ts +3 -1
- package/build/cjs/hooks/useScrollPosition.js +1 -1
- package/build/cjs/hooks/useWindowSize.js +1 -1
- package/build/cjs/index.js +164 -164
- package/build/cjs/themes/globalStyles.js +78 -80
- package/build/cjs/themes/gridTheme.js +1 -1
- package/build/cjs/themes/styled.js +2 -2
- package/build/cjs/themes/theme.js +11 -11
- package/build/cjs/themes/themeComponents/base.js +2 -2
- package/build/cjs/themes/themeComponents/breakpoints.js +1 -1
- package/build/cjs/themes/themeComponents/color.js +1 -1
- package/build/cjs/themes/themeComponents/fontFamily.js +1 -1
- package/build/cjs/themes/themeComponents/fontSize.js +14 -14
- package/build/cjs/themes/themeComponents/fontWeight.js +1 -1
- package/build/cjs/themes/themeComponents/forms.js +2 -2
- package/build/cjs/themes/themeComponents/lineHeight.js +14 -14
- package/build/cjs/themes/themeComponents/navigation.js +1 -1
- package/build/cjs/themes/themeComponents/radius.js +1 -1
- package/build/cjs/utils/common.d.ts +1 -1
- package/build/cjs/utils/common.js +4 -4
- package/build/cjs/utils/createStyled.d.ts +2 -163
- package/build/cjs/utils/createStyled.js +4 -5
- package/build/cjs/utils/styledUtils.js +2 -4
- package/build/es/components/Carousel/Carousel.d.ts +1 -1
- package/build/es/components/MainHeaderNavigation/ChildComponents/MainNavTooltipMenu.d.ts +4 -4
- package/build/es/components/MainHeaderNavigation/ChildComponents/MainNavTooltipMenu.js +5 -3
- package/build/es/components/MainHeaderNavigation/ChildComponents/MainNavTooltipMenuExportedStyles.d.ts +2 -2
- package/build/es/components/MainHeaderNavigation/ChildComponents/MinicartTooltip.d.ts +3 -2
- package/build/es/components/MainHeaderNavigation/ChildComponents/MinicartTooltip.js +4 -2
- package/build/es/components/MainHeaderNavigation/MainHeaderNavigation.d.ts +11 -2
- package/build/es/components/MainHeaderNavigation/MainHeaderNavigation.js +8 -6
- package/build/es/components/MainHeaderNavigation/globalNavStyles.d.ts +5 -5
- package/build/es/components/MainNavigation/ChildComponents/HeaderNavigationElements.d.ts +1 -1
- package/build/es/components/MainNavigation/ChildComponents/MainNavTooltipMenuExportedStyles.d.ts +1 -1
- package/build/es/components/MainNavigation/globalNavStyles.d.ts +5 -5
- package/build/es/components/Overlay/Overlay.d.ts +49 -0
- package/build/es/components/Overlay/Overlay.js +76 -0
- package/build/es/components/PriorityNavigation/PriorityNavigation.d.ts +10 -0
- package/build/es/components/PriorityNavigation/PriorityNavigation.js +60 -25
- package/build/es/components/PriorityNavigationItem/PriorityNavigationItem.js +10 -1
- package/build/es/components/ReadMore/ReadMore.js +1 -0
- package/build/es/components/index.d.ts +1 -0
- package/build/es/hooks/useResizeObserver.d.ts +1 -1
- package/build/es/hooks/useScrollPosition.d.ts +3 -1
- package/build/es/index.js +1 -0
- package/build/es/themes/themeComponents/base.js +1 -1
- package/build/es/themes/themeComponents/fontSize.js +13 -13
- package/build/es/themes/themeComponents/forms.js +1 -1
- package/build/es/themes/themeComponents/lineHeight.js +13 -13
- package/build/es/utils/common.d.ts +1 -1
- package/build/es/utils/createStyled.d.ts +2 -163
- package/package.json +49 -53
|
@@ -15,10 +15,6 @@ var NavContext = require('../context/NavContext.js');
|
|
|
15
15
|
var globalNavStyles = require('../globalNavStyles.js');
|
|
16
16
|
var LinkModifier = require('./LinkModifier.js');
|
|
17
17
|
|
|
18
|
-
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
19
|
-
|
|
20
|
-
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
21
|
-
|
|
22
18
|
const fadeIn = styled.keyframes `
|
|
23
19
|
0% {
|
|
24
20
|
opacity: 0;
|
|
@@ -48,13 +44,13 @@ const fadeRightAnimation = styled.css `
|
|
|
48
44
|
const noAnimation = styled.css `
|
|
49
45
|
animation: none;
|
|
50
46
|
`;
|
|
51
|
-
const SubMenuListRight = styled
|
|
47
|
+
const SubMenuListRight = styled.default.div `
|
|
52
48
|
display: ${({ menuStates, navItemId }) => menuStates.level1 && menuStates.level2 && menuStates.level2 === navItemId
|
|
53
49
|
? 'block'
|
|
54
50
|
: 'none'};
|
|
55
51
|
${({ menuStates }) => menuStates.level2 && menuStates.animate2 ? fadeRightAnimation : noAnimation};
|
|
56
|
-
top: -${styledUtils.getMultipliedSize(theme
|
|
57
|
-
padding: ${styledUtils.getMultipliedSize(theme
|
|
52
|
+
top: -${styledUtils.getMultipliedSize(theme.default.base.baseHeight, 2)};
|
|
53
|
+
padding: ${styledUtils.getMultipliedSize(theme.default.base.baseHeight, 1)};
|
|
58
54
|
position: absolute;
|
|
59
55
|
width: ${navigation.subMenuWidth};
|
|
60
56
|
left: 100%;
|
|
@@ -64,11 +60,11 @@ const SubMenuListRight = styled["default"].div `
|
|
|
64
60
|
width: ${navigation.subMenuWidthXl};
|
|
65
61
|
`};
|
|
66
62
|
`;
|
|
67
|
-
const SubMenuItem = styled
|
|
63
|
+
const SubMenuItem = styled.default.li `
|
|
68
64
|
display: block;
|
|
69
65
|
position: relative;
|
|
70
66
|
> a {
|
|
71
|
-
color: ${p => (p.isHighlighted ? theme
|
|
67
|
+
color: ${p => (p.isHighlighted ? theme.default.color.text.pink : theme.default.color.text.black)};
|
|
72
68
|
span {
|
|
73
69
|
position: relative;
|
|
74
70
|
&:after {
|
|
@@ -78,23 +74,23 @@ const SubMenuItem = styled["default"].li `
|
|
|
78
74
|
bottom: -6px;
|
|
79
75
|
left: 0;
|
|
80
76
|
border-bottom: 1px solid
|
|
81
|
-
${p => (p.isHighlighted ? theme
|
|
77
|
+
${p => (p.isHighlighted ? theme.default.color.default.pink : 'transparent')};
|
|
82
78
|
}
|
|
83
79
|
}
|
|
84
80
|
}
|
|
85
81
|
`;
|
|
86
|
-
const DesktopMenuList = styled
|
|
82
|
+
const DesktopMenuList = styled.default(globalNavStyles.MenuList) `
|
|
87
83
|
ul {
|
|
88
84
|
padding-left: 0;
|
|
89
85
|
|
|
90
86
|
li {
|
|
91
87
|
a,
|
|
92
88
|
button {
|
|
93
|
-
line-height: ${theme
|
|
89
|
+
line-height: ${theme.default.lineHeight.s};
|
|
94
90
|
display: flex;
|
|
95
91
|
width: 100%;
|
|
96
92
|
align-items: center;
|
|
97
|
-
padding: ${styledUtils.getMultipliedSize(theme
|
|
93
|
+
padding: ${styledUtils.getMultipliedSize(theme.default.base.baseHeight, 1)};
|
|
98
94
|
justify-content: space-between;
|
|
99
95
|
}
|
|
100
96
|
}
|
|
@@ -107,14 +103,14 @@ const DesktopMenuList = styled["default"](globalNavStyles.MenuList) `
|
|
|
107
103
|
}
|
|
108
104
|
a,
|
|
109
105
|
button {
|
|
110
|
-
font-size: ${theme
|
|
106
|
+
font-size: ${theme.default.fontSize.s};
|
|
111
107
|
${styledUtils.media.xl `
|
|
112
|
-
font-size: ${theme
|
|
108
|
+
font-size: ${theme.default.fontSize.default};
|
|
113
109
|
`};
|
|
114
110
|
}
|
|
115
111
|
margin-top: -2px;
|
|
116
112
|
`;
|
|
117
|
-
const DesktopMenuItem = styled
|
|
113
|
+
const DesktopMenuItem = styled.default(globalNavStyles.MenuItem) `
|
|
118
114
|
&:first-child > ${globalNavStyles.MenuLinkWithChildren} {
|
|
119
115
|
margin: 0 ${navigation.menuItemMargin};
|
|
120
116
|
}
|
|
@@ -123,23 +119,23 @@ const DesktopMenuItem = styled["default"](globalNavStyles.MenuItem) `
|
|
|
123
119
|
width: auto;
|
|
124
120
|
display: flex;
|
|
125
121
|
padding: 0.75rem 0;
|
|
126
|
-
margin: 0 ${styledUtils.getMultipliedSize(theme
|
|
122
|
+
margin: 0 ${styledUtils.getMultipliedSize(theme.default.base.baseHeight, 1.3)};
|
|
127
123
|
${styledUtils.media.xl `
|
|
128
124
|
margin: 0 ${navigation.menuItemMargin};
|
|
129
125
|
`};
|
|
130
|
-
border-bottom: 3px solid ${theme
|
|
126
|
+
border-bottom: 3px solid ${theme.default.color.default.white};
|
|
131
127
|
position: relative;
|
|
132
|
-
color: ${p => (p.isActive ? theme
|
|
128
|
+
color: ${p => (p.isActive ? theme.default.color.text.pink : theme.default.color.text.black)};
|
|
133
129
|
&:after {
|
|
134
130
|
position: absolute;
|
|
135
131
|
content: '';
|
|
136
132
|
width: 100%;
|
|
137
133
|
bottom: -4px;
|
|
138
|
-
border-bottom: 1px solid ${p => (p.isActive ? theme
|
|
134
|
+
border-bottom: 1px solid ${p => (p.isActive ? theme.default.color.default.pink : 'transparent')};
|
|
139
135
|
}
|
|
140
136
|
&:hover,
|
|
141
137
|
&:focus {
|
|
142
|
-
border-bottom: 3px solid ${theme
|
|
138
|
+
border-bottom: 3px solid ${theme.default.color.default.white};
|
|
143
139
|
}
|
|
144
140
|
}
|
|
145
141
|
&:hover,
|
|
@@ -147,13 +143,13 @@ const DesktopMenuItem = styled["default"](globalNavStyles.MenuItem) `
|
|
|
147
143
|
> a,
|
|
148
144
|
> button {
|
|
149
145
|
cursor: pointer;
|
|
150
|
-
color: ${theme
|
|
146
|
+
color: ${theme.default.color.text.pink};
|
|
151
147
|
}
|
|
152
148
|
}
|
|
153
149
|
`;
|
|
154
|
-
const SubMenuList = styled
|
|
150
|
+
const SubMenuList = styled.default.div `
|
|
155
151
|
position: absolute;
|
|
156
|
-
left: -${styledUtils.getMultipliedSize(theme
|
|
152
|
+
left: -${styledUtils.getMultipliedSize(theme.default.base.baseHeight, 0.5)};
|
|
157
153
|
display: ${({ menuStates, navItemId }) => (menuStates === null || menuStates === void 0 ? void 0 : menuStates.level1) === navItemId ? 'block' : 'none'};
|
|
158
154
|
z-index: ${({ navZIndex }) => navZIndex + 1};
|
|
159
155
|
margin-top: 1px;
|
|
@@ -171,7 +167,7 @@ const SubMenuList = styled["default"].div `
|
|
|
171
167
|
}
|
|
172
168
|
`;
|
|
173
169
|
const SubMenuLevel2 = ({ menuItem }) => {
|
|
174
|
-
const { lang, menuLevel, currentUrl } = React.useContext(NavContext
|
|
170
|
+
const { lang, menuLevel, currentUrl } = React.useContext(NavContext.default);
|
|
175
171
|
// Handle the case where the submenu is not visible
|
|
176
172
|
const measureRef = React.useRef(null);
|
|
177
173
|
React.useEffect(() => {
|
|
@@ -186,16 +182,16 @@ const SubMenuLevel2 = ({ menuItem }) => {
|
|
|
186
182
|
};
|
|
187
183
|
handleOffSet();
|
|
188
184
|
}, [menuLevel.level2, menuItem.id]);
|
|
189
|
-
return (
|
|
190
|
-
|
|
191
|
-
|
|
185
|
+
return (React.createElement(SubMenuListRight, { role: "menu", menuStates: menuLevel, navItemId: menuItem.id, "data-testid": "desktop-nav-menu-ul-level-3", ref: measureRef },
|
|
186
|
+
React.createElement(Box.default, { elevation: "high", padding: styledUtils.getMultipliedSize(theme.default.base.baseHeight, 1) },
|
|
187
|
+
React.createElement("ul", null, menuItem.pages.map((item, index) => {
|
|
192
188
|
const menuUrl = item.urls[lang];
|
|
193
|
-
return (
|
|
194
|
-
|
|
189
|
+
return (React.createElement(SubMenuItem, { key: item.id, isHighlighted: LinkModifier.isSelected(currentUrl, menuUrl, true), role: "none", "data-testid": `desktop-nav-item-level-3-link-${index + 1}` },
|
|
190
|
+
React.createElement(LinkModifier.default, { menuItem: item, tabIndex: false })));
|
|
195
191
|
})))));
|
|
196
192
|
};
|
|
197
193
|
const SubMenuLevel1 = ({ menuItem }) => {
|
|
198
|
-
const { lang, navZIndex, menuLevel, handleNavMenuClick, currentUrl } = React.useContext(NavContext
|
|
194
|
+
const { lang, navZIndex, menuLevel, handleNavMenuClick, currentUrl } = React.useContext(NavContext.default);
|
|
199
195
|
const level1HasElements = Boolean(menuItem.pages.length);
|
|
200
196
|
const menuClick = (element) => (e) => {
|
|
201
197
|
e.preventDefault();
|
|
@@ -204,39 +200,39 @@ const SubMenuLevel1 = ({ menuItem }) => {
|
|
|
204
200
|
if (!level1HasElements) {
|
|
205
201
|
return null;
|
|
206
202
|
}
|
|
207
|
-
return (
|
|
208
|
-
|
|
209
|
-
|
|
203
|
+
return (React.createElement(SubMenuList, { "aria-hidden": false, menuStates: menuLevel, navItemId: menuItem.id, "data-testid": "desktop-nav-menu-ul-level-2", navZIndex: navZIndex },
|
|
204
|
+
React.createElement(Box.default, { elevation: "high", padding: styledUtils.getMultipliedSize(theme.default.base.baseHeight, 1) },
|
|
205
|
+
React.createElement("ul", null, menuItem.pages.map((element, index) => {
|
|
210
206
|
const menuUrl = element.urls[lang];
|
|
211
207
|
if (element.pages.length) {
|
|
212
|
-
return (
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
208
|
+
return (React.createElement(SubMenuItem, { key: element.id, role: "none", "data-testid": `desktop-nav-item-level-2-link-${index + 1}` },
|
|
209
|
+
React.createElement(globalNavStyles.MenuLinkWithChildren, { isActive: menuLevel.level2 === element.id, isHighlighted: LinkModifier.isSelected(currentUrl, menuUrl), onClick: menuClick(element), role: "menuitem", "aria-haspopup": "true", "data-testid": "menu-button-with-children" },
|
|
210
|
+
React.createElement("span", null, element.titles[lang]),
|
|
211
|
+
React.createElement(Icon.default, { icon: icons.ChevronRight, size: "1rem" })),
|
|
212
|
+
React.createElement(SubMenuLevel2, { menuItem: element })));
|
|
217
213
|
}
|
|
218
|
-
return (
|
|
219
|
-
|
|
214
|
+
return (React.createElement(SubMenuItem, { key: element.id, isHighlighted: LinkModifier.isSelected(currentUrl, menuUrl, true), role: "none", "data-testid": `desktop-nav-item-level-2-link-${index + 1}` },
|
|
215
|
+
React.createElement(LinkModifier.default, { menuItem: element, tabIndex: false })));
|
|
220
216
|
})))));
|
|
221
217
|
};
|
|
222
218
|
const MenuItemWithChildren = ({ menuItem, currentLevel }) => {
|
|
223
|
-
const { lang, menuLevel, handleNavMenuClick, currentUrl } = React.useContext(NavContext
|
|
219
|
+
const { lang, menuLevel, handleNavMenuClick, currentUrl } = React.useContext(NavContext.default);
|
|
224
220
|
const menuClickMain = (element) => (e) => {
|
|
225
221
|
e.preventDefault();
|
|
226
222
|
handleNavMenuClick(element.id, 'level1');
|
|
227
223
|
};
|
|
228
224
|
const menuUrl = menuItem.urls[lang];
|
|
229
|
-
return (
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
225
|
+
return (React.createElement(DesktopMenuItem, { isActive: menuLevel.level1 === menuItem.id || LinkModifier.isSelected(currentUrl, menuUrl), role: "none", "data-testid": `desktop-nav-item-level-1-link-${currentLevel + 1}` },
|
|
226
|
+
React.createElement(globalNavStyles.MenuLinkWithChildren, { onClick: menuClickMain(menuItem), role: "menuitem", "aria-haspopup": "true", "data-testid": "menu-button-with-children" },
|
|
227
|
+
React.createElement("span", null, menuItem.titles[lang])),
|
|
228
|
+
React.createElement(SubMenuLevel1, { menuItem: menuItem })));
|
|
233
229
|
};
|
|
234
230
|
const DesktopMenu = () => {
|
|
235
231
|
var _a;
|
|
236
|
-
const { items, lang, resetMenuEvents, menuLevel, currentUrl } = React.useContext(NavContext
|
|
232
|
+
const { items, lang, resetMenuEvents, menuLevel, currentUrl } = React.useContext(NavContext.default);
|
|
237
233
|
const mainNavigation = ((_a = items === null || items === void 0 ? void 0 : items.mainNavigation) === null || _a === void 0 ? void 0 : _a.pages) || [];
|
|
238
234
|
const ref = React.useRef(null);
|
|
239
|
-
useOutsideClick
|
|
235
|
+
useOutsideClick.default(ref, () => {
|
|
240
236
|
if (menuLevel.level1 || menuLevel.level2) {
|
|
241
237
|
resetMenuEvents();
|
|
242
238
|
}
|
|
@@ -244,16 +240,16 @@ const DesktopMenu = () => {
|
|
|
244
240
|
if (!mainNavigation.length) {
|
|
245
241
|
return null;
|
|
246
242
|
}
|
|
247
|
-
return (
|
|
243
|
+
return (React.createElement(DesktopMenuList, { role: "menubar", "aria-hidden": false, ref: ref, "data-testid": "desktop-nav-menu-ul" }, mainNavigation.map((navElement, index) => {
|
|
248
244
|
var _a;
|
|
249
245
|
const menuHasChildren = !!((_a = navElement.pages) === null || _a === void 0 ? void 0 : _a.length);
|
|
250
246
|
if (menuHasChildren) {
|
|
251
|
-
return (
|
|
247
|
+
return (React.createElement(MenuItemWithChildren, { menuItem: navElement, key: navElement.id, currentLevel: index }));
|
|
252
248
|
}
|
|
253
|
-
return (
|
|
249
|
+
return (React.createElement(DesktopMenuItem, { key: navElement.id, role: "none", "data-testid": `desktop-nav-item-level-1-link-${index + 1}`, isActive: menuLevel.level1 === navElement.id ||
|
|
254
250
|
LinkModifier.isSelected(currentUrl, navElement.urls[lang]) },
|
|
255
|
-
|
|
251
|
+
React.createElement(LinkModifier.default, { menuItem: navElement, tabIndex: false })));
|
|
256
252
|
})));
|
|
257
253
|
};
|
|
258
254
|
|
|
259
|
-
exports
|
|
255
|
+
exports.default = DesktopMenu;
|
|
@@ -163,7 +163,7 @@ export declare const IconContainer: import("styled-components").StyledComponent<
|
|
|
163
163
|
pill: string;
|
|
164
164
|
};
|
|
165
165
|
}, {
|
|
166
|
-
isActive?: boolean
|
|
166
|
+
isActive?: boolean;
|
|
167
167
|
collapseSize: number;
|
|
168
168
|
}, never>;
|
|
169
169
|
declare const HeaderNavigationElements: ({ navElementProps, }: {
|
|
@@ -19,20 +19,16 @@ var LoginTooltip = require('./LoginTooltip.js');
|
|
|
19
19
|
var MinicartTooltip = require('./MinicartTooltip.js');
|
|
20
20
|
var PageSearch = require('./PageSearch.js');
|
|
21
21
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
25
|
-
|
|
26
|
-
const DesktopMenuContainer = styled["default"].div `
|
|
22
|
+
const DesktopMenuContainer = styled.default.div `
|
|
27
23
|
height: 100%;
|
|
28
24
|
display: none;
|
|
29
|
-
border-bottom: 1px solid ${theme
|
|
25
|
+
border-bottom: 1px solid ${theme.default.color.line.L03};
|
|
30
26
|
@media (min-width: ${p => p.collapseSize + 1}px) {
|
|
31
27
|
display: block;
|
|
32
|
-
padding-left: ${styledUtils.getMultipliedSize(theme
|
|
28
|
+
padding-left: ${styledUtils.getMultipliedSize(theme.default.base.baseWidth, 0.5)};
|
|
33
29
|
}
|
|
34
30
|
`;
|
|
35
|
-
const IconContainer = styled
|
|
31
|
+
const IconContainer = styled.default.div `
|
|
36
32
|
margin: 0;
|
|
37
33
|
display: flex;
|
|
38
34
|
flex-direction: column;
|
|
@@ -48,7 +44,7 @@ const IconContainer = styled["default"].div `
|
|
|
48
44
|
}
|
|
49
45
|
> span.dnasg-icon > svg,
|
|
50
46
|
> span.dnasg-icon + span {
|
|
51
|
-
color: ${p => (p.isActive ? theme
|
|
47
|
+
color: ${p => (p.isActive ? theme.default.color.text.pink : 'inherit')};
|
|
52
48
|
}
|
|
53
49
|
|
|
54
50
|
@media (min-width: ${p => p.collapseSize + 1}px) {
|
|
@@ -61,14 +57,14 @@ const IconContainer = styled["default"].div `
|
|
|
61
57
|
}
|
|
62
58
|
}
|
|
63
59
|
@media (min-width: ${navigation.wideMenuBreakpoint}px) {
|
|
64
|
-
margin: 0 ${styledUtils.getMultipliedSize(theme
|
|
65
|
-
${styledUtils.getMultipliedSize(theme
|
|
60
|
+
margin: 0 ${styledUtils.getMultipliedSize(theme.default.base.baseHeight, 0.4)} 0
|
|
61
|
+
${styledUtils.getMultipliedSize(theme.default.base.baseHeight, 2)};
|
|
66
62
|
}
|
|
67
63
|
`;
|
|
68
|
-
const HeaderIconContainer = styled
|
|
64
|
+
const HeaderIconContainer = styled.default.div `
|
|
69
65
|
display: flex;
|
|
70
66
|
justify-content: flex-end;
|
|
71
|
-
border-bottom: 1px solid ${theme
|
|
67
|
+
border-bottom: 1px solid ${theme.default.color.line.L03};
|
|
72
68
|
padding-right: 0;
|
|
73
69
|
flex: 1 1 100%;
|
|
74
70
|
@media (min-width: ${p => p.collapseSize + 1}px) {
|
|
@@ -80,7 +76,7 @@ const HeaderIconContainer = styled["default"].div `
|
|
|
80
76
|
}
|
|
81
77
|
}
|
|
82
78
|
`;
|
|
83
|
-
const HeaderIconWrapper = styled
|
|
79
|
+
const HeaderIconWrapper = styled.default.div `
|
|
84
80
|
display: flex;
|
|
85
81
|
flex: 1 1 100%;
|
|
86
82
|
justify-content: space-between;
|
|
@@ -90,7 +86,7 @@ const HeaderIconWrapper = styled["default"].div `
|
|
|
90
86
|
flex: 0 0 100%;
|
|
91
87
|
}
|
|
92
88
|
`;
|
|
93
|
-
const MobileMenuButton = styled
|
|
89
|
+
const MobileMenuButton = styled.default.button `
|
|
94
90
|
display: block;
|
|
95
91
|
@media (min-width: ${p => p.collapseSize + 1}px) {
|
|
96
92
|
display: none;
|
|
@@ -102,7 +98,7 @@ const MobileMenuButton = styled["default"].button `
|
|
|
102
98
|
}
|
|
103
99
|
&:focus,
|
|
104
100
|
&:active {
|
|
105
|
-
color: ${theme
|
|
101
|
+
color: ${theme.default.color.text.pink};
|
|
106
102
|
}
|
|
107
103
|
font-size: 100%;
|
|
108
104
|
font-family: inherit;
|
|
@@ -110,12 +106,12 @@ const MobileMenuButton = styled["default"].button `
|
|
|
110
106
|
padding: 0;
|
|
111
107
|
background: transparent;
|
|
112
108
|
`;
|
|
113
|
-
const MenuWrapper = styled
|
|
109
|
+
const MenuWrapper = styled.default.div `
|
|
114
110
|
height: 50%;
|
|
115
111
|
white-space: nowrap;
|
|
116
112
|
align-self: flex-end;
|
|
117
113
|
`;
|
|
118
|
-
const LogoContainer = styled
|
|
114
|
+
const LogoContainer = styled.default.div `
|
|
119
115
|
margin: 0;
|
|
120
116
|
width: ${navigation.mobileLogoSize};
|
|
121
117
|
height: ${navigation.mobileLogoSize};
|
|
@@ -124,45 +120,45 @@ const LogoContainer = styled["default"].div `
|
|
|
124
120
|
height: ${navigation.desktopLogoSize};
|
|
125
121
|
}
|
|
126
122
|
`;
|
|
127
|
-
const HeaderIconWrapperNoMargin = styled
|
|
123
|
+
const HeaderIconWrapperNoMargin = styled.default.div `
|
|
128
124
|
margin: 0;
|
|
129
125
|
`;
|
|
130
|
-
const RenderDesktopMenu = ({ collapseSize }) => (
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
126
|
+
const RenderDesktopMenu = ({ collapseSize }) => (React.createElement(DesktopMenuContainer, { collapseSize: collapseSize },
|
|
127
|
+
React.createElement(MenuWrapper, null,
|
|
128
|
+
React.createElement(BusinessMenu.default, null)),
|
|
129
|
+
React.createElement(MenuWrapper, null,
|
|
130
|
+
React.createElement(DesktopMenu.default, null))));
|
|
135
131
|
const MenuFunctionality = ({ menuProps }) => {
|
|
136
132
|
var _a;
|
|
137
|
-
const { collapseSize = breakpoints
|
|
133
|
+
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
134
|
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
|
|
140
|
-
return (
|
|
141
|
-
|
|
142
|
-
languagesObject && languageSelectorActive && (
|
|
143
|
-
|
|
144
|
-
isSearch && (
|
|
145
|
-
|
|
146
|
-
isMinicart && (
|
|
147
|
-
|
|
148
|
-
isLogin && (
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
135
|
+
const { handleToggleClick, isMobileMenuOpen } = React.useContext(NavContext.default);
|
|
136
|
+
return (React.createElement(HeaderIconContainer, { collapseSize: collapseSize },
|
|
137
|
+
React.createElement(HeaderIconWrapper, { collapseSize: collapseSize },
|
|
138
|
+
languagesObject && languageSelectorActive && (React.createElement(IconContainer, { "data-testid": "language-selector-container", collapseSize: collapseSize },
|
|
139
|
+
React.createElement(LanguageSelector.default, { currentLanguage: language, languagesObject: languagesObject }))),
|
|
140
|
+
isSearch && (React.createElement(IconContainer, { "data-testid": "header-search-container", collapseSize: collapseSize },
|
|
141
|
+
React.createElement(PageSearch.default, { searchLabel: searchLabel }))),
|
|
142
|
+
isMinicart && (React.createElement(IconContainer, { "data-testid": "header-minicart-container", collapseSize: collapseSize },
|
|
143
|
+
React.createElement(MinicartTooltip.default, { minicartAmount: minicartAmount, minicartLabel: minicartLabel }))),
|
|
144
|
+
isLogin && (React.createElement(IconContainer, { "data-testid": "header-login-container", collapseSize: collapseSize },
|
|
145
|
+
React.createElement(LoginTooltip.default, { loginLabel: loginLabel }))),
|
|
146
|
+
React.createElement(MobileMenuButton, { onClick: handleToggleClick, "aria-label": "menu toggle", role: "button", "aria-expanded": isMobileMenuOpen, collapseSize: collapseSize, "data-testid": "header-mobile-menu-toggle" },
|
|
147
|
+
React.createElement(IconContainer, { isActive: isMobileMenuOpen, collapseSize: collapseSize },
|
|
148
|
+
React.createElement(Icon.default, { icon: isMobileMenuOpen ? icons.Close : icons.Menu, size: "2rem" }))))));
|
|
153
149
|
};
|
|
154
150
|
const HeaderNavigationElements = ({ navElementProps, }) => {
|
|
155
151
|
var _a;
|
|
156
|
-
const { collapseSize = breakpoints
|
|
152
|
+
const { collapseSize = breakpoints.default.md, items, language = 'fi' } = navElementProps;
|
|
157
153
|
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 (
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
154
|
+
return (React.createElement(React.Fragment, null,
|
|
155
|
+
React.createElement(HeaderIconWrapperNoMargin, null,
|
|
156
|
+
React.createElement("a", { href: currentBusinessSite === null || currentBusinessSite === void 0 ? void 0 : currentBusinessSite.urls[language], title: "DNA", "aria-label": "DNA", "data-testid": "dna-logo-link" },
|
|
157
|
+
React.createElement(LogoContainer, { collapseSize: collapseSize },
|
|
158
|
+
React.createElement(DnaLogo.default, { size: "100%" })))),
|
|
159
|
+
React.createElement(RenderDesktopMenu, { collapseSize: collapseSize }),
|
|
160
|
+
React.createElement(MenuFunctionality, { menuProps: navElementProps })));
|
|
165
161
|
};
|
|
166
162
|
|
|
167
163
|
exports.IconContainer = IconContainer;
|
|
168
|
-
exports
|
|
164
|
+
exports.default = HeaderNavigationElements;
|
|
@@ -12,27 +12,23 @@ var NavContext = require('../context/NavContext.js');
|
|
|
12
12
|
var globalNavStyles = require('../globalNavStyles.js');
|
|
13
13
|
var MainNavTooltipMenu = require('./MainNavTooltipMenu.js');
|
|
14
14
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
const MenuItem = styled["default"](globalNavStyles.MenuLink) `
|
|
20
|
-
font-weight: ${theme["default"].fontWeight.medium};
|
|
21
|
-
margin: ${styledUtils.getMultipliedSize(theme["default"].base.baseHeight, 1)} auto;
|
|
15
|
+
const MenuItem = styled.default(globalNavStyles.MenuLink) `
|
|
16
|
+
font-weight: ${theme.default.fontWeight.medium};
|
|
17
|
+
margin: ${styledUtils.getMultipliedSize(theme.default.base.baseHeight, 1)} auto;
|
|
22
18
|
text-align: center;
|
|
23
19
|
`;
|
|
24
|
-
const LangComponent = ({ currentLanguage, languagesObject }) => (
|
|
20
|
+
const LangComponent = ({ currentLanguage, languagesObject }) => (React.createElement(React.Fragment, null, Object.entries(languagesObject)
|
|
25
21
|
.filter(([key]) => key.toLowerCase() !== currentLanguage.toLowerCase())
|
|
26
|
-
.map(([key, value]) => (
|
|
22
|
+
.map(([key, value]) => (React.createElement(MenuItem, { key: `language-${key}`, href: value }, key.toUpperCase())))));
|
|
27
23
|
const LanguageSelector = ({ currentLanguage, languagesObject }) => {
|
|
28
|
-
const { isMobileMenu, navZIndex } = React.useContext(NavContext
|
|
29
|
-
const LngComponent = React.useCallback(() =>
|
|
24
|
+
const { isMobileMenu, navZIndex } = React.useContext(NavContext.default);
|
|
25
|
+
const LngComponent = React.useCallback(() => React.createElement(LangComponent, { currentLanguage: currentLanguage, languagesObject: languagesObject }), [currentLanguage, languagesObject]);
|
|
30
26
|
if (Object.keys(languagesObject).length < 2) {
|
|
31
27
|
return null;
|
|
32
28
|
}
|
|
33
|
-
return (
|
|
34
|
-
|
|
35
|
-
|
|
29
|
+
return (React.createElement(MainNavTooltipMenu.default, { zIndex: navZIndex + 1, tooltipRight: isMobileMenu ? '13.8rem' : '11.8rem', contentComponent: LngComponent, contentWidth: "5rem", globalStateString: "lang", closeWhenTagClicked: ['a'] },
|
|
30
|
+
React.createElement(Icon.default, { icon: icons.Globe, size: "2rem" }),
|
|
31
|
+
React.createElement("span", { "data-testid": "header-lang-label" }, currentLanguage.toUpperCase())));
|
|
36
32
|
};
|
|
37
33
|
|
|
38
|
-
exports
|
|
34
|
+
exports.default = LanguageSelector;
|
|
@@ -6,10 +6,6 @@ var React = require('react');
|
|
|
6
6
|
var NavContext = require('../context/NavContext.js');
|
|
7
7
|
var globalNavStyles = require('../globalNavStyles.js');
|
|
8
8
|
|
|
9
|
-
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
10
|
-
|
|
11
|
-
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
12
|
-
|
|
13
9
|
const isSelected = (currentUrl, linkUrl, exactMatch = false) => {
|
|
14
10
|
if (currentUrl && linkUrl) {
|
|
15
11
|
let url = linkUrl;
|
|
@@ -22,17 +18,17 @@ const isSelected = (currentUrl, linkUrl, exactMatch = false) => {
|
|
|
22
18
|
};
|
|
23
19
|
const isMenuItemLinkAbsolute = (menuItemLink) => menuItemLink.includes('http');
|
|
24
20
|
const LinkModifier = ({ menuItem, tabIndex }) => {
|
|
25
|
-
const { lang, nextJSLinkComponent, resetMenuEvents } = React.useContext(NavContext
|
|
21
|
+
const { lang, nextJSLinkComponent, resetMenuEvents } = React.useContext(NavContext.default);
|
|
26
22
|
const menuItemLink = menuItem.urls[lang] || '';
|
|
27
23
|
if (nextJSLinkComponent && !isMenuItemLinkAbsolute(menuItemLink)) {
|
|
28
24
|
const NextJSLinkComponent = nextJSLinkComponent;
|
|
29
|
-
return (
|
|
30
|
-
|
|
31
|
-
|
|
25
|
+
return (React.createElement(NextJSLinkComponent, { linkUrl: menuItem.urls[lang] },
|
|
26
|
+
React.createElement(globalNavStyles.MenuLink, { href: menuItemLink, id: menuItem.id, onClick: resetMenuEvents, role: "menuitem", tabIndex: tabIndex ? -1 : undefined },
|
|
27
|
+
React.createElement("span", null, menuItem.titles[lang]))));
|
|
32
28
|
}
|
|
33
|
-
return (
|
|
34
|
-
|
|
29
|
+
return (React.createElement(globalNavStyles.MenuLink, { href: menuItem.urls[lang], onClick: resetMenuEvents, tabIndex: tabIndex ? -1 : undefined, id: menuItem.id, role: "menuitem" },
|
|
30
|
+
React.createElement("span", null, menuItem.titles[lang])));
|
|
35
31
|
};
|
|
36
32
|
|
|
37
|
-
exports
|
|
33
|
+
exports.default = LinkModifier;
|
|
38
34
|
exports.isSelected = isSelected;
|
|
@@ -8,16 +8,12 @@ var Icon = require('../../Icon/Icon.js');
|
|
|
8
8
|
var NavContext = require('../context/NavContext.js');
|
|
9
9
|
var MainNavTooltipMenu = require('./MainNavTooltipMenu.js');
|
|
10
10
|
|
|
11
|
-
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
12
|
-
|
|
13
|
-
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
14
|
-
|
|
15
11
|
const LoginTooltip = ({ loginLabel }) => {
|
|
16
12
|
const globalStateString = 'login';
|
|
17
|
-
const { navZIndex, isMobileMenu, loginComponent: LoginComponent } = React.useContext(NavContext
|
|
18
|
-
return (
|
|
19
|
-
|
|
20
|
-
|
|
13
|
+
const { navZIndex, isMobileMenu, loginComponent: LoginComponent } = React.useContext(NavContext.default);
|
|
14
|
+
return (React.createElement(MainNavTooltipMenu.default, { zIndex: navZIndex + 1, tooltipRight: isMobileMenu ? '3rem' : '1rem', contentComponent: LoginComponent, globalStateString: globalStateString, closeWhenTagClicked: ['a', 'button'] },
|
|
15
|
+
React.createElement(Icon.default, { icon: icons.User, size: "2rem" }),
|
|
16
|
+
React.createElement("span", { "data-testid": "header-login-label" }, loginLabel)));
|
|
21
17
|
};
|
|
22
18
|
|
|
23
|
-
exports
|
|
19
|
+
exports.default = LoginTooltip;
|
|
@@ -13,15 +13,11 @@ var Box = require('../../Box/Box.js');
|
|
|
13
13
|
var NavContext = require('../context/NavContext.js');
|
|
14
14
|
var MainNavTooltipMenuExportedStyles = require('./MainNavTooltipMenuExportedStyles.js');
|
|
15
15
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
19
|
-
|
|
20
|
-
const Container = styled["default"].div `
|
|
16
|
+
const Container = styled.default.div `
|
|
21
17
|
width: 100%;
|
|
22
18
|
`;
|
|
23
|
-
const Tooltip = styled
|
|
24
|
-
min-height: ${styledUtils.getMultipliedSize(theme
|
|
19
|
+
const Tooltip = styled.default.div `
|
|
20
|
+
min-height: ${styledUtils.getMultipliedSize(theme.default.base.baseHeight, 5)};
|
|
25
21
|
max-height: calc(var(--vh100, 100vh) - ${navigation.mobileNavMaxHeight});
|
|
26
22
|
width: 100%;
|
|
27
23
|
position: absolute;
|
|
@@ -44,23 +40,23 @@ const Tooltip = styled["default"].div `
|
|
|
44
40
|
top: calc(${navigation.desktopNavMaxHeight} + ${navigation.ribbonHeight});
|
|
45
41
|
}
|
|
46
42
|
`;
|
|
47
|
-
const TooltipBox = styled
|
|
43
|
+
const TooltipBox = styled.default(Box.default) `
|
|
48
44
|
border-top-left-radius: 0 !important;
|
|
49
45
|
border-top-right-radius: 0 !important;
|
|
50
46
|
min-height: inherit;
|
|
51
47
|
max-height: inherit;
|
|
52
48
|
`;
|
|
53
|
-
const Caret = styled
|
|
49
|
+
const Caret = styled.default.div `
|
|
54
50
|
position: absolute;
|
|
55
51
|
z-index: ${p => p.zIndex + 1};
|
|
56
52
|
top: ${navigation.mobileNavMaxHeight};
|
|
57
53
|
transform: translate3d(50%, -50%, 0) rotate(-45deg);
|
|
58
|
-
width: ${styledUtils.getMultipliedSize(theme
|
|
59
|
-
height: ${styledUtils.getMultipliedSize(theme
|
|
60
|
-
background-color: ${theme
|
|
61
|
-
border: 1px solid ${theme
|
|
54
|
+
width: ${styledUtils.getMultipliedSize(theme.default.base.baseWidth, 1.2)};
|
|
55
|
+
height: ${styledUtils.getMultipliedSize(theme.default.base.baseWidth, 1.2)};
|
|
56
|
+
background-color: ${theme.default.color.default.white};
|
|
57
|
+
border: 1px solid ${theme.default.color.line.L03};
|
|
62
58
|
border-width: 1px 1px 0 0;
|
|
63
|
-
margin-left: ${styledUtils.getMultipliedSize(theme
|
|
59
|
+
margin-left: ${styledUtils.getMultipliedSize(theme.default.base.baseWidth, 1.85)};
|
|
64
60
|
${styledUtils.media.md `
|
|
65
61
|
top: calc(${navigation.mobileNavMaxHeight} + ${navigation.ribbonHeight});
|
|
66
62
|
`};
|
|
@@ -69,12 +65,12 @@ const Caret = styled["default"].div `
|
|
|
69
65
|
top: calc(${navigation.desktopNavMaxHeight} + ${navigation.ribbonHeight});
|
|
70
66
|
}
|
|
71
67
|
`;
|
|
72
|
-
const MainNavTooltipMenu = ({ children, zIndex = 1, tooltipRight = '-1rem', contentWidth = '20rem', contentComponent, closeWhenTagClicked = [], globalStateString, fullWidthDesktop = false, fullWidthBreakpoint = theme
|
|
73
|
-
const { collapseSize, isMobileMenu, isLoggedIn, resetMenuEvents, setTooltipItems, showLoginTooltip, showMinicart, tooltipItems, } = React.useContext(NavContext
|
|
68
|
+
const MainNavTooltipMenu = ({ children, zIndex = 1, tooltipRight = '-1rem', contentWidth = '20rem', contentComponent, closeWhenTagClicked = [], globalStateString, fullWidthDesktop = false, fullWidthBreakpoint = theme.default.breakpoints.xs, }) => {
|
|
69
|
+
const { collapseSize, isMobileMenu, isLoggedIn, resetMenuEvents, setTooltipItems, showLoginTooltip, showMinicart, tooltipItems, } = React.useContext(NavContext.default);
|
|
74
70
|
const ref = React.useRef(null);
|
|
75
71
|
const globalStateKey = globalStateString;
|
|
76
72
|
const ContentComponent = contentComponent;
|
|
77
|
-
useDocHeight
|
|
73
|
+
useDocHeight.default();
|
|
78
74
|
React.useEffect(() => {
|
|
79
75
|
setTooltipItems({
|
|
80
76
|
minicart: showMinicart,
|
|
@@ -88,17 +84,17 @@ const MainNavTooltipMenu = ({ children, zIndex = 1, tooltipRight = '-1rem', cont
|
|
|
88
84
|
setTooltipItems(prevItems => (Object.assign(Object.assign({}, prevItems), { [globalStateKey]: !tooltipItems[globalStateKey] })));
|
|
89
85
|
});
|
|
90
86
|
};
|
|
91
|
-
useCloseOutsideOrElementClicked
|
|
87
|
+
useCloseOutsideOrElementClicked.default({ ref, closeWhenTagClicked }, () => {
|
|
92
88
|
if (tooltipItems[globalStateKey]) {
|
|
93
89
|
setTooltipItems(prevItems => (Object.assign(Object.assign({}, prevItems), { [globalStateKey]: false })));
|
|
94
90
|
}
|
|
95
91
|
});
|
|
96
|
-
return (
|
|
97
|
-
|
|
98
|
-
tooltipItems[globalStateKey] &&
|
|
99
|
-
tooltipItems[globalStateKey] && ContentComponent && (
|
|
100
|
-
|
|
101
|
-
|
|
92
|
+
return (React.createElement(Container, { ref: ref },
|
|
93
|
+
React.createElement(MainNavTooltipMenuExportedStyles.default, { collapseSize: collapseSize, isHighlighted: tooltipItems[globalStateKey] || (globalStateKey === 'login' && isLoggedIn), onClick: ContentComponent ? toggleState : undefined }, children),
|
|
94
|
+
tooltipItems[globalStateKey] && React.createElement(Caret, { zIndex: zIndex, collapseSize: collapseSize }),
|
|
95
|
+
tooltipItems[globalStateKey] && ContentComponent && (React.createElement(Tooltip, { zIndex: zIndex, tooltipRight: tooltipRight, contentWidth: contentWidth, collapseSize: collapseSize, fullWidthDesktop: fullWidthDesktop, fullWidthBreakpoint: fullWidthBreakpoint },
|
|
96
|
+
React.createElement(TooltipBox, { elevation: "high", padding: "0", width: "100%" },
|
|
97
|
+
React.createElement(ContentComponent, { mobileView: isMobileMenu }))))));
|
|
102
98
|
};
|
|
103
99
|
|
|
104
|
-
exports
|
|
100
|
+
exports.default = MainNavTooltipMenu;
|