govuk_publishing_components 24.18.2 → 24.19.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (24) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/govuk_publishing_components/analytics/custom-dimensions.js +2 -1
  3. data/app/assets/javascripts/govuk_publishing_components/analytics/scroll-tracker.js +14 -0
  4. data/app/assets/javascripts/govuk_publishing_components/components/details.js +6 -4
  5. data/app/assets/stylesheets/govuk_publishing_components/_all_components.scss +1 -0
  6. data/app/assets/stylesheets/govuk_publishing_components/components/_action-link.scss +5 -3
  7. data/app/assets/stylesheets/govuk_publishing_components/components/_intervention.scss +16 -0
  8. data/app/assets/stylesheets/govuk_publishing_components/components/_layout-header.scss +0 -4
  9. data/app/views/govuk_publishing_components/component_guide/index.html.erb +1 -1
  10. data/app/views/govuk_publishing_components/components/_character_count.html.erb +1 -1
  11. data/app/views/govuk_publishing_components/components/_contextual_breadcrumbs.html.erb +5 -5
  12. data/app/views/govuk_publishing_components/components/_details.html.erb +7 -4
  13. data/app/views/govuk_publishing_components/components/_intervention.html.erb +15 -0
  14. data/app/views/govuk_publishing_components/components/docs/checkboxes.yml +22 -22
  15. data/app/views/govuk_publishing_components/components/docs/details.yml +1 -1
  16. data/app/views/govuk_publishing_components/components/docs/intervention.yml +24 -0
  17. data/app/views/govuk_publishing_components/components/docs/layout_header.yml +4 -1
  18. data/app/views/govuk_publishing_components/components/layout_header/_header_logo.html.erb +3 -4
  19. data/config/locales/cy.yml +6 -6
  20. data/config/locales/en.yml +4 -0
  21. data/lib/govuk_publishing_components/app_helpers/environment.rb +3 -8
  22. data/lib/govuk_publishing_components/presenters/meta_tags.rb +11 -4
  23. data/lib/govuk_publishing_components/version.rb +1 -1
  24. metadata +5 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0d0f875a6fa52ceb7619edc2f731eaceb183b0da69bcfec8e3545ce98b732e03
4
- data.tar.gz: 8eb99bb3ed94a7c81d3e0b7937c756e8b54044f7328ab986ba31460416ae757b
3
+ metadata.gz: 3ccd720a9e54c8d5037c7d3878adf5ed2ba18b876f632447d451f1ca8a0ffd6e
4
+ data.tar.gz: a13272a73cbdcd36bfd42c312da9d568a89ed705cb27c923d424f91c6d163769
5
5
  SHA512:
6
- metadata.gz: 5c7a4676af5aa07bb6bf9ca635c671be969b7310d677ddaf2c40233cd214b423444fac9c020b92776a27f8ff4ce166bdfa5b794c4c22df6b3c3b127afd42da1f
7
- data.tar.gz: 7394d0fdeb990fef322657816fe1826d6bb1608714f2d5fd27e91099ae8923fcd86ed21eb4efc632e1fa70c5928bcbc25f9f8d2ab998408f86ae2cd9d3c06207
6
+ metadata.gz: f2405f9f3a73b35945f495505b4e88485aa00698eff3f2e8afbbd1e6e5c800542335b93f02758014a03537ad7936ea8e882459f0d791a8355c47c410c306234c
7
+ data.tar.gz: 3d8d34f91ea142e1597d87a939c6db2e69bb81780506b58ffe34e0cbb56eb3df425b66cedb1d00e1a00848ebc64c7ace9fab1809728ebfa7bab9ca880d18d9a7
@@ -63,7 +63,8 @@
63
63
  'taxon-ids': { dimension: 59, defaultValue: 'other' },
64
64
  'content-has-history': { dimension: 39, defaultValue: 'false' },
65
65
  'publishing-application': { dimension: 89 },
66
- 'brexit-audience': { dimension: 111 },
66
+ 'brexit-audience': { dimension: 112 },
67
+ 'brexit-superbreadcrumb': { dimension: 111 },
67
68
  stepnavs: { dimension: 96 },
68
69
  'relevant-result-shown': { dimension: 83 },
69
70
  'spelling-suggestion': { dimension: 81 }
@@ -206,6 +206,13 @@
206
206
  ['Percent', 80],
207
207
  ['Percent', 100]
208
208
  ],
209
+ '/guidance/brexit-guidance-for-businesses.cy': [
210
+ ['Percent', 20],
211
+ ['Percent', 40],
212
+ ['Percent', 60],
213
+ ['Percent', 80],
214
+ ['Percent', 100]
215
+ ],
209
216
  '/guidance/brexit-guidance-for-individuals-and-families': [
210
217
  ['Percent', 20],
211
218
  ['Percent', 40],
@@ -213,6 +220,13 @@
213
220
  ['Percent', 80],
214
221
  ['Percent', 100]
215
222
  ],
