govuk_publishing_components 23.12.0 → 23.13.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (89) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/govuk_publishing_components/components/header.js +3 -0
  3. data/app/assets/javascripts/govuk_publishing_components/components/layout-header.js +5 -0
  4. data/app/assets/javascripts/govuk_publishing_components/components/step-by-step-nav.js +32 -36
  5. data/app/assets/javascripts/govuk_publishing_components/lib/govspeak/magna-charta.js +66 -14
  6. data/app/assets/javascripts/govuk_publishing_components/modules.js +1 -1
  7. data/app/assets/stylesheets/govuk_publishing_components/_all_components.scss +0 -1
  8. data/app/assets/stylesheets/govuk_publishing_components/components/_layout-footer.scss +5 -0
  9. data/app/assets/stylesheets/govuk_publishing_components/components/_show-password.scss +4 -0
  10. data/app/assets/stylesheets/govuk_publishing_components/components/_step-by-step-nav.scss +19 -7
  11. data/app/assets/stylesheets/govuk_publishing_components/components/govspeak/_charts.scss +17 -6
  12. data/app/assets/stylesheets/govuk_publishing_components/components/print/_govspeak.scss +5 -0
  13. data/app/views/govuk_publishing_components/components/_button.html.erb +1 -0
  14. data/app/views/govuk_publishing_components/components/_layout_header.html.erb +3 -2
  15. data/app/views/govuk_publishing_components/components/_machine_readable_metadata.html.erb +1 -1
  16. data/app/views/govuk_publishing_components/components/_step_by_step_nav.html.erb +2 -2
  17. data/app/views/govuk_publishing_components/components/_subscription-links.html.erb +3 -0
  18. data/app/views/govuk_publishing_components/components/_subscription_links.html.erb +82 -0
  19. data/app/views/govuk_publishing_components/components/_translation-nav.html.erb +3 -0
  20. data/app/views/govuk_publishing_components/components/_translation_nav.html.erb +30 -0
  21. data/app/views/govuk_publishing_components/components/docs/layout_header.yml +21 -0
  22. data/app/views/govuk_publishing_components/components/docs/meta_tags.yml +99 -1
  23. data/app/views/govuk_publishing_components/components/docs/subscription-links.yml +3 -0
  24. data/app/views/govuk_publishing_components/components/docs/subscription_links.yml +100 -0
  25. data/app/views/govuk_publishing_components/components/docs/translation-nav.yml +3 -1
  26. data/app/views/govuk_publishing_components/components/docs/translation_nav.yml +137 -0
  27. data/app/views/govuk_publishing_components/components/layout_header/_navigation_items.html.erb +3 -3
  28. data/config/locales/en.yml +2 -2
  29. data/lib/govuk_publishing_components/presenters/meta_tags.rb +2 -0
  30. data/lib/govuk_publishing_components/version.rb +1 -1
  31. data/node_modules/govuk-frontend/govuk/all.js +57 -0
  32. data/node_modules/govuk-frontend/govuk/components/_all.scss +1 -0
  33. data/node_modules/govuk-frontend/govuk/components/accordion/fixtures.json +25 -10
  34. data/node_modules/govuk-frontend/govuk/components/back-link/fixtures.json +12 -6
  35. data/node_modules/govuk-frontend/govuk/components/back-link/macro-options.json +4 -4
  36. data/node_modules/govuk-frontend/govuk/components/breadcrumbs/fixtures.json +34 -13
  37. data/node_modules/govuk-frontend/govuk/components/breadcrumbs/macro-options.json +1 -0
  38. data/node_modules/govuk-frontend/govuk/components/button/fixtures.json +74 -31
  39. data/node_modules/govuk-frontend/govuk/components/character-count/fixtures.json +72 -15
  40. data/node_modules/govuk-frontend/govuk/components/character-count/macro-options.json +1 -1
  41. data/node_modules/govuk-frontend/govuk/components/checkboxes/fixtures.json +145 -52
  42. data/node_modules/govuk-frontend/govuk/components/checkboxes/macro-options.json +2 -2
  43. data/node_modules/govuk-frontend/govuk/components/date-input/fixtures.json +84 -34
  44. data/node_modules/govuk-frontend/govuk/components/date-input/macro-options.json +1 -1
  45. data/node_modules/govuk-frontend/govuk/components/date-input/template.njk +1 -1
  46. data/node_modules/govuk-frontend/govuk/components/details/fixtures.json +34 -14
  47. data/node_modules/govuk-frontend/govuk/components/error-message/fixtures.json +21 -10
  48. data/node_modules/govuk-frontend/govuk/components/error-message/macro-options.json +1 -0
  49. data/node_modules/govuk-frontend/govuk/components/error-summary/_index.scss +2 -12
  50. data/node_modules/govuk-frontend/govuk/components/error-summary/fixtures.json +86 -25
  51. data/node_modules/govuk-frontend/govuk/components/fieldset/fixtures.json +20 -10
  52. data/node_modules/govuk-frontend/govuk/components/file-upload/fixtures.json +60 -13
  53. data/node_modules/govuk-frontend/govuk/components/footer/fixtures.json +37 -18
  54. data/node_modules/govuk-frontend/govuk/components/footer/macro-options.json +8 -5
  55. data/node_modules/govuk-frontend/govuk/components/header/fixtures.json +36 -18
  56. data/node_modules/govuk-frontend/govuk/components/header/macro-options.json +2 -2
  57. data/node_modules/govuk-frontend/govuk/components/hint/fixtures.json +17 -8
  58. data/node_modules/govuk-frontend/govuk/components/input/fixtures.json +130 -40
  59. data/node_modules/govuk-frontend/govuk/components/input/macro-options.json +1 -1
  60. data/node_modules/govuk-frontend/govuk/components/inset-text/fixtures.json +17 -8
  61. data/node_modules/govuk-frontend/govuk/components/label/fixtures.json +20 -11
  62. data/node_modules/govuk-frontend/govuk/components/label/macro-options.json +1 -1
  63. data/node_modules/govuk-frontend/govuk/components/notification-banner/README.md +15 -0
  64. data/node_modules/govuk-frontend/govuk/components/notification-banner/_index.scss +89 -0
  65. data/node_modules/govuk-frontend/govuk/components/notification-banner/_notification-banner.scss +2 -0
  66. data/node_modules/govuk-frontend/govuk/components/notification-banner/fixtures.json +212 -0
  67. data/node_modules/govuk-frontend/govuk/components/notification-banner/macro-options.json +68 -0
  68. data/node_modules/govuk-frontend/govuk/components/notification-banner/macro.njk +3 -0
  69. data/node_modules/govuk-frontend/govuk/components/notification-banner/notification-banner.js +61 -0
  70. data/node_modules/govuk-frontend/govuk/components/notification-banner/template.njk +47 -0
  71. data/node_modules/govuk-frontend/govuk/components/panel/fixtures.json +30 -13
  72. data/node_modules/govuk-frontend/govuk/components/phase-banner/fixtures.json +20 -9
  73. data/node_modules/govuk-frontend/govuk/components/radios/fixtures.json +167 -50
  74. data/node_modules/govuk-frontend/govuk/components/select/fixtures.json +97 -18
  75. data/node_modules/govuk-frontend/govuk/components/select/macro-options.json +1 -1
  76. data/node_modules/govuk-frontend/govuk/components/skip-link/fixtures.json +21 -9
  77. data/node_modules/govuk-frontend/govuk/components/summary-list/fixtures.json +118 -25
  78. data/node_modules/govuk-frontend/govuk/components/table/fixtures.json +92 -22
  79. data/node_modules/govuk-frontend/govuk/components/tabs/fixtures.json +75 -18
  80. data/node_modules/govuk-frontend/govuk/components/tabs/macro-options.json +1 -1
  81. data/node_modules/govuk-frontend/govuk/components/tag/fixtures.json +28 -14
  82. data/node_modules/govuk-frontend/govuk/components/textarea/fixtures.json +68 -17
  83. data/node_modules/govuk-frontend/govuk/components/warning-text/fixtures.json +19 -14
  84. data/node_modules/govuk-frontend/govuk/helpers/_links.scss +94 -0
  85. data/node_modules/govuk-frontend/govuk/settings/_colours-applied.scss +9 -0
  86. data/node_modules/govuk-frontend/govuk/settings/_typography-font.scss +3 -0
  87. data/node_modules/govuk-frontend/package.json +1 -1
  88. metadata +15 -3
  89. data/app/assets/stylesheets/govuk_publishing_components/components/_transition-countdown.scss +0 -125
