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.
Files changed (57) hide show
  1. package/dist/components/Paragraph/Paragraph.d.ts +1 -1
  2. package/dist/index.js +4108 -3963
  3. package/lib/components/Accordion/Accordion.Heading.tsx +0 -2
  4. package/lib/components/Accordion/__tests__/__snapshots__/Accordion.test.tsx.snap +2 -2
  5. package/lib/components/Alert/__tests__/__snapshots__/Alert.test.tsx.snap +4 -4
  6. package/lib/components/Avatar/Avatar.tsx +7 -1
  7. package/lib/components/Avatar/__tests__/__snapshots__/Avatar.test.tsx.snap +12 -12
  8. package/lib/components/Badge/Badge.tsx +6 -11
  9. package/lib/components/Badge/__tests__/__snapshots__/Badge.test.tsx.snap +9 -9
  10. package/lib/components/Button/Button.tsx +11 -7
  11. package/lib/components/Button/__tests__/__snapshots__/Button.test.tsx.snap +9 -9
  12. package/lib/components/Calendar/__tests__/__snapshots__/Calendar.test.tsx.snap +18 -18
  13. package/lib/components/Calendar/subcomponents/AcademicWeek.tsx +7 -5
  14. package/lib/components/Calendar/subcomponents/ColumnHeading.tsx +12 -7
  15. package/lib/components/Calendar/subcomponents/ControlsSelect.tsx +11 -6
  16. package/lib/components/Checkbox/__tests__/__snapshots__/Checkbox.test.tsx.snap +2 -2
  17. package/lib/components/Datepicker/__tests__/__snapshots__/Datepicker.test.tsx.snap +2 -2
  18. package/lib/components/DrawerMenu/DrawerMenu.tsx +4 -3
  19. package/lib/components/DropdownMenu/DropdownMenu.tsx +4 -3
  20. package/lib/components/DropdownUserMenu/DropdownUserMenu.tsx +8 -5
  21. package/lib/components/Field/CharacterCount.tsx +7 -6
  22. package/lib/components/Field/ErrorText.tsx +7 -6
  23. package/lib/components/FileInput/FileInput.tsx +11 -3
  24. package/lib/components/FileInput/__tests__/__snapshots__/FileInput.test.tsx.snap +4 -4
  25. package/lib/components/Footer/Footer.tsx +16 -3
  26. package/lib/components/Footer/FooterColumn.tsx +9 -4
  27. package/lib/components/Footer/__tests__/__snapshots__/Footer.test.tsx.snap +13 -11
  28. package/lib/components/FooterNew/BackToTop.tsx +12 -4
  29. package/lib/components/FooterNew/FooterColumn.tsx +4 -0
  30. package/lib/components/FooterNew/FooterNavLink.tsx +12 -6
  31. package/lib/components/FooterNew/LegalAndCopyright.tsx +11 -6
  32. package/lib/components/FooterNew/LogoAddressAndSocial.tsx +27 -15
  33. package/lib/components/FooterNew/__tests__/__snapshots__/Footer.test.tsx.snap +32 -26
  34. package/lib/components/HeaderDraft/HeaderBottomBreadcrumbs.tsx +6 -1
  35. package/lib/components/HeaderDraft/HeaderBottomHeadingAndAvatar.tsx +19 -8
  36. package/lib/components/HeaderDraft/HeaderBreadcrumb.tsx +11 -2
  37. package/lib/components/HeaderDraft/HeaderDraft.tsx +16 -5
  38. package/lib/components/HeaderDraft/__tests__/__snapshots__/Header.test.tsx.snap +7 -7
  39. package/lib/components/HeaderNew/HeaderItem.tsx +6 -0
  40. package/lib/components/Input/__tests__/__snapshots__/Input.test.tsx.snap +4 -4
  41. package/lib/components/Menu/MenuContent.tsx +9 -1
  42. package/lib/components/NativeDatepicker/NativeDatepicker.tsx +6 -2
  43. package/lib/components/Pagination/PaginationInfo.tsx +8 -6
  44. package/lib/components/Pagination/subcomponents/PaginationCompactControls.tsx +8 -2
  45. package/lib/components/Pagination/subcomponents/PaginationStandardControls.tsx +2 -1
  46. package/lib/components/Paragraph/Paragraph.tsx +6 -4
  47. package/lib/components/Paragraph/__tests__/Paragraph.test.tsx +1 -1
  48. package/lib/components/Paragraph/__tests__/__snapshots__/Paragraph.test.tsx.snap +9 -9
  49. package/lib/components/Radio/__tests__/__snapshots__/Radio.test.tsx.snap +2 -2
  50. package/lib/components/Search/__tests__/__snapshots__/Search.test.tsx.snap +2 -2
  51. package/lib/components/Select/__tests__/__snapshots__/Select.test.tsx.snap +1 -1
  52. package/lib/components/Table/subcomponents/Cell/__tests__/__snapshots__/Cell.test.tsx.snap +2 -2
  53. package/lib/components/Table/subcomponents/HeadCell/__tests__/__snapshots__/HeadCell.test.tsx.snap +1 -1
  54. package/lib/components/Textarea/__tests__/__snapshots__/Textarea.test.tsx.snap +4 -4
  55. package/lib/components/Tooltip/Tooltip.tsx +5 -8
  56. package/lib/components/Tooltip/__tests__/__snapshots__/tooltip.test.tsx.snap +2 -2
  57. package/package.json +2 -2
