govuk_publishing_components 24.9.4 → 24.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (180) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/govuk_publishing_components/analytics/pii.js +1 -1
  3. data/app/assets/javascripts/govuk_publishing_components/analytics/scroll-tracker.js +6 -248
  4. data/app/assets/javascripts/govuk_publishing_components/components/accordion.js +2 -3
  5. data/app/assets/javascripts/govuk_publishing_components/components/cookie-banner.js +1 -0
  6. data/app/assets/javascripts/govuk_publishing_components/components/feedback.js +142 -104
  7. data/app/assets/javascripts/govuk_publishing_components/components/reorderable-list.js +1 -1
  8. data/app/assets/javascripts/govuk_publishing_components/components/show-password.js +12 -0
  9. data/app/assets/javascripts/govuk_publishing_components/components/step-by-step-nav.js +2 -2
  10. data/app/assets/javascripts/govuk_publishing_components/lib/trigger-event.js +18 -0
  11. data/app/assets/stylesheets/govuk_publishing_components/_all_components_print.scss +0 -11
  12. data/app/assets/stylesheets/govuk_publishing_components/components/_accordion.scss +34 -34
  13. data/app/assets/stylesheets/govuk_publishing_components/components/_govspeak.scss +1 -0
  14. data/app/assets/stylesheets/govuk_publishing_components/components/_metadata.scss +15 -18
  15. data/app/assets/stylesheets/govuk_publishing_components/components/_notice.scss +4 -2
  16. data/app/assets/stylesheets/govuk_publishing_components/components/_search.scss +4 -4
  17. data/app/assets/stylesheets/govuk_publishing_components/components/_step-by-step-nav.scss +20 -20
  18. data/app/assets/stylesheets/govuk_publishing_components/components/govspeak/_advisory.scss +27 -24
  19. data/app/assets/stylesheets/govuk_publishing_components/components/govspeak/_attachment.scss +1 -1
  20. data/app/assets/stylesheets/govuk_publishing_components/components/govspeak/_button.scss +1 -0
  21. data/app/assets/stylesheets/govuk_publishing_components/components/govspeak/_call-to-action.scss +1 -0
  22. data/app/assets/stylesheets/govuk_publishing_components/components/govspeak/_charts.scss +1 -0
  23. data/app/assets/stylesheets/govuk_publishing_components/components/govspeak/_contact.scss +1 -0
  24. data/app/assets/stylesheets/govuk_publishing_components/components/govspeak/_example.scss +1 -0
  25. data/app/assets/stylesheets/govuk_publishing_components/components/govspeak/_footnotes.scss +1 -0
  26. data/app/assets/stylesheets/govuk_publishing_components/components/govspeak/_form-download.scss +19 -16
  27. data/app/assets/stylesheets/govuk_publishing_components/components/govspeak/_fraction.scss +1 -0
  28. data/app/assets/stylesheets/govuk_publishing_components/components/govspeak/_highlight-answer.scss +30 -27
  29. data/app/assets/stylesheets/govuk_publishing_components/components/govspeak/_images.scss +1 -0
  30. data/app/assets/stylesheets/govuk_publishing_components/components/govspeak/_information-callout.scss +1 -0
  31. data/app/assets/stylesheets/govuk_publishing_components/components/govspeak/_legislative-list.scss +1 -0
  32. data/app/assets/stylesheets/govuk_publishing_components/components/govspeak/_place.scss +26 -21
  33. data/app/assets/stylesheets/govuk_publishing_components/components/govspeak/_stat-headline.scss +1 -0
  34. data/app/assets/stylesheets/govuk_publishing_components/components/govspeak/_steps.scss +19 -16
  35. data/app/assets/stylesheets/govuk_publishing_components/components/govspeak/_summary.scss +21 -18
  36. data/app/assets/stylesheets/govuk_publishing_components/components/govspeak/_tables.scss +1 -0
  37. data/app/assets/stylesheets/govuk_publishing_components/components/govspeak/_typography.scss +1 -0
  38. data/app/assets/stylesheets/govuk_publishing_components/components/govspeak/_warning-callout.scss +1 -0
  39. data/app/assets/stylesheets/govuk_publishing_components/components/helpers/_px-to-em.scss +2 -0
  40. data/app/assets/stylesheets/govuk_publishing_components/components/print/_attachment.scss +2 -3
  41. data/app/assets/stylesheets/govuk_publishing_components/components/print/_back-link.scss +2 -3
  42. data/app/assets/stylesheets/govuk_publishing_components/components/print/_button.scss +0 -4
  43. data/app/assets/stylesheets/govuk_publishing_components/components/print/_feedback.scss +2 -3
  44. data/app/assets/stylesheets/govuk_publishing_components/components/print/_layout-footer.scss +2 -6
  45. data/app/assets/stylesheets/govuk_publishing_components/components/print/_layout-header.scss +2 -3
  46. data/app/assets/stylesheets/govuk_publishing_components/components/print/_metadata.scss +2 -6
  47. data/app/assets/stylesheets/govuk_publishing_components/components/print/_search.scss +2 -3
  48. data/app/assets/stylesheets/govuk_publishing_components/components/print/_share-links.scss +2 -3
  49. data/app/assets/stylesheets/govuk_publishing_components/components/print/_skip-link.scss +2 -3
  50. data/app/assets/stylesheets/govuk_publishing_components/components/print/_step-by-step-nav-header.scss +0 -4
  51. data/app/assets/stylesheets/govuk_publishing_components/components/print/_subscription-links.scss +2 -3
  52. data/app/assets/stylesheets/govuk_publishing_components/components/print/_translation-nav.scss +2 -3
  53. data/app/views/govuk_publishing_components/components/_attachment.html.erb +1 -1
  54. data/app/views/govuk_publishing_components/components/_back_link.html.erb +1 -1
  55. data/app/views/govuk_publishing_components/components/_button.html.erb +1 -1
  56. data/app/views/govuk_publishing_components/components/_feedback.html.erb +1 -1
  57. data/app/views/govuk_publishing_components/components/_government_navigation.html.erb +7 -7
  58. data/app/views/govuk_publishing_components/components/_layout_footer.html.erb +2 -2
  59. data/app/views/govuk_publishing_components/components/_layout_header.html.erb +1 -1
  60. data/app/views/govuk_publishing_components/components/_machine_readable_metadata.html.erb +1 -1
  61. data/app/views/govuk_publishing_components/components/_metadata.html.erb +9 -8
  62. data/app/views/govuk_publishing_components/components/_notice.html.erb +1 -1
  63. data/app/views/govuk_publishing_components/components/_phase_banner.html.erb +1 -5
  64. data/app/views/govuk_publishing_components/components/_previous_and_next_navigation.html.erb +1 -1
  65. data/app/views/govuk_publishing_components/components/_print_link.html.erb +1 -1
  66. data/app/views/govuk_publishing_components/components/_radio.html.erb +6 -11
  67. data/app/views/govuk_publishing_components/components/_search.html.erb +1 -1
  68. data/app/views/govuk_publishing_components/components/_share_links.html.erb +1 -1
  69. data/app/views/govuk_publishing_components/components/_show_password.html.erb +2 -0
  70. data/app/views/govuk_publishing_components/components/_skip_link.html.erb +1 -1
  71. data/app/views/govuk_publishing_components/components/_step_by_step_nav.html.erb +6 -6
  72. data/app/views/govuk_publishing_components/components/_step_by_step_nav_related.html.erb +1 -1
  73. data/app/views/govuk_publishing_components/components/_subscription_links.html.erb +2 -2
  74. data/app/views/govuk_publishing_components/components/_success_alert.html.erb +1 -1
  75. data/app/views/govuk_publishing_components/components/_translation_nav.html.erb +1 -1
  76. data/app/views/govuk_publishing_components/components/docs/feedback.yml +2 -0
  77. data/app/views/govuk_publishing_components/components/docs/phase_banner.yml +2 -2
  78. data/app/views/govuk_publishing_components/components/docs/show_password.yml +10 -0
  79. data/app/views/govuk_publishing_components/components/layout_header/_navigation_items.html.erb +2 -2
  80. data/app/views/govuk_publishing_components/components/metadata/_sentence.html.erb +4 -4
  81. data/app/views/govuk_publishing_components/components/related_navigation/_section.html.erb +2 -2
  82. data/config/locales/ar.yml +123 -0
  83. data/config/locales/az.yml +123 -0
  84. data/config/locales/be.yml +123 -0
  85. data/config/locales/bg.yml +123 -0
  86. data/config/locales/bn.yml +123 -0
  87. data/config/locales/cs.yml +123 -0
  88. data/config/locales/cy.yml +115 -6
  89. data/config/locales/da.yml +123 -0
  90. data/config/locales/de.yml +123 -0
  91. data/config/locales/dr.yml +123 -0
  92. data/config/locales/el.yml +123 -0
  93. data/config/locales/en.yml +111 -103
  94. data/config/locales/es-419.yml +123 -0
  95. data/config/locales/es.yml +123 -0
  96. data/config/locales/et.yml +120 -0
  97. data/config/locales/fa.yml +123 -0
  98. data/config/locales/fi.yml +123 -0
  99. data/config/locales/fr.yml +120 -0
  100. data/config/locales/gd.yml +123 -0
  101. data/config/locales/gu.yml +123 -0
  102. data/config/locales/he.yml +123 -0
  103. data/config/locales/hi.yml +123 -0
  104. data/config/locales/hr.yml +123 -0
  105. data/config/locales/hu.yml +123 -0
  106. data/config/locales/hy.yml +123 -0
  107. data/config/locales/id.yml +123 -0
  108. data/config/locales/is.yml +123 -0
  109. data/config/locales/it.yml +123 -0
  110. data/config/locales/ja.yml +123 -0
  111. data/config/locales/ka.yml +123 -0
  112. data/config/locales/kk.yml +123 -0
  113. data/config/locales/ko.yml +123 -0
  114. data/config/locales/lt.yml +123 -0
  115. data/config/locales/lv.yml +123 -0
  116. data/config/locales/ms.yml +123 -0
  117. data/config/locales/mt.yml +123 -0
  118. data/config/locales/nl.yml +123 -0
  119. data/config/locales/no.yml +124 -1
  120. data/config/locales/pa-pk.yml +123 -0
  121. data/config/locales/pa.yml +123 -0
  122. data/config/locales/pl.yml +123 -0
  123. data/config/locales/ps.yml +123 -0
  124. data/config/locales/pt.yml +123 -0
  125. data/config/locales/ro.yml +123 -0
  126. data/config/locales/ru.yml +123 -0
  127. data/config/locales/si.yml +123 -0
  128. data/config/locales/sk.yml +123 -0
  129. data/config/locales/sl.yml +123 -0
  130. data/config/locales/so.yml +123 -0
  131. data/config/locales/sq.yml +123 -0
  132. data/config/locales/sr.yml +123 -0
  133. data/config/locales/sv.yml +123 -0
  134. data/config/locales/sw.yml +123 -0
  135. data/config/locales/ta.yml +123 -0
  136. data/config/locales/th.yml +123 -0
  137. data/config/locales/tk.yml +123 -0
  138. data/config/locales/tr.yml +123 -0
  139. data/config/locales/uk.yml +123 -0
  140. data/config/locales/ur.yml +123 -0
  141. data/config/locales/uz.yml +123 -0
  142. data/config/locales/vi.yml +123 -0
  143. data/config/locales/zh-hk.yml +123 -0
  144. data/config/locales/zh-tw.yml +123 -0
  145. data/config/locales/zh.yml +123 -0
  146. data/lib/govuk_publishing_components/presenters/breadcrumb_selector.rb +5 -0
  147. data/lib/govuk_publishing_components/presenters/content_breadcrumbs_based_on_taxons.rb +1 -2
  148. data/lib/govuk_publishing_components/presenters/content_item.rb +4 -0
  149. data/lib/govuk_publishing_components/presenters/contextual_navigation.rb +4 -0
  150. data/lib/govuk_publishing_components/presenters/machine_readable/page.rb +4 -0
  151. data/lib/govuk_publishing_components/version.rb +1 -1
  152. data/node_modules/govuk-frontend/govuk/components/accordion/_index.scss +7 -16
  153. data/node_modules/govuk-frontend/govuk/components/back-link/_index.scss +4 -15
  154. data/node_modules/govuk-frontend/govuk/components/character-count/macro-options.json +1 -1
  155. data/node_modules/govuk-frontend/govuk/components/checkboxes/macro-options.json +3 -3
  156. data/node_modules/govuk-frontend/govuk/components/cookie-banner/README.md +15 -0
  157. data/node_modules/govuk-frontend/govuk/components/cookie-banner/fixtures.json +40 -22
  158. data/node_modules/govuk-frontend/govuk/components/cookie-banner/macro-options.json +6 -6
  159. data/node_modules/govuk-frontend/govuk/components/cookie-banner/template.njk +15 -5
  160. data/node_modules/govuk-frontend/govuk/components/date-input/macro-options.json +2 -2
  161. data/node_modules/govuk-frontend/govuk/components/details/_index.scss +5 -1
  162. data/node_modules/govuk-frontend/govuk/components/file-upload/_index.scss +13 -14
  163. data/node_modules/govuk-frontend/govuk/components/file-upload/macro-options.json +1 -1
  164. data/node_modules/govuk-frontend/govuk/components/footer/_index.scss +14 -19
  165. data/node_modules/govuk-frontend/govuk/components/header/_index.scss +39 -21
  166. data/node_modules/govuk-frontend/govuk/components/input/macro-options.json +1 -1
  167. data/node_modules/govuk-frontend/govuk/components/phase-banner/_index.scss +1 -1
  168. data/node_modules/govuk-frontend/govuk/components/radios/macro-options.json +3 -3
  169. data/node_modules/govuk-frontend/govuk/components/select/macro-options.json +1 -1
  170. data/node_modules/govuk-frontend/govuk/components/skip-link/_index.scss +1 -1
  171. data/node_modules/govuk-frontend/govuk/components/tabs/_index.scss +1 -6
  172. data/node_modules/govuk-frontend/govuk/components/textarea/macro-options.json +1 -1
  173. data/node_modules/govuk-frontend/govuk/components/warning-text/_index.scss +10 -0
  174. data/node_modules/govuk-frontend/govuk/core/_links.scss +8 -0
  175. data/node_modules/govuk-frontend/govuk/helpers/_links.scss +153 -38
  176. data/node_modules/govuk-frontend/govuk/settings/_all.scss +2 -0
  177. data/node_modules/govuk-frontend/govuk/settings/_links.scss +62 -0
  178. data/node_modules/govuk-frontend/package.json +1 -1
  179. metadata +20 -4
  180. data/app/assets/javascripts/component_guide/visual-regression.js +0 -71