@@ -72,4 +72,9 @@
72
72
  list-style: none;
73
73
  }
74
74
  }
75
+
76
+ .mc-toggle-button,
77
+ .mc-chart-container {
78
+ display: none;
79
+ }
75
80
  }
@@ -1,4 +1,5 @@
1
1
  <%
2
+ # button_helper.css_classes generates "gem-c-button"
2
3
  shared_helper = GovukPublishingComponents::Presenters::SharedHelper.new(local_assigns)
3
4
  local_assigns[:classes] = shared_helper.classes
4
5
  button = GovukPublishingComponents::Presenters::ButtonHelper.new(local_assigns)
@@ -5,6 +5,7 @@
5
5
  search ||= false
6
6
  search_left ||= false
7
7
  navigation_items ||= []
8
+ navigation_aria_label ||= "Top level"
8
9
  remove_bottom_border ||= false
9
10
  search_left ||= false
10
11
  width_class = full_width ? "govuk-header__container--full-width" : "govuk-width-container"
@@ -28,7 +29,7 @@
28
29
  <%= render "govuk_publishing_components/components/layout_header/search" %>
29
30
  </div>
30
31
  <div class="govuk-header__content gem-c-header__content govuk-grid-column-full">
31
- <%= render "govuk_publishing_components/components/layout_header/navigation_items", navigation_items: navigation_items %>
32
+ <%= render "govuk_publishing_components/components/layout_header/navigation_items", navigation_items: navigation_items, navigation_aria_label: navigation_aria_label %>
32
33
  </div>
