govuk_publishing_components 35.15.5 → 35.16.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (108) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/config/govuk_publishing_components_manifest.js +1 -0
  3. data/app/assets/images/option-select/input-icon.svg +3 -0
  4. data/app/assets/javascripts/govuk_publishing_components/analytics-ga4/ga4-page-views.js +37 -15
  5. data/app/assets/javascripts/govuk_publishing_components/analytics-ga4/ga4-video-tracker.js +7 -1
  6. data/app/assets/javascripts/govuk_publishing_components/analytics-ga4/pii-remover.js +1 -1
  7. data/app/assets/javascripts/govuk_publishing_components/components/option-select.js +312 -0
  8. data/app/assets/stylesheets/component_guide/application.scss +6 -6
  9. data/app/assets/stylesheets/govuk_publishing_components/_all_components.scss +1 -0
  10. data/app/assets/stylesheets/govuk_publishing_components/components/_action-link.scss +15 -15
  11. data/app/assets/stylesheets/govuk_publishing_components/components/_big-number.scss +3 -2
  12. data/app/assets/stylesheets/govuk_publishing_components/components/_breadcrumbs.scss +3 -3
  13. data/app/assets/stylesheets/govuk_publishing_components/components/_button.scss +2 -2
  14. data/app/assets/stylesheets/govuk_publishing_components/components/_cards.scss +5 -5
  15. data/app/assets/stylesheets/govuk_publishing_components/components/_contents-list.scss +1 -1
  16. data/app/assets/stylesheets/govuk_publishing_components/components/_contextual-sidebar.scss +1 -1
  17. data/app/assets/stylesheets/govuk_publishing_components/components/_document-list.scss +2 -2
  18. data/app/assets/stylesheets/govuk_publishing_components/components/_image-card.scss +31 -5
  19. data/app/assets/stylesheets/govuk_publishing_components/components/_layout-super-navigation-header.scss +40 -35
  20. data/app/assets/stylesheets/govuk_publishing_components/components/_option-select.scss +172 -0
  21. data/app/assets/stylesheets/govuk_publishing_components/components/_step-by-step-nav.scss +23 -19
  22. data/app/assets/stylesheets/govuk_publishing_components/components/_table.scss +6 -6
  23. data/app/assets/stylesheets/govuk_publishing_components/components/_tabs.scss +2 -1
  24. data/app/assets/stylesheets/govuk_publishing_components/components/govspeak/_steps.scss +3 -1
  25. data/app/assets/stylesheets/govuk_publishing_components/components/govspeak/_typography.scss +4 -4
  26. data/app/assets/stylesheets/govuk_publishing_components/components/mixins/_media-down.scss +2 -2
  27. data/app/views/govuk_publishing_components/components/_attachment.html.erb +1 -1
  28. data/app/views/govuk_publishing_components/components/_contents_list.html.erb +20 -10
  29. data/app/views/govuk_publishing_components/components/_image_card.html.erb +8 -2
  30. data/app/views/govuk_publishing_components/components/_option_select.html.erb +71 -0
  31. data/app/views/govuk_publishing_components/components/_previous_and_next_navigation.html.erb +6 -6
  32. data/app/views/govuk_publishing_components/components/docs/contents_list.yml +1 -0
  33. data/app/views/govuk_publishing_components/components/docs/image_card.yml +13 -0
  34. data/app/views/govuk_publishing_components/components/docs/option_select.yml +343 -0
  35. data/config/locales/ar.yml +5 -0
  36. data/config/locales/az.yml +5 -0
  37. data/config/locales/be.yml +5 -0
  38. data/config/locales/bg.yml +5 -0
  39. data/config/locales/bn.yml +5 -0
  40. data/config/locales/cs.yml +5 -0
  41. data/config/locales/cy.yml +5 -0
  42. data/config/locales/da.yml +5 -0
  43. data/config/locales/de.yml +5 -0
  44. data/config/locales/dr.yml +5 -0
  45. data/config/locales/el.yml +5 -0
  46. data/config/locales/en.yml +6 -1
  47. data/config/locales/es-419.yml +5 -0
  48. data/config/locales/es.yml +5 -0
  49. data/config/locales/et.yml +5 -0
  50. data/config/locales/fa.yml +5 -0
  51. data/config/locales/fi.yml +5 -0
  52. data/config/locales/fr.yml +5 -0
  53. data/config/locales/gd.yml +5 -0
  54. data/config/locales/gu.yml +5 -0
  55. data/config/locales/he.yml +5 -0
  56. data/config/locales/hi.yml +5 -0
  57. data/config/locales/hr.yml +5 -0
  58. data/config/locales/hu.yml +5 -0
  59. data/config/locales/hy.yml +5 -0
  60. data/config/locales/id.yml +5 -0
  61. data/config/locales/is.yml +5 -0
  62. data/config/locales/it.yml +5 -0
  63. data/config/locales/ja.yml +5 -0
  64. data/config/locales/ka.yml +5 -0
  65. data/config/locales/kk.yml +5 -0
  66. data/config/locales/ko.yml +5 -0
  67. data/config/locales/lt.yml +5 -0
  68. data/config/locales/lv.yml +5 -0
  69. data/config/locales/ms.yml +5 -0
  70. data/config/locales/mt.yml +5 -0
  71. data/config/locales/nl.yml +5 -0
  72. data/config/locales/no.yml +5 -0
  73. data/config/locales/pa-pk.yml +5 -0
  74. data/config/locales/pa.yml +5 -0
  75. data/config/locales/pl.yml +5 -0
  76. data/config/locales/ps.yml +5 -0
  77. data/config/locales/pt.yml +5 -0
  78. data/config/locales/ro.yml +5 -0
  79. data/config/locales/ru.yml +5 -0
  80. data/config/locales/si.yml +5 -0
  81. data/config/locales/sk.yml +5 -0
  82. data/config/locales/sl.yml +5 -0
  83. data/config/locales/so.yml +5 -0
  84. data/config/locales/sq.yml +5 -0
  85. data/config/locales/sr.yml +5 -0
  86. data/config/locales/sv.yml +5 -0
  87. data/config/locales/sw.yml +5 -0
  88. data/config/locales/ta.yml +5 -0
  89. data/config/locales/th.yml +5 -0
  90. data/config/locales/tk.yml +5 -0
  91. data/config/locales/tr.yml +5 -0
  92. data/config/locales/uk.yml +5 -0
  93. data/config/locales/ur.yml +5 -0
  94. data/config/locales/uz.yml +5 -0
  95. data/config/locales/vi.yml +5 -0
  96. data/config/locales/zh-hk.yml +5 -0
  97. data/config/locales/zh-tw.yml +5 -0
  98. data/config/locales/zh.yml +5 -0
  99. data/lib/govuk_publishing_components/presenters/contents_list_helper.rb +8 -0
  100. data/lib/govuk_publishing_components/presenters/image_card_helper.rb +6 -2
  101. data/lib/govuk_publishing_components/presenters/meta_tags.rb +3 -0
  102. data/lib/govuk_publishing_components/version.rb +1 -1
  103. data/node_modules/axe-core/axe.js +6 -6
  104. data/node_modules/axe-core/axe.min.js +2 -2
  105. data/node_modules/axe-core/locales/_template.json +4 -4
  106. data/node_modules/axe-core/package.json +1 -1
  107. data/node_modules/axe-core/sri-history.json +4 -0
  108. metadata +7 -2