@@ -2,7 +2,7 @@
2
2
  /// @group helpers/links
3
3
  ////
4
4
 
5
- /// Common link mixin
5
+ /// Common link styles
6
6
  ///
7
7
  /// Provides the typography and focus state, regardless of link style.
8
8
  ///
@@ -10,18 +10,57 @@
10
10
 
11
11
  @mixin govuk-link-common {
12
12
  @include govuk-typography-common;
13
+ @include govuk-link-decoration;
14
+
15
+ &:hover {
16
+ @include govuk-link-hover-decoration;
17
+ }
13
18
 
14
19
  &:focus {
15
20
  @include govuk-focused-text;
16
21
  }
17
22
  }
18
23
 
19
- /// Default link style mixin
24
+ /// Link decoration
25
+ ///
26
+ /// Provides the text decoration for links, including thickness and underline
27
+ /// offset. Use this mixin only if you cannot use the `govuk-link-common` mixin.
28
+ ///
29
+ /// @access public
30
+ @mixin govuk-link-decoration {
31
+ text-decoration: underline;
32
+
33
+ @if ($govuk-new-link-styles) {
34
+ @if ($govuk-link-underline-thickness) {
35
+ text-decoration-thickness: $govuk-link-underline-thickness;
36
+ }
37
+
38
+ @if ($govuk-link-underline-offset) {
39
+ text-underline-offset: $govuk-link-underline-offset;
40
+ }
41
+ }
42
+ }
43
+
44
+ /// Link hover decoration
45
+ ///
46
+ /// Provides the text decoration for links in their hover state, for you to use
47
+ /// within a `:hover` pseudo-selector. Use this mixin only if you cannot use the
48
+ /// `govuk-link-common` mixin.
49
+ ///
50
+ /// @access public
51
+
52
+ @mixin govuk-link-hover-decoration {
53
+ @if ($govuk-new-link-styles and $govuk-link-hover-underline-thickness) {
54
+ text-decoration-thickness: $govuk-link-hover-underline-thickness;
55
+ }
56
+ }
57
+
58
+ /// Default link styles
20
59
  ///
