uikit-react-public 0.11.24 → 0.14.21

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 (184) hide show
  1. package/dist/components/Badge/Badge.d.ts +6 -0
  2. package/dist/components/Badge/Badge.stories.d.ts +15 -0
  3. package/dist/components/Badge/index.d.ts +2 -0
  4. package/dist/components/Button/Button.d.ts +2 -1
  5. package/dist/components/CookieNotice/CookieNotice.d.ts +16 -0
  6. package/dist/components/CookieNotice/index.d.ts +2 -0
  7. package/dist/components/Dialog/BaseDialog.d.ts +7 -2
  8. package/dist/components/FileInput/FileInput.d.ts +8 -0
  9. package/dist/components/FileInput/FileInput.stories.d.ts +16 -0
  10. package/dist/components/FileInput/__tests__/FileInput.test.d.ts +1 -0
  11. package/dist/components/FileInput/index.d.ts +2 -0
  12. package/dist/components/Header/Header.d.ts +4 -1
  13. package/dist/components/Heading/Heading.d.ts +1 -1
  14. package/dist/components/Link/BaseLink.d.ts +10 -0
  15. package/dist/components/Link/Link.d.ts +5 -10
  16. package/dist/components/Link/Link.stories.d.ts +1 -1
  17. package/dist/components/Link/index.d.ts +1 -1
  18. package/dist/components/Menu/MenuContent.d.ts +1 -1
  19. package/dist/components/Menu/MenuItem.d.ts +2 -0
  20. package/dist/components/Menu/MenuSection.d.ts +1 -1
  21. package/dist/components/Search/Search.d.ts +16 -0
  22. package/dist/components/Search/Search.stories.d.ts +34 -0
  23. package/dist/components/Search/__tests__/Search.test.d.ts +1 -0
  24. package/dist/components/Search/index.d.ts +2 -0
  25. package/dist/components/Select/Select.d.ts +1 -1
  26. package/dist/components/Select/Select.stories.d.ts +3 -7
  27. package/dist/components/Select/Select.types.d.ts +19 -14
  28. package/dist/components/Select/subcomponents/CustomOption.d.ts +1 -1
  29. package/dist/components/Select/subcomponents/CustomSelect.d.ts +1 -2
  30. package/dist/components/Select/subcomponents/Panel.d.ts +1 -1
  31. package/dist/components/Select/subcomponents/VisibleField.d.ts +4 -4
  32. package/dist/components/StandaloneLink/StandaloneLink.d.ts +12 -0
  33. package/dist/components/StandaloneLink/StandaloneLink.stories.d.ts +13 -0
  34. package/dist/components/StandaloneLink/__tests__/StandaloneLink.test.d.ts +1 -0
  35. package/dist/components/StandaloneLink/index.d.ts +2 -0
  36. package/dist/components/Table/Table.d.ts +10 -8
  37. package/dist/components/Table/Table.stories.d.ts +21 -0
  38. package/dist/components/Table/Table.types.d.ts +11 -0
  39. package/dist/components/Table/__tests__/Table.test.d.ts +1 -0
  40. package/dist/components/Table/index.d.ts +2 -1
  41. package/dist/components/Table/subcomponents/Body.d.ts +4 -0
  42. package/dist/components/Table/subcomponents/Cell/Cell.d.ts +12 -0
  43. package/dist/components/Table/subcomponents/Cell/Cell.stories.d.ts +313 -0
  44. package/dist/components/Table/subcomponents/Cell/CellContent.d.ts +10 -0
  45. package/dist/components/Table/subcomponents/Cell/__tests__/Cell.test.d.ts +1 -0
  46. package/dist/components/Table/subcomponents/Head.d.ts +4 -0
  47. package/dist/components/Table/subcomponents/HeadCell/HeadCell.d.ts +13 -0
  48. package/dist/components/Table/subcomponents/HeadCell/HeadCell.stories.d.ts +312 -0
  49. package/dist/components/Table/subcomponents/HeadCell/HeadCellContent.d.ts +10 -0
  50. package/dist/components/Table/subcomponents/HeadCell/__tests__/HeadCell.test.d.ts +1 -0
  51. package/dist/components/Table/subcomponents/Row.d.ts +5 -0
  52. package/dist/components/Table/subcomponents/SortIcon.d.ts +7 -0
  53. package/dist/components/Table/subcomponents/index.d.ts +10 -0
  54. package/dist/components/Tabs/Tab.d.ts +1 -1
  55. package/dist/components/Tabs/TabContext.d.ts +1 -0
  56. package/dist/components/Tabs/Tabs.d.ts +3 -1
  57. package/dist/components/Tabs/Tabs.stories.d.ts +3 -0
  58. package/dist/components/Timepicker/Timepicker.d.ts +10 -0
  59. package/dist/components/Timepicker/Timepicker.stories.d.ts +7 -0
  60. package/dist/components/Timepicker/__tests__/Timepicker.test.d.ts +1 -0
  61. package/dist/components/Timepicker/index.d.ts +2 -0
  62. package/dist/components/Timepicker/utils/convertDateToTimeString.d.ts +2 -0
  63. package/dist/components/Timepicker/utils/convertDateToTimeString.test.d.ts +1 -0
  64. package/dist/components/Timepicker/utils/index.d.ts +1 -0
  65. package/dist/components/WeekPicker/WeekPicker.d.ts +3 -0
  66. package/dist/components/WeekPicker/index.d.ts +1 -0
  67. package/dist/components/WeekPicker/subcomponents/CustomDatepicker.d.ts +17 -0
  68. package/dist/components/WeekPicker/subcomponents/DatepickerInput.d.ts +13 -0
  69. package/dist/components/WeekPicker/subcomponents/VisibleField.d.ts +15 -0
  70. package/dist/components/WeekPicker/subcomponents/index.d.ts +3 -0
  71. package/dist/components/index.d.ts +11 -0
  72. package/dist/hooks/index.d.ts +2 -0
  73. package/dist/hooks/useFocusTrap.d.ts +9 -0
  74. package/dist/index.d.ts +1 -0
  75. package/dist/index.js +5703 -4448
  76. package/dist/theme/defaultTheme.d.ts +7 -0
  77. package/dist/theme/useTheme.d.ts +14 -0
  78. package/dist/utils/__tests__/capitalise.test.d.ts +1 -0
  79. package/dist/utils/capitalise.d.ts +2 -0
  80. package/lib/components/Alert/Alert.tsx +7 -1
  81. package/lib/components/Alert/__tests__/__snapshots__/Alert.test.tsx.snap +4 -0
  82. package/lib/components/Badge/Badge.stories.tsx +19 -0
  83. package/lib/components/Badge/Badge.tsx +48 -0
  84. package/lib/components/Badge/index.ts +2 -0
  85. package/lib/components/Breadcrumbs/__tests__/__snapshots__/Breadcrumbs.test.tsx.snap +4 -4
  86. package/lib/components/Button/Button.tsx +5 -2
  87. package/lib/components/Calendar/subcomponents/Grid.tsx +0 -1
  88. package/lib/components/CookieNotice/CookieNotice.tsx +114 -0
  89. package/lib/components/CookieNotice/index.ts +2 -0
  90. package/lib/components/Dialog/BaseDialog.tsx +44 -4
  91. package/lib/components/Field/__tests__/Field.test.tsx +148 -148
  92. package/lib/components/FileInput/FileInput.stories.tsx +70 -0
  93. package/lib/components/FileInput/FileInput.tsx +68 -0
  94. package/lib/components/FileInput/__tests__/FileInput.test.tsx +99 -0
  95. package/lib/components/FileInput/__tests__/__snapshots__/FileInput.test.tsx.snap +91 -0
  96. package/lib/components/FileInput/index.ts +2 -0
  97. package/lib/components/Footer/__tests__/__snapshots__/Footer.test.tsx.snap +25 -25
  98. package/lib/components/Header/Header.tsx +19 -2
  99. package/lib/components/Header/__tests__/__snapshots__/Header.test.tsx.snap +4 -4
  100. package/lib/components/Heading/Documentation.mdx +1 -1
  101. package/lib/components/Heading/Heading.tsx +1 -1
  102. package/lib/components/Heading/__tests__/Heading.test.tsx +7 -19
  103. package/lib/components/Heading/__tests__/__snapshots__/Heading.test.tsx.snap +7 -7
  104. package/lib/components/Label/Label.tsx +0 -2
  105. package/lib/components/Label/__tests__/__snapshots__/Label.test.tsx.snap +7 -7
  106. package/lib/components/Link/BaseLink.tsx +84 -0
  107. package/lib/components/Link/Link.tsx +72 -32
  108. package/lib/components/Link/__tests__/__snapshots__/link.test.tsx.snap +3 -3
  109. package/lib/components/Link/__tests__/link.test.tsx +6 -13
  110. package/lib/components/Link/index.ts +1 -1
  111. package/lib/components/Menu/Menu.context.tsx +3 -1
  112. package/lib/components/Menu/Menu.tsx +2 -2
  113. package/lib/components/Menu/MenuContent.tsx +5 -5
  114. package/lib/components/Menu/MenuItem.tsx +20 -3
  115. package/lib/components/Menu/MenuSection.tsx +4 -3
  116. package/lib/components/Pagination/PaginationControls.tsx +1 -3
  117. package/lib/components/Search/Search.stories.tsx +41 -0
  118. package/lib/components/Search/Search.tsx +167 -0
  119. package/lib/components/Search/__tests__/Search.test.tsx +94 -0
  120. package/lib/components/Search/__tests__/__snapshots__/Search.test.tsx.snap +179 -0
  121. package/lib/components/Search/index.ts +2 -0
  122. package/lib/components/Select/Select.stories.tsx +8 -35
  123. package/lib/components/Select/Select.tsx +2 -2
  124. package/lib/components/Select/Select.types.ts +20 -15
  125. package/lib/components/Select/__tests__/__snapshots__/Select.test.tsx.snap +3 -3
  126. package/lib/components/Select/subcomponents/CustomOption.tsx +22 -9
  127. package/lib/components/Select/subcomponents/CustomSelect.tsx +31 -20
  128. package/lib/components/Select/subcomponents/Panel.tsx +4 -5
  129. package/lib/components/Select/subcomponents/VisibleField.tsx +26 -22
  130. package/lib/components/StandaloneLink/StandaloneLink.stories.tsx +32 -0
  131. package/lib/components/StandaloneLink/StandaloneLink.tsx +183 -0
  132. package/lib/components/StandaloneLink/__tests__/StandaloneLink.test.tsx +57 -0
  133. package/lib/components/StandaloneLink/__tests__/__snapshots__/StandaloneLink.test.tsx.snap +19 -0
  134. package/lib/components/StandaloneLink/index.ts +2 -0
  135. package/lib/components/Table/Table.stories.tsx +337 -0
  136. package/lib/components/Table/Table.tsx +42 -67
  137. package/lib/components/Table/Table.types.ts +14 -0
  138. package/lib/components/Table/__tests__/Table.test.tsx +121 -0
  139. package/lib/components/Table/__tests__/__snapshots__/Table.test.tsx.snap +210 -0
  140. package/lib/components/Table/index.ts +8 -1
  141. package/lib/components/Table/subcomponents/Body.tsx +18 -0
  142. package/lib/components/Table/subcomponents/Cell/Cell.stories.tsx +151 -0
  143. package/lib/components/Table/subcomponents/Cell/Cell.tsx +72 -0
  144. package/lib/components/Table/subcomponents/Cell/CellContent.tsx +91 -0
  145. package/lib/components/Table/subcomponents/Cell/__tests__/Cell.test.tsx +115 -0
  146. package/lib/components/Table/subcomponents/Cell/__tests__/__snapshots__/Cell.test.tsx.snap +107 -0
  147. package/lib/components/Table/subcomponents/Head.tsx +34 -0
  148. package/lib/components/Table/subcomponents/HeadCell/HeadCell.stories.tsx +85 -0
  149. package/lib/components/Table/subcomponents/HeadCell/HeadCell.tsx +99 -0
  150. package/lib/components/Table/subcomponents/HeadCell/HeadCellContent.tsx +61 -0
  151. package/lib/components/Table/subcomponents/HeadCell/__tests__/HeadCell.test.tsx +137 -0
  152. package/lib/components/Table/subcomponents/HeadCell/__tests__/__snapshots__/HeadCell.test.tsx.snap +110 -0
  153. package/lib/components/Table/subcomponents/Row.tsx +49 -0
  154. package/lib/components/Table/subcomponents/SortIcon.tsx +63 -0
  155. package/lib/components/Table/subcomponents/index.ts +14 -0
  156. package/lib/components/Tabs/Tab.tsx +3 -3
  157. package/lib/components/Tabs/TabContext.tsx +1 -0
  158. package/lib/components/Tabs/Tabs.stories.tsx +9 -3
  159. package/lib/components/Tabs/Tabs.tsx +10 -32
  160. package/lib/components/Tabs/__tests__/Tabs.test.tsx +10 -4
  161. package/lib/components/Tabs/__tests__/__snapshots__/Tabs.test.tsx.snap +32 -32
  162. package/lib/components/Timepicker/Timepicker.stories.tsx +43 -0
  163. package/lib/components/Timepicker/Timepicker.tsx +96 -0
  164. package/lib/components/Timepicker/__tests__/Timepicker.test.tsx +55 -0
  165. package/lib/components/Timepicker/__tests__/__snapshots__/Timepicker.test.tsx.snap +19 -0
  166. package/lib/components/Timepicker/index.tsx +2 -0
  167. package/lib/components/Timepicker/utils/convertDateToTimeString.test.ts +54 -0
  168. package/lib/components/Timepicker/utils/convertDateToTimeString.ts +10 -0
  169. package/lib/components/Timepicker/utils/index.ts +1 -0
  170. package/lib/components/WeekPicker/WeekPicker.tsx +26 -0
  171. package/lib/components/WeekPicker/index.ts +1 -0
  172. package/lib/components/WeekPicker/subcomponents/CustomDatepicker.tsx +298 -0
  173. package/lib/components/WeekPicker/subcomponents/DatepickerInput.tsx +111 -0
  174. package/lib/components/WeekPicker/subcomponents/VisibleField.tsx +126 -0
  175. package/lib/components/WeekPicker/subcomponents/index.ts +3 -0
  176. package/lib/components/index.ts +17 -0
  177. package/lib/hooks/index.ts +2 -0
  178. package/lib/hooks/useFocusTrap.ts +123 -0
  179. package/lib/index.ts +1 -0
  180. package/lib/theme/defaultTheme.ts +7 -0
  181. package/lib/utils/__tests__/capitalise.test.ts +40 -0
  182. package/lib/utils/capitalise.ts +4 -0
  183. package/package.json +1 -1
  184. package/lib/components/Field/__tests__/__snapshots__/Field.test.tsx.snap +0 -300