33
34
  </div>
34
35
  <% else %>
@@ -37,7 +38,7 @@
37
38
  <%= render "govuk_publishing_components/components/layout_header/header_logo", environment: environment, product_name: product_name %>
38
39
  </div>
39
40
  <div class="govuk-header__content gem-c-header__content">
40
- <%= render "govuk_publishing_components/components/layout_header/navigation_items", navigation_items: navigation_items %>
41
+ <%= render "govuk_publishing_components/components/layout_header/navigation_items", navigation_items: navigation_items, navigation_aria_label: navigation_aria_label %>
41
42
  </div>
42
43
  <% if search %>
43
44
  <div class="govuk-grid-column-one-third gem-c-layout-header__search">
@@ -9,7 +9,7 @@
9
9
  <% structured_data = GovukPublishingComponents::Presenters::SchemaOrg.new(page).structured_data %>
10
10
 
11
11
  <script type="application/ld+json">
12
- <%= raw JSON.pretty_generate(structured_data) %>
12
+ <%= raw(json_escape(JSON.pretty_generate(structured_data))) %>
13
13
  </script>
14
14
 
15
15
  <link rel="canonical" href="<%= page.canonical_url %>" />
@@ -24,8 +24,8 @@
24
24
  <%= "data-id=#{tracking_id}" if tracking_id %>
25
25
  data-show-text="<%= t("govuk_component.step_by_step_nav.show", default: "show") %>"
26
26
  data-hide-text="<%= t("govuk_component.step_by_step_nav.hide", default: "hide") %>"
27
- data-show-all-text="<%= t("govuk_component.step_by_step_nav.show_all", default: "Show all") %>"
28
- data-hide-all-text="<%= t("govuk_component.step_by_step_nav.hide_all", default: "Hide all") %>"
27
+ data-show-all-text="<%= t("govuk_component.step_by_step_nav.show_all", default: "Show all steps") %>"
28
+ data-hide-all-text="<%= t("govuk_component.step_by_step_nav.hide_all", default: "Hide all steps") %>"
29
29
  >