21
- /// Provides the default unvisited, visited, hover and active states for links.
60
+ /// Makes links use the default unvisited, visited, hover and active colours.
22
61
  ///
23
- /// If you use this mixin in a component you must also include the
24
- /// govuk-link-common mixin in order to get the focus state.
62
+ /// If you use this mixin in a component, you must also include the
63
+ /// `govuk-link-common` mixin to get the correct focus and hover states.
25
64
  ///
26
65
  /// @example scss
27
66
  /// .govuk-component__link {
@@ -66,12 +105,13 @@
66
105
  }
67
106
  }
68
107
 
69
- /// Error link style mixin
108
+ /// Error link styles
70
109
  ///
71
- /// Provides the error unvisited, visited, hover and active states for links.
110
+ /// Makes links use the error colour. The link will darken if it's active or a
111
+ /// user hovers their cursor over it.
72
112
  ///
73
- /// If you use this mixin in a component you must also include the
74
- /// govuk-link-common mixin in order to get the focus state.
113
+ /// If you use this mixin in a component, you must also include the
114
+ /// `govuk-link-common` mixin to get the correct focus and hover states.
75
115
  ///
76
116
  /// @example scss
77
117
  /// .govuk-component__link {
@@ -113,12 +153,13 @@
113
153
  }
114
154
  }
