@dnanpm/styleguide 3.11.4 → 3.12.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 (41) hide show
  1. package/build/cjs/components/ButtonPrimary/ButtonPrimary.js +1 -0
  2. package/build/cjs/components/ButtonSecondary/ButtonSecondary.js +1 -0
  3. package/build/cjs/components/Drawer/Drawer.js +9 -8
  4. package/build/cjs/components/Floater/Floater.js +3 -3
  5. package/build/cjs/components/Footer/Components/FooterComponents.js +26 -3
  6. package/build/cjs/components/Hero/Hero.d.ts +88 -0
  7. package/build/cjs/components/Hero/Hero.js +202 -0
  8. package/build/cjs/components/Input/Input.d.ts +10 -1
  9. package/build/cjs/components/Input/Input.js +4 -2
  10. package/build/cjs/components/MainNavigation/ChildComponents/BusinessMenu.js +7 -7
  11. package/build/cjs/components/MainNavigation/ChildComponents/DesktopMenu.js +7 -7
  12. package/build/cjs/components/MainNavigation/MainNavigation.js +7 -7
  13. package/build/cjs/components/PixelLoader/PixelLoader.js +5 -5
  14. package/build/cjs/components/PriorityNavigation/PriorityNavigation.js +7 -5
  15. package/build/cjs/components/ProgressIndicator/ProgressIndicator.js +18 -18
  16. package/build/cjs/components/SecondaryNavigation/SecondaryNavigation.js +27 -27
  17. package/build/cjs/components/Textarea/Textarea.js +1 -1
  18. package/build/cjs/components/index.d.ts +1 -0
  19. package/build/cjs/index.js +2 -0
  20. package/build/cjs/themes/themeComponents/breakpoints.js +1 -0
  21. package/build/es/components/ButtonPrimary/ButtonPrimary.js +1 -0
  22. package/build/es/components/ButtonSecondary/ButtonSecondary.js +1 -0
  23. package/build/es/components/Drawer/Drawer.js +9 -8
  24. package/build/es/components/Floater/Floater.js +3 -3
  25. package/build/es/components/Footer/Components/FooterComponents.js +26 -3
  26. package/build/es/components/Hero/Hero.d.ts +88 -0
  27. package/build/es/components/Hero/Hero.js +194 -0
  28. package/build/es/components/Input/Input.d.ts +10 -1
  29. package/build/es/components/Input/Input.js +4 -2
  30. package/build/es/components/MainNavigation/ChildComponents/BusinessMenu.js +7 -7
  31. package/build/es/components/MainNavigation/ChildComponents/DesktopMenu.js +7 -7
  32. package/build/es/components/MainNavigation/MainNavigation.js +7 -7
  33. package/build/es/components/PixelLoader/PixelLoader.js +5 -5
  34. package/build/es/components/PriorityNavigation/PriorityNavigation.js +7 -5
  35. package/build/es/components/ProgressIndicator/ProgressIndicator.js +18 -18
  36. package/build/es/components/SecondaryNavigation/SecondaryNavigation.js +27 -27
  37. package/build/es/components/Textarea/Textarea.js +1 -1
  38. package/build/es/components/index.d.ts +1 -0
  39. package/build/es/index.js +1 -0
  40. package/build/es/themes/themeComponents/breakpoints.js +1 -0
  41. package/package.json +3 -2