30
30
  <ol class="gem-c-step-nav__steps">
31
31
  <% steps.each_with_index do |step, step_index| %>
@@ -1,4 +1,7 @@
1
1
  <%
2
+ # DO NOT MAKE CHANGES TO THIS FILE
3
+ # It is a temporary copy of _subscription_links.html.erb and will be deleted shortly
4
+
2
5
  brand ||= false
3
6
  brand_helper = GovukPublishingComponents::AppHelpers::BrandHelper.new(brand)
4
7
 
@@ -0,0 +1,82 @@
1
+ <%
2
+ brand ||= false
3
+ brand_helper = GovukPublishingComponents::AppHelpers::BrandHelper.new(brand)
4
+
5
+ sl_helper = GovukPublishingComponents::Presenters::SubscriptionLinksHelper.new(local_assigns)
6
+ shared_helper = GovukPublishingComponents::Presenters::SharedHelper.new(local_assigns)
7
+
8
+ local_assigns[:margin_bottom] ||= 0
9
+ local_assigns[:margin_bottom] = 0 if local_assigns[:margin_bottom] > 9
10
+
11
+ css_classes = %w( gem-c-subscription-links )
12
+ css_classes << (shared_helper.get_margin_bottom) unless local_assigns[:margin_bottom] == 0
13
+ css_classes << brand_helper.brand_class
14
+ css_classes << "gem-c-subscription-links--with-feed-box" if sl_helper.feed_link_box_value
15
+
16
+ data = {"module": "gem-toggle"} if sl_helper.feed_link_box_value
17
+
18
+ hide_heading ||= false
19
+
20
+ email_signup_link_text_locale = local_assigns[:email_signup_link_text_locale].presence
21
+ feed_link_text_locale = local_assigns[:feed_link_text_locale].presence
22
+ %>
23
+ <% if sl_helper.component_data_is_valid? %>
24
+ <%= tag.section class: css_classes, data: data do %>
25
+ <% unless hide_heading %>
26
+ <h2 class="gem-c-subscription-links__hidden-header visuallyhidden"><%= t("govuk_component.subscription_links.subscriptions", default: "Subscriptions") %></h2>
27
+ <% end %>
28
+ <ul
29
+ class="gem-c-subscription-links__list<%= ' gem-c-subscription-links__list--small' if local_assigns[:small_form] == true %>"
30
+ <%= "data-module=track-click" if sl_helper.tracking_is_present? %>
31
+ >
32
+ <% if sl_helper.email_signup_link.present? %>
33
+ <li class="gem-c-subscription-links__list-item<%= ' gem-c-subscription-links__list-item--small' if local_assigns[:small_form] == true %>" >
34
+ <% email_link_text = capture do %>
35
+ <svg xmlns="http://www.w3.org/2000/svg" width="21" height="15.75" class="gem-c-subscription-links__icon" focusable="false" fill="currentColor" aria-hidden="true"><path d="M19.687 0H1.312C.589 0 0 .587 0 1.313v13.124c0 .726.588 1.313 1.313 1.313h18.374c.725 0 1.313-.587 1.313-1.313V1.313C21 .587 20.412 0 19.687 0zm-2.625 2.625L10.5 7.875l-6.563-5.25h13.126zm1.313 10.5H2.625V3.937L10.5 10.5l7.875-6.563v9.188z"/></svg>
36
+ <%= sl_helper.email_signup_link_text %>
37
+ <% end %>
38
+ <%= link_to email_link_text, sl_helper.email_signup_link, {
39
+ class: "gem-c-subscription-links__item #{brand_helper.color_class} gem-c-subscription-links__item--link",
40
+ data: sl_helper.email_signup_link_data_attributes,
41
+ lang: email_signup_link_text_locale
42
+ } %>
43
+ </li>
44
+ <% end %>
45
+
46
+ <% if sl_helper.feed_link_box_value || sl_helper.feed_link %>
47
+ <li class="gem-c-subscription-links__list-item<%= ' gem-c-subscription-links__list-item--small' if local_assigns[:small_form] == true %>">
48
+ <% feed_link_text = capture do %>
49
+ <svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" class="gem-c-subscription-links__icon" focusable="false" fill="currentColor" aria-hidden="true"><path d="M1.996 11A2 2 0 0 0 0 12.993c0 1.101.895 1.99 1.996 1.99 1.106 0 2-.889 2-1.99a2 2 0 0 0-2-1.993zM.002 5.097V7.97c1.872 0 3.632.733 4.958 2.059A6.984 6.984 0 0 1 7.015 15h2.888c0-5.461-4.443-9.903-9.9-9.903zM.006 0v2.876c6.676 0 12.11 5.44 12.11 12.124H15C15 6.731 8.273 0 .006 0z"/></svg>
50
+ <%= sl_helper.feed_link_text %>
51
+ <% end %>
52
+ <%= tag.button feed_link_text, {
53
+ class: "gem-c-subscription-links__item #{brand_helper.color_class} gem-c-subscription-links__item--button",
54
+ data: sl_helper.feed_link_data_attributes,
55
+ lang: feed_link_text_locale
56
+ } if sl_helper.feed_link_box_value %>
57
+ <%= link_to feed_link_text, sl_helper.feed_link,
58
+ {
59
+ class: "gem-c-subscription-links__item #{brand_helper.color_class} gem-c-subscription-links__item--link",
60
+ data: sl_helper.feed_link_data_attributes,
61
+ lang: feed_link_text_locale
62
+ } unless sl_helper.feed_link_box_value %>
63
+ </li>
64
+ <% end %>
65
+ </ul>
66
+
67
+ <% if sl_helper.feed_link_box_value %>
68
+ <div class="gem-c-subscription-links__feed-box js-hidden" id="<%= sl_helper.feed_box_id %>">
69
+ <h3 class="gem-c-subscription-links__feed-hidden-description visuallyhidden govuk-!-margin-top-0"><%= sl_helper.feed_link_text %></h3>
70
+ <div lang="en">
71
+ <%= render "govuk_publishing_components/components/input", {
72
+ label: {
73
+ text: "Copy and paste this URL into your feed reader"
74
+ },
75
+ name: "feed-reader-box",
76
+ value: feed_link_box_value
77
+ } %>
78
+ </div>
79
+ </div>
80
+ <% end %>
81
+ <% end %>
82
+ <% end %>
@@ -1,4 +1,7 @@
1
1
  <%