115
155
 
116
- /// Success link style mixin
156
+ /// Success link styles
117
157
  ///
118
- /// Provides the success unvisited, visited, hover and active states for links.
158
+ /// Makes links use the success colour. The link will darken if it's active or a
159
+ /// user hovers their cursor over it.
119
160
  ///
120
- /// If you use this mixin in a component you must also include the
121
- /// govuk-link-common mixin in order to get the focus state.
161
+ /// If you use this mixin in a component, you must also include the
162
+ /// `govuk-link-common` mixin to get the correct focus and hover states.
122
163
  ///
123
164
  /// @example scss
124
165
  /// .govuk-component__link {
@@ -160,13 +201,13 @@
160
201
  }
161
202
  }
162
203
 
163
- /// Muted style link mixin
204
+ /// Muted link styles
164
205
  ///
165
- /// Used for secondary links on a page - the link will appear in muted colours
166
- /// regardless of visited state.
206
+ /// Makes links use the secondary text colour. The link will darken if it's
207
+ /// active or a user hovers their cursor over it.
167
208
  ///
168
- /// If you use this mixin in a component you must also include the
169
- /// govuk-link-common mixin in order to get the focus state.
209
+ /// If you use this mixin in a component, you must also include the
210
+ /// `govuk-link-common` mixin to get the correct focus and hover states.
170
211
  ///