@@ -34,7 +34,7 @@ exports[`Footer > snapshot: footer links provided 1`] = `
34
34
  >
35
35
  <a
36
36
  aria-label="Facebook"
37
- class="ucl-link ucl-uikit-footer__social-link css-1bd4uza"
37
+ class="ucl-uikit-base-link ucl-uikit-link ucl-uikit-footer__social-link css-1neoh67"
38
38
  data-testid="ucl-uikit-footer__social-link"
39
39
  href="https://www.facebook.com/uclofficial/"
40
40
  target="_blank"
@@ -60,7 +60,7 @@ exports[`Footer > snapshot: footer links provided 1`] = `
60
60
  </a>
61
61
  <a
62
62
  aria-label="Flickr"
63
- class="ucl-link ucl-uikit-footer__social-link css-1bd4uza"
63
+ class="ucl-uikit-base-link ucl-uikit-link ucl-uikit-footer__social-link css-1neoh67"
64
64
  data-testid="ucl-uikit-footer__social-link"
65
65
  href="https://www.flickr.com/groups/ucl/"
66
66
  target="_blank"
@@ -89,7 +89,7 @@ exports[`Footer > snapshot: footer links provided 1`] = `
89
89
  </a>
90
90
  <a
91
91
  aria-label="TikTok"
92
- class="ucl-link ucl-uikit-footer__social-link css-1bd4uza"
92
+ class="ucl-uikit-base-link ucl-uikit-link ucl-uikit-footer__social-link css-1neoh67"
93
93
  data-testid="ucl-uikit-footer__social-link"
94
94
  href="https://www.tiktok.com/@uclofficial"
95
95
  target="_blank"
@@ -115,7 +115,7 @@ exports[`Footer > snapshot: footer links provided 1`] = `
115
115
  </a>
116
116
  <a
117
117
  aria-label="YouTube"
118
- class="ucl-link ucl-uikit-footer__social-link css-1bd4uza"
118
+ class="ucl-uikit-base-link ucl-uikit-link ucl-uikit-footer__social-link css-1neoh67"
119
119
  data-testid="ucl-uikit-footer__social-link"
120
120
  href="https://www.youtube.com/ucltv"
121
121
  target="_blank"