@@ -19,6 +19,7 @@ sv:
19
19
  page:
20
20
  one: 1 sida
21
21
  other: "%{count} sidor"
22
+ preview_aria_label:
22
23
  preview_link:
23
24
  reference: 'Ref: %{reference}'
24
25
  request_format_cta: Begär ett tillgängligt format.
@@ -137,6 +138,10 @@ sv:
137
138
  close_modal: Stäng den modala dialogen
138
139
  notice:
139
140
  banner_title:
141
+ option_select:
142
+ found_single:
143
+ found_multiple:
144
+ selected:
140
145
  organisation_schema:
141
146
  all_content_search_description: Hitta allt innehåll från %{organisation}
142
147
  previous_and_next_navigation:
@@ -19,6 +19,7 @@ sw:
19
19
  page:
20
20
  one: Ukurasa mmoja (1)
21
21
  other: Kurasa %{count}
22
+ preview_aria_label:
22
23
  preview_link:
23
24
  reference: 'Marejeleo: %{reference}'
24
25
  request_format_cta: Omba muundo unaoweza kutumika.
@@ -137,6 +138,10 @@ sw:
137
138
  close_modal: Funga dirisha ibukizi
138
139
  notice:
139
140
  banner_title:
141
+ option_select:
142
+ found_single:
143
+ found_multiple:
144
+ selected:
140
145
  organisation_schema:
141
146
  all_content_search_description: Tafuta maudhui yote kutoka %{organisation}
142
147
  previous_and_next_navigation:
@@ -19,6 +19,7 @@ ta:
19
19
  page:
20
20
  one: 1 பக்கம்
21
21
  other: "%{count} பக்கங்கள்"
22
+ preview_aria_label:
22
23
  preview_link:
23
24
  reference: 'பார்வை: %{reference}'
24
25
  request_format_cta: அணுகக்கூடிய வடிவத்தைக் கோருக.
@@ -138,6 +139,10 @@ ta:
138
139
  close_modal: மாதிரி உரையாடலை மூடு
139
140
  notice:
140
141
  banner_title:
142
+ option_select:
143
+ found_single:
144
+ found_multiple:
145
+ selected:
141
146
  organisation_schema:
142
147
  all_content_search_description: "%{organisation}-லிருந்து அனைத்து உள்ளடக்கத்தையும் கண்டறி"
143
148
  previous_and_next_navigation:
@@ -18,6 +18,7 @@ th:
18
18
  order_a_copy: สั่งซื้อสำเนา
19
19
  page:
20
20
  other: "%{count} หน้า"
21
+ preview_aria_label:
21
22
  preview_link:
22
23
  reference: 'อ้างอิง: %{reference}'
23
24
  request_format_cta: ขอรูปแบบไฟล์ที่สามารถเข้าถึงได้
@@ -135,6 +136,10 @@ th:
135
136
  close_modal: ปิดการสนทนาโมดอล
136
137
  notice:
137
138
  banner_title:
139
+ option_select:
140
+ found_single:
141
+ found_multiple:
142
+ selected:
138
143
  organisation_schema:
139
144
  all_content_search_description: ค้นหาเนื้อหาทั้งหมดจาก %{organisation}
140
145
  previous_and_next_navigation:
@@ -19,6 +19,7 @@ tk:
19
19
  page:
20
20
  one: 1 sahypa
21
21
  other: "%{count} sahypalar"
22
+ preview_aria_label:
22
23
  preview_link:
23
24
  reference: 'Salgylanma: %{reference}'
24
25
  request_format_cta: Elýeterli formaty talap etmek.
@@ -138,6 +139,10 @@ tk:
138
139
  close_modal: Modal gepleşikleri tamamlamak
139
140
  notice:
140
141
  banner_title:
142
+ option_select:
143
+ found_single:
144
+ found_multiple:
145
+ selected:
141
146
  organisation_schema:
142
147
  all_content_search_description: Ähli mazmunyny %{organisation}-dan tapyň
143
148
  previous_and_next_navigation:
@@ -19,6 +19,7 @@ tr:
19
19
  page:
20
20
  one: 1 sayfa
21
21
  other: "%{count} sayfa"
22
+ preview_aria_label:
22
23
  preview_link:
23
24
  reference: 'İlgi: %{reference}'
24
25
  request_format_cta: Erişilebilir bir format talep edin.
@@ -138,6 +139,10 @@ tr:
138
139
  close_modal: Model diyaloğu kapat
139
140
  notice:
140
141
  banner_title:
142
+ option_select:
143
+ found_single:
144
+ found_multiple:
145
+ selected:
141
146
  organisation_schema:
142
147
  all_content_search_description: "%{organisation} kaynaklı tüm içeriği bul"
143
148
  previous_and_next_navigation:
@@ -21,6 +21,7 @@ uk:
21
21
  many:
22
22
  one: 1 сторінка
23
23
  other: "%{count} сторінок"
24
+ preview_aria_label:
24
25
  preview_link:
25
26
  reference: 'Посилання: %{reference}'
26
27
  request_format_cta: Надішліть запит на доступний формат.
@@ -144,6 +145,10 @@ uk:
144
145
  close_modal: Закрити модальний діалог
145
146
  notice:
146
147
  banner_title:
148
+ option_select:
149
+ found_single:
150
+ found_multiple:
151
+ selected:
147
152
  organisation_schema:
148
153
  all_content_search_description: Знайти весь вміст від %{organization}
149
154
  previous_and_next_navigation:
@@ -19,6 +19,7 @@ ur:
19
19
  page:
20
20
  one: 1 صفحہ
21
21
  other: "%{count} صفحات"
22
+ preview_aria_label:
22
23
  preview_link:
23
24
  reference: 'حوالہ: %{reference}'
24
25
  request_format_cta: قابل رسائی فارمیٹ کی درخواست دیں۔
@@ -134,6 +135,10 @@ ur:
134
135
  close_modal: محدود موڈل ڈائیلاگ
135
136
  notice:
136
137
  banner_title:
138
+ option_select:
139
+ found_single:
140
+ found_multiple:
141
+ selected:
137
142
  organisation_schema:
138
143
  all_content_search_description: "%{organisation} کا تمام مواد تلاش کریں"
139
144
  previous_and_next_navigation:
@@ -19,6 +19,7 @@ uz:
19
19
  page:
20
20
  one: 1 саҳифа
21
21
  other: "%{count} саҳифа"
22
+ preview_aria_label:
22
23
  preview_link:
23
24
  reference: 'Ҳавола: %{reference}'
24
25
  request_format_cta: Мақбул форматни олишга сўров.
@@ -139,6 +140,10 @@ uz:
139
140
  close_modal: Модал мулоқотни ёпиш
140
141
  notice:
141
142
  banner_title:
143
+ option_select:
144
+ found_single:
145
+ found_multiple:
146
+ selected:
142
147
  organisation_schema:
143
148
  all_content_search_description: "%{organization} дан бутун контентни топиш"
144
149
  previous_and_next_navigation:
@@ -18,6 +18,7 @@ vi:
18
18
  order_a_copy: Đặt hàng một bản sao
19
19
  page:
20
20
  other: "%{count} trang"
21
+ preview_aria_label:
21
22
  preview_link:
22
23
  reference: 'Tham khảo: %{reference}'
23
24
  request_format_cta: Yêu cầu một định dạng có thể truy cập.
@@ -136,6 +137,10 @@ vi:
136
137
  close_modal: Đóng đối thoại phương thức
137
138
  notice:
138
139
  banner_title:
140
+ option_select:
141
+ found_single:
142
+ found_multiple:
143
+ selected:
139
144
  organisation_schema:
140
145
  all_content_search_description: Tìm tất cả nội dung từ %{organisation}
141
146
  previous_and_next_navigation:
@@ -18,6 +18,7 @@ zh-hk:
18
18
  order_a_copy: 索取副本
19
19
  page:
20
20
  other: "%{count} 頁"
21
+ preview_aria_label:
21
22
  preview_link:
22
23
  reference: 'Ref: %{reference}'
23
24
  request_format_cta: 索取可讀取之格式。
@@ -135,6 +136,10 @@ zh-hk:
135
136
  close_modal: 關閉互動視窗對話
136
137
  notice:
137
138
  banner_title:
139
+ option_select:
140
+ found_single:
141
+ found_multiple:
142
+ selected:
138
143
  organisation_schema:
139
144
  all_content_search_description: 從 %{organisation} 獲得更多內容
140
145
  previous_and_next_navigation:
@@ -18,6 +18,7 @@ zh-tw:
18
18
  order_a_copy: 預定副本
19
19
  page:
20
20
  other: "%{count} 頁面"
21
+ preview_aria_label:
21
22
  preview_link:
22
23
  reference: 參考:%{reference}
23
24
  request_format_cta: 請求可參閱格式。
@@ -135,6 +136,10 @@ zh-tw:
135
136
  close_modal: 關閉模態對話
136
137
  notice:
137
138
  banner_title:
139
+ option_select:
140
+ found_single:
141
+ found_multiple:
142
+ selected:
138
143
  organisation_schema:
139
144
  all_content_search_description: 從 %{organisation} 找到所有內容
140
145
  previous_and_next_navigation:
@@ -18,6 +18,7 @@ zh:
18
18
  order_a_copy: 订购副本
19
19
  page:
20
20
  other: "%{count} 页"
21
+ preview_aria_label:
21
22
  preview_link:
22
23
  reference: 参考号:%{reference}
23
24
  request_format_cta: 申请可访问格式。
@@ -135,6 +136,10 @@ zh:
135
136
  close_modal: 关闭模态对话
136
137
  notice:
137
138
  banner_title:
139
+ option_select:
140
+ found_single:
141
+ found_multiple:
142
+ selected:
138
143
  organisation_schema:
139
144
  all_content_search_description: 查找 %{organisation} 的全部内容
140
145
  previous_and_next_navigation:
@@ -40,6 +40,14 @@ module GovukPublishingComponents
40
40
  end
41
41
  end
42
42
 
43
+ def get_index_total
44
+ total = @contents.length
45
+ @contents.each do |parent|
46
+ total += parent[:items].length if parent[:items]
47
+ end
48
+ total
49
+ end
50
+
43
51
  private
44
52
 
45
53
  def parent_modifier
@@ -4,7 +4,7 @@ module GovukPublishingComponents
4
4
  include ActionView::Helpers
5
5
  include ActionView::Context
6
6
 
7
- attr_reader :href_data_attributes, :extra_details, :extra_details_no_indent, :heading_text, :metadata, :lang, :image_loading, :youtube_video_id, :image_src
7
+ attr_reader :href_data_attributes, :extra_details, :extra_details_no_indent, :heading_text, :metadata, :lang, :image_loading, :youtube_video_id, :image_src, :two_thirds
8
8
 