2
+ # DO NOT MAKE CHANGES TO THIS FILE
3
+ # It is a temporary copy of _translation_nav.html.erb and will be deleted shortly
4
+
2
5
  brand ||= false
3
6
  brand_helper = GovukPublishingComponents::AppHelpers::BrandHelper.new(brand)
4
7
  translation_helper = GovukPublishingComponents::Presenters::TranslationNavHelper.new(local_assigns)
@@ -0,0 +1,30 @@
1
+ <%
2
+ brand ||= false
3
+ brand_helper = GovukPublishingComponents::AppHelpers::BrandHelper.new(brand)
4
+ translation_helper = GovukPublishingComponents::Presenters::TranslationNavHelper.new(local_assigns)
5
+ %>
6
+ <% if translation_helper.has_translations? %>
7
+ <nav role="navigation"
8
+ class="gem-c-translation-nav <%= translation_helper.classes %> <%= brand_helper.brand_class %>"
9
+ aria-label="<%= t("common.translations") %>"
10
+ <%= "data-module=\"track-click\"" if translation_helper.tracking_is_present? %>
11
+ >
12
+ <ul class="gem-c-translation-nav__list">
13
+ <% translation_helper.translations.each.with_index do |translation, i| %>
14
+ <li class="gem-c-translation-nav__list-item">
15
+ <% if translation[:active] %>
16
+ <span lang="<%= translation[:locale] %>"><%= translation[:text] %></span>
17
+ <% else %>
18
+ <%= link_to translation[:text], translation[:base_path],
19
+ hreflang: translation[:locale],
20
+ lang: translation[:locale],
21
+ rel: "alternate",
22
+ class: "gem-c-translation-nav__link #{brand_helper.color_class}",
23
+ data: translation[:data_attributes]
24
+ %>
25
+ <% end %>
26
+ </li>
27
+ <% end %>
28
+ </ul>
29
+ </nav>
30
+ <% end %>
@@ -60,6 +60,27 @@ examples:
60
60
  - text: News and communications