171
212
  /// @example scss
172
213
  /// .govuk-component__link {
@@ -178,10 +219,13 @@
178
219
 
179
220
  @mixin govuk-link-style-muted {
180
221
  &:link,
181
- &:visited,
222
+ &:visited {
223
+ color: $govuk-secondary-text-colour;
224
+ }
225
+
182
226
  &:hover,
183
227
  &:active {
184
- color: $govuk-secondary-text-colour;
228
+ color: $govuk-text-colour;
185
229
  }
186
230
 
187
231
  // When focussed, the text colour needs to be darker to ensure that colour
@@ -200,13 +244,13 @@
200
244
  }
201
245
  }
202
246
 
203
- /// Text style link mixin
247
+ /// Text link styles
204
248
  ///
205
- /// Overrides the colour of links to match the text colour. Generally used by
249
+ /// Makes links use the primary text colour, in all states. Use this mixin for
206
250
  /// navigation components, such as breadcrumbs or the back link.
207
251
  ///
208
- /// If you use this mixin in a component you must also include the
209
- /// govuk-link-common mixin in order to get the focus state.
252
+ /// If you use this mixin in a component, you must also include the
253
+ /// `govuk-link-common` mixin to get the correct focus and hover states.
210
254
  ///
211
255
  /// @example scss
212
256
  /// .govuk-component__link {
@@ -217,10 +261,17 @@
217
261
  /// @access public
218
262
 
219
263
  @mixin govuk-link-style-text {
220
- // Override link colour to use text colour
221
264
  &:link,
222
- &:visited,
223
- &:hover,
265
+ &:visited {
266
+ @include govuk-text-colour;
267
+ }
268
+
269
+ // Force a colour change on hover to work around a bug in Safari
270
+ // https://bugs.webkit.org/show_bug.cgi?id=224483
271
+ &:hover {
272
+ color: rgba($govuk-text-colour, .99);
273
+ }
274
+
224
275
  &:active,
225
276
  &:focus {
226
277
  @include govuk-text-colour;
@@ -236,17 +287,60 @@
236
287
  }
237
288
  }
238
289
 