@@ -141,7 +141,7 @@ exports[`Footer > snapshot: footer links provided 1`] = `
141
141
  </a>
142
142
  <a
143
143
  aria-label="SoundCloud"
144
- class="ucl-link ucl-uikit-footer__social-link css-1bd4uza"
144
+ class="ucl-uikit-base-link ucl-uikit-link ucl-uikit-footer__social-link css-1neoh67"
145
145
  data-testid="ucl-uikit-footer__social-link"
146
146
  href="https://soundcloud.com/uclsound"
147
147
  target="_blank"
@@ -169,7 +169,7 @@ exports[`Footer > snapshot: footer links provided 1`] = `
169
169
  </a>
170
170
  <a
171
171
  aria-label="X social media platform"
172
- class="ucl-link ucl-uikit-footer__social-link css-1bd4uza"
172
+ class="ucl-uikit-base-link ucl-uikit-link ucl-uikit-footer__social-link css-1neoh67"
173
173
  data-testid="ucl-uikit-footer__social-link"
174
174
  href="https://x.com/ucl"
175
175
  target="_blank"
@@ -195,7 +195,7 @@ exports[`Footer > snapshot: footer links provided 1`] = `
195
195
  </a>
196
196
  <a
197
197
  aria-label="Instagram"
198
- class="ucl-link ucl-uikit-footer__social-link css-1bd4uza"
198
+ class="ucl-uikit-base-link ucl-uikit-link ucl-uikit-footer__social-link css-1neoh67"
199
199
  data-testid="ucl-uikit-footer__social-link"
200
200
  href="https://www.instagram.com/ucl/"
201
201
  target="_blank"
@@ -316,14 +316,14 @@ exports[`Footer > snapshot: nav links 1`] = `
316
316
  Category 1
317
317
  </h3>
318
318
  <a
319
- class="ucl-link ucl-uikit-footer__nav-link css-kdejd1"
319
+ class="ucl-uikit-base-link ucl-uikit-link ucl-uikit-footer__nav-link css-1v2y7lc"
320
320
  data-testid="ucl-uikit-footer__nav-link"
321
321
  href="#"
322
322
  >
323
323
  Item 1
324
324
  </a>
325
325
  <a
326
- class="ucl-link ucl-uikit-footer__nav-link css-kdejd1"
326
+ class="ucl-uikit-base-link ucl-uikit-link ucl-uikit-footer__nav-link css-1v2y7lc"
327
327
  data-testid="ucl-uikit-footer__nav-link"
328
328
  href="#"
329
329
  >
@@ -340,14 +340,14 @@ exports[`Footer > snapshot: nav links 1`] = `
340
340
  Category 2
341
341
  </h3>
342
342
  <a
343
- class="ucl-link ucl-uikit-footer__nav-link css-kdejd1"
343
+ class="ucl-uikit-base-link ucl-uikit-link ucl-uikit-footer__nav-link css-1v2y7lc"
344
344
  data-testid="ucl-uikit-footer__nav-link"
345
345
  href="#"
346
346
  >
347
347
  Item 1
348
348
  </a>
349
349
  <a
350
- class="ucl-link ucl-uikit-footer__nav-link css-kdejd1"
350
+ class="ucl-uikit-base-link ucl-uikit-link ucl-uikit-footer__nav-link css-1v2y7lc"
351
351
  data-testid="ucl-uikit-footer__nav-link"
352
352
  href="#"
353
353
  >
@@ -378,7 +378,7 @@ exports[`Footer > snapshot: nav links 1`] = `
378
378
  >
379
379
  <a
380
380
  aria-label="Facebook"
381
- class="ucl-link ucl-uikit-footer__social-link css-1bd4uza"
381
+ class="ucl-uikit-base-link ucl-uikit-link ucl-uikit-footer__social-link css-1neoh67"
382
382
  data-testid="ucl-uikit-footer__social-link"
383
383
  href="https://www.facebook.com/uclofficial/"
384
384
  target="_blank"
@@ -404,7 +404,7 @@ exports[`Footer > snapshot: nav links 1`] = `
404
404
  </a>
405
405
  <a
406
406
  aria-label="Flickr"
407
- class="ucl-link ucl-uikit-footer__social-link css-1bd4uza"
407
+ class="ucl-uikit-base-link ucl-uikit-link ucl-uikit-footer__social-link css-1neoh67"
408
408
  data-testid="ucl-uikit-footer__social-link"
409
409
  href="https://www.flickr.com/groups/ucl/"
410
410
  target="_blank"
@@ -433,7 +433,7 @@ exports[`Footer > snapshot: nav links 1`] = `
433
433
  </a>
434
434
  <a
435
435
  aria-label="TikTok"
436
- class="ucl-link ucl-uikit-footer__social-link css-1bd4uza"
436
+ class="ucl-uikit-base-link ucl-uikit-link ucl-uikit-footer__social-link css-1neoh67"
437
437
  data-testid="ucl-uikit-footer__social-link"
438
438
  href="https://www.tiktok.com/@uclofficial"
439
439
  target="_blank"
@@ -459,7 +459,7 @@ exports[`Footer > snapshot: nav links 1`] = `
459
459
  </a>
460
460
  <a
461
461
  aria-label="YouTube"
462
- class="ucl-link ucl-uikit-footer__social-link css-1bd4uza"
462
+ class="ucl-uikit-base-link ucl-uikit-link ucl-uikit-footer__social-link css-1neoh67"
463
463
  data-testid="ucl-uikit-footer__social-link"
464
464
  href="https://www.youtube.com/ucltv"
465
465
  target="_blank"
@@ -485,7 +485,7 @@ exports[`Footer > snapshot: nav links 1`] = `
485
485
  </a>
486
486
  <a
487
487
  aria-label="SoundCloud"
488
- class="ucl-link ucl-uikit-footer__social-link css-1bd4uza"
488
+ class="ucl-uikit-base-link ucl-uikit-link ucl-uikit-footer__social-link css-1neoh67"
489
489
  data-testid="ucl-uikit-footer__social-link"
490
490
  href="https://soundcloud.com/uclsound"
491
491
  target="_blank"
@@ -513,7 +513,7 @@ exports[`Footer > snapshot: nav links 1`] = `
513
513
  </a>
514
514
  <a
515
515
  aria-label="X social media platform"
516
- class="ucl-link ucl-uikit-footer__social-link css-1bd4uza"
516
+ class="ucl-uikit-base-link ucl-uikit-link ucl-uikit-footer__social-link css-1neoh67"
517
517
  data-testid="ucl-uikit-footer__social-link"
518
518
  href="https://x.com/ucl"
519
519
  target="_blank"
@@ -539,7 +539,7 @@ exports[`Footer > snapshot: nav links 1`] = `
539
539
  </a>
540
540
  <a
541
541
  aria-label="Instagram"
542
- class="ucl-link ucl-uikit-footer__social-link css-1bd4uza"
542
+ class="ucl-uikit-base-link ucl-uikit-link ucl-uikit-footer__social-link css-1neoh67"
543
543
  data-testid="ucl-uikit-footer__social-link"
544
544
  href="https://www.instagram.com/ucl/"
545
545
  target="_blank"
@@ -673,7 +673,7 @@ exports[`Footer > snapshot: no nav links 1`] = `
673
673
  >
674
674
  <a
675
675
  aria-label="Facebook"
676
- class="ucl-link ucl-uikit-footer__social-link css-1bd4uza"
676
+ class="ucl-uikit-base-link ucl-uikit-link ucl-uikit-footer__social-link css-1neoh67"
677
677
  data-testid="ucl-uikit-footer__social-link"
678
678
  href="https://www.facebook.com/uclofficial/"
679
679
  target="_blank"
@@ -699,7 +699,7 @@ exports[`Footer > snapshot: no nav links 1`] = `
699
699
  </a>
700
700
  <a
701
701
  aria-label="Flickr"
702
- class="ucl-link ucl-uikit-footer__social-link css-1bd4uza"
702
+ class="ucl-uikit-base-link ucl-uikit-link ucl-uikit-footer__social-link css-1neoh67"
703
703
  data-testid="ucl-uikit-footer__social-link"
704
704
  href="https://www.flickr.com/groups/ucl/"
705
705
  target="_blank"
@@ -728,7 +728,7 @@ exports[`Footer > snapshot: no nav links 1`] = `
728
728
  </a>
729
729
  <a
730
730
  aria-label="TikTok"
731
- class="ucl-link ucl-uikit-footer__social-link css-1bd4uza"
731
+ class="ucl-uikit-base-link ucl-uikit-link ucl-uikit-footer__social-link css-1neoh67"
732
732
  data-testid="ucl-uikit-footer__social-link"
733
733
  href="https://www.tiktok.com/@uclofficial"
734
734
  target="_blank"
@@ -754,7 +754,7 @@ exports[`Footer > snapshot: no nav links 1`] = `
754
754
  </a>
755
755
  <a
756
756
  aria-label="YouTube"