61
61
  href: "item-6"
62
62
  active: true
63
+ with_custom_navigation_aria_label:
64
+ description: The navigation has `aria-label="Top level"` by default. This option is here for when the `aria-label` needs to be more descriptive than that.
65
+ data:
66
+ search_left: true
67
+ navigation_aria_label: "Departments and policy"
68
+ navigation_items:
69
+ - text: Departments
70
+ href: "item-1"
71
+ - text: Worldwide
72
+ href: "item-2"
73
+ - text: How government works
74
+ href: "item-3"
75
+ - text: Get involved
76
+ href: "item-4"
77
+ - text: Consultations
78
+ href: "item-4"
79
+ - text: Statistics
80
+ href: "item-5"
81
+ - text: News and communications
82
+ href: "item-6"
83
+ active: true
63
84
  full_width:
64
85
  description: |
65
86
  This is difficult to preview because the preview windows are constrained, but the header will stretch to the size of its container.
@@ -4,11 +4,43 @@ body: |
4
4
  This takes a content-store links hash like object which it can then turn into
5
5
  the correct analytics identifier metadata tags.
6
6
 
7
- The code which reads the meta tags can be found <a href="https://github.com/alphagov/static/blob/master/app/assets/javascripts/analytics/static-analytics.js#L76-L96">in static-analytics.js</a>.
7
+ These are additionally used by the <a href="https://github.com/alphagov/govuk-browser-extension">GOV.UK browser extension</a> to provide details about a given page.
8
+
9
+ The code which reads the meta tags can be found <a href="https://github.com/alphagov/govuk_publishing_components/blob/master/app/assets/javascripts/govuk_publishing_components/analytics/custom-dimensions.js">in custom-dimensions.js</a>.
8
10
  accessibility_criteria: |
9
11
  The analytics meta tags component should not be visible to any users.
10
12
  display_html: true
11
13
  examples:
14
+ with_core_tags:
15
+ data:
16
+ content_item:
17
+ document_type: "html_publication"
18
+ publishing_app: "whitehall"
19
+ schema_name: "html_publication"
20
+ content_id: "00000000-0000-0000-0000-00000000000"
21
+ navigation_page_type: "Taxon Page"
22
+ section: "business tax"
23
+ withdrawn_notice: true
24
+ with_content_history_tags:
25
+ description: |
26
+ The tags in this object will generate the `content-has-history` tag, set to true. This tag is triggered when either, within `content_item`:
27
+
28
+ 1. `public_updated_at` and `first_public_at` within `details` are both present and they aren't the same value
29
+ 2. `change_history` within `details` is present and it has a value of more than 1
30
+
31
+ See below example for specific details.
32
+ data:
33
+ content_item:
34
+ public_updated_at: "2021-01-15T12:30:45.000+00:00"
35
+ details:
36
+ first_public_at: "2020-11-03T09:15:00.000+00:00"
37
+ change_history: "5"
38
+ with_date_and_postcode_stripping_for_static_analytics:
39
+ data:
40
+ content_item:
41
+ local_assigns:
42
+ strip_dates_pii: true
43
+ strip_postcodes_pii: true
12
44
  with_organisations:
13
45
  data:
14
46
  content_item:
@@ -24,3 +56,69 @@ examples:
24
56
  links:
25
57
  world_locations:
26
58
  - analytics_identifier: WL3
