govuk_publishing_components 24.13.1 → 24.14.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 (100) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/govuk_publishing_components/analytics/analytics.js +3 -1
  3. data/app/assets/javascripts/govuk_publishing_components/analytics/custom-dimensions.js +2 -0
  4. data/app/assets/javascripts/govuk_publishing_components/components/accordion.js +6 -5
  5. data/app/assets/javascripts/govuk_publishing_components/components/checkboxes.js +9 -7
  6. data/app/assets/javascripts/govuk_publishing_components/components/contextual-guidance.js +6 -7
  7. data/app/assets/javascripts/govuk_publishing_components/components/cookie-banner.js +7 -7
  8. data/app/assets/javascripts/govuk_publishing_components/components/copy-to-clipboard.js +13 -12
  9. data/app/assets/javascripts/govuk_publishing_components/components/details.js +12 -18
  10. data/app/assets/javascripts/govuk_publishing_components/components/feedback.js +213 -215
  11. data/app/assets/javascripts/govuk_publishing_components/components/govspeak.js +4 -4
  12. data/app/assets/javascripts/govuk_publishing_components/components/modal-dialogue.js +6 -4
  13. data/app/assets/javascripts/govuk_publishing_components/components/print-link.js +4 -3
  14. data/app/assets/javascripts/govuk_publishing_components/components/reorderable-list.js +13 -13
  15. data/app/assets/javascripts/govuk_publishing_components/components/show-password.js +5 -4
  16. data/app/assets/javascripts/govuk_publishing_components/components/step-by-step-nav.js +4 -4
  17. data/app/assets/javascripts/govuk_publishing_components/lib/govspeak/magna-charta.js +3 -3
  18. data/app/assets/javascripts/govuk_publishing_components/lib/header-navigation.js +6 -0
  19. data/app/assets/javascripts/govuk_publishing_components/lib/trigger-event.js +5 -3
  20. data/app/assets/javascripts/govuk_publishing_components/rum-loader.js.erb +36 -0
  21. data/app/assets/javascripts/govuk_publishing_components/vendor/lux/lux-polyfill.js +159 -0
  22. data/app/assets/javascripts/govuk_publishing_components/vendor/lux/lux.js +844 -0
  23. data/app/views/govuk_publishing_components/components/_contextual_sidebar.html.erb +1 -1
  24. data/app/views/govuk_publishing_components/components/_government_navigation.html.erb +50 -8
  25. data/app/views/govuk_publishing_components/components/_layout_for_public.html.erb +4 -0
  26. data/app/views/govuk_publishing_components/components/_layout_header.html.erb +11 -2
  27. data/app/views/govuk_publishing_components/components/_search.html.erb +5 -2
  28. data/app/views/govuk_publishing_components/components/contextual_sidebar/_brexit_cta.html.erb +9 -4
  29. data/app/views/govuk_publishing_components/components/layout_header/_header_logo.html.erb +3 -3
  30. data/config/initializers/assets.rb +3 -0
  31. data/config/locales/ar.yml +3 -0
  32. data/config/locales/az.yml +3 -0
  33. data/config/locales/be.yml +3 -0
  34. data/config/locales/bg.yml +3 -0
  35. data/config/locales/bn.yml +3 -0
  36. data/config/locales/cs.yml +3 -0
  37. data/config/locales/cy.yml +3 -0
  38. data/config/locales/da.yml +3 -0
  39. data/config/locales/de.yml +3 -0
  40. data/config/locales/dr.yml +3 -0
  41. data/config/locales/el.yml +3 -0
  42. data/config/locales/en.yml +3 -0
  43. data/config/locales/es-419.yml +3 -0
  44. data/config/locales/es.yml +3 -0
  45. data/config/locales/et.yml +3 -0
  46. data/config/locales/fa.yml +3 -0
  47. data/config/locales/fi.yml +3 -0
  48. data/config/locales/fr.yml +3 -0
  49. data/config/locales/gd.yml +3 -0
  50. data/config/locales/gu.yml +3 -0
  51. data/config/locales/he.yml +3 -0
  52. data/config/locales/hi.yml +3 -0
  53. data/config/locales/hr.yml +3 -0
  54. data/config/locales/hu.yml +3 -0
  55. data/config/locales/hy.yml +3 -0
  56. data/config/locales/id.yml +3 -0
  57. data/config/locales/is.yml +3 -0
  58. data/config/locales/it.yml +3 -0
  59. data/config/locales/ja.yml +3 -0
  60. data/config/locales/ka.yml +3 -0
  61. data/config/locales/kk.yml +3 -0
  62. data/config/locales/ko.yml +3 -0
  63. data/config/locales/lt.yml +3 -0
  64. data/config/locales/lv.yml +3 -0
  65. data/config/locales/ms.yml +3 -0
  66. data/config/locales/mt.yml +3 -0
  67. data/config/locales/nl.yml +3 -0
  68. data/config/locales/no.yml +3 -0
  69. data/config/locales/pa-pk.yml +3 -0
  70. data/config/locales/pa.yml +3 -0
  71. data/config/locales/pl.yml +3 -0
  72. data/config/locales/ps.yml +3 -0
  73. data/config/locales/pt.yml +3 -0
  74. data/config/locales/ro.yml +3 -0
  75. data/config/locales/ru.yml +3 -0
  76. data/config/locales/si.yml +3 -0
  77. data/config/locales/sk.yml +3 -0
  78. data/config/locales/sl.yml +3 -0
  79. data/config/locales/so.yml +3 -0
  80. data/config/locales/sq.yml +3 -0
  81. data/config/locales/sr.yml +3 -0
  82. data/config/locales/sv.yml +3 -0
  83. data/config/locales/sw.yml +3 -0
  84. data/config/locales/ta.yml +3 -0
  85. data/config/locales/th.yml +3 -0
  86. data/config/locales/tk.yml +3 -0
  87. data/config/locales/tr.yml +3 -0
  88. data/config/locales/uk.yml +3 -0
  89. data/config/locales/ur.yml +3 -0
  90. data/config/locales/uz.yml +3 -0
  91. data/config/locales/vi.yml +3 -0
  92. data/config/locales/zh-hk.yml +3 -0
  93. data/config/locales/zh-tw.yml +3 -0
  94. data/config/locales/zh.yml +3 -0
  95. data/lib/govuk_publishing_components.rb +1 -0
  96. data/lib/govuk_publishing_components/presenters/brexit_cta_helper.rb +33 -0
  97. data/lib/govuk_publishing_components/presenters/content_breadcrumbs_based_on_priority.rb +32 -3
  98. data/lib/govuk_publishing_components/presenters/contextual_navigation.rb +1 -0
  99. data/lib/govuk_publishing_components/version.rb +1 -1
  100. metadata +6 -2
