@comicrelief/component-library 8.47.2 → 8.47.4
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/dist/components/Atoms/SocialIcons/Icon/Icon.js +1 -1
- package/dist/components/Atoms/SocialIcons/SocialIcons.js +39 -14
- package/dist/components/Atoms/SocialIcons/__snapshots__/SocialIcons.test.js.snap +36 -12
- package/dist/components/Molecules/EmailSignUp/EmailSignUp.js +13 -1
- package/dist/components/Molecules/EmailSignUp/EmailSignUp.style.js +6 -6
- package/dist/components/Molecules/HeroBanner/HeroBanner.md +1 -3
- package/dist/components/Organisms/Footer/FundraisingRegulatorLogo/FundraisingRegulatorLogo.js +2 -2
- package/dist/components/Organisms/Footer/__snapshots__/Footer.test.js.snap +12 -4
- package/dist/components/Organisms/FooterNew/FooterNew.js +4 -2
- package/dist/components/Organisms/FooterNew/FooterNew.style.js +68 -68
- package/dist/components/Organisms/FooterNew/__snapshots__/FooterNew.test.js.snap +281 -177
- package/dist/theme/shared/animations.js +14 -2
- package/package.json +1 -1
- package/src/components/Atoms/SocialIcons/Icon/Icon.js +1 -0
- package/src/components/Atoms/SocialIcons/SocialIcons.js +7 -3
- package/src/components/Atoms/SocialIcons/__snapshots__/SocialIcons.test.js.snap +36 -12
- package/src/components/Molecules/EmailSignUp/EmailSignUp.js +7 -1
- package/src/components/Molecules/EmailSignUp/EmailSignUp.style.js +56 -6
- package/src/components/Molecules/HeroBanner/HeroBanner.md +1 -3
- package/src/components/Molecules/HeroBanner/HeroBanner.style.js +0 -1
- package/src/components/Organisms/Footer/FundraisingRegulatorLogo/FundraisingRegulatorLogo.js +2 -2
- package/src/components/Organisms/Footer/__snapshots__/Footer.test.js.snap +12 -4
- package/src/components/Organisms/FooterNew/FooterNew.js +2 -2
- package/src/components/Organisms/FooterNew/FooterNew.style.js +27 -12
- package/src/components/Organisms/FooterNew/__snapshots__/FooterNew.test.js.snap +281 -177
- package/src/theme/shared/animations.js +27 -1
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.springScaleAnimation = exports.logoRotateAnimation = exports.bounceUpAnimation = void 0;
|
|
6
|
+
exports.springScaleAnimation = exports.logoRotateAnimation = exports.formFieldInputAnimation = exports.bounceUpAnimation = void 0;
|
|
7
7
|
var _styledComponents = require("styled-components");
|
|
8
8
|
/**
|
|
9
9
|
* Logo rotation animation on hover
|
|
@@ -44,6 +44,18 @@ const springScaleAnimation = function (animateScale) {
|
|
|
44
44
|
return (0, _styledComponents.css)(["transition:transform ", "s cubic-bezier(0.68,", ",0.265,", ");transform-origin:center;&:hover,&:focus{transform:scale(", ");}"], duration, pullBack, overshoot, scaleFactor);
|
|
45
45
|
};
|
|
46
46
|
|
|
47
|
+
/**
|
|
48
|
+
* formFieldInputAnimation on hover / focus-within
|
|
49
|
+
* Slides the text inside an input a few pixels to the right.
|
|
50
|
+
* @param {number} shiftPx - Pixel amount to indent the text (default: 4)
|
|
51
|
+
* @returns {css}
|
|
52
|
+
*/
|
|
53
|
+
exports.springScaleAnimation = springScaleAnimation;
|
|
54
|
+
const formFieldInputAnimation = function () {
|
|
55
|
+
let shiftPx = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 4;
|
|
56
|
+
return (0, _styledComponents.css)(["input,textarea{text-indent:0;transition:text-indent 0.18s ease;}&:hover input,&:hover textarea,&:focus-within input,&:focus-within textarea{text-indent:", "px;}"], shiftPx);
|
|
57
|
+
};
|
|
58
|
+
|
|
47
59
|
/**
|
|
48
60
|
* bounceUpAnimation animation on hover
|
|
49
61
|
* Applies a smooth spring-like position transition that moves the element up on hover/focus
|
|
@@ -52,7 +64,7 @@ const springScaleAnimation = function (animateScale) {
|
|
|
52
64
|
* @param {number} bounceIntensity - Intensity of the springy bounce effect (0-3, default: 1)
|
|
53
65
|
* @returns {css} template literal for the animation
|
|
54
66
|
*/
|
|
55
|
-
exports.
|
|
67
|
+
exports.formFieldInputAnimation = formFieldInputAnimation;
|
|
56
68
|
const bounceUpAnimation = function (animateScale) {
|
|
57
69
|
let pixelMovement = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 10;
|
|
58
70
|
let bounceIntensity = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
|
package/package.json
CHANGED
|
@@ -8,8 +8,10 @@ import spacing from '../../../theme/shared/spacing';
|
|
|
8
8
|
|
|
9
9
|
const StyledList = styled.ul`
|
|
10
10
|
display: flex;
|
|
11
|
+
flex-wrap: ${({ newStyle }) => (newStyle ? 'wrap' : 'nowrap')};
|
|
12
|
+
gap: ${({ newStyle }) => (newStyle ? `${spacing('l')}` : '0')};
|
|
11
13
|
list-style-type: none;
|
|
12
|
-
justify-content: ${newStyle => (newStyle ? '
|
|
14
|
+
justify-content: ${newStyle => (newStyle ? 'flex-start' : 'center')};
|
|
13
15
|
margin: ${({ newStyle }) => (newStyle ? `${spacing('lg')} 0` : '0 auto 0 0')};
|
|
14
16
|
padding: 0;
|
|
15
17
|
align-items: center;
|
|
@@ -21,11 +23,13 @@ const StyledList = styled.ul`
|
|
|
21
23
|
`;
|
|
22
24
|
|
|
23
25
|
const StyledItem = styled.li`
|
|
24
|
-
width: 48px;
|
|
26
|
+
width: ${({ newStyle }) => (newStyle ? '54px' : '48px')};
|
|
27
|
+
height: ${({ newStyle }) => (newStyle ? '54px' : 'auto')};
|
|
28
|
+
flex: 0 0 ${({ newStyle }) => (newStyle ? '54px' : '48px')};
|
|
25
29
|
margin-right: ${({ newStyle }) => (newStyle ? '0' : spacing('m'))};
|
|
26
30
|
|
|
27
31
|
@media ${({ theme }) => theme.breakpoints2026('M')} {
|
|
28
|
-
margin-right: ${({ newStyle }) => (newStyle ?
|
|
32
|
+
margin-right: ${({ newStyle }) => (newStyle ? 0 : spacing('m'))};
|
|
29
33
|
}
|
|
30
34
|
`;
|
|
31
35
|
|
|
@@ -25,11 +25,15 @@ exports[`renders correctly with Comic Relief links 1`] = `
|
|
|
25
25
|
display: -webkit-flex;
|
|
26
26
|
display: -ms-flexbox;
|
|
27
27
|
display: flex;
|
|
28
|
+
-webkit-flex-wrap: nowrap;
|
|
29
|
+
-ms-flex-wrap: nowrap;
|
|
30
|
+
flex-wrap: nowrap;
|
|
31
|
+
gap: 0;
|
|
28
32
|
list-style-type: none;
|
|
29
|
-
-webkit-box-pack:
|
|
30
|
-
-webkit-justify-content:
|
|
31
|
-
-ms-flex-pack:
|
|
32
|
-
justify-content:
|
|
33
|
+
-webkit-box-pack: start;
|
|
34
|
+
-webkit-justify-content: flex-start;
|
|
35
|
+
-ms-flex-pack: start;
|
|
36
|
+
justify-content: flex-start;
|
|
33
37
|
margin: 0 auto 0 0;
|
|
34
38
|
padding: 0;
|
|
35
39
|
-webkit-align-items: center;
|
|
@@ -40,6 +44,10 @@ exports[`renders correctly with Comic Relief links 1`] = `
|
|
|
40
44
|
|
|
41
45
|
.c1 {
|
|
42
46
|
width: 48px;
|
|
47
|
+
height: auto;
|
|
48
|
+
-webkit-flex: 0 0 48px;
|
|
49
|
+
-ms-flex: 0 0 48px;
|
|
50
|
+
flex: 0 0 48px;
|
|
43
51
|
margin-right: 1.5rem;
|
|
44
52
|
}
|
|
45
53
|
|
|
@@ -166,11 +174,15 @@ exports[`renders correctly with Red Nose Day links and self target 1`] = `
|
|
|
166
174
|
display: -webkit-flex;
|
|
167
175
|
display: -ms-flexbox;
|
|
168
176
|
display: flex;
|
|
177
|
+
-webkit-flex-wrap: nowrap;
|
|
178
|
+
-ms-flex-wrap: nowrap;
|
|
179
|
+
flex-wrap: nowrap;
|
|
180
|
+
gap: 0;
|
|
169
181
|
list-style-type: none;
|
|
170
|
-
-webkit-box-pack:
|
|
171
|
-
-webkit-justify-content:
|
|
172
|
-
-ms-flex-pack:
|
|
173
|
-
justify-content:
|
|
182
|
+
-webkit-box-pack: start;
|
|
183
|
+
-webkit-justify-content: flex-start;
|
|
184
|
+
-ms-flex-pack: start;
|
|
185
|
+
justify-content: flex-start;
|
|
174
186
|
margin: 0 auto 0 0;
|
|
175
187
|
padding: 0;
|
|
176
188
|
-webkit-align-items: center;
|
|
@@ -181,6 +193,10 @@ exports[`renders correctly with Red Nose Day links and self target 1`] = `
|
|
|
181
193
|
|
|
182
194
|
.c1 {
|
|
183
195
|
width: 48px;
|
|
196
|
+
height: auto;
|
|
197
|
+
-webkit-flex: 0 0 48px;
|
|
198
|
+
-ms-flex: 0 0 48px;
|
|
199
|
+
flex: 0 0 48px;
|
|
184
200
|
margin-right: 1.5rem;
|
|
185
201
|
}
|
|
186
202
|
|
|
@@ -307,11 +323,15 @@ exports[`renders correctly with Sport Relief links 1`] = `
|
|
|
307
323
|
display: -webkit-flex;
|
|
308
324
|
display: -ms-flexbox;
|
|
309
325
|
display: flex;
|
|
326
|
+
-webkit-flex-wrap: nowrap;
|
|
327
|
+
-ms-flex-wrap: nowrap;
|
|
328
|
+
flex-wrap: nowrap;
|
|
329
|
+
gap: 0;
|
|
310
330
|
list-style-type: none;
|
|
311
|
-
-webkit-box-pack:
|
|
312
|
-
-webkit-justify-content:
|
|
313
|
-
-ms-flex-pack:
|
|
314
|
-
justify-content:
|
|
331
|
+
-webkit-box-pack: start;
|
|
332
|
+
-webkit-justify-content: flex-start;
|
|
333
|
+
-ms-flex-pack: start;
|
|
334
|
+
justify-content: flex-start;
|
|
315
335
|
margin: 0 auto 0 0;
|
|
316
336
|
padding: 0;
|
|
317
337
|
-webkit-align-items: center;
|
|
@@ -322,6 +342,10 @@ exports[`renders correctly with Sport Relief links 1`] = `
|
|
|
322
342
|
|
|
323
343
|
.c1 {
|
|
324
344
|
width: 48px;
|
|
345
|
+
height: auto;
|
|
346
|
+
-webkit-flex: 0 0 48px;
|
|
347
|
+
-ms-flex: 0 0 48px;
|
|
348
|
+
flex: 0 0 48px;
|
|
325
349
|
margin-right: 1.5rem;
|
|
326
350
|
}
|
|
327
351
|
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
|
+
import Arrow from '../../Atoms/Icons/Arrow';
|
|
3
4
|
import {
|
|
4
5
|
EmailSignUpWrapper,
|
|
5
6
|
LabelWrapper,
|
|
@@ -39,7 +40,12 @@ const EmailSignUp = ({ formContext, ...rest }) => {
|
|
|
39
40
|
</InputWrapper>
|
|
40
41
|
<ButtonWrapper>
|
|
41
42
|
<StyledEmailSignUpButton type="submit" color="white">
|
|
42
|
-
|
|
43
|
+
<span className="emailSignUpButtonContent">
|
|
44
|
+
<span className="emailSignUpButtonLabel">Sign up</span>
|
|
45
|
+
<span className="emailSignUpButtonArrow" aria-hidden="true">
|
|
46
|
+
<Arrow direction="right" colour="white" size={18} />
|
|
47
|
+
</span>
|
|
48
|
+
</span>
|
|
43
49
|
</StyledEmailSignUpButton>
|
|
44
50
|
</ButtonWrapper>
|
|
45
51
|
</FormWrapper>
|
|
@@ -2,7 +2,7 @@ import styled, { css } from 'styled-components';
|
|
|
2
2
|
import Input from '../../Atoms/Input/Input';
|
|
3
3
|
import Button from '../../Atoms/Button/Button';
|
|
4
4
|
import spacing from '../../../theme/shared/spacing';
|
|
5
|
-
import {
|
|
5
|
+
import { formFieldInputAnimation } from '../../../theme/shared/animations';
|
|
6
6
|
import fontHelper from '../../../theme/crTheme/fontHelper';
|
|
7
7
|
|
|
8
8
|
export const EmailSignUpWrapper = styled.div`
|
|
@@ -57,15 +57,20 @@ export const StyledEmailInput = styled(Input)`
|
|
|
57
57
|
overflow: visible;
|
|
58
58
|
|
|
59
59
|
@media ${({ theme }) => theme.breakpoints2026('M')} {
|
|
60
|
-
${
|
|
60
|
+
${formFieldInputAnimation(4)}
|
|
61
61
|
}
|
|
62
62
|
|
|
63
63
|
input {
|
|
64
64
|
${({ theme }) => css`
|
|
65
|
-
|
|
65
|
+
// Here we're not using the fontHelper because we want to override the font size. It's a special case where we don't
|
|
66
|
+
// want the default size for the formFieldInput field type.
|
|
67
|
+
font-size: 1rem;
|
|
68
|
+
line-height: 1.25rem;
|
|
69
|
+
font-family: ${theme.fontFamilies('Montserrat')};
|
|
66
70
|
background-color: ${theme.color('grey_5')};
|
|
67
71
|
border-color: transparent;
|
|
68
|
-
|
|
72
|
+
padding-left: 18px;
|
|
73
|
+
transition: background-color 0.2s ease, text-indent 0.18s ease;
|
|
69
74
|
border: 1px solid ${theme.color('white')};
|
|
70
75
|
color: ${theme.color('white')};
|
|
71
76
|
&::placeholder {
|
|
@@ -92,16 +97,61 @@ export const ButtonWrapper = styled.div`
|
|
|
92
97
|
export const StyledEmailSignUpButton = styled(Button)`
|
|
93
98
|
margin: 0;
|
|
94
99
|
font-family: ${({ theme }) => theme.fontFamilies('Montserrat')};
|
|
100
|
+
padding: ${spacing('md')};
|
|
95
101
|
border-radius: 0.5rem;
|
|
102
|
+
overflow: hidden;
|
|
96
103
|
|
|
97
104
|
@media ${({ theme }) => theme.breakpoints2026('M')} {
|
|
98
|
-
${springScaleAnimation(true, 1.02, 1)}
|
|
99
105
|
margin: 0;
|
|
100
106
|
}
|
|
101
107
|
|
|
108
|
+
.emailSignUpButtonContent {
|
|
109
|
+
display: inline-grid;
|
|
110
|
+
grid-auto-flow: column;
|
|
111
|
+
grid-template-columns: auto 18px;
|
|
112
|
+
column-gap: 0.5rem;
|
|
113
|
+
align-items: center;
|
|
114
|
+
justify-content: center;
|
|
115
|
+
line-height: 1;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
.emailSignUpButtonLabel {
|
|
119
|
+
display: inline-block;
|
|
120
|
+
/* Counterbalance the reserved arrow slot so the label is centered at rest */
|
|
121
|
+
transform: translateX(13px);
|
|
122
|
+
transition: transform 0.22s ease;
|
|
123
|
+
will-change: transform;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
.emailSignUpButtonArrow {
|
|
127
|
+
display: inline-flex;
|
|
128
|
+
align-items: center;
|
|
129
|
+
justify-content: center;
|
|
130
|
+
width: 18px;
|
|
131
|
+
height: 18px;
|
|
132
|
+
opacity: 0;
|
|
133
|
+
/* Start from the midpoint between the label and the arrow slot */
|
|
134
|
+
transform: translateX(-13px);
|
|
135
|
+
transition: opacity 0.22s ease, transform 0.22s ease;
|
|
136
|
+
will-change: transform, opacity;
|
|
137
|
+
|
|
138
|
+
svg {
|
|
139
|
+
fill: currentColor !important;
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
|
|
102
143
|
&:hover,
|
|
103
144
|
&:focus {
|
|
104
|
-
background-color: ${({ theme }) => theme.color('
|
|
145
|
+
background-color: ${({ theme }) => theme.color('grey_2')};
|
|
105
146
|
color: ${({ theme }) => theme.color('black')};
|
|
147
|
+
|
|
148
|
+
.emailSignUpButtonLabel {
|
|
149
|
+
transform: translateX(0);
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
.emailSignUpButtonArrow {
|
|
153
|
+
opacity: 1;
|
|
154
|
+
transform: translateX(0);
|
|
155
|
+
}
|
|
106
156
|
}
|
|
107
157
|
`;
|
|
@@ -145,13 +145,11 @@ import variants from './_variants';
|
|
|
145
145
|
</HeroBanner>
|
|
146
146
|
|
|
147
147
|
<HeroBanner
|
|
148
|
-
pageBackgroundColour="grey"
|
|
149
|
-
textBannerCopyBackgroundColour="deep_violet"
|
|
150
148
|
variant={variants.TEXT_BANNER}
|
|
151
149
|
copyColour="white"
|
|
152
150
|
>
|
|
153
151
|
<Text tag="h1">
|
|
154
|
-
Responsive Text Banner, default padding
|
|
152
|
+
Responsive Text Banner, default padding and colours
|
|
155
153
|
</Text>
|
|
156
154
|
<Text tag="p">
|
|
157
155
|
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua
|
package/src/components/Organisms/Footer/FundraisingRegulatorLogo/FundraisingRegulatorLogo.js
CHANGED
|
@@ -8,13 +8,13 @@ const FundraisingRegulatorWrapper = styled.div`
|
|
|
8
8
|
// Overriding the baked-in styles for ease of update
|
|
9
9
|
width: 75%;
|
|
10
10
|
margin: ${({ $noMargin }) => ($noMargin ? '0' : `${spacing('lg')} 0`)};
|
|
11
|
-
max-width:
|
|
11
|
+
max-width: 166px;
|
|
12
12
|
|
|
13
13
|
img {
|
|
14
14
|
display: block;
|
|
15
15
|
}
|
|
16
16
|
|
|
17
|
-
${({ animateOnHover }) => animateOnHover && springScaleAnimation(true)}
|
|
17
|
+
${({ animateOnHover }) => animateOnHover && springScaleAnimation(true, 1.03, 1)}
|
|
18
18
|
`;
|
|
19
19
|
|
|
20
20
|
const FundraisingRegulatorLogo = ({ animateOnHover = false, noMargin = false }) => (
|
|
@@ -164,11 +164,15 @@ exports[`renders correctly 1`] = `
|
|
|
164
164
|
display: -webkit-flex;
|
|
165
165
|
display: -ms-flexbox;
|
|
166
166
|
display: flex;
|
|
167
|
+
-webkit-flex-wrap: nowrap;
|
|
168
|
+
-ms-flex-wrap: nowrap;
|
|
169
|
+
flex-wrap: nowrap;
|
|
170
|
+
gap: 0;
|
|
167
171
|
list-style-type: none;
|
|
168
|
-
-webkit-box-pack:
|
|
169
|
-
-webkit-justify-content:
|
|
170
|
-
-ms-flex-pack:
|
|
171
|
-
justify-content:
|
|
172
|
+
-webkit-box-pack: start;
|
|
173
|
+
-webkit-justify-content: flex-start;
|
|
174
|
+
-ms-flex-pack: start;
|
|
175
|
+
justify-content: flex-start;
|
|
172
176
|
margin: 0 auto 0 0;
|
|
173
177
|
padding: 0;
|
|
174
178
|
-webkit-align-items: center;
|
|
@@ -179,6 +183,10 @@ exports[`renders correctly 1`] = `
|
|
|
179
183
|
|
|
180
184
|
.c4 {
|
|
181
185
|
width: 48px;
|
|
186
|
+
height: auto;
|
|
187
|
+
-webkit-flex: 0 0 48px;
|
|
188
|
+
-ms-flex: 0 0 48px;
|
|
189
|
+
flex: 0 0 48px;
|
|
182
190
|
margin-right: 1.5rem;
|
|
183
191
|
}
|
|
184
192
|
|
|
@@ -82,7 +82,7 @@ const FooterNew = ({
|
|
|
82
82
|
|
|
83
83
|
<LogosContainer $mobileOnly>
|
|
84
84
|
<Brand href="/" title={`Go to ${campaign} homepage`} animateRotate={animateRotate}>
|
|
85
|
-
<Logo sizeSm="
|
|
85
|
+
<Logo sizeSm="59px" sizeMd="72px" rotate={false} campaign={campaign} />
|
|
86
86
|
</Brand>
|
|
87
87
|
</LogosContainer>
|
|
88
88
|
|
|
@@ -154,7 +154,7 @@ const FooterNew = ({
|
|
|
154
154
|
</FooterCopyright>
|
|
155
155
|
|
|
156
156
|
<LogosContainer $mobileOnly $showFundraiserAtBottom>
|
|
157
|
-
{showFundraisingRegulatorLogo && <FundraisingRegulatorLogo />}
|
|
157
|
+
{showFundraisingRegulatorLogo && <FundraisingRegulatorLogo noMargin />}
|
|
158
158
|
</LogosContainer>
|
|
159
159
|
</InnerWrapper>
|
|
160
160
|
</FooterWrapper>
|
|
@@ -9,10 +9,15 @@ const FooterWrapper = styled.footer.attrs(() => ({
|
|
|
9
9
|
}))`
|
|
10
10
|
text-align: left;
|
|
11
11
|
background: ${({ theme }) => theme.color('grey_5')};
|
|
12
|
-
padding-top:
|
|
12
|
+
padding-top: 4.5rem; // Rather than using lg spacing like below, this needs a bit more space so that it sits 'under' the main content of the page, which has rounded corners behind which you see the black of this footer.
|
|
13
13
|
@media ${({ theme }) => theme.breakpoints2026('M')} {
|
|
14
14
|
padding-bottom: ${spacing('lg')};
|
|
15
15
|
}
|
|
16
|
+
|
|
17
|
+
@media ${({ theme }) => theme.breakpoints2026('L')} {
|
|
18
|
+
padding-top: 5.5rem;
|
|
19
|
+
padding-bottom: 5rem;
|
|
20
|
+
}
|
|
16
21
|
`;
|
|
17
22
|
|
|
18
23
|
const InnerWrapper = styled.div`
|
|
@@ -22,9 +27,9 @@ const InnerWrapper = styled.div`
|
|
|
22
27
|
height: 100%;
|
|
23
28
|
max-width: 1200px;
|
|
24
29
|
margin: 0 auto;
|
|
25
|
-
padding: 0 ${spacing('
|
|
30
|
+
padding: 0 ${spacing('l')};
|
|
26
31
|
@media ${({ theme }) => theme.breakpoints2026('L')} {
|
|
27
|
-
padding: 0
|
|
32
|
+
padding: 0 9rem;
|
|
28
33
|
}
|
|
29
34
|
`;
|
|
30
35
|
|
|
@@ -35,7 +40,8 @@ const FooterLegalLine = styled(Text).attrs({
|
|
|
35
40
|
margin-top: 1rem;
|
|
36
41
|
margin-bottom: ${spacing('md')};
|
|
37
42
|
line-height: 1.5rem;
|
|
38
|
-
color: ${({ theme }) => theme.color('
|
|
43
|
+
color: ${({ theme }) => theme.color('white')};
|
|
44
|
+
opacity: 0.8;
|
|
39
45
|
`;
|
|
40
46
|
|
|
41
47
|
const TopSection = styled.div`
|
|
@@ -114,6 +120,7 @@ const PrimaryNavLink = styled(Link)`
|
|
|
114
120
|
color: ${({ theme }) => theme.color('white')};
|
|
115
121
|
text-decoration: none;
|
|
116
122
|
font-weight: bold;
|
|
123
|
+
font-size: ${({ theme }) => theme.fontSize('s')};
|
|
117
124
|
|
|
118
125
|
&:hover,
|
|
119
126
|
&:focus {
|
|
@@ -150,7 +157,8 @@ const SecondaryNavItem = styled.li`
|
|
|
150
157
|
&:not(:last-child)::after {
|
|
151
158
|
content: '|';
|
|
152
159
|
margin-left: ${spacing('sm')};
|
|
153
|
-
color: ${({ theme }) => theme.color('
|
|
160
|
+
color: ${({ theme }) => theme.color('white')};
|
|
161
|
+
opacity: 0.8;
|
|
154
162
|
}
|
|
155
163
|
`;
|
|
156
164
|
|
|
@@ -158,11 +166,12 @@ const SecondaryNavLink = styled(Link)`
|
|
|
158
166
|
text-decoration: none;
|
|
159
167
|
|
|
160
168
|
> span {
|
|
161
|
-
color: ${({ theme }) => theme.color('
|
|
169
|
+
color: ${({ theme }) => theme.color('white')};
|
|
170
|
+
opacity: 0.8;
|
|
162
171
|
text-decoration: underline;
|
|
163
|
-
text-decoration-color: ${({ theme }) => theme.color('
|
|
172
|
+
text-decoration-color: ${({ theme }) => theme.color('white')};
|
|
164
173
|
font-weight: normal;
|
|
165
|
-
font-size:
|
|
174
|
+
font-size: 0.875rem;
|
|
166
175
|
}
|
|
167
176
|
|
|
168
177
|
@media ${({ theme }) => theme.breakpoints2026('M')} {
|
|
@@ -174,13 +183,14 @@ const SecondaryNavLink = styled(Link)`
|
|
|
174
183
|
&:hover,
|
|
175
184
|
&:focus {
|
|
176
185
|
text-decoration: underline;
|
|
177
|
-
text-decoration-color: ${({ theme }) => theme.color('
|
|
186
|
+
text-decoration-color: ${({ theme }) => theme.color('white')};
|
|
178
187
|
}
|
|
179
188
|
|
|
180
189
|
`;
|
|
181
190
|
|
|
182
191
|
const SecondaryNavText = styled(Text)`
|
|
183
192
|
color: ${({ theme }) => theme.color('white')};
|
|
193
|
+
opacity: 0.8;
|
|
184
194
|
font-weight: normal;
|
|
185
195
|
`;
|
|
186
196
|
|
|
@@ -190,7 +200,6 @@ const LogosContainer = styled.div`
|
|
|
190
200
|
align-items: center;
|
|
191
201
|
gap: ${spacing('l')};
|
|
192
202
|
justify-content: ${({ $mobileOnly }) => ($mobileOnly ? 'flex-start' : 'center')};
|
|
193
|
-
margin-top: ${({ $mobileOnly }) => ($mobileOnly ? spacing('md') : '0')};
|
|
194
203
|
margin-bottom: ${({ $mobileOnly }) => ($mobileOnly ? spacing('l') : '0')};
|
|
195
204
|
|
|
196
205
|
/* Hide desktop containers on mobile */
|
|
@@ -261,13 +270,19 @@ const FooterCopyright = styled.div`
|
|
|
261
270
|
width: 100%;
|
|
262
271
|
height: 100%;
|
|
263
272
|
text-align: left;
|
|
273
|
+
margin-bottom: ${spacing('l')};
|
|
274
|
+
|
|
275
|
+
@media ${({ theme }) => theme.breakpoints2026('L')} {
|
|
276
|
+
margin-bottom: 0;
|
|
277
|
+
}
|
|
264
278
|
`;
|
|
265
279
|
|
|
266
280
|
const FooterCopyrightText = styled(Text).attrs({
|
|
267
281
|
tag: 'p'
|
|
268
282
|
})`
|
|
269
|
-
color: ${({ theme }) => theme.color('
|
|
270
|
-
|
|
283
|
+
color: ${({ theme }) => theme.color('white')};
|
|
284
|
+
opacity: 0.8;
|
|
285
|
+
font-size: 0.875rem;
|
|
271
286
|
margin-bottom: ${spacing('sm')};
|
|
272
287
|
`;
|
|
273
288
|
|