59
+ with_political_tags:
60
+ data:
61
+ content_item:
62
+ details:
63
+ political: true
64
+ government:
65
+ current: true
66
+ slug: "2010-to-2015-conservative-and-liberal-democrat-coalition-government"
67
+ with_historic_political_tags:
68
+ data:
69
+ content_item:
70
+ details:
71
+ political: true
72
+ government:
73
+ current: false
74
+ slug: "2010-to-2015-conservative-and-liberal-democrat-coalition-government"
75
+ with_non-political_tags:
76
+ data:
77
+ content_item:
78
+ details:
79
+ political: false
80
+ government:
81
+ slug: "2010-to-2015-conservative-and-liberal-democrat-coalition-government"
82
+ with_taxonomy_added_via_document_type:
83
+ description: |
84
+ You can trigger taxonomy tag rendering by either including a `document_type` attributes of "taxon" or including the `parent_taxons` or `taxons` attributes under the `links` attribute.
85
+ data:
86
+ content_item:
87
+ content_id: "00000000-0000-0000-0000-000000000000"
88
+ document_type: "taxon"
89
+ base_path: "/example-of-taxons"
90
+ with_taxonomy_added_via_links:
91
+ data:
92
+ content_item:
93
+ links:
94
+ taxons:
95
+ - content_id: "11111111-1111-1111-1111-111111111111"
96
+ document_type: "taxon"
97
+ base_path: "/disabilities-benefits"
98
+ - content_id: "22222222-2222-2222-2222-222222222222"
99
+ document_type: "taxon"
100
+ base_path: "/childcare-parenting/childrens-social-care-providers"
101
+ links:
102
+ parent_taxons:
103
+ - content_id: "33333333-3333-3333-3333-333333333333"
104
+ document_type: "taxon"
105
+ base_path: "/childcare-parenting"
106
+ with_multiple_step_by_step_tags:
107
+ data:
108
+ content_item:
109
+ links:
110
+ part_of_step_navs:
111
+ - content_id: "00000000-0000-0000-0000-000000000000"
112
+ - content_id: "11111111-1111-1111-1111-111111111111"
113
+ with_primary_step_by_step_tag:
114
+ data:
115
+ content_item:
116
+ links:
117
+ part_of_step_navs:
118
+ - content_id: "00000000-0000-0000-0000-000000000000"
119
+ with_secondary_step_by_step_tag:
120
+ data:
121
+ content_item:
122
+ links:
123
+ secondary_to_step_navs:
124
+ - content_id: "22222222-2222-2222-2222-222222222222"
@@ -1,3 +1,6 @@
1
+ # DO NOT MAKE CHANGES TO THIS FILE
2
+ # It is a temporary copy of subscription_links.yml and will be deleted shortly
3
+
1
4
  name: Subscription links
2
5
  description: Links to ‘Get emails’ and ‘Subscribe to feed’
3
6
  body: |