239
- /// No visited state link mixin
290
+ /// Inverse link styles
291
+ ///
292
+ /// Makes links white, in all states. Use this mixin if you're displaying links
293
+ /// against a dark background.
294
+ ///
295
+ /// If you use this mixin in a component, you must also include the
296
+ /// `govuk-link-common` mixin to get the correct focus and hover states.
297
+ ///
298
+ /// @example scss
299
+ /// .govuk-component__link {
300
+ /// @include govuk-link-common;
301
+ /// @include govuk-link-style-inverse;
302
+ /// }
303
+ ///
304
+ /// @access public
305
+
306
+ @mixin govuk-link-style-inverse {
307
+ &:link,
308
+ &:visited {
309
+ color: govuk-colour("white");
310
+ }
311
+
312
+ // Force a colour change on hover to work around a bug in Safari
313
+ // https://bugs.webkit.org/show_bug.cgi?id=224483
314
+ &:hover,
315
+ &:active {
316
+ color: rgba(govuk-colour("white"), .99);
317
+ }
318
+
319
+ &:focus {
320
+ color: $govuk-focus-text-colour;
321
+ }
322
+
323
+ // alphagov/govuk_template includes a specific a:link:focus selector designed
324
+ // to make unvisited links a slightly darker blue when focussed, so we need to
325
+ // override the text colour for that combination of selectors.
326
+ @include govuk-compatibility(govuk_template) {
327
+ &:link:focus {
328
+ color: $govuk-focus-text-colour;
329
+ }
330
+ }
331
+ }
332
+
333
+ /// Default link styles, without a visited state
240
334
  ///
241
- /// Used in cases where it is not helpful to distinguish between visited and
242
- /// non-visited links.
335
+ /// Makes links use the default unvisited, hover and active colours, with no
336
+ /// distinct visited state.
243
337
  ///
244
- /// For example, navigation links to pages with dynamic content like admin
245
- /// dashboards. The content on the page is changing all the time, so the fact
246
- /// that you’ve visited it before is not important.
338
+ /// Use this mixin when it's not helpful to distinguish between visited and
339
+ /// non-visited links. For example, when you link to pages with
340
+ /// frequently-changing content, such as the dashboard for an admin interface.
247
341
  ///
248
- /// If you use this mixin in a component you must also include the
249
- /// govuk-link-common mixin in order to get the focus state.
342
+ /// If you use this mixin in a component, you must also include the
343
+ /// `govuk-link-common` mixin to get the correct focus and hover states.
250
344
  ///
251
345
  /// @example scss
252
346
  /// .govuk-component__link {
@@ -280,10 +374,31 @@
280
374
  }
281
375
  }
282
376
 
283
- /// Print friendly link mixin
377
+ /// Remove underline from links
378
+ ///
379
+ /// Remove underlines from links unless the link is active or a user hovers
380
+ /// their cursor over it. This has no effect in Internet Explorer 8 (IE8),
381
+ /// because IE8 does not support `:not`.
382
+ ///
383
+ /// @example scss
384
+ /// .govuk-component__link {
385
+ /// @include govuk-link-common;
386
+ /// @include govuk-link-style-default;
387
+ /// @include govuk-link-style-no-underline;
388
+ /// }
389
+ ///
390
+ /// @access public
391
+
392
+ @mixin govuk-link-style-no-underline {
393
+ &:not(:hover):not(:active) {
394
+ text-decoration: none;
395
+ }
396
+ }
397
+
398
+ /// Include link destination when printing the page
284
399
  ///
285
- /// When printing, append the the destination URL to the link text, as long
286
- /// as the URL starts with either `/`, `http://` or `https://`.
400
+ /// If the user prints the page, add the destination URL after the link text, if
401
+ /// the URL starts with `/`, `http://` or `https://`.
287
402
  ///
288
403
  /// @access public
289
404
 
@@ -19,3 +19,5 @@
19
19
  @import "typography-font-families";
20
20
  @import "typography-font";
21
21
  @import "typography-responsive";