@@ -2,6 +2,8 @@ import { HTMLAttributes } from 'react';
2
2
  import { css, cx } from '@emotion/css';
3
3
  import { useTheme } from '../../theme';
4
4
  import UclLogoNew from '../UclLogoNew/UclLogo';
5
+ import Link from '../Link';
6
+ import Paragraph from '../Paragraph';
5
7
  import SocialLink from './SocialLink';
6
8
 
7
9
  export const NAME = 'ucl-uikit-footer__logo-address-social';
@@ -25,8 +27,6 @@ const LogoAddressAndSocial = ({
25
27
 
26
28
  const baseStyle = css`
27
29
  margin-top: ${theme.margin.m48};
28
- font-size: ${theme.font.size.f14};
29
- font-weight: 300;
30
30
 
31
31
  @media screen and (min-width: ${theme.breakpoints.tablet}px) {
32
32
  margin-top: ${theme.margin.m72};
@@ -64,10 +64,6 @@ const LogoAddressAndSocial = ({
64
64
  const addressStyle = css`
65
65
  color: ${theme.colour.text.brandInverse};
66
66
  opacity: 0.6; // todo: use alpha white colour from theme
67
- font-family: ${theme.typography.body.md.fontFamily};
68
- line-height: ${
69
- theme.typography.body.md.lineHeight
70
- }%; // todo: change foundations lib to use non-percent number
71
67
  `;
72
68
 
73
69
  const telephoneStyle = css`
@@ -77,10 +73,6 @@ const LogoAddressAndSocial = ({
77
73
  const telephoneLinkStyle = css`
78
74
  color: ${theme.colour.text.brandInverse};
79
75
  opacity: 0.6; // todo: use alpha white colour from theme
80
- font-family: ${theme.typography.body.md.fontFamily};
81
- line-height: ${
82
- theme.typography.body.md.lineHeight
83
- }%; // todo: change foundations lib to use non-percent number
84
76
  text-decoration: none;
85
77
  transition: color 0.2s ease-out;
86
78
 
@@ -94,8 +86,13 @@ const LogoAddressAndSocial = ({
94
86
  }
95
87
 
96
88
  &:hover {
89
+ color: ${theme.colour.text.brandInverse};
97
90
  text-decoration: underline;
98
91
  }
92
+
93
+ &:visited {
94
+ color: ${theme.colour.text.brandInverse};
95
+ }
99
96
  `;
100
97
 
101
98
  const socialLinksStyle = css`
@@ -119,22 +116,37 @@ const LogoAddressAndSocial = ({
119
116
 
120
117
  <div className={contactDetailsStyle}>
121
118
  {addressFormat === 'full' && (
122
- <div className={addressStyle}>
119
+ <Paragraph
120
+ as='div'
121
+ level='sm'
122
+ noMargins
123
+ className={addressStyle}
124
+ >
123
125
  University College London
124
126
  <br />
125
127
  Gower Street, London, WC1E 6BT
126
- </div>
128
+ </Paragraph>
127
129
  )}
128
130
  {addressFormat === 'compact' && (
129
- <div className={addressStyle}>Gower Street, London, WC1E 6BT</div>
131
+ <Paragraph
132
+ as='div'
133
+ level='sm'
134
+ noMargins
135
+ className={addressStyle}
136
+ >
137
+ Gower Street, London, WC1E 6BT
138
+ </Paragraph>
130
139
  )}
131
140
  <div className={telephoneStyle}>
132
- <a
141
+ <Link
142
+ size='small'
143
+ noVisited
144
+ variant='secondary'
133
145
  className={telephoneLinkStyle}
134
146
  href='tel:+4402076792000'
135
147
  >
136
148
  Tel: +44 (0) 20 7679 2000
137
- </a>
149
+ </Link>
138
150
  </div>
139
151
  </div>
140
152
 
@@ -9,7 +9,7 @@ exports[`Footer > snapshot: footer links provided 1`] = `
9
9
  class="css-1wn072a"
10
10
  >
11
11
  <div
12
- class="ucl-uikit-footer__logo-address-social css-39g6dw"
12
+ class="ucl-uikit-footer__logo-address-social css-s2w22b"
13
13
  data-testid="ucl-uikit-footer__logo-address-social"
14
14
  >
15
15
  <svg
@@ -29,7 +29,8 @@ exports[`Footer > snapshot: footer links provided 1`] = `
29
29
  class="css-x7g5ai"
30
30
  >
31
31
  <div
32
- class="css-zrpfhw"
32
+ class="ucl-uikit-paragraph css-hklwne"
33
+ data-testid="ucl-uikit-paragraph"
33
34
  >
34
35
  University College London
35
36
  <br />
@@ -39,7 +40,8 @@ exports[`Footer > snapshot: footer links provided 1`] = `
39
40
  class="css-ems5xl"
40
41
  >
41
42
  <a
42
- class="css-iyfaeh"
43
+ class="ucl-uikit-base-link ucl-uikit-link css-ed41oj"
44
+ data-testid="ucl-uikit-link"
43
45
  href="tel:+4402076792000"
44
46
  >
45
47
  Tel: +44 (0) 20 7679 2000
@@ -273,7 +275,7 @@ exports[`Footer > snapshot: footer links provided 1`] = `
273
275
  data-testid="ucl-uikit-footer__back-to-top"
274
276
  >
275
277
  <button
276
- class="css-18idfzv"
278
+ class="css-cyv7oe"
277
279
  >
278
280
  Back to top
279
281
  <svg
@@ -301,7 +303,7 @@ exports[`Footer > snapshot: footer links provided 1`] = `
301
303
  data-testid="ucl-uikit-footer__legal-and-copyright"
302
304
  >
303
305
  <div
304
- class="css-j4yrqr"
306
+ class="css-1ogkp9u"
305
307
  >
306
308
  <a
307
309
  class="css-19zp1gp"
@@ -353,7 +355,7 @@ exports[`Footer > snapshot: footer links provided 1`] = `
353
355
  </a>
354
356
  </div>
355
357
  <div
356
- class="css-i2x11w"
358
+ class="css-a9msdd"
357
359
  >
358
360
  ©
359
361
  2026
@@ -376,23 +378,23 @@ exports[`Footer > snapshot: nav links 1`] = `
376
378
  data-testid="ucl-uikit-footer__links"
377
379
  >
378
380
  <div
379
- class="ucl-uikit-footer__column css-1qdqdud"
381
+ class="ucl-uikit-footer__column css-frhp4r"
380
382
  data-testid="ucl-uikit-footer__column"
381
383
  >
382
384
  <h3
383
- class="css-18ul2r4"
385
+ class="css-nfz73w"
384
386
  >
385
387
  Category 1
386
388
  </h3>
387
389
  <a
388
- class="ucl-uikit-base-link ucl-uikit-link ucl-uikit-footer__nav-link css-7pftwz"
390
+ class="ucl-uikit-base-link ucl-uikit-link ucl-uikit-footer__nav-link css-ju7b6v"
389
391
  data-testid="ucl-uikit-footer__nav-link"
390
392
  href="#"
391
393
  >
392
394
  Item 1
393
395
  </a>
394
396
  <a
395
- class="ucl-uikit-base-link ucl-uikit-link ucl-uikit-footer__nav-link css-7pftwz"
397
+ class="ucl-uikit-base-link ucl-uikit-link ucl-uikit-footer__nav-link css-ju7b6v"
396
398
  data-testid="ucl-uikit-footer__nav-link"
397
399
  href="#"
398
400
  >
@@ -400,23 +402,23 @@ exports[`Footer > snapshot: nav links 1`] = `
400
402
  </a>
401
403
  </div>
402
404
  <div
403
- class="ucl-uikit-footer__column css-1qdqdud"
405
+ class="ucl-uikit-footer__column css-frhp4r"
404
406
  data-testid="ucl-uikit-footer__column"
405
407
  >
406
408
  <h3
407
- class="css-18ul2r4"
409
+ class="css-nfz73w"
408
410
  >
409
411
  Category 2
410
412
  </h3>
411
413
  <a
412
- class="ucl-uikit-base-link ucl-uikit-link ucl-uikit-footer__nav-link css-7pftwz"
414
+ class="ucl-uikit-base-link ucl-uikit-link ucl-uikit-footer__nav-link css-ju7b6v"
413
415
  data-testid="ucl-uikit-footer__nav-link"
414
416
  href="#"
415
417
  >
416
418
  Item 1
417
419
  </a>
418
420
  <a
419
- class="ucl-uikit-base-link ucl-uikit-link ucl-uikit-footer__nav-link css-7pftwz"
421
+ class="ucl-uikit-base-link ucl-uikit-link ucl-uikit-footer__nav-link css-ju7b6v"
420
422
  data-testid="ucl-uikit-footer__nav-link"
421
423
  href="#"
422
424
  >
@@ -425,7 +427,7 @@ exports[`Footer > snapshot: nav links 1`] = `
425
427
  </div>
426
428
  </nav>
427
429
  <div
428
- class="ucl-uikit-footer__logo-address-social css-xk4bmq"
430
+ class="ucl-uikit-footer__logo-address-social css-11ttezh"
429
431
  data-testid="ucl-uikit-footer__logo-address-social"
430
432
  >
431
433
  <svg
@@ -445,7 +447,8 @@ exports[`Footer > snapshot: nav links 1`] = `
445
447
  class="css-x7g5ai"
446
448
  >
447
449
  <div
448
- class="css-zrpfhw"
450
+ class="ucl-uikit-paragraph css-hklwne"
451
+ data-testid="ucl-uikit-paragraph"
449
452
  >
450
453
  University College London
451
454
  <br />
@@ -455,7 +458,8 @@ exports[`Footer > snapshot: nav links 1`] = `
455
458
  class="css-ems5xl"
456
459
  >
457
460
  <a
458
- class="css-iyfaeh"
461
+ class="ucl-uikit-base-link ucl-uikit-link css-ed41oj"
462
+ data-testid="ucl-uikit-link"
459
463
  href="tel:+4402076792000"
460
464
  >
461
465
  Tel: +44 (0) 20 7679 2000
@@ -689,7 +693,7 @@ exports[`Footer > snapshot: nav links 1`] = `
689
693
  data-testid="ucl-uikit-footer__back-to-top"
690
694
  >
691
695
  <button
692
- class="css-18idfzv"
696
+ class="css-cyv7oe"
693
697
  >
694
698
  Back to top
695
699
  <svg
@@ -717,7 +721,7 @@ exports[`Footer > snapshot: nav links 1`] = `
717
721
  data-testid="ucl-uikit-footer__legal-and-copyright"
718
722
  >
719
723
  <div
720
- class="css-j4yrqr"
724
+ class="css-1ogkp9u"
721
725
  >
722
726
  <a
723
727
  class="css-19zp1gp"
@@ -769,7 +773,7 @@ exports[`Footer > snapshot: nav links 1`] = `
769
773
  </a>
770
774
  </div>
771
775
  <div
772
- class="css-i2x11w"
776
+ class="css-a9msdd"
773
777
  >
774
778
  ©
775
779
  2026
@@ -788,7 +792,7 @@ exports[`Footer > snapshot: no nav links 1`] = `
788
792
  class="css-1wn072a"
789
793
  >
790
794
  <div
791
- class="ucl-uikit-footer__logo-address-social css-39g6dw"
795
+ class="ucl-uikit-footer__logo-address-social css-s2w22b"
792
796
  data-testid="ucl-uikit-footer__logo-address-social"
793
797
  >
794
798
  <svg
@@ -808,7 +812,8 @@ exports[`Footer > snapshot: no nav links 1`] = `
808
812
  class="css-x7g5ai"
809
813
  >
810
814
  <div
811
- class="css-zrpfhw"
815
+ class="ucl-uikit-paragraph css-hklwne"
816
+ data-testid="ucl-uikit-paragraph"
812
817
  >
813
818
  University College London
814
819
  <br />
@@ -818,7 +823,8 @@ exports[`Footer > snapshot: no nav links 1`] = `
818
823
  class="css-ems5xl"
819
824
  >
820
825
  <a
821
- class="css-iyfaeh"
826
+ class="ucl-uikit-base-link ucl-uikit-link css-ed41oj"
827
+ data-testid="ucl-uikit-link"
822
828
  href="tel:+4402076792000"
823
829
  >
824
830
  Tel: +44 (0) 20 7679 2000
@@ -1052,7 +1058,7 @@ exports[`Footer > snapshot: no nav links 1`] = `
1052
1058
  data-testid="ucl-uikit-footer__back-to-top"
1053
1059
  >
1054
1060
  <button
1055
- class="css-18idfzv"
1061
+ class="css-cyv7oe"
1056
1062
  >
1057
1063
  Back to top
1058
1064
  <svg
@@ -1080,7 +1086,7 @@ exports[`Footer > snapshot: no nav links 1`] = `
1080
1086
  data-testid="ucl-uikit-footer__legal-and-copyright"
1081
1087
  >
1082
1088
  <div
1083
- class="css-j4yrqr"
1089
+ class="css-1ogkp9u"
1084
1090
  >
1085
1091
  <a
1086
1092
  class="css-19zp1gp"
@@ -1132,7 +1138,7 @@ exports[`Footer > snapshot: no nav links 1`] = `
1132
1138
  </a>
1133
1139
  </div>
1134
1140
  <div
1135
- class="css-i2x11w"
1141
+ class="css-a9msdd"
1136
1142
  >
1137
1143
  ©
1138
1144
  2026
@@ -15,13 +15,18 @@ const HeaderBottomBreadcrumbs = ({
15
15
  ...props
16
16
  }: HeaderBottomBreadcrumbsProps) => {
17
17
  const [theme] = useTheme();
18
+ const { sm } = theme.typography.body;
18
19
 
19
20
  const baseStyle = css`
20
21
  color: ${theme.color.text.primary};
21
22
  padding: ${theme.padding.p16} 60px;
22
23
  box-sizing: border-box;
23
24
  border-bottom: 1px solid ${theme.color.neutral.grey15};
24
- font-size: ${theme.font.size.f14};
25
+ font-family: ${sm.fontFamily};
26
+ font-feature-settings: ${sm.fontSettings};
27
+ font-size: ${sm.fontSize}px;
28
+ font-weight: ${sm.fontWeight};
29
+ line-height: ${sm.lineHeight}%;
25
30
  `;
26
31
 
27
32
  const style = cx(NAME, baseStyle, className);
@@ -28,6 +28,9 @@ const Header = ({
28
28
  ...props
29
29
  }: HeaderProps) => {
30
30
  const [theme] = useTheme();
31
+ const headingTypography = theme.typography.heading.sm.md;
32
+ const subheadingTypography = theme.typography.body.md;
33
+ const profileTypography = theme.typography.body.sm;
31
34
 
32
35
  const baseStyle = css`
33
36
  color: ${theme.color.text.primary};
@@ -47,17 +50,21 @@ const Header = ({
47
50
 
48
51
  const headingStyle = css`
49
52
  margin: 0;
50
- font-size: ${theme.font.size.f24};
51
- font-weight: 400;
52
- line-height: 24px;
53
+ font-family: ${headingTypography.fontFamily};
54
+ font-feature-settings: ${headingTypography.fontSettings};
55
+ font-size: ${headingTypography.fontSize}px;
56
+ font-weight: ${headingTypography.fontWeight};
57
+ line-height: ${headingTypography.lineHeight}%;
53
58
  `;
54
59
 
55
60
  const subheadingStyle = css`
56
61
  margin: ${theme.margin.m8} 0 0 0;
57
62
  color: ${theme.color.text.secondary};
58
- font-size: ${theme.font.size.f16};
59
- font-weight: 400;
60
- line-height: 16px;
63
+ font-family: ${subheadingTypography.fontFamily};
64
+ font-feature-settings: ${subheadingTypography.fontSettings};
65
+ font-size: ${subheadingTypography.fontSize}px;
66
+ font-weight: ${subheadingTypography.fontWeight};
67
+ line-height: ${subheadingTypography.lineHeight}%;
61
68
  `;
62
69
 
63
70
  const avatarDropdownStyle = css`
@@ -91,12 +98,16 @@ const Header = ({
91
98
 
92
99
  const nameAndRoleStyle = css`
93
100
  flex: 1;
94
- font-size: ${theme.font.size.f14};
95
101
  color: ${theme.color.text.primary};
102
+ font-family: ${profileTypography.fontFamily};
103
+ font-feature-settings: ${profileTypography.fontSettings};
104
+ font-size: ${profileTypography.fontSize}px;
105
+ font-weight: ${profileTypography.fontWeight};
106
+ line-height: ${profileTypography.lineHeight}%;
96
107
  `;
97
108
 
98
109
  const nameStyle = css`
99
- font-size: ${theme.font.size.f14};
110
+ font: inherit;
100
111
  `;
101
112
 
102
113
  const roleStyle = css`
@@ -17,10 +17,15 @@ const HeaderBreadcrumb = ({
17
17
  ...props
18
18
  }: HeaderBreadcrumbProps) => {
19
19
  const [theme] = useTheme();
20
+ const { sm, smSemibold } = theme.typography.body;
20
21
 
21
22
  const baseStyle = css`
22
23
  color: ${theme.color.text.primary};
23
- font-size: ${theme.font.size.f14};
24
+ font-family: ${sm.fontFamily};
25
+ font-feature-settings: ${sm.fontSettings};
26
+ font-size: ${sm.fontSize}px;
27
+ font-weight: ${sm.fontWeight};
28
+ line-height: ${sm.lineHeight}%;
24
29
  `;
25
30
 
26
31
  const textBaseStyle = css`
@@ -40,7 +45,11 @@ const HeaderBreadcrumb = ({
40
45
 
41
46
  const nonLinkStyle = css`
42
47
  color: ${theme.color.text.secondary};
43
- font-weight: 700;
48
+ font-family: ${smSemibold.fontFamily};
49
+ font-feature-settings: ${smSemibold.fontSettings};
50
+ font-size: ${smSemibold.fontSize}px;
51
+ font-weight: ${smSemibold.fontWeight};
52
+ line-height: ${smSemibold.lineHeight}%;
44
53
  `;
45
54
 
46
55
  const textStyle = cx(textBaseStyle, !link && nonLinkStyle);
@@ -43,6 +43,7 @@ const HeaderDraft = ({
43
43
  ...props
44
44
  }: HeaderDraftProps) => {
45
45
  const [theme] = useTheme();
46
+ const { mdSemibold, lgBold } = theme.typography.body;
46
47
 
47
48
  const menuChildren: React.ReactNode[] = [];
48
49
  const nonMenuChildren: React.ReactNode[] = [];
@@ -57,7 +58,11 @@ const HeaderDraft = ({
57
58
 
58
59
  const baseStyle = css`
59
60
  background-color: ${theme.color.neutral.white};
60
- font-family: ${theme.font.family.primary};
61
+ font-family: ${theme.typography.body.md.fontFamily};
62
+ font-feature-settings: ${theme.typography.body.md.fontSettings};
63
+ font-size: ${theme.typography.body.md.fontSize}px;
64
+ font-weight: ${theme.typography.body.md.fontWeight};
65
+ line-height: ${theme.typography.body.md.lineHeight}%;
61
66
  font-synthesis: none;
62
67
  text-rendering: optimizeLegibility;
63
68
  -webkit-font-smoothing: antialiased;
@@ -105,8 +110,11 @@ const HeaderDraft = ({
105
110
  const titleStyle = css`
106
111
  display: block;
107
112
  margin: 0;
108
- font-size: ${theme.font.size.f18};
109
- font-weight: 700;
113
+ font-family: ${lgBold.fontFamily};
114
+ font-feature-settings: ${lgBold.fontSettings};
115
+ font-size: ${lgBold.fontSize}px;
116
+ font-weight: ${lgBold.fontWeight};
117
+ line-height: ${lgBold.lineHeight}%;
110
118
  text-align: center;
111
119
  `;
112
120
 
@@ -117,8 +125,11 @@ const HeaderDraft = ({
117
125
  padding: 0 ${theme.padding.p16};
118
126
  background-color: ${theme.color.neutral.white};
119
127
  color: ${theme.color.text.primary};
120
- font-size: ${theme.font.size.f16};
121
- font-weight: 700;
128
+ font-family: ${mdSemibold.fontFamily};
129
+ font-feature-settings: ${mdSemibold.fontSettings};
130
+ font-size: ${mdSemibold.fontSize}px;
131
+ font-weight: ${mdSemibold.fontWeight};
132
+ line-height: ${mdSemibold.lineHeight}%;
122
133
  border: none;
123
134
  display: flex;
124
135
  align-items: center;
@@ -2,7 +2,7 @@
2
2
 
3
3
  exports[`Header > snapshot: variant=avatar 1`] = `
4
4
  <header
5
- class="ucl-uikit-header css-1crtzt6"
5
+ class="ucl-uikit-header css-15a6wts"
6
6
  data-testid="ucl-uikit-header"
7
7
  >
8
8
  <div
@@ -32,12 +32,12 @@ exports[`Header > snapshot: variant=avatar 1`] = `
32
32
  class="css-x5lawr"
33
33
  >
34
34
  <h1
35
- class="css-1683c8i"
35
+ class="css-jrzbk1"
36
36
  >
37
37
  LIDS
38
38
  </h1>
39
39
  <h2
40
- class="css-1ui7iu9"
40
+ class="css-jmsvac"
41
41
  >
42
42
  Lorem Ipsum Dolor Simet
43
43
  </h2>
@@ -55,10 +55,10 @@ exports[`Header > snapshot: variant=avatar 1`] = `
55
55
  />
56
56
  </div>
57
57
  <div
58
- class="css-dz7zbn"
58
+ class="css-1o9s1xh"
59
59
  >
60
60
  <div
61
- class="css-xahd9c"
61
+ class="css-f9ijlp"
62
62
  >
63
63
  Haley Holland
64
64
  </div>
@@ -93,7 +93,7 @@ exports[`Header > snapshot: variant=avatar 1`] = `
93
93
 
94
94
  exports[`Header > snapshot: variant=breadcrumbs 1`] = `
95
95
  <header
96
- class="ucl-uikit-header css-1crtzt6"
96
+ class="ucl-uikit-header css-15a6wts"
97
97
  data-testid="ucl-uikit-header"
98
98
  >
99
99
  <div
@@ -116,7 +116,7 @@ exports[`Header > snapshot: variant=breadcrumbs 1`] = `
116
116
  </svg>
117
117
  </div>
118
118
  <nav
119
- class="ucl-uikit-header__bottom--breadcrumbs css-ff2u5r"
119
+ class="ucl-uikit-header__bottom--breadcrumbs css-1rcrkpw"
120
120
  data-testid="ucl-uikit-header__bottom--breadcrumbs"
121
121
  >
122
122
  <ul
@@ -15,12 +15,18 @@ const HeaderItem = ({
15
15
  ...props
16
16
  }: HeaderItemProps) => {
17
17
  const [theme] = useTheme();
18
+ const { md } = theme.typography.body;
18
19
 
19
20
  const baseStyle = css`
20
21
  display: inline-flex;
21
22
  align-items: center;
22
23
  align-self: center;
23
24
  min-height: 40px;
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}%;
24
30
 
25
31
  &:not(:first-of-type) {
26
32
  margin-left: ${theme.margin.m16};
@@ -5,7 +5,7 @@ exports[`Input > snapshot: no props 1`] = `
5
5
  class="ucl-uikit-input css-1bpb1dw"
6
6
  >
7
7
  <input
8
- class="ucl-uikit-input__input css-10ijqev"
8
+ class="ucl-uikit-input__input css-kvsjyn"
9
9
  data-testid="ucl-uikit-input"
10
10
  id=""
11
11
  />
@@ -17,7 +17,7 @@ exports[`Input > snapshot: placeholder prop 1`] = `
17
17
  class="ucl-uikit-input css-1bpb1dw"
18
18
  >
19
19
  <input
20
- class="ucl-uikit-input__input css-10ijqev"
20
+ class="ucl-uikit-input__input css-kvsjyn"
21
21
  data-testid="ucl-uikit-input"
22
22
  id=""
23
23
  placeholder="Type your value..."
@@ -30,7 +30,7 @@ exports[`Input > snapshot: testId prop 1`] = `
30
30
  class="ucl-uikit-input css-1bpb1dw"
31
31
  >
32
32
  <input
33
- class="ucl-uikit-input__input css-10ijqev"
33
+ class="ucl-uikit-input__input css-kvsjyn"
34
34
  data-testid="test123"
35
35
  id=""
36
36
  />
@@ -42,7 +42,7 @@ exports[`Input > snapshot: value prop 1`] = `
42
42
  class="ucl-uikit-input css-1bpb1dw"
43
43
  >
44
44
  <input
45
- class="ucl-uikit-input__input css-10ijqev"
45
+ class="ucl-uikit-input__input css-kvsjyn"
46
46
  data-testid="ucl-uikit-input"
47
47
  id=""
48
48
  value="abc"
@@ -5,6 +5,7 @@ import useTheme from '../../theme/useTheme';
5
5
  import useMediaQuery from '../../hooks/useMediaQuery';
6
6
  import Icon from '../Icon';
7
7
  import IconButton from '../IconButton';
8
+ import Heading from '../Heading';
8
9
  import { useAppMenu } from './Menu.context';
9
10
 
10
11
  export const NAME = 'ucl-uikit-menu__content';
@@ -113,7 +114,14 @@ const MenuContent: React.FC<MenuContentProps> = ({
113
114
  className={style}
114
115
  >
115
116
  <header className={headerStyle}>
116
- <h3 className={titleStyle}>{title}</h3>
117
+ <Heading
118
+ as='h3'
119
+ level='xs'
120
+ margins={false}
121
+ className={titleStyle}
122
+ >
123
+ {title}
124
+ </Heading>
117
125
  <IconButton
118
126
  onClick={toggleMenu}
119
127
  aria-label='Close menu'
@@ -17,6 +17,7 @@ const NativeDatepicker = ({
17
17
  ...props
18
18
  }: NativeDatepickerProps) => {
19
19
  const [theme] = useTheme();
20
+ const { md } = theme.typography.body;
20
21
 
21
22
  const baseStyle = css`
22
23
  width: 196px;
@@ -25,8 +26,11 @@ const NativeDatepicker = ({
25
26
  padding: 0 16px;
26
27
  border: 1px solid ${theme.colour.speciality.inputDefault};
27
28
  color: ${theme.colour.text.default};
28
- font-size: 16px;
29
- font-family: sans-serif;
29
+ font-family: ${md.fontFamily};
30
+ font-feature-settings: ${md.fontSettings};
31
+ font-size: ${md.fontSize}px;
32
+ font-weight: ${md.fontWeight};
33
+ line-height: ${md.lineHeight}%;
30
34
  text-transform: uppercase;
31
35
  cursor: pointer;
32
36
 
@@ -1,6 +1,7 @@
1
1
  import { useContext, memo } from 'react';
2
2
  import { css, cx } from '@emotion/css';
3
3
  import useTheme from '../../theme/useTheme';
4
+ import Paragraph from '../Paragraph';
4
5
  import { PaginationContext } from './Pagination';
5
6
 
6
7
  export const NAME = 'ucl-uikit-pagination__info';
@@ -14,7 +15,7 @@ export interface PaginationInfoProps extends React.HTMLAttributes<HTMLDivElement
14
15
  const PaginationInfo = ({
15
16
  format = 'pages',
16
17
  itemsPluralName,
17
- testId,
18
+ testId = NAME,
18
19
  className,
19
20
  ...props
20
21
  }: PaginationInfoProps) => {
@@ -51,8 +52,6 @@ const PaginationInfo = ({
51
52
  margin: ${theme.margin.m16} 0;
52
53
  text-align: center;
53
54
  color: ${theme.colour.text.secondary};
54
- font-family: ${theme.font.family.primary};
55
- font-size: ${theme.font.size.f16};
56
55
 
57
56
  @media (min-width: ${theme.breakpoints.tablet}px) {
58
57
  margin: ${theme.margin.m24} 0;
@@ -62,15 +61,18 @@ const PaginationInfo = ({
62
61
  const style = cx(NAME, baseStyle, className);
63
62
 
64
63
  return (
65
- <div
64
+ <Paragraph
65
+ as='div'
66
+ level='md'
67
+ noMargins
66
68
  className={style}
67
- data-testid={testId}
69
+ testId={testId}
68
70
  aria-live='polite'
69
71
  aria-label={`Pagination info: ${text}`}
70
72
  {...props}
71
73
  >
72
74
  {text}
73
- </div>
75
+ </Paragraph>
74
76
  );
75
77
  };
76
78