@@ -0,0 +1,100 @@
1
+ name: Subscription links
2
+ description: Links to ‘Get emails’ and ‘Subscribe to feed’
3
+ body: |
4
+ <strong>NOTE: This component includes a h2 heading by default but can be suppressed by using `hide_heading` option (see below)<strong>
5
+ accessibility_criteria: |
6
+ Icons in subscription links must be presentational and ignored by screen readers.
7
+
8
+ Toggle elements in the component must:
9
+
10
+ - be usable with a keyboard
11
+ - be usable with touch
12
+ - be recognised by screen readers as a button
13
+ - announce to screen readers whether they are expanded or collapsed
14
+ - show hidden elements by default when Javascript is disabled
15
+ shared_accessibility_criteria:
16
+ - link
17
+ examples:
18
+ default:
19
+ data:
20
+ email_signup_link: '/foreign-travel-advice/singapore/email-signup'
21
+ feed_link: '/foreign-travel-advice/singapore.atom'
22
+ with_margin:
23
+ description: The component accepts a number for margin bottom from 0 to 9 (0px to 60px) using the [GOV.UK Frontend spacing scale](https://design-system.service.gov.uk/styles/spacing/#the-responsive-spacing-scale). It defaults to having no margin bottom, although some margin is supplied by the links themselves (so that when they stack on mobile there is space between them).
24
+ data:
25
+ email_signup_link: '/foreign-travel-advice/singapore/email-signup'
26
+ feed_link: '/foreign-travel-advice/singapore.atom'
27
+ margin_bottom: 9
28
+ with_only_email_signup_link:
29
+ data:
30
+ email_signup_link: '/foreign-travel-advice/singapore/email-signup'
31
+ with_only_feed_link:
32
+ data:
33
+ feed_link: '/foreign-travel-advice/singapore.atom'
34
+ with_custom_text:
35
+ data:
36
+ email_signup_link: '/foreign-travel-advice/singapore/email-signup'
37
+ email_signup_link_text: 'Get notifications'
38
+ feed_link: '/foreign-travel-advice/singapore.atom'
39
+ feed_link_text: 'View feed'
40
+ with_copyable_feed_link:
41
+ description: |
42
+ This option changes the feed link to a toggle control, which opens a hidden element containing an input prepopulated with the value passed to the component, usually a URL to an atom feed. This uses the [form input](/component-guide/input) component.
43
+
44
+ Note that this option overrides the feed_link option, so if both are passed feed_link is ignored. Note that a value for email_signup_link can also be passed as normal.
45
+ data:
46
+ email_signup_link: '/foreign-travel-advice/singapore/email-signup'
47
+ feed_link_box_value: 'https://www.gov.uk/government/organisations/attorney-generals-office.atom'
48
+ with_branding:
49
+ description: Organisation [colour branding](https://github.com/alphagov/govuk_publishing_components/blob/master/docs/component_branding.md) can be added to the component as shown.
50
+ data:
51
+ brand: 'attorney-generals-office'
52
+ email_signup_link: '/foreign-travel-advice/singapore/email-signup'
53
+ feed_link: '/foreign-travel-advice/singapore.atom'
54
+ with_tracking:
55
+ description: Data attributes can be passed for each link as shown.
56
+ data:
57
+ email_signup_link: '/foreign-travel-advice/singapore/email-signup'
58
+ email_signup_link_data_attributes: {
59
+ track_category: 'email_link_category',
60
+ track_action: 1.1,
61
+ track_label: 'email_link_label',
62
+ track_options: {
63
+ dimension28: 1,
64
+ dimension29: 'dimension29EmailLink'
65
+ }
66
+ }
67
+ feed_link_box_value: 'https://www.gov.uk/government/organisations/attorney-generals-office.atom'
68
+ feed_link_data_attributes: {
69
+ track_category: 'feed_link_category',
70
+ track_action: 1.2,
71
+ track_label: 'feed_link_label',
72
+ track_options: {
73
+ dimension28: 7,
74
+ dimension29: 'dimension29feedLink'
75
+ }
76
+ }
77
+ as_small_form:
78
+ data:
79
+ email_signup_link: '/foreign-travel-advice/singapore/email-signup'
80
+ feed_link: '/foreign-travel-advice/singapore.atom'
81
+ small_form: true
82
+ without_heading:
83
+ description: |
84
+ By default the component includes an h2 heading. The component could be used anywhere on the page and could mean that it produces invalid markup or make the site unaccessible.
85
+ data:
86
+ email_signup_link: '/foreign-travel-advice/singapore/email-signup'
87
+ feed_link: '/foreign-travel-advice/singapore.atom'
88
+ hide_heading: true
89
+ with_a_different_language:
90
+ data:
91
+ email_signup_link: '/foreign-travel-advice/singapore/email-signup'
92
+ email_signup_link_text: 'Recevez des notifications'
93
+ email_signup_link_text_locale: 'fr'
94
+ feed_link: '/foreign-travel-advice/singapore.atom'
95
+ feed_link_text: 'Flux RSS'
96
+ feed_link_text_locale: 'fr'
97
+ description: |
98
+ The component is used on translated pages that don't have a translation for the text strings. This means that it could display the fallback English string if the translate method can't find an appropriate translation. This makes sure that the `lang` can be set to ensure that browsers understand which parts of the page are in each language.
99
+
100
+ The `lang` attribute **must** be set to a [valid BCP47 string](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/lang#Language_tag_syntax). A valid code can be the two or three letter language code - for example, English is `en` or `eng`, Korean is `ko` or `kor` - but if in doubt please check.