22
+
23
+ @import "links";
@@ -0,0 +1,62 @@
1
+ ////
2
+ /// @group settings/links
3
+ ////
4
+
5
+ /// Enable new link styles
6
+ ///
7
+ /// If enabled, the link styles will change. Underlines will:
8
+ ///
9
+ /// - be consistently thinner and a bit further away from the link text
10
+ /// - have a clearer hover state, where the underline gets thicker to make the
11
+ /// link stand out to users
12
+ ///
13
+ /// You should only enable the new link styles if both:
14
+ ///
15
+ /// - you've made sure your whole service will use the new style consistently
16
+ /// - you do not have links in a multi-column CSS layout - there's [a Chromium
17
+ /// bug that affects links](https://github.com/alphagov/govuk-frontend/issues/2204)
18
+ ///
19
+ /// @type Boolean
20
+ /// @access public
21
+
22
+ $govuk-new-link-styles: false !default;
23
+
24
+ /// Thickness of link underlines
25
+ ///
26
+ /// The default will be either:
27
+ ///
28
+ /// - 1px
29
+ /// - 0.0625rem, if it's thicker than 1px because the user has changed the text
30
+ /// size in their browser
31
+ ///
32
+ /// Set this variable to `false` to avoid setting a thickness.
33
+ ///
34
+ /// @type Number
35
+ /// @access public
36
+
37
+ $govuk-link-underline-thickness: unquote("max(1px, .0625rem)") !default;
38
+
39
+ /// Offset of link underlines from text baseline
40
+ ///
41
+ /// Set this variable to `false` to avoid setting an offset.
42
+ ///
43
+ /// @type Number
44
+ /// @access public
45
+
46
+ $govuk-link-underline-offset: .1em !default;
47
+
48
+ /// Thickness of link underlines in hover state
49
+ ///
50
+ /// The default for each link will be the thickest of the following:
51
+ ///
52
+ /// - 3px
53
+ /// - 0.1875rem, if it's thicker than 3px because the user has changed the text
54
+ /// size in their browser
55
+ /// - 0.12em (relative to the link's text size)
56
+ ///
57
+ /// Set this variable to `false` to avoid setting a thickness.
58
+ ///
59
+ /// @type Number
60
+ /// @access public
61
+
62
+ $govuk-link-hover-underline-thickness: unquote("max(3px, .1875rem, .12em)") !default;
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "govuk-frontend",
3
3
  "description": "GOV.UK Frontend contains the code you need to start building a user interface for government platforms and services.",
4
- "version": "3.11.0",
4
+ "version": "3.12.0",
5
5
  "main": "govuk/all.js",
6
6
  "sass": "govuk/all.scss",