@@ -116,6 +116,9 @@ uz:
116
116
  topical_events:
117
117
  topics:
118
118
  transition:
119
+ hub_page_link_path:
120
+ hub_page_link_text:
121
+ hub_page_title:
119
122
  link_path:
120
123
  link_text:
121
124
  title:
@@ -116,6 +116,9 @@ vi:
116
116
  topical_events:
117
117
  topics:
118
118
  transition:
119
+ hub_page_link_path:
120
+ hub_page_link_text:
121
+ hub_page_title:
119
122
  link_path:
120
123
  link_text:
121
124
  title:
@@ -116,6 +116,9 @@ zh-hk:
116
116
  topical_events:
117
117
  topics:
118
118
  transition:
119
+ hub_page_link_path:
120
+ hub_page_link_text:
121
+ hub_page_title:
119
122
  link_path:
120
123
  link_text:
121
124
  title:
@@ -116,6 +116,9 @@ zh-tw:
116
116
  topical_events:
117
117
  topics:
118
118
  transition:
119
+ hub_page_link_path:
120
+ hub_page_link_text:
121
+ hub_page_title:
119
122
  link_path:
120
123
  link_text:
121
124
  title:
@@ -116,6 +116,9 @@ zh:
116
116
  topical_events:
117
117
  topics:
118
118
  transition:
119
+ hub_page_link_path:
120
+ hub_page_link_text:
121
+ hub_page_title:
119
122
  link_path:
120
123
  link_text:
121
124
  title:
@@ -7,6 +7,7 @@ require "govuk_publishing_components/presenters/shared_helper"
7
7
  require "govuk_publishing_components/presenters/attachment"
8
8
  require "govuk_publishing_components/presenters/breadcrumbs"
9
9
  require "govuk_publishing_components/presenters/breadcrumb_selector"
10
+ require "govuk_publishing_components/presenters/brexit_cta_helper"
10
11
  require "govuk_publishing_components/presenters/button_helper"
11
12
  require "govuk_publishing_components/presenters/contextual_navigation"
12
13
  require "govuk_publishing_components/presenters/related_navigation_helper"
@@ -0,0 +1,33 @@
1
+ module GovukPublishingComponents
2
+ module Presenters
3
+ class BrexitCtaHelper
4
+ BREXIT_HUB_PAGE_IDS = %w[
5
+ 6555e0bf-c270-4cf9-a0c5-d20b95fab7f1
6
+ 91cd6143-69d5-4f27-99ff-a52fb0d51c78
7
+ ].freeze
8
+
9
+ def initialize(content_item)
10
+ @content_item = content_item
11
+ end
12
+
13
+ def title_key
14
+ use_brexit_hub_page_navigation? ? "components.related_navigation.transition.hub_page_title" : "components.related_navigation.transition.title"
15
+ end
16
+
17
+ def link_text_key
18
+ use_brexit_hub_page_navigation? ? "components.related_navigation.transition.hub_page_link_text" : "components.related_navigation.transition.link_text"
19
+ end
20
+
21
+ def link_path_key
22
+ use_brexit_hub_page_navigation? ? "components.related_navigation.transition.hub_page_link_path" : "components.related_navigation.transition.link_path"
23
+ end
24
+
25
+ private
26
+
27
+ def use_brexit_hub_page_navigation?
28
+ I18n.locale == :en &&
29
+ BREXIT_HUB_PAGE_IDS.include?(@content_item["content_id"])
30
+ end
31
+ end
32
+ end
33
+ end
@@ -8,7 +8,9 @@ module GovukPublishingComponents
8
8
  education_coronavirus: "272308f4-05c8-4d0d-abc7-b7c2e3ccd249",
9
9
  worker_coronavirus: "b7f57213-4b16-446d-8ded-81955d782680",
10
10
  business_coronavirus: "65666cdf-b177-4d79-9687-b9c32805e450",
11
- transition_period: "d6c2de5d-ef90-45d1-82d4-5f2438369eea",
11
+ brexit_business: "634fd193-8039-4a70-a059-919c34ff4bfc",
12
+ brexit_individuals: "614b2e65-56ac-4f8d-bb9c-d1a14167ba25",
13
+ brexit_taxon: "d6c2de5d-ef90-45d1-82d4-5f2438369eea",
12
14
  }.freeze
13
15
 
14
16
  # Returns the highest priority taxon that has a content_id matching those in PRIORITY_TAXONS
@@ -33,9 +35,9 @@ module GovukPublishingComponents
33
35
  def breadcrumbs
34
36
  taxon && {
35
37
  title: taxon["title"],
36
- path: taxon["base_path"],
38
+ path: breadcrumb_path,
37
39
  tracking_category: "breadcrumbClicked",
38
- tracking_action: "superBreadcrumb",
40
+ tracking_action: tracking_action,
39
41
  tracking_label: content_item["base_path"],
40
42
  tracking_dimension_enabled: false,
41
43
  }
@@ -46,6 +48,8 @@ module GovukPublishingComponents
46
48
  def preferred_taxon
47
49
  if preferred_priority_taxon
48
50
  priority_taxons.find { |t| t["content_id"] == preferred_priority_taxon }
51
+ elsif tagged_to_both_brexit_child_taxons?
52
+ priority_taxons.find { |t| t["content_id"] == PRIORITY_TAXONS[:brexit_taxon] }
49
53
  end