9
9
  def initialize(local_assigns, brand_helper)
10
10
  @href = local_assigns[:href]
@@ -20,6 +20,7 @@ module GovukPublishingComponents
20
20
  @context = local_assigns[:context]
21
21
  @description = local_assigns[:description]
22
22
  @large = local_assigns[:large]
23
+ @two_thirds = local_assigns[:two_thirds] || false
23
24
  @heading_text = local_assigns[:heading_text]
24
25
  @extra_details_no_indent = local_assigns[:extra_details_no_indent]
25
26
  @metadata = local_assigns[:metadata]
@@ -60,8 +61,11 @@ module GovukPublishingComponents
60
61
  end
61
62
 
62
63
  def image
64
+ classes = %w[gem-c-image-card__image-wrapper]
65
+ classes << "gem-c-image-card__image-wrapper--one-third" if @two_thirds
66
+
63
67
  if @image_src
64
- content_tag(:figure, class: "gem-c-image-card__image-wrapper") do
68
+ content_tag(:figure, class: classes) do
65
69
  image_tag(
66
70
  @image_src,
67
71
  class: "gem-c-image-card__image",
@@ -48,6 +48,9 @@ module GovukPublishingComponents
48
48
  primary_publisher = content_item.dig(:links, :primary_publishing_organisation)
49
49
  primary_publisher = primary_publisher.first[:title] unless primary_publisher.blank?
50
50
  meta_tags["govuk:primary-publishing-organisation"] = primary_publisher unless primary_publisher.blank?
51
+ ga4_browse_topic = content_item.dig(:links, :ordered_related_items, 0, :links, :mainstream_browse_pages, 0, :links, :parent, 0, :title)
52
+ ga4_browse_topic = ga4_browse_topic.downcase if ga4_browse_topic
53
+ meta_tags["govuk:ga4-browse-topic"] = ga4_browse_topic if ga4_browse_topic
51
54
 
52
55
  meta_tags
53
56
  end
@@ -1,3 +1,3 @@
1
1
  module GovukPublishingComponents
2
- VERSION = "35.15.5".freeze
2
+ VERSION = "35.16.1".freeze
3
3
  end
@@ -1,4 +1,4 @@
1
- /*! axe v4.8.0
1
+ /*! axe v4.8.1
2
2
  * Copyright (c) 2015 - 2023 Deque Systems, Inc.
3
3
  *
4
4
  * Your use of this Source Code Form is subject to the terms of the Mozilla Public
@@ -22,7 +22,7 @@
22
22
  }, _typeof(obj);
23
23
  }
24
24
  var axe = axe || {};
25
- axe.version = '4.8.0';
25
+ axe.version = '4.8.1';
26
26
  if (typeof define === 'function' && define.amd) {
27
27
  define('axe-core', [], function() {
28
28
  return axe;
@@ -28321,11 +28321,11 @@
28321
28321
  'target-offset': {
28322
28322
  impact: 'serious',
28323
28323
  messages: {
28324
- pass: 'Target has sufficient space from its closest neighbors (${data.closestOffset}px should be at least ${data.minOffset}px)',
28325
- fail: 'Target has insufficient space to its closest neighbors. Safe clickable space has a diameter of {$data.closestOffset}px instead of at least ${data.minOffset}px)',
28324
+ pass: 'Target has sufficient space from its closest neighbors. Safe clickable space has a diameter of ${data.closestOffset}px which is at least ${data.minOffset}px.',
28325
+ fail: 'Target has insufficient space to its closest neighbors. Safe clickable space has a diameter of ${data.closestOffset}px instead of at least ${data.minOffset}px.',
28326
28326
  incomplete: {
28327
- default: 'Element with negative tabindex has insufficient space to its closest neighbors. Safe clickable space has a diameter of {$data.closestOffset}px instead of at least ${data.minOffset}px). Is this a target?',
28328
- nonTabbableNeighbor: 'Target has insufficient space to its closest neighbors. Safe clickable space has a diameter of {$data.closestOffset}px instead of at least ${data.minOffset}px). Is the neighbor a target?'
28327
+ default: 'Element with negative tabindex has insufficient space to its closest neighbors. Safe clickable space has a diameter of ${data.closestOffset}px instead of at least ${data.minOffset}px. Is this a target?',
28328
+ nonTabbableNeighbor: 'Target has insufficient space to its closest neighbors. Safe clickable space has a diameter of ${data.closestOffset}px instead of at least ${data.minOffset}px. Is the neighbor a target?'
28329
28329
  }
28330
28330
  }
28331
28331
  },