757
- class="ucl-link ucl-uikit-footer__social-link css-1bd4uza"
757
+ class="ucl-uikit-base-link ucl-uikit-link ucl-uikit-footer__social-link css-1neoh67"
758
758
  data-testid="ucl-uikit-footer__social-link"
759
759
  href="https://www.youtube.com/ucltv"
760
760
  target="_blank"
@@ -780,7 +780,7 @@ exports[`Footer > snapshot: no nav links 1`] = `
780
780
  </a>
781
781
  <a
782
782
  aria-label="SoundCloud"
783
- class="ucl-link ucl-uikit-footer__social-link css-1bd4uza"
783
+ class="ucl-uikit-base-link ucl-uikit-link ucl-uikit-footer__social-link css-1neoh67"
784
784
  data-testid="ucl-uikit-footer__social-link"
785
785
  href="https://soundcloud.com/uclsound"
786
786
  target="_blank"
@@ -808,7 +808,7 @@ exports[`Footer > snapshot: no nav links 1`] = `
808
808
  </a>
809
809
  <a
810
810
  aria-label="X social media platform"
811
- class="ucl-link ucl-uikit-footer__social-link css-1bd4uza"
811
+ class="ucl-uikit-base-link ucl-uikit-link ucl-uikit-footer__social-link css-1neoh67"
812
812
  data-testid="ucl-uikit-footer__social-link"
813
813
  href="https://x.com/ucl"
814
814
  target="_blank"
@@ -834,7 +834,7 @@ exports[`Footer > snapshot: no nav links 1`] = `
834
834
  </a>
835
835
  <a
836
836
  aria-label="Instagram"
837
- class="ucl-link ucl-uikit-footer__social-link css-1bd4uza"
837
+ class="ucl-uikit-base-link ucl-uikit-link ucl-uikit-footer__social-link css-1neoh67"
838
838
  data-testid="ucl-uikit-footer__social-link"
839
839
  href="https://www.instagram.com/ucl/"
840
840
  target="_blank"
@@ -12,12 +12,18 @@ export const DEFAULT_Z_INDEX = 3;
12
12
  export interface HeaderProps extends HTMLAttributes<HTMLElement> {
13
13
  title?: string;
14
14
  fixed?: boolean;
15
+ titleAs?: React.ElementType<React.HTMLAttributes<HTMLElement>>;
16
+ titleClassName?: string;
17
+ titleProps?: Record<string, unknown>;
15
18
  testId?: string;
16
19
  }
17
20
 
18
21
  const Header = ({
19
22
  title,
20
23
  fixed = false,
24
+ titleAs = 'div',
25
+ titleClassName,
26
+ titleProps,
21
27
  testId = NAME,
22
28
  className,
23
29
  children,
@@ -68,7 +74,7 @@ const Header = ({
68
74
  }
69
75
  `;
70
76
 
71
- const titleStyle = css`
77
+ const titleBaseStyle = css`
72
78
  display: none;
73
79
  margin: 0;
74
80
  font-size: ${theme.font.size.f18};
