uikit-react-public 0.43.2 → 0.43.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/Paragraph/Paragraph.d.ts +1 -1
- package/dist/index.js +4108 -3963
- package/lib/components/Accordion/Accordion.Heading.tsx +0 -2
- package/lib/components/Accordion/__tests__/__snapshots__/Accordion.test.tsx.snap +2 -2
- package/lib/components/Alert/__tests__/__snapshots__/Alert.test.tsx.snap +4 -4
- package/lib/components/Avatar/Avatar.tsx +7 -1
- package/lib/components/Avatar/__tests__/__snapshots__/Avatar.test.tsx.snap +12 -12
- package/lib/components/Badge/Badge.tsx +6 -11
- package/lib/components/Badge/__tests__/__snapshots__/Badge.test.tsx.snap +9 -9
- package/lib/components/Button/Button.tsx +11 -7
- package/lib/components/Button/__tests__/__snapshots__/Button.test.tsx.snap +9 -9
- package/lib/components/Calendar/__tests__/__snapshots__/Calendar.test.tsx.snap +18 -18
- package/lib/components/Calendar/subcomponents/AcademicWeek.tsx +7 -5
- package/lib/components/Calendar/subcomponents/ColumnHeading.tsx +12 -7
- package/lib/components/Calendar/subcomponents/ControlsSelect.tsx +11 -6
- package/lib/components/Checkbox/__tests__/__snapshots__/Checkbox.test.tsx.snap +2 -2
- package/lib/components/Datepicker/__tests__/__snapshots__/Datepicker.test.tsx.snap +2 -2
- package/lib/components/DrawerMenu/DrawerMenu.tsx +4 -3
- package/lib/components/DropdownMenu/DropdownMenu.tsx +4 -3
- package/lib/components/DropdownUserMenu/DropdownUserMenu.tsx +8 -5
- package/lib/components/Field/CharacterCount.tsx +7 -6
- package/lib/components/Field/ErrorText.tsx +7 -6
- package/lib/components/FileInput/FileInput.tsx +11 -3
- package/lib/components/FileInput/__tests__/__snapshots__/FileInput.test.tsx.snap +4 -4
- package/lib/components/Footer/Footer.tsx +16 -3
- package/lib/components/Footer/FooterColumn.tsx +9 -4
- package/lib/components/Footer/__tests__/__snapshots__/Footer.test.tsx.snap +13 -11
- package/lib/components/FooterNew/BackToTop.tsx +12 -4
- package/lib/components/FooterNew/FooterColumn.tsx +4 -0
- package/lib/components/FooterNew/FooterNavLink.tsx +12 -6
- package/lib/components/FooterNew/LegalAndCopyright.tsx +11 -6
- package/lib/components/FooterNew/LogoAddressAndSocial.tsx +27 -15
- package/lib/components/FooterNew/__tests__/__snapshots__/Footer.test.tsx.snap +32 -26
- package/lib/components/HeaderDraft/HeaderBottomBreadcrumbs.tsx +6 -1
- package/lib/components/HeaderDraft/HeaderBottomHeadingAndAvatar.tsx +19 -8
- package/lib/components/HeaderDraft/HeaderBreadcrumb.tsx +11 -2
- package/lib/components/HeaderDraft/HeaderDraft.tsx +16 -5
- package/lib/components/HeaderDraft/__tests__/__snapshots__/Header.test.tsx.snap +7 -7
- package/lib/components/HeaderNew/HeaderItem.tsx +6 -0
- package/lib/components/Input/__tests__/__snapshots__/Input.test.tsx.snap +4 -4
- package/lib/components/Menu/MenuContent.tsx +9 -1
- package/lib/components/NativeDatepicker/NativeDatepicker.tsx +6 -2
- package/lib/components/Pagination/PaginationInfo.tsx +8 -6
- package/lib/components/Pagination/subcomponents/PaginationCompactControls.tsx +8 -2
- package/lib/components/Pagination/subcomponents/PaginationStandardControls.tsx +2 -1
- package/lib/components/Paragraph/Paragraph.tsx +6 -4
- package/lib/components/Paragraph/__tests__/Paragraph.test.tsx +1 -1
- package/lib/components/Paragraph/__tests__/__snapshots__/Paragraph.test.tsx.snap +9 -9
- package/lib/components/Radio/__tests__/__snapshots__/Radio.test.tsx.snap +2 -2
- package/lib/components/Search/__tests__/__snapshots__/Search.test.tsx.snap +2 -2
- package/lib/components/Select/__tests__/__snapshots__/Select.test.tsx.snap +1 -1
- package/lib/components/Table/subcomponents/Cell/__tests__/__snapshots__/Cell.test.tsx.snap +2 -2
- package/lib/components/Table/subcomponents/HeadCell/__tests__/__snapshots__/HeadCell.test.tsx.snap +1 -1
- package/lib/components/Textarea/__tests__/__snapshots__/Textarea.test.tsx.snap +4 -4
- package/lib/components/Tooltip/Tooltip.tsx +5 -8
- package/lib/components/Tooltip/__tests__/__snapshots__/tooltip.test.tsx.snap +2 -2
- package/package.json +2 -2
|
@@ -17,6 +17,7 @@ const ControlsSelect = <T extends string | number>({
|
|
|
17
17
|
onValueChange,
|
|
18
18
|
}: ControlsSelectProps<T>) => {
|
|
19
19
|
const [theme] = useTheme();
|
|
20
|
+
const { md, mdSemibold } = theme.typography.body;
|
|
20
21
|
|
|
21
22
|
const selectStyle = css`
|
|
22
23
|
&& {
|
|
@@ -27,10 +28,11 @@ const ControlsSelect = <T extends string | number>({
|
|
|
27
28
|
padding: 0;
|
|
28
29
|
border: 0;
|
|
29
30
|
background-color: transparent;
|
|
30
|
-
font-family: ${
|
|
31
|
-
font-
|
|
32
|
-
font-
|
|
33
|
-
|
|
31
|
+
font-family: ${mdSemibold.fontFamily};
|
|
32
|
+
font-feature-settings: ${mdSemibold.fontSettings};
|
|
33
|
+
font-size: ${mdSemibold.fontSize}px;
|
|
34
|
+
font-weight: ${mdSemibold.fontWeight};
|
|
35
|
+
line-height: ${mdSemibold.lineHeight}%;
|
|
34
36
|
|
|
35
37
|
&:focus-visible,
|
|
36
38
|
&:focus-within {
|
|
@@ -60,8 +62,11 @@ const ControlsSelect = <T extends string | number>({
|
|
|
60
62
|
const optionStyle = css`
|
|
61
63
|
min-height: 48px;
|
|
62
64
|
padding: 12px ${theme.padding.p16};
|
|
63
|
-
font-
|
|
64
|
-
|
|
65
|
+
font-family: ${md.fontFamily};
|
|
66
|
+
font-feature-settings: ${md.fontSettings};
|
|
67
|
+
font-size: ${md.fontSize}px;
|
|
68
|
+
font-weight: ${md.fontWeight};
|
|
69
|
+
line-height: ${md.lineHeight}%;
|
|
65
70
|
`;
|
|
66
71
|
|
|
67
72
|
return (
|
|
@@ -77,7 +77,7 @@ exports[`Checkbox > snapshot: indeterminate prop 1`] = `
|
|
|
77
77
|
|
|
78
78
|
exports[`Checkbox > snapshot: no props 1`] = `
|
|
79
79
|
<span
|
|
80
|
-
class="ucl-uikit-base-checkbox ucl-uikit-checkbox css-
|
|
80
|
+
class="ucl-uikit-base-checkbox ucl-uikit-checkbox css-qoivhx"
|
|
81
81
|
data-testid="ucl-uikit-checkbox__root"
|
|
82
82
|
>
|
|
83
83
|
<input
|
|
@@ -94,7 +94,7 @@ exports[`Checkbox > snapshot: no props 1`] = `
|
|
|
94
94
|
|
|
95
95
|
exports[`Checkbox > snapshot: testId prop 1`] = `
|
|
96
96
|
<span
|
|
97
|
-
class="ucl-uikit-base-checkbox ucl-uikit-checkbox css-
|
|
97
|
+
class="ucl-uikit-base-checkbox ucl-uikit-checkbox css-qoivhx"
|
|
98
98
|
data-testid="test123__root"
|
|
99
99
|
>
|
|
100
100
|
<input
|
|
@@ -6,7 +6,7 @@ exports[`Datepicker > Snapshot: no date provided 1`] = `
|
|
|
6
6
|
data-testid="ucl-uikit-datepicker"
|
|
7
7
|
>
|
|
8
8
|
<div
|
|
9
|
-
class="ucl-uikit-datepicker__visible-field css-
|
|
9
|
+
class="ucl-uikit-datepicker__visible-field css-2ui4ji"
|
|
10
10
|
data-testid="ucl-uikit-datepicker__visible-field"
|
|
11
11
|
>
|
|
12
12
|
<input
|
|
@@ -61,7 +61,7 @@ exports[`Datepicker > Snapshot: with date provided 1`] = `
|
|
|
61
61
|
data-testid="ucl-uikit-datepicker"
|
|
62
62
|
>
|
|
63
63
|
<div
|
|
64
|
-
class="ucl-uikit-datepicker__visible-field css-
|
|
64
|
+
class="ucl-uikit-datepicker__visible-field css-2ui4ji"
|
|
65
65
|
data-testid="ucl-uikit-datepicker__visible-field"
|
|
66
66
|
>
|
|
67
67
|
<input
|
|
@@ -13,8 +13,7 @@ export interface DrawerMenuChildrenApi {
|
|
|
13
13
|
}
|
|
14
14
|
|
|
15
15
|
type DrawerMenuChildren =
|
|
16
|
-
| ReactNode
|
|
17
|
-
| ((api: DrawerMenuChildrenApi) => ReactNode);
|
|
16
|
+
ReactNode | ((api: DrawerMenuChildrenApi) => ReactNode);
|
|
18
17
|
|
|
19
18
|
export interface DrawerMenuProps
|
|
20
19
|
extends
|
|
@@ -74,8 +73,10 @@ const DrawerMenu = ({
|
|
|
74
73
|
const triggerStyle = css`
|
|
75
74
|
color: ${theme.colour.text.brandPrimary};
|
|
76
75
|
font-family: ${theme.typography.body.mdNumeric.fontFamily};
|
|
76
|
+
font-feature-settings: ${theme.typography.body.mdNumeric.fontSettings};
|
|
77
|
+
font-size: ${theme.typography.body.mdNumeric.fontSize}px;
|
|
77
78
|
font-weight: ${theme.typography.body.mdNumeric.fontWeight};
|
|
78
|
-
|
|
79
|
+
line-height: ${theme.typography.body.mdNumeric.lineHeight}%;
|
|
79
80
|
`;
|
|
80
81
|
|
|
81
82
|
const dropdownStyle = cx(NAME, dropdownClassName);
|
|
@@ -13,8 +13,7 @@ export interface DropdownMenuChildrenApi {
|
|
|
13
13
|
}
|
|
14
14
|
|
|
15
15
|
type DropdownMenuChildren =
|
|
16
|
-
| ReactNode
|
|
17
|
-
| ((api: DropdownMenuChildrenApi) => ReactNode);
|
|
16
|
+
ReactNode | ((api: DropdownMenuChildrenApi) => ReactNode);
|
|
18
17
|
|
|
19
18
|
export interface DropdownMenuProps
|
|
20
19
|
extends
|
|
@@ -64,8 +63,10 @@ const DropdownMenu = ({
|
|
|
64
63
|
const triggerStyle = css`
|
|
65
64
|
color: ${theme.colour.text.brandPrimary};
|
|
66
65
|
font-family: ${theme.typography.body.mdNumeric.fontFamily};
|
|
66
|
+
font-feature-settings: ${theme.typography.body.mdNumeric.fontSettings};
|
|
67
|
+
font-size: ${theme.typography.body.mdNumeric.fontSize}px;
|
|
67
68
|
font-weight: ${theme.typography.body.mdNumeric.fontWeight};
|
|
68
|
-
|
|
69
|
+
line-height: ${theme.typography.body.mdNumeric.lineHeight}%;
|
|
69
70
|
`;
|
|
70
71
|
|
|
71
72
|
const dropdownStyle = cx(NAME, dropdownClassName);
|
|
@@ -3,6 +3,7 @@ import { css, cx } from '@emotion/css';
|
|
|
3
3
|
import Dropdown, { DropdownProps } from '../Dropdown';
|
|
4
4
|
import Avatar, { AvatarProps } from '../Avatar';
|
|
5
5
|
import Icon from '../Icon';
|
|
6
|
+
import Text from '../Text';
|
|
6
7
|
import useTheme from '../../theme/useTheme';
|
|
7
8
|
import useMediaQuery from '../../hooks/useMediaQuery';
|
|
8
9
|
|
|
@@ -67,10 +68,7 @@ const DropdownUserMenu = ({
|
|
|
67
68
|
`;
|
|
68
69
|
|
|
69
70
|
const userNameStyle = css`
|
|
70
|
-
|
|
71
|
-
font-feature-settings: ${theme.typography.body.md.fontSettings};
|
|
72
|
-
font-size: ${theme.typography.body.md.fontSize}px;
|
|
73
|
-
line-height: 1.2;
|
|
71
|
+
color: inherit;
|
|
74
72
|
white-space: nowrap;
|
|
75
73
|
`;
|
|
76
74
|
|
|
@@ -111,7 +109,12 @@ const DropdownUserMenu = ({
|
|
|
111
109
|
className={resolvedTriggerClassName}
|
|
112
110
|
>
|
|
113
111
|
{isDesktop ? (
|
|
114
|
-
<
|
|
112
|
+
<Text
|
|
113
|
+
level='md'
|
|
114
|
+
className={resolvedUserNameClassName}
|
|
115
|
+
>
|
|
116
|
+
{userName}
|
|
117
|
+
</Text>
|
|
115
118
|
) : null}
|
|
116
119
|
<Avatar
|
|
117
120
|
tabIndex={-1}
|
|
@@ -2,6 +2,7 @@ import { HTMLAttributes, use } from 'react';
|
|
|
2
2
|
import { css, cx } from '@emotion/css';
|
|
3
3
|
import { FieldContext } from './Field';
|
|
4
4
|
import { useTheme } from '../../theme';
|
|
5
|
+
import Paragraph from '../Paragraph';
|
|
5
6
|
|
|
6
7
|
const NAME = 'ucl-uikit-field__char-count';
|
|
7
8
|
|
|
@@ -22,9 +23,6 @@ const CharacaterCount = ({
|
|
|
22
23
|
|
|
23
24
|
const baseStyle = css`
|
|
24
25
|
color: ${theme.colour.text.secondary};
|
|
25
|
-
font-size: ${theme.font.size.f14};
|
|
26
|
-
font-family: ${theme.font.family.primary};
|
|
27
|
-
line-height: ${theme.font.lineHeight.h120};
|
|
28
26
|
text-align: right;
|
|
29
27
|
`;
|
|
30
28
|
|
|
@@ -35,13 +33,16 @@ const CharacaterCount = ({
|
|
|
35
33
|
const style = cx(NAME, baseStyle, disabled && disabledStyle, className);
|
|
36
34
|
|
|
37
35
|
return (
|
|
38
|
-
<
|
|
36
|
+
<Paragraph
|
|
37
|
+
as='div'
|
|
38
|
+
level='sm'
|
|
39
|
+
noMargins
|
|
39
40
|
className={style}
|
|
40
|
-
|
|
41
|
+
testId={testId}
|
|
41
42
|
{...props}
|
|
42
43
|
>
|
|
43
44
|
{charCount}/{maxChars}
|
|
44
|
-
</
|
|
45
|
+
</Paragraph>
|
|
45
46
|
);
|
|
46
47
|
};
|
|
47
48
|
|
|
@@ -3,6 +3,7 @@ import { css, cx } from '@emotion/css';
|
|
|
3
3
|
import { FieldContext } from './Field';
|
|
4
4
|
import { Icon } from '../';
|
|
5
5
|
import { useTheme } from '../../theme';
|
|
6
|
+
import Paragraph from '../Paragraph';
|
|
6
7
|
|
|
7
8
|
const NAME = 'ucl-uikit-field__error-text';
|
|
8
9
|
|
|
@@ -27,9 +28,6 @@ const ErrorText = ({
|
|
|
27
28
|
gap: 8px;
|
|
28
29
|
margin-top: 8px;
|
|
29
30
|
color: ${theme.colour.text.critical};
|
|
30
|
-
font-family: ${theme.font.family.primary};
|
|
31
|
-
font-size: ${theme.font.size.f14};
|
|
32
|
-
line-height: ${theme.font.lineHeight.h120};
|
|
33
31
|
`;
|
|
34
32
|
|
|
35
33
|
// Prevents the icon getting squished by lots of text
|
|
@@ -41,15 +39,18 @@ const ErrorText = ({
|
|
|
41
39
|
const style = cx(NAME, baseStyle, className);
|
|
42
40
|
|
|
43
41
|
return (
|
|
44
|
-
<
|
|
42
|
+
<Paragraph
|
|
43
|
+
as='div'
|
|
44
|
+
level='sm'
|
|
45
|
+
noMargins
|
|
45
46
|
className={style}
|
|
46
|
-
|
|
47
|
+
testId={testId}
|
|
47
48
|
{...props}
|
|
48
49
|
role='alert'
|
|
49
50
|
>
|
|
50
51
|
<Icon.Info className={iconStyle} />
|
|
51
52
|
{children}
|
|
52
|
-
</
|
|
53
|
+
</Paragraph>
|
|
53
54
|
);
|
|
54
55
|
};
|
|
55
56
|
|
|
@@ -19,10 +19,14 @@ const FileInput = ({
|
|
|
19
19
|
}: FileInputProps) => {
|
|
20
20
|
const [theme] = useTheme();
|
|
21
21
|
const fileInputRef = useRef<HTMLInputElement>(null);
|
|
22
|
+
const { md, mdSemibold } = theme.typography.body;
|
|
22
23
|
|
|
23
24
|
const baseStyle = css`
|
|
24
|
-
font-
|
|
25
|
-
font-
|
|
25
|
+
font-family: ${md.fontFamily};
|
|
26
|
+
font-feature-settings: ${md.fontSettings};
|
|
27
|
+
font-size: ${md.fontSize}px;
|
|
28
|
+
font-weight: ${md.fontWeight};
|
|
29
|
+
line-height: ${md.lineHeight}%;
|
|
26
30
|
color: ${theme.colour.link.default};
|
|
27
31
|
`;
|
|
28
32
|
|
|
@@ -37,7 +41,11 @@ const FileInput = ({
|
|
|
37
41
|
display: inline-flex;
|
|
38
42
|
text-decoration: underline;
|
|
39
43
|
gap: 6px;
|
|
40
|
-
font-
|
|
44
|
+
font-family: ${mdSemibold.fontFamily};
|
|
45
|
+
font-feature-settings: ${mdSemibold.fontSettings};
|
|
46
|
+
font-size: ${mdSemibold.fontSize}px;
|
|
47
|
+
font-weight: ${mdSemibold.fontWeight};
|
|
48
|
+
line-height: ${mdSemibold.lineHeight}%;
|
|
41
49
|
margin-top: 3px;
|
|
42
50
|
cursor: pointer;
|
|
43
51
|
`;
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
exports[`Input > snapshot: no props 1`] = `
|
|
4
4
|
<div
|
|
5
|
-
class="ucl-uikit-fileinput css-
|
|
5
|
+
class="ucl-uikit-fileinput css-1aikphx"
|
|
6
6
|
>
|
|
7
7
|
<label
|
|
8
|
-
class="css-
|
|
8
|
+
class="css-iffx76"
|
|
9
9
|
for="file-input-1"
|
|
10
10
|
>
|
|
11
11
|
<svg
|
|
@@ -39,10 +39,10 @@ exports[`Input > snapshot: no props 1`] = `
|
|
|
39
39
|
|
|
40
40
|
exports[`Input > snapshot: value prop 1`] = `
|
|
41
41
|
<div
|
|
42
|
-
class="ucl-uikit-fileinput css-
|
|
42
|
+
class="ucl-uikit-fileinput css-1aikphx"
|
|
43
43
|
>
|
|
44
44
|
<label
|
|
45
|
-
class="css-
|
|
45
|
+
class="css-iffx76"
|
|
46
46
|
for="file-input-1"
|
|
47
47
|
>
|
|
48
48
|
<svg
|
|
@@ -40,12 +40,16 @@ const LegacyFooter = ({
|
|
|
40
40
|
const copyrightYear = new Date().getFullYear();
|
|
41
41
|
|
|
42
42
|
const [theme] = useTheme();
|
|
43
|
+
const footerTypography = theme.typography.body.sm;
|
|
43
44
|
|
|
44
45
|
const baseStyle = css`
|
|
45
46
|
background-color: ${theme.color.neutral.grey90};
|
|
46
47
|
color: ${theme.color.text.inverted};
|
|
47
|
-
font-family: ${
|
|
48
|
-
font-
|
|
48
|
+
font-family: ${footerTypography.fontFamily};
|
|
49
|
+
font-feature-settings: ${footerTypography.fontSettings};
|
|
50
|
+
font-size: ${footerTypography.fontSize}px;
|
|
51
|
+
font-weight: ${footerTypography.fontWeight};
|
|
52
|
+
line-height: ${footerTypography.lineHeight}%;
|
|
49
53
|
padding: ${theme.padding.p40} 0 ${theme.padding.p40};
|
|
50
54
|
`;
|
|
51
55
|
|
|
@@ -102,7 +106,11 @@ const LegacyFooter = ({
|
|
|
102
106
|
color: ${theme.color.neutral.grey20};
|
|
103
107
|
display: flex;
|
|
104
108
|
flex-direction: column;
|
|
105
|
-
font-
|
|
109
|
+
font-family: ${footerTypography.fontFamily};
|
|
110
|
+
font-feature-settings: ${footerTypography.fontSettings};
|
|
111
|
+
font-size: ${footerTypography.fontSize}px;
|
|
112
|
+
font-weight: ${footerTypography.fontWeight};
|
|
113
|
+
line-height: ${footerTypography.lineHeight}%;
|
|
106
114
|
|
|
107
115
|
@media screen and (min-width: ${theme.breakpoints.tablet}px) {
|
|
108
116
|
flex-direction: row;
|
|
@@ -148,6 +156,11 @@ const LegacyFooter = ({
|
|
|
148
156
|
padding: ${theme.padding.p8} 0;
|
|
149
157
|
display: flex;
|
|
150
158
|
flex-direction: column;
|
|
159
|
+
font-family: ${footerTypography.fontFamily};
|
|
160
|
+
font-feature-settings: ${footerTypography.fontSettings};
|
|
161
|
+
font-size: ${footerTypography.fontSize}px;
|
|
162
|
+
font-weight: ${footerTypography.fontWeight};
|
|
163
|
+
line-height: ${footerTypography.lineHeight}%;
|
|
151
164
|
|
|
152
165
|
@media screen and (min-width: ${theme.breakpoints.tablet}px) {
|
|
153
166
|
flex-direction: row;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { memo, HTMLAttributes } from 'react';
|
|
2
2
|
import { css, cx } from '@emotion/css';
|
|
3
3
|
import { useTheme } from '../../theme';
|
|
4
|
+
import Heading from '../Heading';
|
|
4
5
|
|
|
5
6
|
export const NAME = 'ucl-uikit-footer__column';
|
|
6
7
|
|
|
@@ -32,9 +33,6 @@ const FooterColumn = ({
|
|
|
32
33
|
|
|
33
34
|
const headingStyle = css`
|
|
34
35
|
margin: 0 0 ${theme.margin.m12};
|
|
35
|
-
font-family: ${theme.font.family.primary};
|
|
36
|
-
font-weight: 600;
|
|
37
|
-
font-size: ${theme.font.size.f20};
|
|
38
36
|
`;
|
|
39
37
|
|
|
40
38
|
return (
|
|
@@ -43,7 +41,14 @@ const FooterColumn = ({
|
|
|
43
41
|
data-testid={testId}
|
|
44
42
|
{...props}
|
|
45
43
|
>
|
|
46
|
-
<
|
|
44
|
+
<Heading
|
|
45
|
+
as='h3'
|
|
46
|
+
level='xs'
|
|
47
|
+
margins={false}
|
|
48
|
+
className={headingStyle}
|
|
49
|
+
>
|
|
50
|
+
{heading}
|
|
51
|
+
</Heading>
|
|
47
52
|
|
|
48
53
|
{children}
|
|
49
54
|
</div>
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
exports[`Footer > snapshot: footer links provided 1`] = `
|
|
4
4
|
<footer
|
|
5
|
-
class="ucl-uikit-footer css-
|
|
5
|
+
class="ucl-uikit-footer css-1if83z3"
|
|
6
6
|
data-testid="ucl-uikit-footer"
|
|
7
7
|
>
|
|
8
8
|
<div
|
|
@@ -227,7 +227,7 @@ exports[`Footer > snapshot: footer links provided 1`] = `
|
|
|
227
227
|
role="separator"
|
|
228
228
|
/>
|
|
229
229
|
<div
|
|
230
|
-
class="css-
|
|
230
|
+
class="css-s55e1t"
|
|
231
231
|
>
|
|
232
232
|
<span
|
|
233
233
|
class="css-13yf1i2"
|
|
@@ -249,7 +249,7 @@ exports[`Footer > snapshot: footer links provided 1`] = `
|
|
|
249
249
|
</span>
|
|
250
250
|
</div>
|
|
251
251
|
<div
|
|
252
|
-
class="css-
|
|
252
|
+
class="css-ho31tg"
|
|
253
253
|
>
|
|
254
254
|
<a
|
|
255
255
|
class="css-16lix8i"
|
|
@@ -306,7 +306,7 @@ exports[`Footer > snapshot: footer links provided 1`] = `
|
|
|
306
306
|
|
|
307
307
|
exports[`Footer > snapshot: nav links 1`] = `
|
|
308
308
|
<footer
|
|
309
|
-
class="ucl-uikit-footer css-
|
|
309
|
+
class="ucl-uikit-footer css-1if83z3"
|
|
310
310
|
data-testid="ucl-uikit-footer"
|
|
311
311
|
>
|
|
312
312
|
<div
|
|
@@ -320,7 +320,8 @@ exports[`Footer > snapshot: nav links 1`] = `
|
|
|
320
320
|
data-testid="ucl-uikit-footer__column"
|
|
321
321
|
>
|
|
322
322
|
<h3
|
|
323
|
-
class="css-
|
|
323
|
+
class="ucl-uikit-heading css-sy55ia"
|
|
324
|
+
data-testid="ucl-uikit-heading"
|
|
324
325
|
>
|
|
325
326
|
Category 1
|
|
326
327
|
</h3>
|
|
@@ -344,7 +345,8 @@ exports[`Footer > snapshot: nav links 1`] = `
|
|
|
344
345
|
data-testid="ucl-uikit-footer__column"
|
|
345
346
|
>
|
|
346
347
|
<h3
|
|
347
|
-
class="css-
|
|
348
|
+
class="ucl-uikit-heading css-sy55ia"
|
|
349
|
+
data-testid="ucl-uikit-heading"
|
|
348
350
|
>
|
|
349
351
|
Category 2
|
|
350
352
|
</h3>
|
|
@@ -580,7 +582,7 @@ exports[`Footer > snapshot: nav links 1`] = `
|
|
|
580
582
|
role="separator"
|
|
581
583
|
/>
|
|
582
584
|
<div
|
|
583
|
-
class="css-
|
|
585
|
+
class="css-s55e1t"
|
|
584
586
|
>
|
|
585
587
|
<span
|
|
586
588
|
class="css-13yf1i2"
|
|
@@ -602,7 +604,7 @@ exports[`Footer > snapshot: nav links 1`] = `
|
|
|
602
604
|
</span>
|
|
603
605
|
</div>
|
|
604
606
|
<div
|
|
605
|
-
class="css-
|
|
607
|
+
class="css-ho31tg"
|
|
606
608
|
>
|
|
607
609
|
<a
|
|
608
610
|
class="css-16lix8i"
|
|
@@ -659,7 +661,7 @@ exports[`Footer > snapshot: nav links 1`] = `
|
|
|
659
661
|
|
|
660
662
|
exports[`Footer > snapshot: no nav links 1`] = `
|
|
661
663
|
<footer
|
|
662
|
-
class="ucl-uikit-footer css-
|
|
664
|
+
class="ucl-uikit-footer css-1if83z3"
|
|
663
665
|
data-testid="ucl-uikit-footer"
|
|
664
666
|
>
|
|
665
667
|
<div
|
|
@@ -884,7 +886,7 @@ exports[`Footer > snapshot: no nav links 1`] = `
|
|
|
884
886
|
role="separator"
|
|
885
887
|
/>
|
|
886
888
|
<div
|
|
887
|
-
class="css-
|
|
889
|
+
class="css-s55e1t"
|
|
888
890
|
>
|
|
889
891
|
<span
|
|
890
892
|
class="css-13yf1i2"
|
|
@@ -906,7 +908,7 @@ exports[`Footer > snapshot: no nav links 1`] = `
|
|
|
906
908
|
</span>
|
|
907
909
|
</div>
|
|
908
910
|
<div
|
|
909
|
-
class="css-
|
|
911
|
+
class="css-ho31tg"
|
|
910
912
|
>
|
|
911
913
|
<a
|
|
912
914
|
class="css-16lix8i"
|
|
@@ -18,6 +18,8 @@ const BackToTop = ({
|
|
|
18
18
|
...props
|
|
19
19
|
}: BackToTopProps) => {
|
|
20
20
|
const [theme] = useTheme();
|
|
21
|
+
const smallTypography = theme.typography.body.sm;
|
|
22
|
+
const mediumTypography = theme.typography.body.md;
|
|
21
23
|
|
|
22
24
|
const handleBackToTopButtonClick = () => {
|
|
23
25
|
scrollToTop();
|
|
@@ -47,9 +49,11 @@ const BackToTop = ({
|
|
|
47
49
|
background-color: transparent;
|
|
48
50
|
border: none;
|
|
49
51
|
color: ${theme.colour.text.brandInverse};
|
|
50
|
-
font-family: ${
|
|
51
|
-
font-
|
|
52
|
-
|
|
52
|
+
font-family: ${smallTypography.fontFamily};
|
|
53
|
+
font-feature-settings: ${smallTypography.fontSettings};
|
|
54
|
+
font-size: ${smallTypography.fontSize}px;
|
|
55
|
+
font-weight: ${smallTypography.fontWeight};
|
|
56
|
+
line-height: ${smallTypography.lineHeight}%;
|
|
53
57
|
cursor: pointer;
|
|
54
58
|
display: inline-flex;
|
|
55
59
|
align-items: center;
|
|
@@ -60,7 +64,11 @@ const BackToTop = ({
|
|
|
60
64
|
}
|
|
61
65
|
|
|
62
66
|
@media screen and (min-width: ${theme.breakpoints.desktop}px) {
|
|
63
|
-
font-
|
|
67
|
+
font-family: ${mediumTypography.fontFamily};
|
|
68
|
+
font-feature-settings: ${mediumTypography.fontSettings};
|
|
69
|
+
font-size: ${mediumTypography.fontSize}px;
|
|
70
|
+
font-weight: ${mediumTypography.fontWeight};
|
|
71
|
+
line-height: ${mediumTypography.lineHeight}%;
|
|
64
72
|
}
|
|
65
73
|
`;
|
|
66
74
|
|
|
@@ -26,8 +26,10 @@ const FooterColumn = ({
|
|
|
26
26
|
align-items: start;
|
|
27
27
|
gap: 16px;
|
|
28
28
|
font-family: ${theme.typography.body.md.fontFamily};
|
|
29
|
+
font-feature-settings: ${theme.typography.body.md.fontSettings};
|
|
29
30
|
font-weight: ${theme.typography.body.md.fontWeight};
|
|
30
31
|
font-size: ${theme.typography.body.md.fontSize}px;
|
|
32
|
+
line-height: ${theme.typography.body.md.lineHeight}%;
|
|
31
33
|
|
|
32
34
|
:not(:first-child) {
|
|
33
35
|
margin-top: ${theme.margin.m24};
|
|
@@ -58,8 +60,10 @@ const FooterColumn = ({
|
|
|
58
60
|
margin: 0;
|
|
59
61
|
color: ${theme.colour.text.brandInverse};
|
|
60
62
|
font-family: ${theme.typography.body.mdSemibold.fontFamily};
|
|
63
|
+
font-feature-settings: ${theme.typography.body.mdSemibold.fontSettings};
|
|
61
64
|
font-weight: ${theme.typography.body.mdSemibold.fontWeight};
|
|
62
65
|
font-size: ${theme.typography.body.mdSemibold.fontSize}px;
|
|
66
|
+
line-height: ${theme.typography.body.mdSemibold.lineHeight}%;
|
|
63
67
|
`;
|
|
64
68
|
|
|
65
69
|
return (
|
|
@@ -19,15 +19,17 @@ const FooterNavLink = ({
|
|
|
19
19
|
...props
|
|
20
20
|
}: FooterNavLinkProps) => {
|
|
21
21
|
const [theme] = useTheme();
|
|
22
|
+
const smallTypography = theme.typography.body.sm;
|
|
23
|
+
const mediumTypography = theme.typography.body.md;
|
|
22
24
|
|
|
23
25
|
const baseStyle = css`
|
|
24
26
|
text-decoration: none;
|
|
25
27
|
color: ${theme.colour.text.brandInverse};
|
|
26
|
-
font-family: ${
|
|
27
|
-
font-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
}%;
|
|
28
|
+
font-family: ${smallTypography.fontFamily};
|
|
29
|
+
font-feature-settings: ${smallTypography.fontSettings};
|
|
30
|
+
font-size: ${smallTypography.fontSize}px;
|
|
31
|
+
font-weight: ${smallTypography.fontWeight};
|
|
32
|
+
line-height: ${smallTypography.lineHeight}%;
|
|
31
33
|
transition: color 0.2s ease-out;
|
|
32
34
|
|
|
33
35
|
&:focus-visible {
|
|
@@ -45,7 +47,11 @@ const FooterNavLink = ({
|
|
|
45
47
|
}
|
|
46
48
|
|
|
47
49
|
@media screen and (min-width: ${theme.breakpoints.desktop}px) {
|
|
48
|
-
font-
|
|
50
|
+
font-family: ${mediumTypography.fontFamily};
|
|
51
|
+
font-feature-settings: ${mediumTypography.fontSettings};
|
|
52
|
+
font-size: ${mediumTypography.fontSize}px;
|
|
53
|
+
font-weight: ${mediumTypography.fontWeight};
|
|
54
|
+
line-height: ${mediumTypography.lineHeight}%;
|
|
49
55
|
}
|
|
50
56
|
`;
|
|
51
57
|
|
|
@@ -30,6 +30,7 @@ const LegalAndCopyright = ({
|
|
|
30
30
|
const copyrightYear = new Date().getFullYear();
|
|
31
31
|
|
|
32
32
|
const [theme] = useTheme();
|
|
33
|
+
const smallTypography = theme.typography.body.sm;
|
|
33
34
|
|
|
34
35
|
const baseStyle = css`
|
|
35
36
|
margin-top: ${theme.margin.m16};
|
|
@@ -49,9 +50,11 @@ const LegalAndCopyright = ({
|
|
|
49
50
|
|
|
50
51
|
const linksStyle = css`
|
|
51
52
|
color: ${theme.colour.text.brandInverseSecondary};
|
|
52
|
-
font-family: ${
|
|
53
|
-
font-
|
|
54
|
-
|
|
53
|
+
font-family: ${smallTypography.fontFamily};
|
|
54
|
+
font-feature-settings: ${smallTypography.fontSettings};
|
|
55
|
+
font-size: ${smallTypography.fontSize}px;
|
|
56
|
+
font-weight: ${smallTypography.fontWeight};
|
|
57
|
+
line-height: ${smallTypography.lineHeight}%;
|
|
55
58
|
display: flex;
|
|
56
59
|
flex-wrap: wrap;
|
|
57
60
|
gap: 16px;
|
|
@@ -80,9 +83,11 @@ const LegalAndCopyright = ({
|
|
|
80
83
|
margin-top: ${theme.margin.m24};
|
|
81
84
|
color: ${theme.colour.text.brandInverse};
|
|
82
85
|
opacity: 0.6; // todo
|
|
83
|
-
font-family: ${
|
|
84
|
-
|
|
85
|
-
font-size:
|
|
86
|
+
font-family: ${smallTypography.fontFamily};
|
|
87
|
+
font-feature-settings: ${smallTypography.fontSettings};
|
|
88
|
+
font-size: ${smallTypography.fontSize}px;
|
|
89
|
+
font-weight: ${smallTypography.fontWeight};
|
|
90
|
+
line-height: ${smallTypography.lineHeight}%;
|
|
86
91
|
|
|
87
92
|
@media screen and (min-width: ${theme.breakpoints.desktopLarge}px) {
|
|
88
93
|
margin-top: 0;
|