@@ -0,0 +1,194 @@
1
+ import { __rest } from 'tslib';
2
+ import React__default from 'react';
3
+ import { styled } from 'styled-components';
4
+ import theme from '../../themes/theme.js';
5
+ import { getMultipliedSize } from '../../utils/styledUtils.js';
6
+ import Box from '../Box/Box.js';
7
+
8
+ const HERO_CONSTANTS = {
9
+ mobileHeight: 220,
10
+ desktopMinHeight: 460,
11
+ logoMaxWidth: 500,
12
+ };
13
+ const HeroContainer = styled.div `
14
+ position: relative;
15
+ margin-bottom: ${getMultipliedSize(theme.base.baseWidth, 1.25)};
16
+
17
+ @media (min-width: ${theme.breakpoints.md}px) {
18
+ min-height: calc(
19
+ ${HERO_CONSTANTS.desktopMinHeight}px + ${getMultipliedSize(theme.base.baseHeight, 4)}
20
+ );
21
+ display: flex;
22
+ justify-content: ${({ $variant }) => $variant === 'centered' || $variant === 'centered-text-left' ? 'center' : 'flex-start'};
23
+ }
24
+ `;
25
+ const HeroImage = styled.div `
26
+ position: relative;
27
+ height: ${HERO_CONSTANTS.mobileHeight}px;
28
+ background-color: ${({ $backgroundColor }) => $backgroundColor || 'transparent'};
29
+
30
+ ${({ $hasGradient }) => $hasGradient &&
31
+ `
32
+ linear-gradient(180deg, ${theme.color.background.plum.default}${theme.color.transparency.T0} 0%, ${theme.color.background.plum.default}${theme.color.transparency.T30} 100%);
33
+ background-size: 100% 33.33%;
34
+ background-repeat: no-repeat;
35
+ background-position: bottom;
36
+ `}
37
+
38
+ @media (min-width: ${theme.breakpoints.md}px) {
39
+ height: auto;
40
+ position: absolute;
41
+ top: 0;
42
+ left: 0;
43
+ right: 0;
44
+ bottom: ${getMultipliedSize(theme.base.baseHeight, 4)};
45
+ }
46
+
47
+ img {
48
+ width: 100%;
49
+ height: 100%;
50
+ object-fit: cover;
51
+ display: block;
52
+ }
53
+ `;
54
+ const LogoImageWrap = styled.div `
55
+ position: relative;
56
+ height: 100%;
57
+ width: 100%;
58
+ margin: 0 auto;
59
+ padding: 0 ${getMultipliedSize(theme.base.baseWidth, 1.25)};
60
+ `;
61
+ const LogoImageContainer = styled.div `
62
+ position: absolute;
63
+ top: ${getMultipliedSize(theme.base.baseHeight, 1)};
64
+ bottom: ${getMultipliedSize(theme.base.baseHeight, 4)};
65
+ left: ${getMultipliedSize(theme.base.baseWidth, 1.25)};
66
+ right: ${getMultipliedSize(theme.base.baseWidth, 1.25)};
67
+ padding: ${getMultipliedSize(theme.base.baseWidth, 1.25)};
68
+ display: flex;
69
+ align-items: center;
70
+ justify-content: center;
71
+ max-width: ${HERO_CONSTANTS.logoMaxWidth}px;
72
+ margin: 0 auto;
73
+
74
+ img {
75
+ max-width: 100%;
76
+ max-height: 100%;
77
+ object-fit: contain;
78
+ }
79
+
80
+ @media (min-width: ${theme.breakpoints.md}px) {
81
+ top: ${getMultipliedSize(theme.base.baseWidth, 1.25)};
82
+ bottom: ${getMultipliedSize(theme.base.baseWidth, 1.25)};
83
+ right: ${getMultipliedSize(theme.base.baseWidth, 1.25)};
84
+ left: 50%;
85
+ }
86
+
87
+ @media (min-width: ${theme.breakpoints.lg}px) {
88
+ left: calc(min(64%, 750px));
89
+ }
90
+ `;
91
+ const ContentWrap = styled.div `
92
+ width: 100%;
93
+ padding: 0 ${getMultipliedSize(theme.base.baseWidth, 1.25)};
94
+ margin: -${getMultipliedSize(theme.base.baseHeight, 4)} auto 0;
95
+ z-index: 1;
96
+
97
+ @media (min-width: ${theme.breakpoints.md}px) {
98
+ display: flex;
99
+ align-items: flex-end;
100
+ padding: ${getMultipliedSize(theme.base.baseHeight, 4)}
101
+ ${getMultipliedSize(theme.base.baseWidth, 4)} 0;
102
+ margin: 0 auto;
103
+ justify-content: ${({ $variant }) => $variant === 'centered' || $variant === 'centered-text-left' ? 'center' : 'flex-start'};
104
+ }
105
+ `;
106
+ const Content = styled(Box).attrs({
107
+ elevation: 'extraHigh',
108
+ padding: getMultipliedSize(theme.base.baseWidth, 2),
109
+ }) `
110
+ position: relative;
111
+ text-align: ${({ $variant }) => ($variant === 'centered' ? 'center' : 'left')};
112
+
113
+ @media (min-width: ${theme.breakpoints.md}px) {
114
+ padding: ${getMultipliedSize(theme.base.baseWidth, 3)};
115
+ width: 50%;
116
+ max-width: 650px;
117
+ }
118
+
119
+ @media (min-width: ${theme.breakpoints.lg}px) {
120
+ padding: ${getMultipliedSize(theme.base.baseWidth, 4)};
121
+ width: 60%;
122
+ margin-left: ${({ $variant }) => $variant === 'centered' || $variant === 'centered-text-left'
123
+ ? '0'
124
+ : `${getMultipliedSize(theme.base.baseWidth, 4)}`};
125
+ }
126
+ `;
127
+ const LabelContainer = styled.div `
128
+ margin: 0 0 ${getMultipliedSize(theme.base.baseHeight, 1)};
129
+ `;
130
+ const TextContent = styled.div `
131
+ h1,
132
+ h2,
133
+ h3,
134
+ h4,
135
+ h5,
136
+ h6 {
137
+ margin: 0 0 ${getMultipliedSize(theme.base.baseWidth, 1.25)};
138
+ color: ${theme.color.text.black};
139
+ font-family: ${theme.fontFamily.default};
140
+ }
141
+
142
+ p {
143
+ margin: 0 0 ${getMultipliedSize(theme.base.baseWidth, 1)};
144
+ color: ${theme.color.text.black};
145
+ font-family: ${theme.fontFamily.default};
146
+ line-height: ${theme.lineHeight.default};
147
+
148
+ &:last-child {
149
+ margin-bottom: 0;
150
+ }
151
+ }
152
+ `;
153
+ const CtaArea = styled.div `
154
+ margin: ${getMultipliedSize(theme.base.baseWidth, 3)} 0 0;
155
+ display: flex;
156
+ flex-direction: column;
157
+ gap: ${getMultipliedSize(theme.base.baseWidth, 1.5)};
158
+ justify-content: ${({ $variant }) => ($variant === 'centered' ? 'center' : 'flex-start')};
159
+
160
+ @media (min-width: ${theme.breakpoints.md}px) {
161
+ flex-direction: row;
162
+ margin: ${getMultipliedSize(theme.base.baseWidth, 4)} 0 0;
163
+ }
164
+ `;
165
+ const renderImage = (ImageComponent, imageProps) => {
166
+ if (!imageProps)
167
+ return null;
168
+ if (typeof ImageComponent === 'string') {
169
+ // eslint-disable-next-line jsx-a11y/alt-text, react/jsx-props-no-spreading
170
+ return React__default.createElement("img", Object.assign({}, imageProps));
171
+ }
172
+ // eslint-disable-next-line react/jsx-props-no-spreading
173
+ return React__default.createElement(ImageComponent, Object.assign({}, imageProps));
174
+ };
175
+ const Hero = (_a) => {
176
+ var { variant = 'default', headingLevel = 'h1', Image = 'img', LogoImage = 'img', 'data-testid': dataTestId } = _a, props = __rest(_a, ["variant", "headingLevel", "Image", "LogoImage", 'data-testid']);
177
+ const HeadingTag = headingLevel;
178
+ return (React__default.createElement(HeroContainer, { "$variant": variant, className: props.className, "data-testid": dataTestId },
179
+ React__default.createElement(HeroImage, { "$hasGradient": props.hasGradient, "$backgroundColor": props.backgroundColor },
180
+ props.logoImageProps && (React__default.createElement(LogoImageWrap, null,
181
+ React__default.createElement(LogoImageContainer, null, renderImage(LogoImage, props.logoImageProps)))),
182
+ !props.logoImageProps && props.imageProps && renderImage(Image, props.imageProps)),
183
+ React__default.createElement(ContentWrap, { "$variant": variant },
184
+ React__default.createElement(Content, { "$variant": variant },
185
+ props.label && React__default.createElement(LabelContainer, null, props.label),
186
+ React__default.createElement(TextContent, null,
187
+ props.heading && React__default.createElement(HeadingTag, null, props.heading),
188
+ props.description),
189
+ (props.primaryCta || props.secondaryCta) && (React__default.createElement(CtaArea, { "$variant": variant },
190
+ props.primaryCta,
191
+ props.secondaryCta))))));
192
+ };
193
+
194
+ export { Hero as default };
@@ -142,7 +142,16 @@ interface Props {
142
142
  */
143
143
  ariaLabel?: string;
144
144
  /**
145
- * Screen reader label describing the password toggle
145
+ * Screen reader label for "Show password" toggle
146
+ */
147
+ showPasswordLabel?: string;
148
+ /**
149
+ * Screen reader label for "Hide password" toggle
150
+ */
151
+ hidePasswordLabel?: string;
152
+ /**
153
+ * @deprecated Use `showPasswordLabel` and `hidePasswordLabel`
154
+ * Screen reader label describing the password toggle (same for both states)
146
155
  */
147
156
  passwordToggleLabel?: string;
148
157
  /**
@@ -122,7 +122,7 @@ const ErrorMessage = styled(Message) `
122
122
  color: ${theme.color.notification.error};
123
123
  `;
124
124
  const Input = forwardRef((_a, ref) => {
125
- var _b;
125
+ var _b, _c, _d;
126
126
  var { type = 'text', 'data-testid': dataTestId } = _a, props = __rest(_a, ["type", 'data-testid']);
127
127
  const [showPassword, setShowPassword] = useState(false);
128
128
  const togglePasswordVisibility = () => {
@@ -170,7 +170,9 @@ const Input = forwardRef((_a, ref) => {
170
170
  props.readonly ||
171
171
  props.readonlyUnstyled ||
172
172
  props.onClearableButtonClick) && (React__default.createElement(IconWrapper, null,
173
- props.showPasswordToggle && (React__default.createElement(StyledButtonIcon, { icon: showPassword ? EyeOpen : EyeClosed, onClick: togglePasswordVisibility, ariaLabel: props.passwordToggleLabel })),
173
+ props.showPasswordToggle && (React__default.createElement(StyledButtonIcon, { icon: showPassword ? EyeOpen : EyeClosed, onClick: togglePasswordVisibility, ariaLabel: showPassword
174
+ ? ((_c = props.hidePasswordLabel) !== null && _c !== void 0 ? _c : props.passwordToggleLabel)
175
+ : ((_d = props.showPasswordLabel) !== null && _d !== void 0 ? _d : props.passwordToggleLabel) })),
174
176
  (props.status === 'success' || props.status === 'error') && (React__default.createElement(Icon, { "aria-hidden": true, icon: iconsMap[props.status], color: theme.color.notification[props.status] })),
175
177
  (props.disabled || (props.readonly && !props.readonlyUnstyled)) && (React__default.createElement(Icon, { "aria-hidden": true, icon: Lock, className: props.className && `${props.className}-lock-icon` })),
176
178
  props.onClearableButtonClick &&
@@ -5,10 +5,10 @@ import { getMultipliedSize } from '../../../utils/styledUtils.js';
5
5
  import NavContext from '../context/NavContext.js';
6
6
 
7
7
  const BusinessMenuLink = styled.a `
8
- color: ${p => (p.isActive ? theme.color.text.pink : theme.color.text.black)};
8
+ color: ${p => (p.$isActive ? theme.color.text.pink : theme.color.text.black)};
9
9
  display: block;
10
10
  text-decoration: none;
11
- margin: ${p => !p.isMobileMenu
11
+ margin: ${p => !p.$isMobileMenu
12
12
  ? `0 ${getMultipliedSize(theme.base.baseWidth, 1)}`
13
13
  : `${getMultipliedSize(theme.base.baseWidth, 1.25)} ${getMultipliedSize(theme.base.baseWidth, 2)} `};
14
14
  &:hover,
@@ -23,14 +23,14 @@ const BusinessMenuItem = styled.li `
23
23
  overflow: hidden;
24
24
  `;
25
25
  const BusinessMenuList = styled.ul `
26
- display: ${({ isMobileMenu }) => (!isMobileMenu ? 'inline-flex' : 'block')};
26
+ display: ${({ $isMobileMenu }) => (!$isMobileMenu ? 'inline-flex' : 'block')};
27
27
  align-items: center;
28
28
  position: relative;
29
29
  list-style: none;
30
- margin: ${({ isMobileMenu }) => isMobileMenu ? '1rem 0' : `0 ${getMultipliedSize(theme.base.baseWidth, 0.5)}`};
30
+ margin: ${({ $isMobileMenu }) => $isMobileMenu ? '1rem 0' : `0 ${getMultipliedSize(theme.base.baseWidth, 0.5)}`};
31
31
  padding: 0;
32
32
  background-color: ${theme.color.background.white.default};
33
- font-size: ${({ isMobileMenu }) => (isMobileMenu ? theme.fontSize.default : theme.fontSize.s)};
33
+ font-size: ${({ $isMobileMenu }) => $isMobileMenu ? theme.fontSize.default : theme.fontSize.s};
34
34
  height: 100%;
35
35
  `;
36
36
  const BusinessMenu = () => {
@@ -44,8 +44,8 @@ const BusinessMenu = () => {
44
44
  (!items.businessSelector && (businessMenuItems === null || businessMenuItems === void 0 ? void 0 : businessMenuItems.length) > 0)) {
45
45
  return null;
46
46
  }
47
- return (React__default.createElement(BusinessMenuList, { isMobileMenu: isMobileMenu, ref: ref, role: "menubar", "aria-hidden": "false", "data-testid": "business-menu-ul" }, businessMenuItems.map((item, index) => (React__default.createElement(BusinessMenuItem, { className: "menu-item", key: item.businessId, "data-testid": `business-menu-selection-item-${index + 1}`, role: "none" },
48
- React__default.createElement(BusinessMenuLink, { className: "menu-link", href: item.urls[lang], onClick: resetMenuEvents, isActive: item.businessId === currentBusinessId, isMobileMenu: isMobileMenu, role: "menuitem" }, item.titles[lang]))))));
47
+ return (React__default.createElement(BusinessMenuList, { "$isMobileMenu": isMobileMenu, ref: ref, role: "menubar", "aria-hidden": "false", "data-testid": "business-menu-ul" }, businessMenuItems.map((item, index) => (React__default.createElement(BusinessMenuItem, { className: "menu-item", key: item.businessId, "data-testid": `business-menu-selection-item-${index + 1}`, role: "none" },
48
+ React__default.createElement(BusinessMenuLink, { className: "menu-link", href: item.urls[lang], onClick: resetMenuEvents, "$isActive": item.businessId === currentBusinessId, "$isMobileMenu": isMobileMenu, role: "menuitem" }, item.titles[lang]))))));
49
49
  };
50
50
 
51
51
  export { BusinessMenu as default };
@@ -41,10 +41,10 @@ const noAnimation = css `
41
41
  animation: none;
42
42
  `;
43
43
  const SubMenuListRight = styled.div `
44
- display: ${({ menuStates, navItemId }) => menuStates.level1 && menuStates.level2 && menuStates.level2 === navItemId
44
+ display: ${({ $menuStates, $navItemId }) => $menuStates.level1 && $menuStates.level2 && $menuStates.level2 === $navItemId
45
45
  ? 'block'
46
46
  : 'none'};
47
- ${({ menuStates }) => menuStates.level2 && menuStates.animate2 ? fadeRightAnimation : noAnimation};
47
+ ${({ $menuStates }) => $menuStates.level2 && $menuStates.animate2 ? fadeRightAnimation : noAnimation};
48
48
  top: -${getMultipliedSize(theme.base.baseHeight, 2)};
49
49
  padding: ${getMultipliedSize(theme.base.baseHeight, 1)};
50
50
  position: absolute;
@@ -146,10 +146,10 @@ const DesktopMenuItem = styled(MenuItem) `
146
146
  const SubMenuList = styled.div `
147
147
  position: absolute;
148
148
  left: -${getMultipliedSize(theme.base.baseHeight, 0.5)};
149
- display: ${({ menuStates, navItemId }) => (menuStates === null || menuStates === void 0 ? void 0 : menuStates.level1) === navItemId ? 'block' : 'none'};
150
- z-index: ${({ navZIndex }) => navZIndex + 1};
149
+ display: ${({ $menuStates, $navItemId }) => ($menuStates === null || $menuStates === void 0 ? void 0 : $menuStates.level1) === $navItemId ? 'block' : 'none'};
150
+ z-index: ${({ $navZIndex }) => $navZIndex + 1};
151
151
  margin-top: 1px;
152
- ${({ menuStates }) => menuStates.level1 && menuStates.animate2 && !menuStates.level2
152
+ ${({ $menuStates }) => $menuStates.level1 && $menuStates.animate2 && !$menuStates.level2
153
153
  ? fadeInAnimation
154
154
  : noAnimation};
155
155
 
@@ -178,7 +178,7 @@ const SubMenuLevel2 = ({ menuItem }) => {
178
178
  };
179
179
  handleOffSet();
180
180
  }, [menuLevel.level2, menuItem.id]);
181
- return (React__default.createElement(SubMenuListRight, { role: "menu", menuStates: menuLevel, navItemId: menuItem.id, "data-testid": "desktop-nav-menu-ul-level-3", ref: measureRef },
181
+ return (React__default.createElement(SubMenuListRight, { role: "menu", "$menuStates": menuLevel, "$navItemId": menuItem.id, "data-testid": "desktop-nav-menu-ul-level-3", ref: measureRef },
182
182
  React__default.createElement(Box, { elevation: "high", padding: getMultipliedSize(theme.base.baseHeight, 1) },
183
183
  React__default.createElement("ul", null, menuItem.pages.map((item, index) => {
184
184
  const menuUrl = item.urls[lang];
@@ -196,7 +196,7 @@ const SubMenuLevel1 = ({ menuItem }) => {
196
196
  if (!level1HasElements) {
197
197
  return null;
198
198
  }
199
- return (React__default.createElement(SubMenuList, { "aria-hidden": false, menuStates: menuLevel, navItemId: menuItem.id, "data-testid": "desktop-nav-menu-ul-level-2", navZIndex: navZIndex },
199
+ return (React__default.createElement(SubMenuList, { "aria-hidden": false, "$menuStates": menuLevel, "$navItemId": menuItem.id, "$navZIndex": navZIndex, "data-testid": "desktop-nav-menu-ul-level-2" },
200
200
  React__default.createElement(Box, { elevation: "high", padding: getMultipliedSize(theme.base.baseHeight, 1) },
201
201
  React__default.createElement("ul", null, menuItem.pages.map((element, index) => {
202
202
  const menuUrl = element.urls[lang];
@@ -65,7 +65,7 @@ const PageOverlay = styled.div `
65
65
  width: 100%;
66
66
  height: 100%;
67
67
  background: ${theme.color.background.plum.default + theme.color.transparency.T10};
68
- z-index: ${({ navZIndex }) => navZIndex - 1};
68
+ z-index: ${({ $navZIndex }) => $navZIndex - 1};
69
69
  `;
70
70
  const scrollThreshold = 82;
71
71
  const checkThreshold = (prevPos, currPos) => {
@@ -75,7 +75,7 @@ const checkThreshold = (prevPos, currPos) => {
75
75
  return currPos - prevPos > scrollThreshold;
76
76
  };
77
77
  const GlobalNavigationContainer = styled.nav `
78
- z-index: ${({ navZIndex }) => navZIndex};
78
+ z-index: ${({ $navZIndex }) => $navZIndex};
79
79
  position: relative;
80
80
  position: sticky;
81
81
  display: block;
@@ -84,7 +84,7 @@ const GlobalNavigationContainer = styled.nav `
84
84
  width: 100%;
85
85
  background-color: ${theme.color.background.white.default};
86
86
  color: ${theme.color.text.black};
87
- top: ${({ menuLevel, tooltipMenuActive }) => (menuLevel === null || menuLevel === void 0 ? void 0 : menuLevel.hideOnScroll) && !(menuLevel === null || menuLevel === void 0 ? void 0 : menuLevel.level1) && !tooltipMenuActive
87
+ top: ${({ $menuLevel, $tooltipMenuActive }) => ($menuLevel === null || $menuLevel === void 0 ? void 0 : $menuLevel.hideOnScroll) && !($menuLevel === null || $menuLevel === void 0 ? void 0 : $menuLevel.level1) && !$tooltipMenuActive
88
88
  ? `calc(-${desktopNavMaxHeight} - ${ribbonHeight})`
89
89
  : '0px'} !important;
90
90
  transition: top 0.2s ease-in-out;
@@ -96,7 +96,7 @@ const NavigationWrapper = styled.div `
96
96
  max-width: ${getMultipliedSize(theme.base.baseHeight, 256)};
97
97
  margin: 0 auto;
98
98
  height: ${mobileNavMaxHeight};
99
- @media (min-width: ${p => p.collapseSize + 1}px) {
99
+ @media (min-width: ${p => p.$collapseSize + 1}px) {
100
100
  height: ${desktopNavMaxHeight};
101
101
  }
102
102
  `;
@@ -297,13 +297,13 @@ const MainNavigation = ({ items = {}, language = 'fi', zIndex = 1030, languageSe
297
297
  }
298
298
  }, undefined, false, 200);
299
299
  return (React__default.createElement(React__default.Fragment, null,
300
- isPageOverlay && React__default.createElement(PageOverlay, { "data-testid": "navigation-overlay", navZIndex: zIndex }),
301
- React__default.createElement(GlobalNavigationContainer, { className: className, ref: navigationEl, collapseSize: collapseSize, menuLevel: menuLevel, "data-testid": "main-navigation", navZIndex: zIndex, tooltipMenuActive: tooltipMenuActive },
300
+ isPageOverlay && React__default.createElement(PageOverlay, { "data-testid": "navigation-overlay", "$navZIndex": zIndex }),
301
+ React__default.createElement(GlobalNavigationContainer, { className: className, ref: navigationEl, "$collapseSize": collapseSize, "$menuLevel": menuLevel, "$navZIndex": zIndex, "$tooltipMenuActive": tooltipMenuActive, "data-testid": "main-navigation" },
302
302
  React__default.createElement(NavContext.Provider, { value: navigationContext },
303
303
  React__default.createElement(GlobalStyle, null),
304
304
  !items.mainNavigation && notificationText && (React__default.createElement(Notification, { type: "info" }, notificationText)),
305
305
  ribbon && ribbonData && React__default.createElement(Ribbon, { ribbonData: ribbonData, lang: language }),
306
- React__default.createElement(NavigationWrapper, { collapseSize: collapseSize },
306
+ React__default.createElement(NavigationWrapper, { "$collapseSize": collapseSize },
307
307
  React__default.createElement(HeaderNavigationElements, { navElementProps: props }),
308
308
  isMobile && React__default.createElement(RenderMobileMenu, null))))));
309
309
  };
@@ -21,7 +21,7 @@ const PixelLoaderWrapper = styled.div `
21
21
  padding: 0.125rem;
22
22
  `;
23
23
  const Pixel = styled.div `
24
- background-color: ${({ color }) => color || theme.color.default.pink};
24
+ background-color: ${({ $color }) => $color || theme.color.default.pink};
25
25
  display: inline-block;
26
26
  width: 0.625rem;
27
27
  height: 0.625rem;
@@ -34,10 +34,10 @@ const PixelLoader = (_a) => {
34
34
  var { className, 'data-testid': dataTestId } = _a, props = __rest(_a, ["className", 'data-testid']);
35
35
  return (React__default.createElement(PixelLoaderWrapper, { className: className, "data-testid": dataTestId },
36
36
  props.label && React__default.createElement("span", { className: "visually-hidden" }, props.label),
37
- React__default.createElement(Pixel, { color: props.color, "$delay": "-0.27" }),
38
- React__default.createElement(Pixel, { color: props.color, "$delay": "-0.18" }),
39
- React__default.createElement(Pixel, { color: props.color, "$delay": "-0.09" }),
40
- React__default.createElement(Pixel, { color: props.color, "$delay": "0" })));
37
+ React__default.createElement(Pixel, { "$color": props.color, "$delay": "-0.27" }),
38
+ React__default.createElement(Pixel, { "$color": props.color, "$delay": "-0.18" }),
39
+ React__default.createElement(Pixel, { "$color": props.color, "$delay": "-0.09" }),
40
+ React__default.createElement(Pixel, { "$color": props.color, "$delay": "0" })));
41
41
  };
42
42
 
43
43
  export { PixelLoader as default };
@@ -56,7 +56,7 @@ const MobileDropdown = styled.button `
56
56
  cursor: pointer;
57
57
  background: none;
58
58
  border: none;
59
- padding: ${({ isCategoryLabel }) => (isCategoryLabel ? '0.5rem' : '0.75rem')} 1.25rem;
59
+ padding: ${({ $isCategoryLabel }) => ($isCategoryLabel ? '0.5rem' : '0.75rem')} 1.25rem;
60
60
  color: ${theme.color.text.pink};
61
61
  font-size: ${theme.fontSize.default};
62
62
  line-height: ${theme.lineHeight.default};
@@ -117,8 +117,10 @@ const DropdownList = styled(CoreULStyles) `
117
117
  background-color: ${theme.color.background.white.default};
118
118
  border: 1px solid ${theme.color.line.L04};
119
119
  border-radius: 0 0 ${theme.radius.default} ${theme.radius.default};
120
- visibility: ${({ isDropdownListOpen }) => (isDropdownListOpen ? 'visible' : 'hidden')};
121
- clip-path: inset(0% 0% ${({ isDropdownListOpen }) => (isDropdownListOpen ? '0%' : '100%')} 0%);
120
+ visibility: ${({ $isDropdownListOpen }) => ($isDropdownListOpen ? 'visible' : 'hidden')};
121
+ clip-path: inset(
122
+ 0% 0% ${({ $isDropdownListOpen }) => ($isDropdownListOpen ? '0%' : '100%')} 0%
123
+ );
122
124
  transition: all 0.2s ease-in-out;
123
125
 
124
126
  ${media.md `
@@ -319,7 +321,7 @@ const PriorityNavigation = (_a) => {
319
321
  !isMobile && props.categoryLabel && (React__default.createElement(Category, { id: categoryId }, props.categoryLabel)),
320
322
  React__default.createElement("nav", { "aria-labelledby": categoryId },
321
323
  React__default.createElement(ListsContainer, { ref: listsContainerRef },
322
- isMobile && selectedItem && (React__default.createElement(MobileDropdown, { onClick: toggleMobileNavigation, "aria-label": mobileDropdownAriaLabel !== null && mobileDropdownAriaLabel !== void 0 ? mobileDropdownAriaLabel : `${props.categoryLabel ? `${props.categoryLabel}, ` : ''}${selectedItem}.`, "aria-expanded": isMobileNavigationOpen, isCategoryLabel: Boolean(props.categoryLabel) },
324
+ isMobile && selectedItem && (React__default.createElement(MobileDropdown, { onClick: toggleMobileNavigation, "aria-label": mobileDropdownAriaLabel !== null && mobileDropdownAriaLabel !== void 0 ? mobileDropdownAriaLabel : `${props.categoryLabel ? `${props.categoryLabel}, ` : ''}${selectedItem}.`, "aria-expanded": isMobileNavigationOpen, "$isCategoryLabel": Boolean(props.categoryLabel) },
323
325
  React__default.createElement(MobileDropdownContent, null,
324
326
  props.categoryLabel && React__default.createElement(Category, null, props.categoryLabel),
325
327
  selectedItem),
@@ -346,7 +348,7 @@ const PriorityNavigation = (_a) => {
346
348
  !isMobile && Boolean(state.dropdownItems.length) && (React__default.createElement(React__default.Fragment, null,
347
349
  React__default.createElement("div", null,
348
350
  React__default.createElement(ButtonIcon, { ref: dropdownButtonRef, ariaLabel: openMoreSubpagesAriaLabel, ariaExpanded: isDropdownListOpen, onClick: toggleDropdown, icon: isDropdownListOpen ? ChevronUp : ChevronDown, isReversed: true, "data-testid": "dropdown-button" }, dropdownButtonLabel)),
349
- isDropdownListOpen && (React__default.createElement(DropdownList, { isDropdownListOpen: isDropdownListOpen }, state.dropdownItems.map(dropdownItem => isValidElement(dropdownItem) &&
351
+ isDropdownListOpen && (React__default.createElement(DropdownList, { "$isDropdownListOpen": isDropdownListOpen }, state.dropdownItems.map(dropdownItem => isValidElement(dropdownItem) &&
350
352
  dropdownItem.type === PriorityNavigationItem && (React__default.createElement(PriorityNavigationItem, { id: dropdownItem.props.id, key: dropdownItem.key, onClick: dropdownItem.props.onClick || props.onClick, onKeyDown: dropdownItem.props.onKeyDown ||
351
353
  props.onKeyDown, isActive: dropdownItem.props.isActive, className: dropdownItem.props.className, "data-testid": dropdownItem.props['data-testid'] }, dropdownItem.props.children)))))))))));
352
354
  };
@@ -32,7 +32,7 @@ const ProgressIndicatorItem = styled.li `
32
32
  flex-direction: column;
33
33
  align-items: center;
34
34
  flex: 1.5 1 0%;
35
- gap: ${({ small }) => getMultipliedSize(theme.base.baseWidth, small ? 0.5 : 1)};
35
+ gap: ${({ $small }) => getMultipliedSize(theme.base.baseWidth, $small ? 0.5 : 1)};
36
36
 
37
37
  &:first-of-type {
38
38
  align-items: flex-start;
@@ -62,34 +62,34 @@ const ProgressIndicatorItem = styled.li `
62
62
  `;
63
63
  const ProgressIndicatorItemConnector = styled.div `
64
64
  position: absolute;
65
- top: ${({ small }) => getMultipliedSize(theme.base.baseHeight, small ? 1.5 : 2)};
65
+ top: ${({ $small }) => getMultipliedSize(theme.base.baseHeight, $small ? 1.5 : 2)};
66
66
  left: -50%;
67
67
  right: 50%;
68
68
  width: 100%;
69
- height: ${({ small }) => (small ? '2px' : '4px')};
70
- background-color: ${({ isActive, isCompleted }) => isActive || isCompleted ? theme.color.default.pink : theme.color.line.L02};
69
+ height: ${({ $small }) => ($small ? '2px' : '4px')};
70
+ background-color: ${({ $isActive, $isCompleted }) => $isActive || $isCompleted ? theme.color.default.pink : theme.color.line.L02};
71
71
  `;
72
72
  const ProgressIndicatorItemNumber = styled.div `
73
73
  display: flex;
74
74
  justify-content: center;
75
75
  align-items: center;
76
- font-size: ${({ small }) => (small ? theme.fontSize.s : theme.fontSize.l)};
76
+ font-size: ${({ $small }) => ($small ? theme.fontSize.s : theme.fontSize.l)};
77
77
  font-weight: ${theme.fontWeight.bold};
78
- width: ${({ small }) => getMultipliedSize(theme.base.baseWidth, small ? 3 : 4)};
79
- height: ${({ small }) => getMultipliedSize(theme.base.baseHeight, small ? 3 : 4)};
80
- cursor: ${({ isClickable }) => (isClickable ? 'pointer' : 'default')};
81
- color: ${({ isActive }) => (isActive ? theme.color.text.white : theme.color.text.gray)};
78
+ width: ${({ $small }) => getMultipliedSize(theme.base.baseWidth, $small ? 3 : 4)};
79
+ height: ${({ $small }) => getMultipliedSize(theme.base.baseHeight, $small ? 3 : 4)};
80
+ cursor: ${({ $isClickable }) => ($isClickable ? 'pointer' : 'default')};
81
+ color: ${({ $isActive }) => ($isActive ? theme.color.text.white : theme.color.text.gray)};
82
82
  border-radius: ${theme.radius.circle};
83
- border: ${({ small, isActive, isCompleted, isError }) => `${small ? '3px' : '4px'} solid ${getBorderColor({ isActive, isCompleted, isError })}`};
83
+ border: ${({ $small, $isActive, $isCompleted, $isError }) => `${$small ? '3px' : '4px'} solid ${getBorderColor({ isActive: $isActive, isCompleted: $isCompleted, isError: $isError })}`};
84
84
  z-index: 1;
85
85
 
86
- ${({ isActive, isError }) => getBackgroundColor({ isActive, isError })}
86
+ ${({ $isActive, $isError }) => getBackgroundColor({ isActive: $isActive, isError: $isError })}
87
87
  `;
88
88
  const ProgressIndicatorItemLabel = styled.div `
89
- font-size: ${({ small }) => (small ? theme.fontSize.xs : theme.fontSize.s)};
90
- line-height: ${({ small }) => (small ? theme.lineHeight.xs : theme.lineHeight.s)};
89
+ font-size: ${({ $small }) => ($small ? theme.fontSize.xs : theme.fontSize.s)};
90
+ line-height: ${({ $small }) => ($small ? theme.lineHeight.xs : theme.lineHeight.s)};
91
91
  font-weight: ${theme.fontWeight.bold};
92
- color: ${({ isActive }) => (isActive ? theme.color.text.black : theme.color.text.gray)};
92
+ color: ${({ $isActive }) => ($isActive ? theme.color.text.black : theme.color.text.gray)};
93
93
 
94
94
  ${media.sm `
95
95
  &.visually-hidden {
@@ -125,12 +125,12 @@ const ProgressIndicator = (_a) => {
125
125
  }
126
126
  };
127
127
  const isClickable = isCompleted && Boolean(props.onStepClick);
128
- return (React__default.createElement(ProgressIndicatorItem, { key: id, small: props.small },
129
- index > 0 && (React__default.createElement(ProgressIndicatorItemConnector, { small: props.small, isActive: isActive, isCompleted: isCompleted })),
130
- React__default.createElement(ProgressIndicatorItemNumber, { small: props.small, onClick: handleClick, isActive: isActive, isCompleted: isCompleted, isError: isError, onKeyDown: handleKeyDown, tabIndex: isClickable || isActive ? 0 : -1, isClickable: isClickable, role: "tab", "aria-current": isActive ? 'step' : 'false', "aria-label": isCompleted && props.completedStepLabel
128
+ return (React__default.createElement(ProgressIndicatorItem, { key: id, "$small": props.small },
129
+ index > 0 && (React__default.createElement(ProgressIndicatorItemConnector, { "$small": props.small, "$isActive": isActive, "$isCompleted": isCompleted })),
130
+ React__default.createElement(ProgressIndicatorItemNumber, { "$small": props.small, "$isActive": isActive, "$isCompleted": isCompleted, "$isError": isError, "$isClickable": isClickable, onClick: handleClick, onKeyDown: handleKeyDown, tabIndex: isClickable || isActive ? 0 : -1, role: "tab", "aria-current": isActive ? 'step' : 'false', "aria-label": isCompleted && props.completedStepLabel
131
131
  ? `${label}, ${props.completedStepLabel}`
132
132
  : label }, isCompleted || isError ? (React__default.createElement(Icon, { icon: isError ? Warning : Check, color: isError ? theme.color.text.white : theme.color.text.pink, size: "1rem", "aria-hidden": true })) : (stepNumber)),
133
- label && (React__default.createElement(ProgressIndicatorItemLabel, { "aria-hidden": true, small: props.small, onClick: handleClick, isActive: isActive, className: "visually-hidden" }, label))));
133
+ label && (React__default.createElement(ProgressIndicatorItemLabel, { "aria-hidden": true, "$small": props.small, "$isActive": isActive, onClick: handleClick, className: "visually-hidden" }, label))));
134
134
  });
135
135
  return (React__default.createElement(ProgressIndicatorWrapper, { className: props.className, "data-testid": dataTestId, "aria-label": props.ariaLabel, role: "tablist" }, progressIndicatorItems));
136
136
  };