223
+ '/guidance/brexit-guidance-for-individuals-and-families.cy': [
224
+ ['Percent', 20],
225
+ ['Percent', 40],
226
+ ['Percent', 60],
227
+ ['Percent', 80],
228
+ ['Percent', 100]
229
+ ],
216
230
  '/guidance/import-and-export-goods-using-preference-agreements': [
217
231
  ['Percent', 20],
218
232
  ['Percent', 40],
@@ -7,24 +7,26 @@ window.GOVUK.Modules.GovukDetails = window.GOVUKFrontend;
7
7
  (function (Modules) {
8
8
  function GemDetails ($module) {
9
9
  this.$module = $module
10
- this.customTrackLabel = this.$module.getAttribute('data-track-label')
10
+ this.$summary = this.$module.querySelector('.govuk-details__summary')
11
+
12
+ this.customTrackLabel = this.$summary.getAttribute('data-track-label')
11
13
  this.detailsClick = this.$module.querySelector('[data-details-track-click]')
12
14
  }
13
15
 
14
16
  GemDetails.prototype.init = function () {
15
17
  if (this.customTrackLabel) { // If a custom label has been provided, we can simply call the tracking module
16
18
  var trackDetails = new window.GOVUK.Modules.GemTrackClick()
17
- trackDetails.start($(this.$module))
19
+ trackDetails.start($(this.$summary))
18
20
  } else if (this.detailsClick) { // If no custom label is set, we use the open/close status as the label
19
21
  this.detailsClick.addEventListener('click', function (event) {
20
- this.trackDefault(this.$module)
22
+ this.trackDefault(this.$summary)
21
23
  }.bind(this))
22
24
  }
23
25
  }
24
26
 
25
27
  GemDetails.prototype.trackDefault = function (element) {
26
28
  if (window.GOVUK.analytics && window.GOVUK.analytics.trackEvent) {
27
- var componentStatus = (element.getAttribute('open') == null) ? 'open' : 'closed'
29
+ var componentStatus = (this.$module.getAttribute('open') == null) ? 'open' : 'closed'
28
30
  var trackCategory = element.getAttribute('data-track-category')
29
31
  var trackAction = element.getAttribute('data-track-action')
30
32
  var trackOptions = element.getAttribute('data-track-options')
@@ -42,6 +42,7 @@ $govuk-new-link-styles: true;
42
42
  @import "components/image-card";
43
43
  @import "components/input";
44
44
  @import "components/inset-text";
45
+ @import "components/intervention";
45
46
  @import "components/inverse-header";
46
47
  @import "components/label";
47
48
  @import "components/layout-footer";
@@ -151,11 +151,11 @@
151
151
 
152
152
  &:before {
153
153
  height: 30px;
154
- width: 35px;
154
+ width: 30px;
155
155
  background-image: image-url("govuk_publishing_components/action-link-arrow--brexit.svg");
156
156
  background-repeat: no-repeat;
157
- background-size: 25px auto;
158
- background-position: 0 0;
157
+ background-size: 18px auto;
158
+ background-position: 0 2px;
159
159
  }
160
160
 
161
161
  @include govuk-media-query($until: tablet) {
@@ -166,7 +166,9 @@
166
166
  margin-bottom: govuk-spacing(2);
167
167
 
168
168
  &:before {
169
+ width: 35px;
169
170
  background-position: 0 4px;
171
+ background-size: 25px auto;
170
172
  }
171
173
  }
172
174
  }
@@ -0,0 +1,16 @@
1
+ .gem-c-intervention {
2
+ @include govuk-text-colour;
3
+ @include govuk-responsive-padding(4);
4
+ @include govuk-responsive-margin(4, "bottom");
5
+ background-color: govuk-colour("light-grey", $legacy: "grey-4");
6
+ }
7
+
8
+ .gem-c-intervention__title {
9
+ @include govuk-font(24, $weight: bold);
10
+ margin-top: 0;
11
+ @include govuk-responsive-margin(4, "bottom");
12
+ }
13
+
14
+ .gem-c-intervention__paragraph {
15
+ @include govuk-font(19);
16
+ }
@@ -106,10 +106,6 @@
106
106
  vertical-align: middle;
107
107
  }
108
108
 
109
- .gem-c-header__logotype-crown {
110
- top: -2px;
111
- }
112
-
113
109
  .gem-c-header__product-name {
114
110
  display: none;
115
111
 
@@ -105,5 +105,5 @@
105
105
  </ul>
106
106
 
107
107
  <div class="component-markdown">
108
- <p class="govuk-body">If you cannot find a suitable component consider extending an existing component or <a href="https://github.com/alphagov/govuk_publishing_components/blob/master/docs/develop-component.md">creating a new one</a>.</p>
108
+ <p class="govuk-body">If you cannot find a suitable component consider extending an existing component or <a href="https://github.com/alphagov/govuk_publishing_components/blob/master/docs/generate-a-new-component.md">creating a new one</a>.</p>
109
109
  </div>
@@ -18,7 +18,7 @@
18
18
  <%= render "govuk_publishing_components/components/textarea", { id: id, character_count: true }.merge(textarea.symbolize_keys) %>
19
19
 
20
20
  <span id="<%= id %>-info" class="govuk-hint govuk-character-count__message" aria-live="polite">
21
- <%= t("components.character_count", number: maxlength || maxwords, type: maxwords ? t("components.character_count.type.words") : t("components.character_count.type.characters")) %>
21
+ <%= t("components.character_count.body", number: maxlength || maxwords, type: maxwords ? t("components.character_count.type.words") : t("components.character_count.type.characters")) %>
22
22
  </span>
23
23
  <% end %>
24
24
  <% end %>
@@ -12,9 +12,9 @@
12
12
  inverse: inverse,
13
13
  collapse_on_mobile: collapse_on_mobile %>
14
14
  <% end %>
15
-
16
- <%= render(
17
- 'govuk_publishing_components/components/step_by_step_nav_header', breadcrumb_selector.priority_breadcrumbs
18
- ) if breadcrumb_selector.priority_breadcrumbs
19
- %>
15
+ <% if breadcrumb_selector.priority_breadcrumbs %>
16
+ <%= render 'govuk_publishing_components/components/step_by_step_nav_header', breadcrumb_selector.priority_breadcrumbs %>
17
+ <% meta_tag = GovukPublishingComponents::Presenters::MetaTags.new(content_item, local_assigns, request).brexit_priority_breadcrumb_tag %>
18
+ <meta name="<%= meta_tag.keys.first %>" content="<%= meta_tag.values.first %>">
19
+ <% end %>
20
20
  </div>
@@ -6,15 +6,18 @@
6
6
  css_classes = %w(gem-c-details govuk-details)
7
7
  css_classes << (shared_helper.get_margin_bottom)
8
8
 
9
+ details_data_attributes = {}
10
+ details_data_attributes[:module] = 'govuk-details gem-details'
11
+
9
12
  data_attributes ||= {}
10
- data_attributes[:module] = 'govuk-details gem-details'
13
+ data_attributes[:details_track_click] = ''
11
14
  %>
12
- <%= tag.details class: css_classes, data: data_attributes, open: open do %>
13
- <summary class="govuk-details__summary" data-details-track-click>
15
+ <%= tag.details class: css_classes, data: details_data_attributes, open: open do %>
16
+ <%= tag.summary class: "govuk-details__summary", data: data_attributes do %>
14
17
  <span class="govuk-details__summary-text">
15
18
  <%= title %>
16
19
  </span>
17
- </summary>
20
+ <% end %>
18
21
  <div class="govuk-details__text">
19
22
  <%= yield %>
20
23
  </div>
@@ -0,0 +1,15 @@
1
+ <%= tag.section class: "gem-c-intervention", role: "region" do %>
2
+ <h2 class="gem-c-intervention__title">
3
+ <a class="govuk-link" href="/next-steps-for-your-business">
4
+ <%= t("components.intervention.title") %>
5
+ </a>
6
+ </h2>
7
+
8
+ <p class="gem-c-intervention__paragraph">
9
+ <%= t("components.intervention.description") %>
10
+ </p>
11
+
12
+ <p class="gem-c-intervention__paragraph">
13
+ <%= t("components.intervention.dismiss_html") %>
14
+ </p>
15
+ <% end %>
@@ -1,7 +1,7 @@
1
1
  name: Form checkboxes
2
2
  description: Let users select one or more options with checkboxes.
3
3
  body: |
4
- If there is more than one checkbox they are rendered in a list. If there is only one, the markup is simplified to a single div and a heading attribute is not required.
4
+ If there is more than one checkbox they are rendered in a list. If there is only one, the markup is simplified to a single div and a heading attribute is not required. A `[]` needs to be appended to the name for Rails to treat the checkbox value as an array, otherwise only the last selected item is captured.
5
5
  govuk_frontend_components:
6
6
  - checkboxes
7
7
  accessibility_criteria: |
@@ -25,7 +25,7 @@ examples:
25
25
  with_multiple_checkboxes:
26
26
  description: When more than one checkbox is shown they are wrapped in a fieldset element, which requires a legend. This must be supplied to the component using the heading option.
27
27
  data:
28
- name: "favourite_colour"
28
+ name: "favourite_colour[]"
29
29
  heading: "What is your favourite colour?"
30
30
  items:
31
31
  - label: "Red"
@@ -36,7 +36,7 @@ examples:
36
36
  value: "blue"
37
37
  with_small_checkboxes:
38
38
  data:
39
- name: "favourite_small_synonym"
39
+ name: "favourite_small_synonym[]"
40
40
  heading: "What is your favourite synonym for small?"
41
41
  small: true
42
42
  items:
@@ -55,7 +55,7 @@ examples:
55
55
  with_custom_hint_text:
56
56
  description: Hint text defaults to 'Select all that apply' but can be overridden with this option. Note that a hint (and a heading) is only displayed if there is more than one checkbox.
57
57
  data:
58
- name: "favourite_skittle"
58
+ name: "favourite_skittle[]"
59
59
  heading: "What is your favourite skittle?"
60
60
  hint_text: "Taste the rainbow"
61
61
  items:
@@ -71,7 +71,7 @@ examples:
71
71
  The description text can only render text and not govspeak specific syntax.
72
72
  This is a pattern that is used across GOV.UK where a question is followed by a description.
73
73
  data:
74
- name: "favourite_skittle"
74
+ name: "favourite_skittle[]"
75
75
  heading: "Choose your favourite skittles"
76
76
  description: |
77
77
  Skittles consist of hard sugar shells imprinted with the letter "S".
@@ -91,7 +91,7 @@ examples:
91
91
  The description text can only render text and not govspeak specific syntax.
92
92
  This is a pattern that is used across GOV.UK where a question is followed by a description.
93
93
  data:
94
- name: "favourite_skittle"
94
+ name: "favourite_skittle[]"
95
95
  heading: "Choose your favourite skittles"
96
96
  is_page_heading: true
97
97
  description: |
@@ -112,7 +112,7 @@ examples:
112
112
  A caption can only be used with a page heading. If a heading is not provided the caption will not render.
113
113
  The pattern is used across GOV.UK to show a high-level section that this page question falls into.
114
114
  data:
115
- name: "favourite_skittle"
115
+ name: "favourite_skittle[]"
116
116
  heading: "Choose your favourite skittles"
117
117
  heading_caption: "Question 3 of 9"
118
118
  is_page_heading: true
@@ -126,7 +126,7 @@ examples:
126
126
  without_hint_text:
127
127
  description: Hint text can be removed entirely with this option. Note that this option can be combined with the visually_hide_heading option.
128
128
  data:
129
- name: "favourite_skittle"
129
+ name: "favourite_skittle[]"
130
130
  heading: "What is your favourite skittle?"
131
131
  no_hint_text: true
132
132
  items:
@@ -137,7 +137,7 @@ examples:
137
137
  with_a_hidden_heading:
138
138
  description: If the heading/legend on the checkboxes is not required, it can be visually hidden using this option. It will still be visible to screen readers.
139
139
  data:
140
- name: "favourite_colour"
140
+ name: "favourite_colour[]"
141
141
  heading: "What is your favourite colour?"
142
142
  visually_hide_heading: true
143
143
  items:
@@ -150,7 +150,7 @@ examples:
150
150
  with_a_custom_id_attribute:
151
151
  description: Note that if an id is not given one is generated automatically. In either case, the id is applied to the parent element of the checkboxes, and each checkbox is given the same id with an incremented number at the end, e.g. the checkboxes below have ids of potatoes-0 and potatoes-1.
152
152
  data:
153
- name: "potatoes"
153
+ name: "potatoes[]"
154
154
  id: "potatoes"
155
155
  heading: "What kind of potatoes do you like?"
156
156
  items:
@@ -161,7 +161,7 @@ examples:
161
161
  with_custom_ids_on_individal_checkboxes:
162
162
  description: Individual checkboxes can be given specific ids if required. Note that the general id option can still be used, but the individual ids will override the general one if it is given.
163
163
  data:
164
- name: "carrots"
164
+ name: "carrots[]"
165
165
  id: "carrots"
166
166
  heading: "What kind of carrots do you like?"
167
167
  items:
@@ -173,7 +173,7 @@ examples:
173
173
  with_legend_as_page_heading:
174
174
  description: Since the legend/heading is required, if the checkboxes are alone on a page it makes sense to use this element as the H1 on the page rather than duplicate text.
175
175
  data:
176
- name: "favourite_colour"
176
+ name: "favourite_colour[]"
177
177
  heading: "What is your favourite colour?"
178
178
  is_page_heading: true
179
179
  items:
@@ -185,11 +185,11 @@ examples:
185
185
  value: "blue"
186
186
  with_custom_heading_size:
187
187
  description: |
188
- This allows the size of the legend to be changed. Valid options are s, m, l, xl, defaulting to m if no option is passed.
188
+ This allows the size of the legend to be changed. Valid options are s, m, l, xl, defaulting to m if no option is passed.
189
189
 
190
190
  If the is_page_heading option is true and heading_size is not set, the text size will be xl.
191
191
  data:
192
- name: "favourite_colour"
192
+ name: "favourite_colour[]"
193
193
  heading: "What is your favourite colour?"
194
194
  heading_size: "s"
195
195
  items:
@@ -235,7 +235,7 @@ examples:
235
235
  with_aria_controls_attributes:
236
236
  description: Aria controls attributes are applied to the checkboxes only if Javascript is enabled.
237
237
  data:
238
- name: "aria_controls"
238
+ name: "aria_controls[]"
239
239
  heading: "What areas are you interested in?"
240
240
  items:
241
241
  - label: "Farming and the environment"
@@ -246,7 +246,7 @@ examples:
246
246
  controls: "js-live-results"
247
247
  checkboxes_with_individual_hints:
248
248
  data:
249
- name: "nationality"
249
+ name: "nationality[]"
250
250
  heading: "What is your nationality?"
251
251
  hint_text: "If you have dual nationality, select all options that are relevant to you."
252
252
  items:
@@ -260,7 +260,7 @@ examples:
260
260
  hint: "anything other than the above"
261
261
  checkbox_items_with_error:
262
262
  data:
263
- name: "nationality"
263
+ name: "nationality[]"
264
264
  heading: "What is your nationality?"
265
265
  error: "Select if you are British, Irish or a citizen of a different country"
266
266
  hint_text: "If you have dual nationality, select all options that are relevant to you."
@@ -281,7 +281,7 @@ examples:
281
281
 
282
282
  This behaviour should be doubled by similar checks on the backend.
283
283
  data:
284
- name: "nationality-exclusive"
284
+ name: "nationality-exclusive[]"
285
285
  heading: "What kind of expertise can you offer?"
286
286
  hint_text: "Select the types of support you can offer."
287
287
  items:
@@ -301,7 +301,7 @@ examples:
301
301
 
302
302
  Note that if you do insert HTML, this may cause accessibility violations if the additional elements have different name attributes to the checkboxes. No styling will be applied to the inserted content by the component.
303
303
  data:
304
- name: "contactingme"
304
+ name: "contactingme[]"
305
305
  id: "contactingme"
306
306
  heading: "How would you like to be contacted?"
307
307
  hint_text: "Please select all options that are relevant to you."
@@ -317,7 +317,7 @@ examples:
317
317
  conditional: <div class="govuk-form-group"><label class="govuk-label" for="contact-by-text">Mobile phone number</label><input class="govuk-input govuk-!-width-one-third" id="contact-by-text" name="contactingme" type="tel"></div>
318
318
  checkbox_items_with_conditional_reveal_checked:
319
319
  data:
320
- name: "contacting-checked"
320
+ name: "contacting-checked[]"
321
321
  id: "contacting-checked"
322
322
  heading: "How would you like to be contacted?"
323
323
  hint_text: "Please select all options that are relevant to you."
@@ -334,7 +334,7 @@ examples:
334
334
  conditional: <div class="govuk-form-group"><label class="govuk-label" for="contact-by-text">Mobile phone number</label><input class="govuk-input govuk-!-width-one-third" id="contact-by-text" name="contactingme" type="tel"></div>
335
335
  checkbox_items_with_checked_items:
336
336
  data:
337
- name: "nationality"
337
+ name: "nationality[]"
338
338
  heading: "What is your nationality?"
339
339
  hint_text: "If you have dual nationality, select all options that are relevant to you."
340
340
  items:
@@ -347,7 +347,7 @@ examples:
347
347
  value: "other"
348
348
  checkbox_items_with_nested_checkboxes:
349
349
  data:
350
- name: "favourite_colour"
350
+ name: "favourite_colour[]"
351
351
  heading: "What is your favourite colour?"
352
352
  items:
353
353
  - label: "Red"
@@ -22,7 +22,7 @@ examples:
22
22
  block: |
23
23
  We need to know your nationality so we can work out which elections you’re entitled to vote in. If you can’t provide your nationality, you’ll have to send copies of identity documents through the post.
24
24
  with_data_attributes:
25
- description: Can be used for tracking. By default, `track-label` is set to the status ("open" or "closed") unless a track_label is passed into the component.
25
+ description: Can be used for tracking. Tracking is applied to the summary element when the details element is opened and closed. By default, `track-label` is set to the status ("open" or "closed") unless a track_label is passed into the component.
26
26
  data:
27
27
  title: Help with nationality
28
28
  data_attributes:
@@ -0,0 +1,24 @@
1
+ name: Intervention
2
+ description: An area that contains personalised content to the user
3
+ body: |
4
+ The intervention is used to show personalised content. For instance, if the user has visited multiple
5
+ pages in the same area of the site, we might want let them know that there are other pages on GOV.UK
6
+ that would be useful to them. This component would be used to add this personalised content and would
7
+ indicate to the user that this is not normally part of the page, but has been added for them specifically.
8
+
9
+ Right now the contents of the component are static, as the MVP of personalised content is only for Start a Business.
10
+ Since many pages will use this component with the same text, we hard-code it here for now.
11
+
12
+ The dismiss link will reload the page but the `hide-intervention` query string parameter will cause the
13
+ backed not to show the intervention again. Some progressive enhancement will be added in later to avoid
14
+ reloading the page if JavaScript is available.
15
+ accessibility_criteria: |
16
+ The intervention component must:
17
+
18
+ - have a border colour contrast ratio of more than 4.5:1 with its background to be visually distinct
19
+
20
+ - always render headings with associated description content, so there are no isolated heading elements inside the component
21
+ shared_accessibility_criteria:
22
+ - link
23
+ examples:
24
+ default:
@@ -105,7 +105,10 @@ examples:
105
105
  with_search_bar:
106
106
  data:
107
107
  search: true
108
-
108
+ with_custom_logo_link:
109
+ description: The header logo links to root by default. This option allows us to override that in certain instances.
110
+ data:
111
+ logo_link: "/account/home"
109
112
  accessibility_criteria: |
110
113
  The component must:
111
114
 
@@ -1,11 +1,10 @@
1
1
  <div class="govuk-header__logo gem-c-header__logo">
2
2
  <a href="<%= logo_link %>" class="govuk-header__link govuk-header__link--homepage" data-module="gem-track-click" data-track-category="homeLinkClicked" data-track-action="homeHeader">
3
3
  <span class="govuk-header__logotype gem-c-header__logotype">
4
- <svg aria-hidden="true" focusable="false" class="gem-c-header__logotype-crown govuk-header__logotype-crown" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 132 97" height="32" width="36">
5
- <path fill="currentColor" fill-rule="evenodd"
6
- d="M25 30.2c3.5 1.5 7.7-.2 9.1-3.7 1.5-3.6-.2-7.8-3.9-9.2-3.6-1.4-7.6.3-9.1 3.9-1.4 3.5.3 7.5 3.9 9zM9 39.5c3.6 1.5 7.8-.2 9.2-3.7 1.5-3.6-.2-7.8-3.9-9.1-3.6-1.5-7.6.2-9.1 3.8-1.4 3.5.3 7.5 3.8 9zM4.4 57.2c3.5 1.5 7.7-.2 9.1-3.8 1.5-3.6-.2-7.7-3.9-9.1-3.5-1.5-7.6.3-9.1 3.8-1.4 3.5.3 7.6 3.9 9.1zm38.3-21.4c3.5 1.5 7.7-.2 9.1-3.8 1.5-3.6-.2-7.7-3.9-9.1-3.6-1.5-7.6.3-9.1 3.8-1.3 3.6.4 7.7 3.9 9.1zm64.4-5.6c-3.6 1.5-7.8-.2-9.1-3.7-1.5-3.6.2-7.8 3.8-9.2 3.6-1.4 7.7.3 9.2 3.9 1.3 3.5-.4 7.5-3.9 9zm15.9 9.3c-3.6 1.5-7.7-.2-9.1-3.7-1.5-3.6.2-7.8 3.7-9.1 3.6-1.5 7.7.2 9.2 3.8 1.5 3.5-.3 7.5-3.8 9zm4.7 17.7c-3.6 1.5-7.8-.2-9.2-3.8-1.5-3.6.2-7.7 3.9-9.1 3.6-1.5 7.7.3 9.2 3.8 1.3 3.5-.4 7.6-3.9 9.1zM89.3 35.8c-3.6 1.5-7.8-.2-9.2-3.8-1.4-3.6.2-7.7 3.9-9.1 3.6-1.5 7.7.3 9.2 3.8 1.4 3.6-.3 7.7-3.9 9.1zM69.7 17.7l8.9 4.7V9.3l-8.9 2.8c-.2-.3-.5-.6-.9-.9L72.4 0H59.6l3.5 11.2c-.3.3-.6.5-.9.9l-8.8-2.8v13.1l8.8-4.7c.3.3.6.7.9.9l-5 15.4v.1c-.2.8-.4 1.6-.4 2.4 0 4.1 3.1 7.5 7 8.1h.2c.3 0 .7.1 1 .1.4 0 .7 0 1-.1h.2c4-.6 7.1-4.1 7.1-8.1 0-.8-.1-1.7-.4-2.4V34l-5.1-15.4c.4-.2.7-.6 1-.9zM66 92.8c16.9 0 32.8 1.1 47.1 3.2 4-16.9 8.9-26.7 14-33.5l-9.6-3.4c1 4.9 1.1 7.2 0 10.2-1.5-1.4-3-4.3-4.2-8.7L108.6 76c2.8-2 5-3.2 7.5-3.3-4.4 9.4-10 11.9-13.6 11.2-4.3-.8-6.3-4.6-5.6-7.9 1-4.7 5.7-5.9 8-.5 4.3-8.7-3-11.4-7.6-8.8 7.1-7.2 7.9-13.5 2.1-21.1-8 6.1-8.1 12.3-4.5 20.8-4.7-5.4-12.1-2.5-9.5 6.2 3.4-5.2 7.9-2 7.2 3.1-.6 4.3-6.4 7.8-13.5 7.2-10.3-.9-10.9-8-11.2-13.8 2.5-.5 7.1 1.8 11 7.3L80.2 60c-4.1 4.4-8 5.3-12.3 5.4 1.4-4.4 8-11.6 8-11.6H55.5s6.4 7.2 7.9 11.6c-4.2-.1-8-1-12.3-5.4l1.4 16.4c3.9-5.5 8.5-7.7 10.9-7.3-.3 5.8-.9 12.8-11.1 13.8-7.2.6-12.9-2.9-13.5-7.2-.7-5 3.8-8.3 7.1-3.1 2.7-8.7-4.6-11.6-9.4-6.2 3.7-8.5 3.6-14.7-4.6-20.8-5.8 7.6-5 13.9 2.2 21.1-4.7-2.6-11.9.1-7.7 8.8 2.3-5.5 7.1-4.2 8.1.5.7 3.3-1.3 7.1-5.7 7.9-3.5.7-9-1.8-13.5-11.2 2.5.1 4.7 1.3 7.5 3.3l-4.7-15.4c-1.2 4.4-2.7 7.2-4.3 8.7-1.1-3-.9-5.3 0-10.2l-9.5 3.4c5 6.9 9.9 16.7 14 33.5 14.8-2.1 30.8-3.2 47.7-3.2z"></path>
4
+ <svg aria-hidden="true" focusable="false" class="govuk-header__logotype-crown" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 132 97" height="30" width="36">
5
+ <path fill="currentColor" fill-rule="evenodd" d="M25 30.2c3.5 1.5 7.7-.2 9.1-3.7 1.5-3.6-.2-7.8-3.9-9.2-3.6-1.4-7.6.3-9.1 3.9-1.4 3.5.3 7.5 3.9 9zM9 39.5c3.6 1.5 7.8-.2 9.2-3.7 1.5-3.6-.2-7.8-3.9-9.1-3.6-1.5-7.6.2-9.1 3.8-1.4 3.5.3 7.5 3.8 9zM4.4 57.2c3.5 1.5 7.7-.2 9.1-3.8 1.5-3.6-.2-7.7-3.9-9.1-3.5-1.5-7.6.3-9.1 3.8-1.4 3.5.3 7.6 3.9 9.1zm38.3-21.4c3.5 1.5 7.7-.2 9.1-3.8 1.5-3.6-.2-7.7-3.9-9.1-3.6-1.5-7.6.3-9.1 3.8-1.3 3.6.4 7.7 3.9 9.1zm64.4-5.6c-3.6 1.5-7.8-.2-9.1-3.7-1.5-3.6.2-7.8 3.8-9.2 3.6-1.4 7.7.3 9.2 3.9 1.3 3.5-.4 7.5-3.9 9zm15.9 9.3c-3.6 1.5-7.7-.2-9.1-3.7-1.5-3.6.2-7.8 3.7-9.1 3.6-1.5 7.7.2 9.2 3.8 1.5 3.5-.3 7.5-3.8 9zm4.7 17.7c-3.6 1.5-7.8-.2-9.2-3.8-1.5-3.6.2-7.7 3.9-9.1 3.6-1.5 7.7.3 9.2 3.8 1.3 3.5-.4 7.6-3.9 9.1zM89.3 35.8c-3.6 1.5-7.8-.2-9.2-3.8-1.4-3.6.2-7.7 3.9-9.1 3.6-1.5 7.7.3 9.2 3.8 1.4 3.6-.3 7.7-3.9 9.1zM69.7 17.7l8.9 4.7V9.3l-8.9 2.8c-.2-.3-.5-.6-.9-.9L72.4 0H59.6l3.5 11.2c-.3.3-.6.5-.9.9l-8.8-2.8v13.1l8.8-4.7c.3.3.6.7.9.9l-5 15.4v.1c-.2.8-.4 1.6-.4 2.4 0 4.1 3.1 7.5 7 8.1h.2c.3 0 .7.1 1 .1.4 0 .7 0 1-.1h.2c4-.6 7.1-4.1 7.1-8.1 0-.8-.1-1.7-.4-2.4V34l-5.1-15.4c.4-.2.7-.6 1-.9zM66 92.8c16.9 0 32.8 1.1 47.1 3.2 4-16.9 8.9-26.7 14-33.5l-9.6-3.4c1 4.9 1.1 7.2 0 10.2-1.5-1.4-3-4.3-4.2-8.7L108.6 76c2.8-2 5-3.2 7.5-3.3-4.4 9.4-10 11.9-13.6 11.2-4.3-.8-6.3-4.6-5.6-7.9 1-4.7 5.7-5.9 8-.5 4.3-8.7-3-11.4-7.6-8.8 7.1-7.2 7.9-13.5 2.1-21.1-8 6.1-8.1 12.3-4.5 20.8-4.7-5.4-12.1-2.5-9.5 6.2 3.4-5.2 7.9-2 7.2 3.1-.6 4.3-6.4 7.8-13.5 7.2-10.3-.9-10.9-8-11.2-13.8 2.5-.5 7.1 1.8 11 7.3L80.2 60c-4.1 4.4-8 5.3-12.3 5.4 1.4-4.4 8-11.6 8-11.6H55.5s6.4 7.2 7.9 11.6c-4.2-.1-8-1-12.3-5.4l1.4 16.4c3.9-5.5 8.5-7.7 10.9-7.3-.3 5.8-.9 12.8-11.1 13.8-7.2.6-12.9-2.9-13.5-7.2-.7-5 3.8-8.3 7.1-3.1 2.7-8.7-4.6-11.6-9.4-6.2 3.7-8.5 3.6-14.7-4.6-20.8-5.8 7.6-5 13.9 2.2 21.1-4.7-2.6-11.9.1-7.7 8.8 2.3-5.5 7.1-4.2 8.1.5.7 3.3-1.3 7.1-5.7 7.9-3.5.7-9-1.8-13.5-11.2 2.5.1 4.7 1.3 7.5 3.3l-4.7-15.4c-1.2 4.4-2.7 7.2-4.3 8.7-1.1-3-.9-5.3 0-10.2l-9.5 3.4c5 6.9 9.9 16.7 14 33.5 14.8-2.1 30.8-3.2 47.7-3.2z"></path>
7
6
  <%# Deliberate use of image tag as a fallback method https://lynn.ru/examples/svg/en.html %>
8
- <image src="<%= asset_path('govuk-logotype-crown.png') %>" xlink:href="" display="none" class="govuk-header__logotype-crown-fallback-image" width="36" height="32"></image>
7
+ <image src="<%= asset_path('govuk-logotype-crown.png') %>" xlink:href="" display="none" class="govuk-header__logotype-crown-fallback-image" width="36" height="30"></image>
9
8
  </svg>
10
9
  <span class="govuk-header__logotype-text">
11
10
  GOV.UK
@@ -114,14 +114,14 @@ cy:
114
114
  related_guides:
115
115
  statistical_data_sets:
116
116
  topical_events:
117
- topics:
117
+ topics: Archwilio’r pwnc
118
118
  transition:
119
- hub_page_link_path:
120
- hub_page_link_text:
121
- hub_page_title:
122
119
  link_path: "/brexit.cy"
123
- link_text: Gwiriwch beth sydd angen i chi ei wneud
120
+ link_text: Cael rhestr bersonol o gamau gweithredu
124
121
  title: Brexit
122
+ hub_page_link_path:
123
+ hub_page_link_text:
124
+ hub_page_title: Gwiriwr Brexit
125
125
  world_locations:
126
126
  search_box:
127
127
  input_title:
@@ -154,4 +154,4 @@ cy:
154
154
  delete:
155
155
  edit:
156
156
  tabs:
157
- contents:
157
+ contents: Cynnwys
@@ -72,6 +72,10 @@ en:
72
72
  news_and_communications: News and communications
73
73
  statistics: Statistics
74
74
  worldwide: Worldwide
75
+ intervention:
76
+ title: Check the next steps for your limited company
77
+ description: You might be interested in this because you’ve been browsing guidance relevant to starting a limited company.
78
+ dismiss_html: <a class="govuk-link" href="?hide-intervention=true">Hide this suggestion</a> if it’s not relevant to you
75
79
  layout_footer:
76
80
  copyright_html: <a class="govuk-footer__link govuk-footer__copyright-logo" href="http://www.nationalarchives.gov.uk/information-management/re-using-public-sector-information/copyright-and-re-use/crown-copyright/">© Crown copyright</a>
77
81
  licence_html: All content is available under the <a class="govuk-footer__link" href="https://www.nationalarchives.gov.uk/doc/open-government-licence/version/3/" rel="license">Open Government Licence v3.0</a>, except where otherwise stated
@@ -1,19 +1,14 @@
1
1
  module GovukPublishingComponents
2
2
  module AppHelpers
3
3
  class Environment
4
- GOVUK_ENVIRONMENTS = {
5
- "production" => "production",
6
- "staging" => "staging",
7
- "integration-blue-aws" => "integration",
8
- }.freeze
4
+ GOVUK_ENVIRONMENTS = %w[integration staging production].freeze
9
5
 
10
6
  # The "acceptance environment" we're in - not the same as Rails env.
11
- #
12
- # Can be "production", "staging", "integration", or "development"
7
+ # Can be "production", "staging", "integration", "development" or "example" (if running on Heroku)
13
8
  def self.current_acceptance_environment
14
9
  return "example" if ENV["HEROKU"]
15
10
 
16
- GOVUK_ENVIRONMENTS.fetch(ENV["ERRBIT_ENVIRONMENT_NAME"], "development")
11
+ GOVUK_ENVIRONMENTS.include?(ENV["GOVUK_ENVIRONMENT_NAME"]) ? ENV["GOVUK_ENVIRONMENT_NAME"] : "development"
17
12
  end
18
13
  end
19
14
  end
@@ -21,7 +21,11 @@ module GovukPublishingComponents
21
21
  meta_tags = add_political_tags(meta_tags)
22
22
  meta_tags = add_taxonomy_tags(meta_tags)
23
23
  meta_tags = add_step_by_step_tags(meta_tags)
24
- add_brexit_tags(meta_tags)
24
+ add_brexit_tags("govuk:brexit-audience", meta_tags)
25
+ end
26
+
27
+ def brexit_priority_breadcrumb_tag
28
+ add_brexit_tags("govuk:brexit-superbreadcrumb")
25
29
  end
26
30
 
27
31
  private
@@ -112,15 +116,14 @@ module GovukPublishingComponents
112
116
  meta_tags
113
117
  end
114
118
 
115
- def add_brexit_tags(meta_tags)
119
+ def add_brexit_tags(tag_key, meta_tags = {})
116
120
  links = content_item[:links]
117
121
  taxons = links[:taxons] unless links.nil?
118
122
 
119
123
  return meta_tags if taxons.blank?
120
124
  return meta_tags unless tagged_to_priority_taxon?
121
125
 
122
- audience = priority_taxon_helper.brexit_audience
123
- meta_tags["govuk:brexit-audience"] = audience if audience.present?
126
+ meta_tags[tag_key] = brexit_audience if brexit_audience.present?
124
127
 
125
128
  meta_tags
126
129
  end
@@ -133,6 +136,10 @@ module GovukPublishingComponents
133
136
  @priority_taxon_helper ||= ContentBreadcrumbsBasedOnPriority.new(content_item.deep_stringify_keys, request.query_parameters)
134
137
  end
135
138
 
139
+ def brexit_audience
140
+ priority_taxon_helper.brexit_audience
141
+ end
142
+
136
143
  def has_content_history?
137
144
  (content_item[:public_updated_at] && details[:first_public_at] && content_item[:public_updated_at] != details[:first_public_at]) ||
138
145
  (details[:change_history] && details[:change_history].size > 1)
@@ -1,3 +1,3 @@
1
1
  module GovukPublishingComponents
2
- VERSION = "24.18.2".freeze
2
+ VERSION = "24.19.0".freeze
3
3
  end
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.18.2
4
+ version: 24.19.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-07-06 00:00:00.000000000 Z
11
+ date: 2021-07-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: govuk_app_config
@@ -546,6 +546,7 @@ files:
546
546
  - app/assets/stylesheets/govuk_publishing_components/components/_image-card.scss
547
547
  - app/assets/stylesheets/govuk_publishing_components/components/_input.scss
548
548
  - app/assets/stylesheets/govuk_publishing_components/components/_inset-text.scss
549
+ - app/assets/stylesheets/govuk_publishing_components/components/_intervention.scss
549
550
  - app/assets/stylesheets/govuk_publishing_components/components/_inverse-header.scss
550
551
  - app/assets/stylesheets/govuk_publishing_components/components/_label.scss
551
552
  - app/assets/stylesheets/govuk_publishing_components/components/_layout-footer.scss
@@ -694,6 +695,7 @@ files:
694
695
  - app/views/govuk_publishing_components/components/_image_card.html.erb
695
696
  - app/views/govuk_publishing_components/components/_input.html.erb
696
697
  - app/views/govuk_publishing_components/components/_inset_text.html.erb
698
+ - app/views/govuk_publishing_components/components/_intervention.html.erb
697
699
  - app/views/govuk_publishing_components/components/_inverse_header.html.erb
698
700
  - app/views/govuk_publishing_components/components/_label.html.erb
699
701
  - app/views/govuk_publishing_components/components/_layout_footer.html.erb
@@ -773,6 +775,7 @@ files:
773
775
  - app/views/govuk_publishing_components/components/docs/image_card.yml
774
776
  - app/views/govuk_publishing_components/components/docs/input.yml
775
777
  - app/views/govuk_publishing_components/components/docs/inset_text.yml
778
+ - app/views/govuk_publishing_components/components/docs/intervention.yml
776
779
  - app/views/govuk_publishing_components/components/docs/inverse_header.yml
777
780
  - app/views/govuk_publishing_components/components/docs/label.yml
778
781
  - app/views/govuk_publishing_components/components/docs/layout_footer.yml