7
7
  "engines": {
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: govuk_publishing_components
3
3
  version: !ruby/object:Gem::Version
4
- version: 24.9.4
4
+ version: 24.11.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - GOV.UK Dev
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-04-22 00:00:00.000000000 Z
11
+ date: 2021-05-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: govuk_app_config
@@ -164,6 +164,20 @@ dependencies:
164
164
  - - "~>"
165
165
  - !ruby/object:Gem::Version
166
166
  version: '2'
167
+ - !ruby/object:Gem::Dependency
168
+ name: i18n-coverage
169
+ requirement: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - ">="
172
+ - !ruby/object:Gem::Version
173
+ version: '0'
174
+ type: :development
175
+ prerelease: false
176
+ version_requirements: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - ">="
179
+ - !ruby/object:Gem::Version
180
+ version: '0'
167
181
  - !ruby/object:Gem::Dependency
168
182
  name: jasmine
169
183
  requirement: !ruby/object:Gem::Requirement
@@ -416,7 +430,6 @@ files:
416
430
  - app/assets/javascripts/component_guide/filter-components.js
417
431
  - app/assets/javascripts/component_guide/vendor/bind-polyfill.js
418
432
  - app/assets/javascripts/component_guide/vendor/matches-polyfill.min.js
419
- - app/assets/javascripts/component_guide/visual-regression.js
420
433
  - app/assets/javascripts/govuk_publishing_components/all_components.js
421
434
  - app/assets/javascripts/govuk_publishing_components/analytics.js
422
435
  - app/assets/javascripts/govuk_publishing_components/analytics/analytics.js
@@ -469,6 +482,7 @@ files:
469
482
  - app/assets/javascripts/govuk_publishing_components/lib/toggle-input-class-on-focus.js
470
483
  - app/assets/javascripts/govuk_publishing_components/lib/toggle.js
471
484
  - app/assets/javascripts/govuk_publishing_components/lib/track-click.js
485
+ - app/assets/javascripts/govuk_publishing_components/lib/trigger-event.js
472
486
  - app/assets/javascripts/govuk_publishing_components/modules.js
473
487
  - app/assets/javascripts/govuk_publishing_components/vendor/html5shiv-printshiv.js
474
488
  - app/assets/javascripts/govuk_publishing_components/vendor/json2.js
@@ -1574,6 +1588,7 @@ files:
1574
1588
  - node_modules/govuk-frontend/govuk/components/checkboxes/macro-options.json
1575
1589
  - node_modules/govuk-frontend/govuk/components/checkboxes/macro.njk
1576
1590
  - node_modules/govuk-frontend/govuk/components/checkboxes/template.njk
1591
+ - node_modules/govuk-frontend/govuk/components/cookie-banner/README.md
1577
1592
  - node_modules/govuk-frontend/govuk/components/cookie-banner/_cookie-banner.scss
1578
1593
  - node_modules/govuk-frontend/govuk/components/cookie-banner/_index.scss
1579
1594
  - node_modules/govuk-frontend/govuk/components/cookie-banner/fixtures.json
@@ -1794,6 +1809,7 @@ files:
1794
1809
  - node_modules/govuk-frontend/govuk/settings/_compatibility.scss
1795
1810
  - node_modules/govuk-frontend/govuk/settings/_global-styles.scss
1796
1811
  - node_modules/govuk-frontend/govuk/settings/_ie8.scss
1812
+ - node_modules/govuk-frontend/govuk/settings/_links.scss
1797
1813
  - node_modules/govuk-frontend/govuk/settings/_measurements.scss
1798
1814
  - node_modules/govuk-frontend/govuk/settings/_media-queries.scss
1799
1815
  - node_modules/govuk-frontend/govuk/settings/_spacing.scss
@@ -1961,7 +1977,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
1961
1977
  - !ruby/object:Gem::Version
1962
1978
  version: '0'
1963
1979
  requirements: []
1964
- rubygems_version: 3.1.4
1980
+ rubygems_version: 3.1.6
1965
1981
  signing_key:
1966
1982
  specification_version: 4
1967
1983
  summary: A gem to document components in GOV.UK frontend applications
@@ -1,71 +0,0 @@
1
- (function (window, document) {
2
- window.GOVUK = window.GOVUK || {}
3
-
4
- window.GOVUK.VisualDiffTool = function (currentWindowLocation) {
5
- var visualDiffSelector = 'visual-diff'
6
- var existingIframe = document.getElementById(visualDiffSelector)
7
- var windowLocation = currentWindowLocation || window.location
8
-
9
- if (existingIframe) {
10
- existingIframe.parentNode.removeChild(existingIframe)
11
- document.body.style.filter = null
12
- } else {
13
- var iframe = document.createElement('iframe')
14
- iframe.id = visualDiffSelector
15
- iframe.setAttribute('scrolling', 'no')
16
- _setElementStyles(iframe, {
17
- width: '100%',
18
- height: document.body.scrollHeight + 'px',
19
- position: 'absolute',
20
- top: '0',
21
- 'pointer-events': 'none',
22
- border: '0'
23
- })
24
- iframe.style.setProperty('z-index', '999', 'important')
25
-
26
- // For browsers that support it, do mix-blend-mode diff
27
- if ('mix-blend-mode' in document.body.style) {
28
- _setElementStyles(iframe, { 'mix-blend-mode': 'difference' })
29
- document.body.style.filter = 'invert(100%)'
30
- } else {
31
- // Else do a simple overlay of the live page for comparison (IE and Edge)
32
- _setElementStyles(iframe, { opacity: '0.7' })
33
- }
34
-
35
- iframe.src = _processComparisonURL(windowLocation)
36
-
37
- if (iframe.src) {
38
- document.body.appendChild(iframe)
39
- console.log('comparing to ' + iframe.src)
40
- }
41
- }
42
- }
43
-
44
- var _processComparisonURL = function (url) {
45
- var appName
46
- var href = url.href
47
- var host = url.host
48
-
49
- if (href.includes('dev.gov.uk/component-guide')) {
50
- appName = host.split('.')[0]
51
- return _forceHTTPS(href.replace(host, appName + '.herokuapp.com'))
52
- } else if (href.includes('dev.gov.uk')) {
53
- return _forceHTTPS(href.replace(host, 'www.gov.uk'))
54
- } else if (href.includes('-pr-')) {
55
- appName = host.split('-pr')[0]
56
- return _forceHTTPS(href.replace(host, appName + '.herokuapp.com'))
57
- } else {
58
- throw new Error('Visual Diff Tool: You need to run this tool against a page running on your local dev environment')
59
- }
60
- }
61
-
62
- var _forceHTTPS = function (href) {
63
- return href.replace('http://', 'https://')
64
- }
65
-
66
- var _setElementStyles = function (element, styles) {
67
- for (var style in styles) {
68
- element.style[style] = styles[style]
69
- }
70
- }
71
- })(window, document)