50
54
  end
51
55
 
@@ -68,9 +72,34 @@ module GovukPublishingComponents
68
72
  PRIORITY_TAXONS.values.include?(taxon["content_id"])
69
73
  end
70
74
 
75
+ def brexit_child_taxon?(taxon)
76
+ brexit_child_taxons.include?(taxon["content_id"])
77
+ end
78
+
79
+ def brexit_child_taxons
80
+ [PRIORITY_TAXONS[:brexit_business], PRIORITY_TAXONS[:brexit_individuals]]
81
+ end
82
+
71
83
  def preferred_priority_taxon
72
84
  query_parameters["priority-taxon"] if query_parameters
73
85
  end
86
+
87
+ def tracking_action
88
+ action = %w[superBreadcrumb]
89
+ action << "Brexitbusiness" if taxon["content_id"] == PRIORITY_TAXONS[:brexit_business]
90
+ action << "Brexitcitizen" if taxon["content_id"] == PRIORITY_TAXONS[:brexit_individuals]
91
+ action << "Brexitbusinessandcitizen" if taxon["content_id"] == PRIORITY_TAXONS[:brexit_taxon]
92
+ action.join(" ")
93
+ end
94
+
95
+ def tagged_to_both_brexit_child_taxons?
96
+ t = priority_taxons.select { |taxon| brexit_child_taxon?(taxon) }
97
+ t.uniq.count > 1
98
+ end
99
+
100
+ def breadcrumb_path
101
+ taxon.dig("details", "url_override").present? ? taxon.dig("details", "url_override") : taxon["base_path"]
102
+ end
74
103
  end
75
104
  end
76
105
  end
@@ -194,6 +194,7 @@ module GovukPublishingComponents
194
194
  maib_report
195
195
  raib_report
196
196
  simple_smart_answer
197
+ smart_answer
197
198
  transaction
198
199
  ]
199
200
  end
@@ -1,3 +1,3 @@
1
1
  module GovukPublishingComponents
2
- VERSION = "24.13.1".freeze
2
+ VERSION = "24.14.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.13.1
4
+ version: 24.14.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-06-03 00:00:00.000000000 Z
11
+ date: 2021-06-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: govuk_app_config
@@ -484,8 +484,11 @@ files:
484
484
  - app/assets/javascripts/govuk_publishing_components/lib/track-click.js
485
485
  - app/assets/javascripts/govuk_publishing_components/lib/trigger-event.js
486
486
  - app/assets/javascripts/govuk_publishing_components/modules.js
487
+ - app/assets/javascripts/govuk_publishing_components/rum-loader.js.erb
487
488
  - app/assets/javascripts/govuk_publishing_components/vendor/html5shiv-printshiv.js
488
489
  - app/assets/javascripts/govuk_publishing_components/vendor/json2.js
490
+ - app/assets/javascripts/govuk_publishing_components/vendor/lux/lux-polyfill.js
491
+ - app/assets/javascripts/govuk_publishing_components/vendor/lux/lux.js
489
492
  - app/assets/javascripts/govuk_publishing_components/vendor/modernizr.js
490
493
  - app/assets/javascripts/govuk_publishing_components/vendor/polyfills/closest.js
491
494
  - app/assets/javascripts/govuk_publishing_components/vendor/polyfills/common.js
@@ -883,6 +886,7 @@ files:
883
886
  - lib/govuk_publishing_components/presenters/attachment.rb
884
887
  - lib/govuk_publishing_components/presenters/breadcrumb_selector.rb
885
888
  - lib/govuk_publishing_components/presenters/breadcrumbs.rb
889
+ - lib/govuk_publishing_components/presenters/brexit_cta_helper.rb
886
890
  - lib/govuk_publishing_components/presenters/button_helper.rb
887
891
  - lib/govuk_publishing_components/presenters/checkboxes_helper.rb
888
892
  - lib/govuk_publishing_components/presenters/content_breadcrumbs_based_on_ancestors.rb