@@ -80,6 +86,10 @@ const Header = ({
80
86
  }
81
87
  `;
82
88
 
89
+ const titleStyle = cx(titleBaseStyle, titleClassName);
90
+
91
+ const TitleComponent = titleAs;
92
+
83
93
  return (
84
94
  <header
85
95
  className={style}
@@ -87,7 +97,14 @@ const Header = ({
87
97
  {...props}
88
98
  >
89
99
  <UclLogo className={uclLogoStyle} />
90
- {title && <h1 className={titleStyle}>{title}</h1>}
100
+ {title && (
101
+ <TitleComponent
102
+ className={titleStyle}
103
+ {...titleProps}
104
+ >
105
+ {title}
106
+ </TitleComponent>
107
+ )}
91
108
 
92
109
  {children}
93
110
  </header>
@@ -20,11 +20,11 @@ exports[`Header > snapshot: variant=avatar 1`] = `
20
20
  d="m 60.405678,1.52 v 25.62 c 0,1.74 -0.06,3.55 -1.6,5 -0.76,0.69 -2.12,1.45 -4.19,1.45 -1.53,0 -3.12,-0.4 -4.18,-1.51 -1.48,-1.39 -1.548529,-3.190021 -1.54,-4.94 V 1.52 h -13.22 v 24.63 c 0.13,4.22 0.25,8.72 4.31,12.6 0.47,0.45 0.841814,1.24 1.53,1.24 v 0 h 25.72 v 0 c 0,0 1.07,-0.8 1.54,-1.24 4.91,-4.59 4.88306,-10.690077 4.91,-15.4 V 1.52 Z m 48.710002,25.09 c -0.47,1.39 -2.3,6.73 -8.44,6.73 -6.500002,0 -8.800002,-5.75 -8.800002,-11.85 0,-1.64 0,-6.29 3.13,-9.24 0.88,-0.87 2.71,-2.21 5.610002,-2.21 5.54,0 7.54,4.36 8.61,6.8 l 11.03,-5.4 c -0.89,-1.62 -1.71,-3.01 -3.48,-4.82 -4.37,-4.41 -10.39,-6.62 -16.7,-6.62 -14.120002,0 -21.610002,11.21 -21.610002,22.25 0,6.71 2.74,13.61 8.56,17.74 h 26.450002 c 0.98,-0.65 1.92,-1.4 2.79,-2.23 1.99,-1.97 3,-3.83 4.06,-5.81 z M 11.167848,7.86 h -0.11 l -0.03,-0.03 V 7.71 l -0.03,-0.03 h -0.11 l -0.03,-0.03 V 7.54 c 0,0 0,-0.02 -0.03,-0.02 h -0.07 c 0,0 -0.04,-0.02 -0.05,-0.05 V 7.39 c 0,-0.29 0,-1.21 -0.52,-1.89 -0.44,-0.65 -1.05,-0.99 -1.39,-1.15 0,-0.12 -0.16,-0.17 -0.26,-0.21 -0.02,0 -0.03,0 -0.04,-0.02 -0.05,0 -0.09,-0.04 -0.09,-0.07 V 3.99 c 0,0 0.03,-0.06 0.1,-0.06 0.02,0 0.03,0 0.03,-0.03 V 3.78 c 0,0 0,-0.04 -0.04,-0.04 h -0.12 c 0,0 -0.05,-0.02 -0.05,-0.05 V 3.63 c 0,0 -0.03,-0.06 -0.05,-0.07 V 2.77 l 0.03,-0.02 v 0 c 0,0 0.02,0 0.02,-0.02 V 2.65 c 0,0 0,-0.02 -0.02,-0.02 h -0.04 c 0,0 -0.02,-0.02 -0.02,-0.06 0,-0.04 0,-0.05 0.02,-0.06 h 0.03 0.03 V 2.43 h -0.03 -0.03 c 0,0 -0.03,0 -0.06,-0.03 -0.13,-0.1 -0.27,-0.26 -0.27,-0.28 V 2.09 c 0,0 0,-0.05 -0.05,-0.05 -0.05,0 -0.03,-0.03 0,-0.03 V 1.98 1.93 l -0.06,-0.12 v 0 c 0,0 -0.07,0.1 -0.07,0.12 v 0.05 c 0,0 0,0.03 0.02,0.03 0.02,0 0.02,0.03 0,0.03 -0.04,0 -0.05,0.03 -0.05,0.05 v 0.03 c 0,0 -0.14,0.18 -0.28,0.28 0,0.02 -0.05,0.03 -0.04,0.03 h -0.04 -0.02 v 0.08 h 0.02 0.03 c 0,0 0.02,0.02 0.02,0.06 0,0.04 0,0.05 -0.02,0.06 h -0.04 c 0,0 -0.02,0 -0.02,0.02 v 0.08 c 0,0 0,0.02 0.02,0.02 h 0.02 c 0,0 0.026878,2.452e-4 0.03,0.02 v 0.79 0 c 0,0 -0.05,0.03 -0.05,0.07 v 0.06 c 0,0 0,0.05 -0.04,0.05 h -0.12 c 0,0 -0.05,0.02 -0.05,0.04 V 3.9 c 0,0 0.02,0.03 0.03,0.03 0.06,0 0.11,0.02 0.11,0.06 v 0.06 c 0,0 -0.05,0.06 -0.09,0.07 h -0.03 c -0.1,0.04 -0.27,0.1 -0.28,0.23 -0.34,0.16 -0.95,0.5 -1.39,1.15 -0.51,0.69 -0.52,1.62 -0.52,1.9 v 0.07 c 0,0 -0.09,0.05 -0.06,0.05 h -0.07 l -0.03,0.02 v 0.11 c 0,0 0,0.03 -0.03,0.03 h -0.11 c 0,0 -0.03,0 -0.03,0.03 v 0.12 c 0,0 0,0.03 -0.03,0.03 h -0.11 c 0,0 -0.03,0 -0.03,0.03 v 0.12 c 0,0 0,0.02 0.02,0.02 0.06,0 0.13,0.03 0.13,0.1 0,0.12 0.07,0.13 0.1,0.13 v 0.47 c 0,0.1 -0.08,0.15 -0.13,0.16 l -0.02,0.02 v 0.48 l 3.26,-0.71 v 0 l 3.26,0.71 V 8.91 c 0,0 0,-0.02 -0.02,-0.02 -0.05,0 -0.13,-0.05 -0.13,-0.16 V 8.27 c 0,0 0.1,-0.02 0.1,-0.14 0,-0.07 0.07,-0.1 0.1,-0.1 0.02,0 0.02,-1.35e-5 0.02,-0.02 V 7.89 l -0.03,-0.03 z m 3.62,10.3 v -0.94 h -0.56 v -0.52 0 h -0.07 v -0.03 -0.06 -0.02 l -0.06,-0.06 v -3.95 -0.02 0 c 0,0 0.0026,-0.01024 0.02,-0.02 v -0.07 -0.09 c 0,-0.02 0,-0.03 -0.02,-0.03 h -0.03 c 0,0 -0.04,-0.04 -0.02,-0.05 0.1,-0.08 0.11,-0.22 0.11,-0.25 0,-0.02 0,-0.04 0.02,-0.04 h 0.05 c 0,0 0.0082,-0.0039 0.02,-0.02 v -0.17 h 0.31 l 0.03,-0.03 0.11,-0.57 c 0.06,-0.12 0.18,-0.1 0.18,-0.1 h 0.02 l 0.11,-0.37 c 0,0 0.02,-0.03 -0.02,-0.04 -0.02,0 -7.13,-1.51 -7.13,-1.51 0,0 -7.10999996,1.51 -7.11999996,1.51 -0.04,0 -0.03,0.04 -0.03,0.04 l 0.1,0.36 v 0 c 0,0 0.12,0 0.18,0.09 l 0.1,0.58 c 0,0 0,0.03 0.05,0.03 h 0.31 v 0.18 h 0.02 0.04 c 0,0 0.02,0.02 0.02,0.05 0,0.03 0.02,0.16 0.12,0.25 0,0.02 0,0.05 -0.03,0.05 h -0.03 c 0,0 -0.03,0 -0.02,0.03 v 0.09 0.07 0.02 h 0.02 v 0.02 3.95 l -0.06,0.06 v 0.1 h -0.02 -0.05 -0.02 V 17.2 H 0.87784804 v 0.94 h -0.55 v 0.95 H 15.297848 v -0.95 h -0.56 z m -10.86,-5.69 v 0.08 l 0.02,0.02 v 0 c 0,0 0.019368,10e-6 0.02,0.02 v 3.95 l -0.06,0.06 v 0 0.07 0.02 h -0.06 c 0,0 -0.035609,0.0075 -0.02,0.02 v 0.1 h -1.28 v -0.11 0 h -0.06 v 0 -0.02 -0.06 -0.02 0 c 0,0 -0.04,-0.04 -0.05,-0.06 v -3.95 -0.02 0 c 0,0 0.00259,-0.01024 0.02,-0.02 v -0.07 -0.09 c 0,-0.02 0,-0.03 -0.02,-0.03 h -0.03 c 0,0 -0.04,-0.04 -0.02,-0.05 0.1,-0.08 0.1,-0.22 0.1,-0.25 0,-0.02 0,-0.04 0.03,-0.04 h 0.04 c 0,0 0.00816,-0.0039 0.02,-0.02 v -0.17 h 1.25 V 12 12.02 h 0.05 c 0,0 0.02,0.02 0.02,0.04 0,0.03 0.02,0.17 0.11,0.26 0.02,0 0,0.04 -0.02,0.04 h -0.03 c 0,0 -0.03,0.02 -0.02,0.03 v 0.09 z m 2.34,0 v 0.08 0.02 h 0.02 v 0.02 3.95 l -0.07,0.07 v 0.09 h -0.07 c 0,0 -0.035609,0.0075 -0.02,0.02 v 0.1 h -1.28 v -0.11 0 h -0.05 v 0 0 -0.08 0 l -0.07,-0.08 V 12.6 12.58 h 0.02 v -0.02 -0.07 c 0,0 0,-0.07 0.02,-0.09 0,-0.02 0,-0.03 -0.02,-0.03 h -0.03 c 0,0 -0.03,-0.04 -0.03,-0.05 0.1,-0.08 0.12,-0.22 0.12,-0.25 0,-0.02 0,-0.04 0.02,-0.04 h 0.04 c 0,0 0.00818,-0.0039 0.02,-0.02 v -0.17 h 1.22 v 0.17 0.02 h 0.05 c 0,0 0.02,0.02 0.02,0.04 0,0.03 0.02,0.17 0.12,0.26 0,0 0,0.04 -0.03,0.04 h -0.03 c 0,0 -0.03,0.02 -0.02,0.03 0,0.02 0.02,0.07 0.02,0.09 z m 2.34,0 v 0.08 0.02 h 0.02 v 0.02 3.95 l -0.06,0.06 v 0 0.09 h -0.07 c 0,0 -0.035609,0.0075 -0.02,0.02 v 0.1 h -1.28 v -0.11 0 h -0.06 v 0 -0.02 -0.06 -0.02 l -0.06,-0.06 v -3.95 -0.02 h 0.02 v -0.02 -0.07 c 0,0 0,-0.07 0.02,-0.09 0,-0.02 0,-0.03 -0.03,-0.03 h -0.03 c 0,0 -0.04,-0.04 -0.02,-0.05 0.1,-0.08 0.11,-0.22 0.11,-0.25 0,-0.02 0,-0.04 0.03,-0.04 h 0.04 c 0,0 0.00818,-0.0039 0.02,-0.02 v -0.17 h 1.24 V 12 12.02 h 0.05 c 0,0 0.02,0.02 0.02,0.04 0,0.03 0.02,0.17 0.12,0.26 0,0 0,0.04 -0.03,0.04 h -0.03 c 0,0 -0.03,0.02 -0.02,0.03 0,0.02 0.02,0.07 0.02,0.09 z m 2.32,0 v 0.08 0.02 h 0.02 c 0,0 0.01937,10e-6 0.02,0.02 v 3.95 l -0.07,0.06 v 0.08 0.02 h -0.07 v 0.02 0.1 h -1.28 V 16.7 h -0.06 v 0 -0.02 -0.06 -0.02 l -0.06,-0.06 v -3.95 l 0.02,-0.02 v 0 c 0,0 0.02,-4e-5 0.02,-0.02 v -0.07 -0.09 -0.03 h -0.04 c 0,0 -0.03,-0.04 -0.02,-0.05 0.1,-0.08 0.11,-0.22 0.11,-0.25 0,-0.02 0,-0.04 0.02,-0.04 h 0.05 V 12 11.83 h 1.22 V 12 c 0,0 0,0.02 0.02,0.02 h 0.04 c 0,0 0.03,0.02 0.03,0.04 0,0.03 0,0.17 0.11,0.26 0.02,0 0,0.04 -0.02,0.04 h -0.03 c 0,0 -0.03,0.02 -0.03,0.03 0,0.02 0.02,0.07 0.02,0.09 z m 2.35,0 v 0.08 c 0,0 0,0.02 0.02,0.02 v 0 0.02 3.95 l -0.07,0.07 v 0.09 h -0.07 c 0,0 -0.03561,0.0075 -0.02,0.02 v 0.1 h -1.27 v -0.11 0 h -0.06 v 0 -0.02 -0.06 -0.02 l -0.06,-0.06 V 12.6 l 0.02,-0.02 v 0 c 0,0 0.0026,-0.01022 0.02,-0.02 V 12.49 12.4 c 0,-0.02 0,-0.03 -0.02,-0.03 h -0.03 c 0,0 -0.04,-0.04 -0.02,-0.05 0.1,-0.08 0.11,-0.22 0.11,-0.25 0,-0.02 0,-0.04 0.02,-0.04 h 0.05 v -0.02 -0.17 h 1.22 v 0.17 c 0,0 0.02,0.02 0.03,0.02 h 0.04 c 0,0 0.02,0.02 0.02,0.04 0,0.03 0.02,0.17 0.12,0.26 0,0 0,0.04 -0.03,0.04 h -0.03 c 0,0 -0.02,0.02 0,0.03 v 0.09 z M 67.235678,40 h -25.72 M 125.60568,39.99 V 1.46 h 13.16 v 30.29 h 17.08 v 8.24 h -30.25 z M 87.045678,40 v 0"
21
21
  />
22
22
  </svg>
23
- <h1
23
+ <div
24
24
  class="css-bwc2r5"
25
25
  >
26
26
  LIDS
27
- </h1>
27
+ </div>
28
28
  </header>
29
29
  `;
30
30
 
@@ -48,10 +48,10 @@ exports[`Header > snapshot: variant=breadcrumbs 1`] = `
48
48
  d="m 60.405678,1.52 v 25.62 c 0,1.74 -0.06,3.55 -1.6,5 -0.76,0.69 -2.12,1.45 -4.19,1.45 -1.53,0 -3.12,-0.4 -4.18,-1.51 -1.48,-1.39 -1.548529,-3.190021 -1.54,-4.94 V 1.52 h -13.22 v 24.63 c 0.13,4.22 0.25,8.72 4.31,12.6 0.47,0.45 0.841814,1.24 1.53,1.24 v 0 h 25.72 v 0 c 0,0 1.07,-0.8 1.54,-1.24 4.91,-4.59 4.88306,-10.690077 4.91,-15.4 V 1.52 Z m 48.710002,25.09 c -0.47,1.39 -2.3,6.73 -8.44,6.73 -6.500002,0 -8.800002,-5.75 -8.800002,-11.85 0,-1.64 0,-6.29 3.13,-9.24 0.88,-0.87 2.71,-2.21 5.610002,-2.21 5.54,0 7.54,4.36 8.61,6.8 l 11.03,-5.4 c -0.89,-1.62 -1.71,-3.01 -3.48,-4.82 -4.37,-4.41 -10.39,-6.62 -16.7,-6.62 -14.120002,0 -21.610002,11.21 -21.610002,22.25 0,6.71 2.74,13.61 8.56,17.74 h 26.450002 c 0.98,-0.65 1.92,-1.4 2.79,-2.23 1.99,-1.97 3,-3.83 4.06,-5.81 z M 11.167848,7.86 h -0.11 l -0.03,-0.03 V 7.71 l -0.03,-0.03 h -0.11 l -0.03,-0.03 V 7.54 c 0,0 0,-0.02 -0.03,-0.02 h -0.07 c 0,0 -0.04,-0.02 -0.05,-0.05 V 7.39 c 0,-0.29 0,-1.21 -0.52,-1.89 -0.44,-0.65 -1.05,-0.99 -1.39,-1.15 0,-0.12 -0.16,-0.17 -0.26,-0.21 -0.02,0 -0.03,0 -0.04,-0.02 -0.05,0 -0.09,-0.04 -0.09,-0.07 V 3.99 c 0,0 0.03,-0.06 0.1,-0.06 0.02,0 0.03,0 0.03,-0.03 V 3.78 c 0,0 0,-0.04 -0.04,-0.04 h -0.12 c 0,0 -0.05,-0.02 -0.05,-0.05 V 3.63 c 0,0 -0.03,-0.06 -0.05,-0.07 V 2.77 l 0.03,-0.02 v 0 c 0,0 0.02,0 0.02,-0.02 V 2.65 c 0,0 0,-0.02 -0.02,-0.02 h -0.04 c 0,0 -0.02,-0.02 -0.02,-0.06 0,-0.04 0,-0.05 0.02,-0.06 h 0.03 0.03 V 2.43 h -0.03 -0.03 c 0,0 -0.03,0 -0.06,-0.03 -0.13,-0.1 -0.27,-0.26 -0.27,-0.28 V 2.09 c 0,0 0,-0.05 -0.05,-0.05 -0.05,0 -0.03,-0.03 0,-0.03 V 1.98 1.93 l -0.06,-0.12 v 0 c 0,0 -0.07,0.1 -0.07,0.12 v 0.05 c 0,0 0,0.03 0.02,0.03 0.02,0 0.02,0.03 0,0.03 -0.04,0 -0.05,0.03 -0.05,0.05 v 0.03 c 0,0 -0.14,0.18 -0.28,0.28 0,0.02 -0.05,0.03 -0.04,0.03 h -0.04 -0.02 v 0.08 h 0.02 0.03 c 0,0 0.02,0.02 0.02,0.06 0,0.04 0,0.05 -0.02,0.06 h -0.04 c 0,0 -0.02,0 -0.02,0.02 v 0.08 c 0,0 0,0.02 0.02,0.02 h 0.02 c 0,0 0.026878,2.452e-4 0.03,0.02 v 0.79 0 c 0,0 -0.05,0.03 -0.05,0.07 v 0.06 c 0,0 0,0.05 -0.04,0.05 h -0.12 c 0,0 -0.05,0.02 -0.05,0.04 V 3.9 c 0,0 0.02,0.03 0.03,0.03 0.06,0 0.11,0.02 0.11,0.06 v 0.06 c 0,0 -0.05,0.06 -0.09,0.07 h -0.03 c -0.1,0.04 -0.27,0.1 -0.28,0.23 -0.34,0.16 -0.95,0.5 -1.39,1.15 -0.51,0.69 -0.52,1.62 -0.52,1.9 v 0.07 c 0,0 -0.09,0.05 -0.06,0.05 h -0.07 l -0.03,0.02 v 0.11 c 0,0 0,0.03 -0.03,0.03 h -0.11 c 0,0 -0.03,0 -0.03,0.03 v 0.12 c 0,0 0,0.03 -0.03,0.03 h -0.11 c 0,0 -0.03,0 -0.03,0.03 v 0.12 c 0,0 0,0.02 0.02,0.02 0.06,0 0.13,0.03 0.13,0.1 0,0.12 0.07,0.13 0.1,0.13 v 0.47 c 0,0.1 -0.08,0.15 -0.13,0.16 l -0.02,0.02 v 0.48 l 3.26,-0.71 v 0 l 3.26,0.71 V 8.91 c 0,0 0,-0.02 -0.02,-0.02 -0.05,0 -0.13,-0.05 -0.13,-0.16 V 8.27 c 0,0 0.1,-0.02 0.1,-0.14 0,-0.07 0.07,-0.1 0.1,-0.1 0.02,0 0.02,-1.35e-5 0.02,-0.02 V 7.89 l -0.03,-0.03 z m 3.62,10.3 v -0.94 h -0.56 v -0.52 0 h -0.07 v -0.03 -0.06 -0.02 l -0.06,-0.06 v -3.95 -0.02 0 c 0,0 0.0026,-0.01024 0.02,-0.02 v -0.07 -0.09 c 0,-0.02 0,-0.03 -0.02,-0.03 h -0.03 c 0,0 -0.04,-0.04 -0.02,-0.05 0.1,-0.08 0.11,-0.22 0.11,-0.25 0,-0.02 0,-0.04 0.02,-0.04 h 0.05 c 0,0 0.0082,-0.0039 0.02,-0.02 v -0.17 h 0.31 l 0.03,-0.03 0.11,-0.57 c 0.06,-0.12 0.18,-0.1 0.18,-0.1 h 0.02 l 0.11,-0.37 c 0,0 0.02,-0.03 -0.02,-0.04 -0.02,0 -7.13,-1.51 -7.13,-1.51 0,0 -7.10999996,1.51 -7.11999996,1.51 -0.04,0 -0.03,0.04 -0.03,0.04 l 0.1,0.36 v 0 c 0,0 0.12,0 0.18,0.09 l 0.1,0.58 c 0,0 0,0.03 0.05,0.03 h 0.31 v 0.18 h 0.02 0.04 c 0,0 0.02,0.02 0.02,0.05 0,0.03 0.02,0.16 0.12,0.25 0,0.02 0,0.05 -0.03,0.05 h -0.03 c 0,0 -0.03,0 -0.02,0.03 v 0.09 0.07 0.02 h 0.02 v 0.02 3.95 l -0.06,0.06 v 0.1 h -0.02 -0.05 -0.02 V 17.2 H 0.87784804 v 0.94 h -0.55 v 0.95 H 15.297848 v -0.95 h -0.56 z m -10.86,-5.69 v 0.08 l 0.02,0.02 v 0 c 0,0 0.019368,10e-6 0.02,0.02 v 3.95 l -0.06,0.06 v 0 0.07 0.02 h -0.06 c 0,0 -0.035609,0.0075 -0.02,0.02 v 0.1 h -1.28 v -0.11 0 h -0.06 v 0 -0.02 -0.06 -0.02 0 c 0,0 -0.04,-0.04 -0.05,-0.06 v -3.95 -0.02 0 c 0,0 0.00259,-0.01024 0.02,-0.02 v -0.07 -0.09 c 0,-0.02 0,-0.03 -0.02,-0.03 h -0.03 c 0,0 -0.04,-0.04 -0.02,-0.05 0.1,-0.08 0.1,-0.22 0.1,-0.25 0,-0.02 0,-0.04 0.03,-0.04 h 0.04 c 0,0 0.00816,-0.0039 0.02,-0.02 v -0.17 h 1.25 V 12 12.02 h 0.05 c 0,0 0.02,0.02 0.02,0.04 0,0.03 0.02,0.17 0.11,0.26 0.02,0 0,0.04 -0.02,0.04 h -0.03 c 0,0 -0.03,0.02 -0.02,0.03 v 0.09 z m 2.34,0 v 0.08 0.02 h 0.02 v 0.02 3.95 l -0.07,0.07 v 0.09 h -0.07 c 0,0 -0.035609,0.0075 -0.02,0.02 v 0.1 h -1.28 v -0.11 0 h -0.05 v 0 0 -0.08 0 l -0.07,-0.08 V 12.6 12.58 h 0.02 v -0.02 -0.07 c 0,0 0,-0.07 0.02,-0.09 0,-0.02 0,-0.03 -0.02,-0.03 h -0.03 c 0,0 -0.03,-0.04 -0.03,-0.05 0.1,-0.08 0.12,-0.22 0.12,-0.25 0,-0.02 0,-0.04 0.02,-0.04 h 0.04 c 0,0 0.00818,-0.0039 0.02,-0.02 v -0.17 h 1.22 v 0.17 0.02 h 0.05 c 0,0 0.02,0.02 0.02,0.04 0,0.03 0.02,0.17 0.12,0.26 0,0 0,0.04 -0.03,0.04 h -0.03 c 0,0 -0.03,0.02 -0.02,0.03 0,0.02 0.02,0.07 0.02,0.09 z m 2.34,0 v 0.08 0.02 h 0.02 v 0.02 3.95 l -0.06,0.06 v 0 0.09 h -0.07 c 0,0 -0.035609,0.0075 -0.02,0.02 v 0.1 h -1.28 v -0.11 0 h -0.06 v 0 -0.02 -0.06 -0.02 l -0.06,-0.06 v -3.95 -0.02 h 0.02 v -0.02 -0.07 c 0,0 0,-0.07 0.02,-0.09 0,-0.02 0,-0.03 -0.03,-0.03 h -0.03 c 0,0 -0.04,-0.04 -0.02,-0.05 0.1,-0.08 0.11,-0.22 0.11,-0.25 0,-0.02 0,-0.04 0.03,-0.04 h 0.04 c 0,0 0.00818,-0.0039 0.02,-0.02 v -0.17 h 1.24 V 12 12.02 h 0.05 c 0,0 0.02,0.02 0.02,0.04 0,0.03 0.02,0.17 0.12,0.26 0,0 0,0.04 -0.03,0.04 h -0.03 c 0,0 -0.03,0.02 -0.02,0.03 0,0.02 0.02,0.07 0.02,0.09 z m 2.32,0 v 0.08 0.02 h 0.02 c 0,0 0.01937,10e-6 0.02,0.02 v 3.95 l -0.07,0.06 v 0.08 0.02 h -0.07 v 0.02 0.1 h -1.28 V 16.7 h -0.06 v 0 -0.02 -0.06 -0.02 l -0.06,-0.06 v -3.95 l 0.02,-0.02 v 0 c 0,0 0.02,-4e-5 0.02,-0.02 v -0.07 -0.09 -0.03 h -0.04 c 0,0 -0.03,-0.04 -0.02,-0.05 0.1,-0.08 0.11,-0.22 0.11,-0.25 0,-0.02 0,-0.04 0.02,-0.04 h 0.05 V 12 11.83 h 1.22 V 12 c 0,0 0,0.02 0.02,0.02 h 0.04 c 0,0 0.03,0.02 0.03,0.04 0,0.03 0,0.17 0.11,0.26 0.02,0 0,0.04 -0.02,0.04 h -0.03 c 0,0 -0.03,0.02 -0.03,0.03 0,0.02 0.02,0.07 0.02,0.09 z m 2.35,0 v 0.08 c 0,0 0,0.02 0.02,0.02 v 0 0.02 3.95 l -0.07,0.07 v 0.09 h -0.07 c 0,0 -0.03561,0.0075 -0.02,0.02 v 0.1 h -1.27 v -0.11 0 h -0.06 v 0 -0.02 -0.06 -0.02 l -0.06,-0.06 V 12.6 l 0.02,-0.02 v 0 c 0,0 0.0026,-0.01022 0.02,-0.02 V 12.49 12.4 c 0,-0.02 0,-0.03 -0.02,-0.03 h -0.03 c 0,0 -0.04,-0.04 -0.02,-0.05 0.1,-0.08 0.11,-0.22 0.11,-0.25 0,-0.02 0,-0.04 0.02,-0.04 h 0.05 v -0.02 -0.17 h 1.22 v 0.17 c 0,0 0.02,0.02 0.03,0.02 h 0.04 c 0,0 0.02,0.02 0.02,0.04 0,0.03 0.02,0.17 0.12,0.26 0,0 0,0.04 -0.03,0.04 h -0.03 c 0,0 -0.02,0.02 0,0.03 v 0.09 z M 67.235678,40 h -25.72 M 125.60568,39.99 V 1.46 h 13.16 v 30.29 h 17.08 v 8.24 h -30.25 z M 87.045678,40 v 0"
49
49
  />
50
50
  </svg>
51
- <h1
51
+ <div
52
52
  class="css-bwc2r5"
53
53
  >
54
54
  LIDS
55
- </h1>
55
+ </div>
56
56
  </header>
57
57
  `;
@@ -53,7 +53,7 @@ All screens in UCL Experience apps should have a sensible semantic hierarchy. Th
53
53
 
54
54
  - `level`: A **number** from 1 to 4, corresponding to the level of the HTML heading element to be rendered. Default is 1, if otherwise unspecified.
55
55
  - `margins`: A **boolean** value. If `false`, the heading will have no margins. Default is `true`.
56
- - `testid`: A **string** value. If provided, the heading element will have a `data-testid` attribute with this value. The <a href="https://www.educative.io/answers/what-is-the-data-testid-attribute-in-testing" target="_blank">`data-testid` attribute</a> is used for identifying this element for testing. If unspecified, `ucl-heading` is used.
56
+ - `testid`: A **string** value. If provided, the heading element will have a `data-testid` attribute with this value. The <a href="https://www.educative.io/answers/what-is-the-data-testid-attribute-in-testing" target="_blank">`data-testid` attribute</a> is used for identifying this element for testing. If unspecified, `ucl-uikit-heading` is used.
57
57
 
58
58
  Pass the text you want in the heading as children: `<Heading>My heading text</Heading>`.
59
59
 
@@ -3,7 +3,7 @@ import { css, cx } from '@emotion/css';
3
3
  import useTheme from '../../theme/useTheme';
4
4
  import marginsStyle, { MarginProps } from '../common/marginsStyle';
5
5
 
6
- export const NAME = 'ucl-heading';
6
+ export const NAME = 'ucl-uikit-heading';
7
7
 
8
8
  export interface HeadingBaseProps extends HTMLAttributes<HTMLHeadingElement> {
9
9
  level?: 1 | 2 | 3 | 4;
@@ -12,22 +12,16 @@ describe('Heading', () => {
12
12
  <Heading>This is a test</Heading>
13
13
  </ThemeContextProvider>
14
14
  );
15
- expect(
16
- renderResult.container.firstChild
17
- ).toMatchSnapshot();
15
+ expect(renderResult.container.firstChild).toMatchSnapshot();
18
16
  });
19
17
 
20
18
  test('snapshot: custom test id', () => {
21
19
  const renderResult = render(
22
20
  <ThemeContextProvider>
23
- <Heading testId='custom-test-id'>
24
- This is a test
25
- </Heading>
21
+ <Heading testId='custom-test-id'>This is a test</Heading>
26
22
  </ThemeContextProvider>
27
23
  );
28
- expect(
29
- renderResult.container.firstChild
30
- ).toMatchSnapshot();
24
+ expect(renderResult.container.firstChild).toMatchSnapshot();
31
25
  });
32
26
 
33
27
  test('snapshot: level', () => {
@@ -39,9 +33,7 @@ describe('Heading', () => {
39
33
  <Heading level={4}>Level 4</Heading>
40
34
  </ThemeContextProvider>
41
35
  );
42
- expect(
43
- renderResult.container.firstChild
44
- ).toMatchSnapshot();
36
+ expect(renderResult.container.firstChild).toMatchSnapshot();
45
37
  });
46
38
 
47
39
  test('snapshot: no margins', () => {
@@ -50,9 +42,7 @@ describe('Heading', () => {
50
42
  <Heading margins={false}>No margins</Heading>
51
43
  </ThemeContextProvider>
52
44
  );
53
- expect(
54
- renderResult.container.firstChild
55
- ).toMatchSnapshot();
45
+ expect(renderResult.container.firstChild).toMatchSnapshot();
56
46
  });
57
47
 
58
48
  test('Test ID: Default', () => {
@@ -61,16 +51,14 @@ describe('Heading', () => {
61
51
  <Heading>This is a test</Heading>
62
52
  </ThemeContextProvider>
63
53
  );
64
- const heading = screen.getByTestId('ucl-heading');
54
+ const heading = screen.getByTestId('ucl-uikit-heading');
65
55
  expect(heading).toBeDefined();
66
56
  });
67
57
 
68
58
  test('Test ID: Custom', () => {
69
59
  render(
70
60
  <ThemeContextProvider>
71
- <Heading testId='custom-test-id'>
72
- This is a test
73
- </Heading>
61
+ <Heading testId='custom-test-id'>This is a test</Heading>
74
62
  </ThemeContextProvider>
75
63
  );
76
64
  const heading = screen.getByTestId('custom-test-id');
@@ -2,7 +2,7 @@
2
2
 
3
3
  exports[`Heading > snapshot: custom test id 1`] = `
4
4
  <h1
5
- class="ucl-heading css-1bjykaw"
5
+ class="ucl-uikit-heading css-1bjykaw"
6
6
  data-testid="custom-test-id"
7
7
  >
8
8
  This is a test
@@ -11,8 +11,8 @@ exports[`Heading > snapshot: custom test id 1`] = `
11
11
 
12
12
  exports[`Heading > snapshot: level 1`] = `
13
13
  <h1
14
- class="ucl-heading css-1bjykaw"
15
- data-testid="ucl-heading"
14
+ class="ucl-uikit-heading css-1bjykaw"
15
+ data-testid="ucl-uikit-heading"
16
16
  >
17
17
  Level 1
18
18
  </h1>
@@ -20,8 +20,8 @@ exports[`Heading > snapshot: level 1`] = `
20
20
 
21
21
  exports[`Heading > snapshot: minimal props 1`] = `
22
22
  <h1
23
- class="ucl-heading css-1bjykaw"
24
- data-testid="ucl-heading"
23
+ class="ucl-uikit-heading css-1bjykaw"
24
+ data-testid="ucl-uikit-heading"
25
25
  >
26
26
  This is a test
27
27
  </h1>
@@ -29,8 +29,8 @@ exports[`Heading > snapshot: minimal props 1`] = `
29
29
 
30
30
  exports[`Heading > snapshot: no margins 1`] = `
31
31
  <h1
32
- class="ucl-heading css-x9klp3"
33
- data-testid="ucl-heading"
32
+ class="ucl-uikit-heading css-x9klp3"
33
+ data-testid="ucl-uikit-heading"
34
34
  >
35
35
  No margins
36
36
  </h1>
@@ -43,8 +43,6 @@ const Label = forwardRef<Ref, LabelProps>(
43
43
 
44
44
  const baseStyle = css`
45
45
  width: 100%;
46
- min-width: 50px;
47
- max-width: 660px;
48
46
  color: ${theme.color.neutral.grey90};
49
47
  font-family: ${theme.font.family.primary};
50
48
  font-size: ${theme.font.size.f16};
@@ -2,7 +2,7 @@
2
2
 
3
3
  exports[`Label > snapshot: Only required prop (text) 1`] = `
4
4
  <label
5
- class="ucl-uikit-label css-v576g6"
5
+ class="ucl-uikit-label css-116lyj5"
6
6
  data-testid="ucl-uikit-label"
7
7
  for=""
8
8
  >
@@ -12,7 +12,7 @@ exports[`Label > snapshot: Only required prop (text) 1`] = `
12
12
 
13
13
  exports[`Label > snapshot: className prop 1`] = `
14
14
  <label
15
- class="ucl-uikit-label test-class-name css-v576g6"
15
+ class="ucl-uikit-label test-class-name css-116lyj5"
16
16
  data-testid="ucl-uikit-label"
17
17
  for=""
18
18
  >
@@ -22,7 +22,7 @@ exports[`Label > snapshot: className prop 1`] = `
22
22
 
23
23
  exports[`Label > snapshot: testId prop 1`] = `
24
24
  <label
25
- class="ucl-uikit-label css-v576g6"
25
+ class="ucl-uikit-label css-116lyj5"
26
26
  data-testid="test123"
27
27
  for=""
28
28
  >
@@ -32,7 +32,7 @@ exports[`Label > snapshot: testId prop 1`] = `
32
32
 
33
33
  exports[`Label > snapshot: type prop with explicit block value 1`] = `
34
34
  <label
35
- class="ucl-uikit-label css-v576g6"
35
+ class="ucl-uikit-label css-116lyj5"
36
36
  data-testid="ucl-uikit-label"
37
37
  for=""
38
38
  >
@@ -42,7 +42,7 @@ exports[`Label > snapshot: type prop with explicit block value 1`] = `
42
42
 
43
43
  exports[`Label > snapshot: type prop with inline value 1`] = `
44
44
  <label
45
- class="ucl-uikit-label css-qmiqiq"
45
+ class="ucl-uikit-label css-11raiub"
46
46
  data-testid="ucl-uikit-label"
47
47
  for=""
48
48
  >
@@ -52,7 +52,7 @@ exports[`Label > snapshot: type prop with inline value 1`] = `
52
52
 
53
53
  exports[`Label > snapshot: with disabled prop 1`] = `
54
54
  <label
55
- class="ucl-uikit-label css-2pe9mc"
55
+ class="ucl-uikit-label css-19nek55"
56
56
  data-testid="ucl-uikit-label"
57
57
  for=""
58
58
  >
@@ -62,7 +62,7 @@ exports[`Label > snapshot: with disabled prop 1`] = `
62
62
 
63
63
  exports[`Label > snapshot: with optional prop 1`] = `
64
64
  <label
65
- class="ucl-uikit-label css-v576g6"
65
+ class="ucl-uikit-label css-116lyj5"
66
66
  data-testid="ucl-uikit-label"
67
67
  for=""
68
68
  >
@@ -0,0 +1,84 @@
1
+ import React, { AnchorHTMLAttributes, ElementType, forwardRef } from 'react';
2
+ import { css, cx } from '@emotion/css';
3
+ import useTheme from '../../theme/useTheme';
4
+
5
+ export interface BaseLinkProps extends AnchorHTMLAttributes<HTMLAnchorElement> {
6
+ component?: ElementType;
7
+ size?: 'small' | 'default';
8
+ noVisited?: boolean;
9
+ disabled?: boolean;
10
+ testId?: string;
11
+ }
12
+
13
+ const NAME = 'ucl-uikit-base-link';
14
+
15
+ const BaseLink = forwardRef<HTMLAnchorElement, BaseLinkProps>(
16
+ (
17
+ {
18
+ testId = NAME,
19
+ className,
20
+ children,
21
+ size = 'default',
22
+ disabled = false,
23
+ component: Component = 'a',
24
+ ...props
25
+ },
26
+ ref
27
+ ) => {
28
+ const [theme] = useTheme();
29
+
30
+ const baseStyle = css`
31
+ font-family: ${theme.font.family.primary};
32
+ font-size: ${theme.font.size.f16};
33
+
34
+ &:focus-visible {
35
+ outline: none;
36
+ box-shadow: ${theme.boxShadow.focus};
37
+ }
38
+ `;
39
+
40
+ const smallStyle = css`
41
+ font-size: ${theme.font.size.f14};
42
+ `;
43
+
44
+ const disabledStyle = css`
45
+ cursor: not-allowed;
46
+ color: ${theme.color.link.disabled};
47
+
48
+ &:hover {
49
+ color: ${theme.color.link.disabled};
50
+ }
51
+ `;
52
+
53
+ const style = cx(
54
+ NAME,
55
+ baseStyle,
56
+ size === 'small' && smallStyle,
57
+ disabled && disabledStyle,
58
+ className
59
+ );
60
+
61
+ return (
62
+ <Component
63
+ ref={ref}
64
+ className={style}
65
+ data-testid={testId}
66
+ disabled={disabled}
67
+ href={disabled ? undefined : props.href}
68
+ onClick={
69
+ disabled
70
+ ? (ev: React.MouseEvent) => {
71
+ ev.preventDefault();
72
+ return false;
73
+ }
74
+ : props.onClick
75
+ }
76
+ {...props}
77
+ >
78
+ {children}
79
+ </Component>
80
+ );
81
+ }
82
+ );
83
+
84
+ export default BaseLink;