govuk_publishing_components 34.0.0 → 34.5.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.
- checksums.yaml +4 -4
- data/app/assets/images/govuk_publishing_components/icon-search.svg +3 -0
- data/app/assets/images/govuk_publishing_components/youtube-play-icon.png +0 -0
- data/app/assets/images/govuk_publishing_components/youtube-play-icon.svg +4 -0
- data/app/assets/javascripts/govuk_publishing_components/analytics/auto-scroll-tracker.js +2 -1
- data/app/assets/javascripts/govuk_publishing_components/analytics/linked-domains.js +135 -0
- data/app/assets/javascripts/govuk_publishing_components/analytics-ga4/ga4-core.js +1 -40
- data/app/assets/javascripts/govuk_publishing_components/analytics-ga4/ga4-event-tracker.js +2 -0
- data/app/assets/javascripts/govuk_publishing_components/analytics-ga4/ga4-page-views.js +4 -4
- data/app/assets/javascripts/govuk_publishing_components/analytics-ga4.js +0 -1
- data/app/assets/javascripts/govuk_publishing_components/components/cookie-banner.js +2 -2
- data/app/assets/javascripts/govuk_publishing_components/components/image-card.js +19 -0
- data/app/assets/javascripts/govuk_publishing_components/components/layout-super-navigation-header.js +12 -69
- data/app/assets/javascripts/govuk_publishing_components/components/step-by-step-nav.js +14 -13
- data/app/assets/javascripts/govuk_publishing_components/dependencies.js +3 -0
- data/app/assets/javascripts/govuk_publishing_components/lib/govspeak/youtube-link-enhancement.js +3 -2
- data/app/assets/javascripts/govuk_publishing_components/load-analytics.js +209 -0
- data/app/assets/javascripts/govuk_publishing_components/modules.js +7 -2
- data/app/assets/stylesheets/govuk_publishing_components/components/_feedback.scss +15 -19
- data/app/assets/stylesheets/govuk_publishing_components/components/_image-card.scss +82 -1
- data/app/assets/stylesheets/govuk_publishing_components/components/_input.scss +1 -1
- data/app/assets/stylesheets/govuk_publishing_components/components/_layout-super-navigation-header.scss +247 -412
- data/app/assets/stylesheets/govuk_publishing_components/components/_subscription-links.scss +0 -1
- data/app/assets/stylesheets/govuk_publishing_components/components/govspeak/_steps.scss +26 -9
- data/app/assets/stylesheets/govuk_publishing_components/components/helpers/_brand-colours.scss +2 -2
- data/app/controllers/govuk_publishing_components/application_controller.rb +0 -13
- data/app/controllers/govuk_publishing_components/audit_controller.rb +1 -1
- data/app/models/govuk_publishing_components/audit_comparer.rb +1 -1
- data/app/models/govuk_publishing_components/audit_components.rb +103 -82
- data/app/views/govuk_publishing_components/audit/_applications.html.erb +1 -1
- data/app/views/govuk_publishing_components/audit/_component_contents.html.erb +47 -39
- data/app/views/govuk_publishing_components/audit/_components.html.erb +1 -1
- data/app/views/govuk_publishing_components/components/_accordion.html.erb +2 -2
- data/app/views/govuk_publishing_components/components/_contextual_footer.html.erb +2 -0
- data/app/views/govuk_publishing_components/components/_contextual_sidebar.html.erb +7 -3
- data/app/views/govuk_publishing_components/components/_cookie_banner.html.erb +10 -6
- data/app/views/govuk_publishing_components/components/_error_message.html.erb +2 -1
- data/app/views/govuk_publishing_components/components/_google_tag_manager_script.html.erb +2 -2
- data/app/views/govuk_publishing_components/components/_hint.html.erb +2 -1
- data/app/views/govuk_publishing_components/components/_image_card.html.erb +12 -9
- data/app/views/govuk_publishing_components/components/_input.html.erb +8 -2
- data/app/views/govuk_publishing_components/components/_label.html.erb +5 -3
- data/app/views/govuk_publishing_components/components/_layout_for_admin.html.erb +2 -2
- data/app/views/govuk_publishing_components/components/_layout_for_public.html.erb +6 -2
- data/app/views/govuk_publishing_components/components/_layout_super_navigation_header.html.erb +125 -145
- data/app/views/govuk_publishing_components/components/_related_navigation.html.erb +12 -6
- data/app/views/govuk_publishing_components/components/_subscription_links.html.erb +1 -1
- data/app/views/govuk_publishing_components/components/_textarea.html.erb +10 -2
- data/app/views/govuk_publishing_components/components/docs/contextual_footer.yml +43 -0
- data/app/views/govuk_publishing_components/components/docs/contextual_sidebar.yml +58 -0
- data/app/views/govuk_publishing_components/components/docs/emergency_banner.yml +3 -1
- data/app/views/govuk_publishing_components/components/docs/error_message.yml +13 -0
- data/app/views/govuk_publishing_components/components/docs/hint.yml +6 -0
- data/app/views/govuk_publishing_components/components/docs/image_card.yml +24 -1
- data/app/views/govuk_publishing_components/components/docs/input.yml +32 -0
- data/app/views/govuk_publishing_components/components/docs/intervention.yml +2 -1
- data/app/views/govuk_publishing_components/components/docs/label.yml +17 -0
- data/app/views/govuk_publishing_components/components/docs/layout_header.yml +1 -0
- data/app/views/govuk_publishing_components/components/docs/previous_and_next_navigation.yml +2 -0
- data/app/views/govuk_publishing_components/components/docs/related_navigation.yml +27 -0
- data/app/views/govuk_publishing_components/components/docs/textarea.yml +31 -0
- data/app/views/govuk_publishing_components/components/docs/translation_nav.yml +2 -0
- data/app/views/govuk_publishing_components/components/feedback/_problem_form.html.erb +2 -2
- data/app/views/govuk_publishing_components/components/feedback/_yes_no_banner.html.erb +1 -2
- data/app/views/govuk_publishing_components/components/metadata/_sentence.html.erb +4 -2
- data/app/views/govuk_publishing_components/components/related_navigation/_section.html.erb +18 -8
- data/app/views/layouts/govuk_publishing_components/application.html.erb +2 -2
- data/config/locales/ar.yml +14 -7
- data/config/locales/az.yml +14 -7
- data/config/locales/be.yml +14 -7
- data/config/locales/bg.yml +14 -7
- data/config/locales/bn.yml +14 -7
- data/config/locales/cs.yml +14 -7
- data/config/locales/cy.yml +14 -7
- data/config/locales/da.yml +14 -7
- data/config/locales/de.yml +14 -7
- data/config/locales/dr.yml +14 -7
- data/config/locales/el.yml +14 -7
- data/config/locales/en.yml +18 -18
- data/config/locales/es-419.yml +14 -7
- data/config/locales/es.yml +14 -7
- data/config/locales/et.yml +14 -7
- data/config/locales/fa.yml +14 -7
- data/config/locales/fi.yml +14 -7
- data/config/locales/fr.yml +14 -7
- data/config/locales/gd.yml +14 -7
- data/config/locales/gu.yml +14 -7
- data/config/locales/he.yml +14 -7
- data/config/locales/hi.yml +14 -7
- data/config/locales/hr.yml +14 -7
- data/config/locales/hu.yml +14 -7
- data/config/locales/hy.yml +14 -7
- data/config/locales/id.yml +14 -7
- data/config/locales/is.yml +14 -7
- data/config/locales/it.yml +14 -7
- data/config/locales/ja.yml +14 -7
- data/config/locales/ka.yml +14 -7
- data/config/locales/kk.yml +14 -7
- data/config/locales/ko.yml +14 -7
- data/config/locales/lt.yml +14 -7
- data/config/locales/lv.yml +14 -7
- data/config/locales/ms.yml +14 -7
- data/config/locales/mt.yml +14 -7
- data/config/locales/nl.yml +14 -7
- data/config/locales/no.yml +14 -7
- data/config/locales/pa-pk.yml +14 -7
- data/config/locales/pa.yml +14 -7
- data/config/locales/pl.yml +14 -7
- data/config/locales/ps.yml +14 -7
- data/config/locales/pt.yml +14 -7
- data/config/locales/ro.yml +14 -7
- data/config/locales/ru.yml +14 -7
- data/config/locales/si.yml +14 -7
- data/config/locales/sk.yml +14 -7
- data/config/locales/sl.yml +14 -7
- data/config/locales/so.yml +14 -7
- data/config/locales/sq.yml +14 -7
- data/config/locales/sr.yml +14 -7
- data/config/locales/sv.yml +14 -7
- data/config/locales/sw.yml +14 -7
- data/config/locales/ta.yml +14 -7
- data/config/locales/th.yml +14 -7
- data/config/locales/tk.yml +14 -7
- data/config/locales/tr.yml +14 -7
- data/config/locales/uk.yml +14 -7
- data/config/locales/ur.yml +14 -7
- data/config/locales/uz.yml +14 -7
- data/config/locales/vi.yml +14 -7
- data/config/locales/zh-hk.yml +14 -7
- data/config/locales/zh-tw.yml +14 -7
- data/config/locales/zh.yml +14 -7
- data/lib/govuk_publishing_components/presenters/image_card_helper.rb +65 -2
- data/lib/govuk_publishing_components/presenters/page_with_step_by_step_navigation.rb +1 -1
- data/lib/govuk_publishing_components/presenters/related_navigation_helper.rb +4 -0
- data/lib/govuk_publishing_components/version.rb +1 -1
- data/node_modules/axe-core/README.md +1 -1
- data/node_modules/axe-core/axe.d.ts +76 -24
- data/node_modules/axe-core/axe.js +4903 -4648
- data/node_modules/axe-core/axe.min.js +3 -3
- data/node_modules/axe-core/package.json +28 -28
- data/node_modules/axe-core/sri-history.json +16 -0
- data/node_modules/govuk-frontend/govuk/helpers/_focused.scss +5 -0
- data/node_modules/govuk-frontend/package.json +1 -1
- metadata +9 -4
- data/app/assets/javascripts/govuk_publishing_components/analytics-ga4/init-ga4.js +0 -28
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: b707429deb149f910265dd604cb0f9eb30836f1e4a0c87a0dcf169ca5f28f244
|
|
4
|
+
data.tar.gz: 6687ea613dd5bfe99e7098506acc5965a3f025f5d0a4e75ce5203835d810c3a3
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: fc4ecc673dbc67b7721f56127962ffc48aa66a54d5ede115c8b1d773a45f0e59683708ebb075e70ec1cf618a95eaf0b379e5928ef28f98ea2194dcf41857cbe7
|
|
7
|
+
data.tar.gz: 60647d60da042e96eecf6ddec99c8717a5f4b9b1aebb110a3916a4b1f519d2e847bb5ef475bef048a7618b048e7efd9c7156a89ecc6ed115b1041a057c9ea43f
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36" width="40" height="40">
|
|
2
|
+
<path d="M25.7 24.8L21.9 21c.7-1 1.1-2.2 1.1-3.5 0-3.6-2.9-6.5-6.5-6.5S10 13.9 10 17.5s2.9 6.5 6.5 6.5c1.6 0 3-.6 4.1-1.5l3.7 3.7 1.4-1.4zM12 17.5c0-2.5 2-4.5 4.5-4.5s4.5 2 4.5 4.5-2 4.5-4.5 4.5-4.5-2-4.5-4.5z" fill="currentColor"/>
|
|
3
|
+
</svg>
|
|
Binary file
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
<svg width="79" height="55" viewBox="0 0 79 55" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path d="M39.7503 0H40.1861C44.2104 0.014681 64.6016 0.161492 70.0996 1.63938C71.7617 2.09042 73.2763 2.96959 74.492 4.18902C75.7076 5.40846 76.5818 6.92545 77.0272 8.5884C77.5217 10.448 77.8693 12.9095 78.1043 15.4493L78.1533 15.9583L78.261 17.2306L78.3001 17.7396C78.6184 22.2124 78.6575 26.4014 78.6624 27.3165V27.6835C78.6575 28.6329 78.6135 33.1057 78.261 37.7645L78.2218 38.2783L78.1777 38.7873C77.9329 41.5864 77.5706 44.366 77.0272 46.4116C76.5832 48.0752 75.7094 49.5929 74.4936 50.8126C73.2777 52.0322 71.7624 52.9109 70.0996 53.3606C64.4204 54.8874 42.8347 54.9951 39.8434 55H39.1481C37.6353 55 31.3785 54.9706 24.818 54.7455L23.9858 54.7162L23.5598 54.6966L22.7226 54.6623L21.8854 54.6281C16.4511 54.3883 11.2762 54.0017 8.8919 53.3557C7.22972 52.9065 5.71482 52.0285 4.49899 50.8097C3.28315 49.591 2.40907 48.0743 1.9643 46.4116C1.42086 44.3709 1.05857 41.5864 0.813776 38.7873L0.774609 38.2734L0.735443 37.7645C0.493822 34.4485 0.359932 31.1256 0.333984 27.801L0.333984 27.199C0.343776 26.1469 0.382943 22.5109 0.647318 18.4981L0.681589 17.994L0.696276 17.7396L0.735443 17.2306L0.843151 15.9583L0.892109 15.4493C1.12711 12.9095 1.47471 10.4431 1.96919 8.5884C2.41321 6.92478 3.28697 5.40707 4.50285 4.18743C5.71874 2.96779 7.23402 2.08907 8.8968 1.63938C11.2811 1.0032 16.456 0.611709 21.8903 0.367025L22.7226 0.33277L23.5647 0.303409L23.9858 0.288727L24.8229 0.254472C29.4823 0.104601 34.1437 0.0213994 38.8054 0.0048939H39.7503V0ZM31.6673 15.7087V39.2864L52.0193 27.5024L31.6673 15.7087Z" fill="#EA3323"/>
|
|
3
|
+
<path d="M31.668 15.7087V39.2865L52.0199 27.5025L31.668 15.7087Z" fill="white"/>
|
|
4
|
+
</svg>
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
window.GOVUK = window.GOVUK || {}
|
|
2
|
-
window.GOVUK.Modules = window.GOVUK.Modules || {}
|
|
2
|
+
window.GOVUK.Modules = window.GOVUK.Modules || {}
|
|
3
|
+
window.GOVUK.analyticsVars = window.GOVUK.analyticsVars || {};
|
|
3
4
|
|
|
4
5
|
(function (Modules) {
|
|
5
6
|
function AutoScrollTracker ($module) {
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
// For Universal Analytics' cross domain tracking.
|
|
2
|
+
window.GOVUK.analytics = window.GOVUK.analytics || {}
|
|
3
|
+
window.GOVUK.analytics.linkedDomains = [
|
|
4
|
+
'access.service.gov.uk',
|
|
5
|
+
'access.tax.service.gov.uk',
|
|
6
|
+
'account.companieshouse.gov.uk',
|
|
7
|
+
'accounts.manage-apprenticeships.service.gov.uk',
|
|
8
|
+
'account.publishing.service.gov.uk',
|
|
9
|
+
'add-driving-licence-check-code.service.gov.uk',
|
|
10
|
+
'analyse-school-performance.service.gov.uk',
|
|
11
|
+
'appeal-tax-tribunal.service.gov.uk',
|
|
12
|
+
'apply-basic-criminal-record-check.service.gov.uk',
|
|
13
|
+
'apply-blue-badge.service.gov.uk',
|
|
14
|
+
'apply-company-tachograph-card.service.gov.uk',
|
|
15
|
+
'apply-for-bankruptcy.service.gov.uk',
|
|
16
|
+
'apply-for-debt-relief-order.service.gov.uk',
|
|
17
|
+
'apply-for-environmental-permit.service.gov.uk',
|
|
18
|
+
'apply-for-eu-settled-status.homeoffice.gov.uk',
|
|
19
|
+
'apply-for-innovation-funding.service.gov.uk',
|
|
20
|
+
'apply-for-refugee-integration-loan.service.gov.uk',
|
|
21
|
+
'apply-licence.ozone-depleting-substances.service.gov.uk',
|
|
22
|
+
'apply-quota.fluorinated-gas.service.gov.uk',
|
|
23
|
+
'apply-quota.ozone-depleting-substances.service.gov.uk',
|
|
24
|
+
'apprenticeships.gov.uk',
|
|
25
|
+
'beta.companieshouse.gov.uk',
|
|
26
|
+
'biometric-residence-permit.service.gov.uk',
|
|
27
|
+
'businessreadinessfund.beis.gov.uk',
|
|
28
|
+
'catchreturn.service.gov.uk',
|
|
29
|
+
'checklegalaid.service.gov.uk',
|
|
30
|
+
'check-mot.service.gov.uk',
|
|
31
|
+
'check-payment-practices.service.gov.uk',
|
|
32
|
+
'check-vehicle-recalls.service.gov.uk',
|
|
33
|
+
'civil-service-careers.gov.uk',
|
|
34
|
+
'civilservicejobs.service.gov.uk',
|
|
35
|
+
'claim.redundancy-payments.service.gov.uk',
|
|
36
|
+
'claim-power-of-attorney-refund.service.gov.uk',
|
|
37
|
+
'compare-school-performance.service.gov.uk',
|
|
38
|
+
'complete-deputy-report.service.gov.uk',
|
|
39
|
+
'contractsfinder.service.gov.uk',
|
|
40
|
+
'coronavirus.data.gov.uk',
|
|
41
|
+
'coronavirus-business-volunteers.service.gov.uk',
|
|
42
|
+
'coronavirus-shielding-support.service.gov.uk',
|
|
43
|
+
'coronavirus-vulnerable-people.service.gov.uk',
|
|
44
|
+
'courttribunalfinder.service.gov.uk',
|
|
45
|
+
'create-energy-label.service.gov.uk',
|
|
46
|
+
'create-qr-code-poster.service.gov.uk',
|
|
47
|
+
'cymraeg.registertovote.service.gov.uk',
|
|
48
|
+
'dartford-crossing-charge.service.gov.uk',
|
|
49
|
+
'design-system.service.gov.uk',
|
|
50
|
+
'devtracker.dfid.gov.uk',
|
|
51
|
+
'digitalmarketplace.service.gov.uk',
|
|
52
|
+
'eforms.homeoffice.gov.uk',
|
|
53
|
+
'electronic-visa-waiver.service.gov.uk',
|
|
54
|
+
'employmenttribunals.service.gov.uk',
|
|
55
|
+
'eu-settled-status-enquiries.service.gov.uk',
|
|
56
|
+
'faster-uk-entry.service.gov.uk',
|
|
57
|
+
'finance.manage-apprenticeships.service.gov.uk',
|
|
58
|
+
'find-and-update.company-information.service.gov.uk',
|
|
59
|
+
'findapprenticeship.service.gov.uk',
|
|
60
|
+
'find-coronavirus-support.service.gov.uk',
|
|
61
|
+
'find-employer-schemes.education.gov.uk',
|
|
62
|
+
'flood-map-for-planning.service.gov.uk',
|
|
63
|
+
'flood-warning-information.service.gov.uk',
|
|
64
|
+
'follow.company-information.service.gov.uk',
|
|
65
|
+
'gender-pay-gap.service.gov.uk',
|
|
66
|
+
'get-fishing-licence.service.gov.uk',
|
|
67
|
+
'get-information-schools.service.gov.uk',
|
|
68
|
+
'gro.gov.uk',
|
|
69
|
+
'helpforhouseholds.campaign.gov.uk',
|
|
70
|
+
'helpwithcourtfees.service.gov.uk',
|
|
71
|
+
'help-with-prison-visits.service.gov.uk',
|
|
72
|
+
'identity.company-information.service.gov.uk',
|
|
73
|
+
'identity-sandbox.company-information.service.gov.uk',
|
|
74
|
+
'import-products-animals-food-feed.service.gov.uk',
|
|
75
|
+
'lastingpowerofattorney.service.gov.uk',
|
|
76
|
+
'live.email-dvla.service.gov.uk',
|
|
77
|
+
'live.dvla-web-chat.service.gov.uk',
|
|
78
|
+
'loststolenpassport.service.gov.uk',
|
|
79
|
+
'makeaplea.service.gov.uk',
|
|
80
|
+
'managefleetvehicles.service.gov.uk',
|
|
81
|
+
'manage-apprenticeships.service.gov.uk',
|
|
82
|
+
'manage-fish-exports.service.gov.uk',
|
|
83
|
+
'manage-quota.fluorinated-gas.service.gov.uk',
|
|
84
|
+
'manage-water-abstraction-impoundment-licence.service.gov.uk',
|
|
85
|
+
'match.redundancy-payments.service.gov.uk',
|
|
86
|
+
'mot-testing.service.gov.uk',
|
|
87
|
+
'nominate-uk-honour.service.gov.uk',
|
|
88
|
+
'notice.redundancy-payments.service.gov.uk',
|
|
89
|
+
'passport.service.gov.uk',
|
|
90
|
+
'paydvlafine.service.gov.uk',
|
|
91
|
+
'payments.service.gov.uk',
|
|
92
|
+
'publish-payment-practices.service.gov.uk',
|
|
93
|
+
'queens-awards-enterprise.service.gov.uk',
|
|
94
|
+
'recruit.manage-apprenticeships.service.gov.uk',
|
|
95
|
+
'register.fluorinated-gas.service.gov.uk',
|
|
96
|
+
'register-trailer.service.gov.uk',
|
|
97
|
+
'register.ozone-depleting-substances.service.gov.uk',
|
|
98
|
+
'registertovote.service.gov.uk',
|
|
99
|
+
'register-vehicle.service.gov.uk',
|
|
100
|
+
'registers.service.gov.uk',
|
|
101
|
+
'reminders.mot-testing.service.gov.uk',
|
|
102
|
+
'renewable-heat-calculator.service.gov.uk',
|
|
103
|
+
'reply-jury-summons.service.gov.uk',
|
|
104
|
+
'report-director-conduct.service.gov.uk',
|
|
105
|
+
'report.fluorinated-gas.service.gov.uk',
|
|
106
|
+
'report.ozone-depleting-substances.service.gov.uk',
|
|
107
|
+
'right-to-rent.homeoffice.gov.uk',
|
|
108
|
+
'right-to-work.service.gov.uk',
|
|
109
|
+
'ruralpayments.service.gov.uk',
|
|
110
|
+
'schools-financial-benchmarking.service.gov.uk',
|
|
111
|
+
'secured.studentfinanceni.co.uk',
|
|
112
|
+
'secured.studentfinancewales.co.uk',
|
|
113
|
+
'selfservice.payments.service.gov.uk',
|
|
114
|
+
'send-money-to-prisoner.service.gov.uk',
|
|
115
|
+
'signin.service.gov.uk',
|
|
116
|
+
'sorn.service.gov.uk',
|
|
117
|
+
'staff.helpwithcourtfees.service.gov.uk',
|
|
118
|
+
'student-finance.service.gov.uk',
|
|
119
|
+
'tax.service.gov.uk',
|
|
120
|
+
'teacherservices.education.gov.uk',
|
|
121
|
+
'teaching-vacancies.service.gov.uk',
|
|
122
|
+
'to-visit-or-stay-in-the-uk.homeoffice.gov.uk',
|
|
123
|
+
'trade-tariff.service.gov.uk',
|
|
124
|
+
'tribunal-response.employmenttribunals.service.gov.uk',
|
|
125
|
+
'ukri.org',
|
|
126
|
+
'update-student-loan-employment-details.service.gov.uk',
|
|
127
|
+
'vehicle-operator-licensing.service.gov.uk',
|
|
128
|
+
'vehicleenquiry.service.gov.uk',
|
|
129
|
+
'viewdrivingrecord.service.gov.uk',
|
|
130
|
+
'view-and-prove-your-rights.homeoffice.gov.uk',
|
|
131
|
+
'view-immigration-status.service.gov.uk',
|
|
132
|
+
'visa-address-update.service.gov.uk',
|
|
133
|
+
'visas-immigration.service.gov.uk',
|
|
134
|
+
'your-defra-account.defra.gov.uk'
|
|
135
|
+
]
|
|
@@ -6,50 +6,11 @@ window.GOVUK.analyticsGa4 = window.GOVUK.analyticsGa4 || {};
|
|
|
6
6
|
'use strict'
|
|
7
7
|
|
|
8
8
|
var core = {
|
|
9
|
-
load: function () {
|
|
10
|
-
var firstScript = document.getElementsByTagName('script')[0]
|
|
11
|
-
var newScript = document.createElement('script')
|
|
12
|
-
newScript.async = true
|
|
13
|
-
|
|
14
|
-
if (window.GOVUK.analyticsGa4.vars.gtag_id) {
|
|
15
|
-
// initialise gtag
|
|
16
|
-
window.dataLayer = window.dataLayer || []
|
|
17
|
-
var gtag = function () { window.dataLayer.push(arguments) }
|
|
18
|
-
gtag('js', new Date())
|
|
19
|
-
gtag('config', window.GOVUK.analyticsGa4.vars.gtag_id)
|
|
20
|
-
|
|
21
|
-
newScript.src = '//www.googletagmanager.com/gtag/js?id=' + window.GOVUK.analyticsGa4.vars.gtag_id
|
|
22
|
-
firstScript.parentNode.insertBefore(newScript, firstScript)
|
|
23
|
-
} else {
|
|
24
|
-
// initialise GTM
|
|
25
|
-
window.dataLayer = window.dataLayer || []
|
|
26
|
-
window.dataLayer.push({ 'gtm.blocklist': ['customPixels', 'customScripts', 'html', 'nonGoogleScripts'] })
|
|
27
|
-
window.dataLayer.push({ 'gtm.start': new Date().getTime(), event: 'gtm.js' })
|
|
28
|
-
|
|
29
|
-
var auth = window.GOVUK.analyticsGa4.vars.auth || ''
|
|
30
|
-
var preview = window.GOVUK.analyticsGa4.vars.preview || ''
|
|
31
|
-
if (auth) {
|
|
32
|
-
auth = '>m_auth=' + auth
|
|
33
|
-
}
|
|
34
|
-
if (preview) {
|
|
35
|
-
preview = '>m_preview=' + preview + '>m_cookies_win=x'
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
this.googleSrc = 'https://www.googletagmanager.com/gtm.js?id=' + window.GOVUK.analyticsGa4.vars.id + auth + preview
|
|
39
|
-
newScript.src = this.googleSrc
|
|
40
|
-
firstScript.parentNode.insertBefore(newScript, firstScript)
|
|
41
|
-
}
|
|
42
|
-
},
|
|
43
|
-
|
|
44
9
|
sendData: function (data) {
|
|
45
|
-
data.govuk_gem_version =
|
|
10
|
+
data.govuk_gem_version = window.GOVUK.analyticsGa4.vars.gem_version
|
|
46
11
|
window.dataLayer.push(data)
|
|
47
12
|
},
|
|
48
13
|
|
|
49
|
-
getGemVersion: function () {
|
|
50
|
-
return window.GOVUK.analyticsGa4.vars.gem_version || 'not found'
|
|
51
|
-
},
|
|
52
|
-
|
|
53
14
|
trackFunctions: {
|
|
54
15
|
findTrackingAttributes: function (clicked, trackingTrigger) {
|
|
55
16
|
if (clicked.hasAttribute('[' + trackingTrigger + ']')) {
|
|
@@ -42,6 +42,8 @@ window.GOVUK.Modules = window.GOVUK.Modules || {};
|
|
|
42
42
|
return
|
|
43
43
|
}
|
|
44
44
|
|
|
45
|
+
var text = data.text || event.target.textContent
|
|
46
|
+
data.text = window.GOVUK.analyticsGa4.core.trackFunctions.removeLinesAndExtraSpaces(text)
|
|
45
47
|
schema.event = 'event_data'
|
|
46
48
|
// get attributes from the data attribute to send to GA
|
|
47
49
|
// only allow it if it already exists in the schema
|
|
@@ -28,11 +28,11 @@ window.GOVUK.analyticsGa4.analyticsModules = window.GOVUK.analyticsGa4.analytics
|
|
|
28
28
|
content_id: this.getMetaContent('content-id'),
|
|
29
29
|
|
|
30
30
|
browse_topic: this.getMetaContent('section'),
|
|
31
|
-
taxon_slug: this.getMetaContent('taxon-slug'),
|
|
32
|
-
taxon_id: this.getMetaContent('taxon-id'),
|
|
33
31
|
taxonomy_level1: this.getMetaContent('themes'),
|
|
34
|
-
|
|
35
|
-
|
|
32
|
+
taxonomy_main: this.getMetaContent('taxon-slug'),
|
|
33
|
+
taxonomy_main_id: this.getMetaContent('taxon-id'),
|
|
34
|
+
taxonomy_all: this.getMetaContent('taxon-slugs'),
|
|
35
|
+
taxonomy_all_ids: this.getMetaContent('taxon-ids'),
|
|
36
36
|
|
|
37
37
|
language: this.getLanguage(),
|
|
38
38
|
history: this.getHistory(),
|
|
@@ -76,7 +76,7 @@ window.GOVUK.Modules = window.GOVUK.Modules || {};
|
|
|
76
76
|
|
|
77
77
|
CookieBanner.prototype.setCookieConsent = function () {
|
|
78
78
|
if (this.$acceptCookiesButton.getAttribute('data-cookie-types') === 'all') {
|
|
79
|
-
this.$module.
|
|
79
|
+
this.$module.querySelector('.gem-c-cookie-banner__confirmation-message__accepted').hidden = false
|
|
80
80
|
}
|
|
81
81
|
window.GOVUK.approveAllCookieTypes()
|
|
82
82
|
this.$module.showConfirmationMessage()
|
|
@@ -92,7 +92,7 @@ window.GOVUK.Modules = window.GOVUK.Modules || {};
|
|
|
92
92
|
}
|
|
93
93
|
|
|
94
94
|
CookieBanner.prototype.rejectCookieConsent = function () {
|
|
95
|
-
this.$module.
|
|
95
|
+
this.$module.querySelector('.gem-c-cookie-banner__confirmation-message__rejected').hidden = false
|
|
96
96
|
this.$module.showConfirmationMessage()
|
|
97
97
|
this.$module.cookieBannerConfirmationMessage.focus()
|
|
98
98
|
window.GOVUK.cookie('cookies_preferences_set', 'true', { days: 365 })
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
window.GOVUK = window.GOVUK || {}
|
|
2
|
+
window.GOVUK.Modules = window.GOVUK.Modules || {};
|
|
3
|
+
|
|
4
|
+
(function (Modules) {
|
|
5
|
+
function ImageCard ($module) {
|
|
6
|
+
this.$module = $module
|
|
7
|
+
this.$module.youtubeLink = this.$module.querySelector('.gem-c-image-card__image-wrapper div')
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
ImageCard.prototype.init = function () {
|
|
11
|
+
var ytLink = new window.GOVUK.GovspeakYoutubeLinkEnhancement(
|
|
12
|
+
this.$module.youtubeLink,
|
|
13
|
+
'gem-c-govspeak__youtube-video gem-c-image-card__youtube-video-embed'
|
|
14
|
+
)
|
|
15
|
+
ytLink.init()
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
Modules.ImageCard = ImageCard
|
|
19
|
+
})(window.GOVUK.Modules)
|
data/app/assets/javascripts/govuk_publishing_components/components/layout-super-navigation-header.js
CHANGED
|
@@ -92,32 +92,8 @@ window.GOVUK.Modules = window.GOVUK.Modules || {};
|
|
|
92
92
|
return closestPrevious(previousElement, elementType)
|
|
93
93
|
}
|
|
94
94
|
|
|
95
|
-
// When moving from one screen size to another (eg mobile to desktop) we need
|
|
96
|
-
// to find out whether a submenu is open so the parent menu can be kept open.
|
|
97
|
-
var hasSubMenusOpen = function ($menu) {
|
|
98
|
-
return $menu.querySelectorAll('button[aria-expanded="true"]').length > 0
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
// Detect the current viewport width. Return the string `desktop` or `mobile` so it can be interpolated to access the
|
|
102
|
-
// `data-toggle-{desktop|mobile}-group` attribute.
|
|
103
|
-
//
|
|
104
|
-
// Use `matchedia` which mitigates issues in modern browsers when scrollbars are forced in MacOS (using `document.documentElement.clientWidth`
|
|
105
|
-
// for viewport width detection has issues in Chrome and Firefox, and `window.innerWidth` has issues in Safari).
|
|
106
|
-
//
|
|
107
|
-
// Fall back to `document.documentElement.clientWidth` for legacy browsers.
|
|
108
|
-
var windowSize = function () {
|
|
109
|
-
var viewport = false
|
|
110
|
-
if (typeof window.matchMedia === 'function') {
|
|
111
|
-
viewport = window.matchMedia('(min-width:' + SETTINGS.breakpoint.desktop + 'px)').matches
|
|
112
|
-
} else {
|
|
113
|
-
viewport = document.documentElement.clientWidth >= SETTINGS.breakpoint.desktop
|
|
114
|
-
}
|
|
115
|
-
return viewport ? 'desktop' : 'mobile'
|
|
116
|
-
}
|
|
117
95
|
function SuperNavigationMegaMenu ($module) {
|
|
118
96
|
this.$module = $module
|
|
119
|
-
this.$navigationToggle = this.$module.querySelector('#super-navigation-menu-toggle')
|
|
120
|
-
this.$navigationMenu = this.$module.querySelector('#super-navigation-menu')
|
|
121
97
|
this.$searchToggle = this.$module.querySelector('#super-search-menu-toggle')
|
|
122
98
|
this.$searchMenu = this.$module.querySelector('#super-search-menu')
|
|
123
99
|
|
|
@@ -132,55 +108,25 @@ window.GOVUK.Modules = window.GOVUK.Modules || {};
|
|
|
132
108
|
)
|
|
133
109
|
|
|
134
110
|
this.hiddenButtons = this.$module.querySelectorAll('button[hidden]')
|
|
135
|
-
|
|
136
|
-
this.lastWindowSize = null
|
|
137
111
|
}
|
|
138
112
|
|
|
139
|
-
SuperNavigationMegaMenu.prototype.windowSize = windowSize
|
|
140
|
-
|
|
141
113
|
SuperNavigationMegaMenu.prototype.updateStates = function () {
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
this.$module.style.marginBottom = '0'
|
|
153
|
-
}
|
|
154
|
-
|
|
155
|
-
// Hide the navigation toggle button and show the navigation submenu:
|
|
156
|
-
if (this.windowSize() === 'desktop' && this.lastWindowSize !== 'desktop') {
|
|
157
|
-
this.$navigationToggle.setAttribute('hidden', 'hidden')
|
|
158
|
-
this.$navigationMenu.removeAttribute('hidden')
|
|
159
|
-
}
|
|
160
|
-
|
|
161
|
-
// The dropdown menu height is only needed when in desktop mode as this is
|
|
162
|
-
// when the dropdown menu is using `absolute` positioning. This requires
|
|
163
|
-
// JavaScript to work out the height and make space for the dropdown menu.
|
|
164
|
-
if (windowSize() === 'desktop') {
|
|
165
|
-
// Check whether any of the dropdown menus are open.
|
|
166
|
-
var $openButton = this.$module.querySelector('[aria-expanded="true"][data-toggle-desktop-group="top"]')
|
|
167
|
-
// Gets the open dropdown menu
|
|
168
|
-
var $openMenu = $openButton ? this.$module.querySelector('#' + $openButton.getAttribute('aria-controls')) : null
|
|
169
|
-
// If there is an open dropdown menu, get the height of the dropdown menu.
|
|
170
|
-
var margin = $openMenu ? $openMenu.offsetHeight : 0
|
|
171
|
-
|
|
172
|
-
// Make space for the dropdown menu.
|
|
173
|
-
this.$module.style.marginBottom = margin + 'px'
|
|
174
|
-
}
|
|
175
|
-
|
|
176
|
-
this.lastWindowSize = this.windowSize()
|
|
114
|
+
// Check whether any of the dropdown menus are open.
|
|
115
|
+
var $openButton = this.$module.querySelector('[aria-expanded="true"][data-toggle-desktop-group="top"]')
|
|
116
|
+
// Gets the open dropdown menu
|
|
117
|
+
var $openMenu = $openButton ? this.$module.querySelector('#' + $openButton.getAttribute('aria-controls')) : null
|
|
118
|
+
// If there is an open dropdown menu, get the height of the dropdown menu.
|
|
119
|
+
var margin = $openMenu ? $openMenu.offsetHeight : 0
|
|
120
|
+
|
|
121
|
+
// Make space for the dropdown menu.
|
|
122
|
+
this.$module.style.marginBottom = margin + 'px'
|
|
177
123
|
}
|
|
178
124
|
|
|
179
125
|
SuperNavigationMegaMenu.prototype.buttonHandler = function (event) {
|
|
180
126
|
var $target = closestParentIncluding(event.target, 'button')
|
|
181
127
|
var $targetMenu = this.$module.querySelector('#' + $target.getAttribute('aria-controls'))
|
|
182
128
|
|
|
183
|
-
var toggleGroupAttribute = 'data-toggle-
|
|
129
|
+
var toggleGroupAttribute = 'data-toggle-desktop-group'
|
|
184
130
|
var toggleGroupName = $target.getAttribute(toggleGroupAttribute)
|
|
185
131
|
var toggleGroupList = this.$module.querySelectorAll('[' + toggleGroupAttribute + '="' + toggleGroupName + '"]')
|
|
186
132
|
|
|
@@ -194,9 +140,7 @@ window.GOVUK.Modules = window.GOVUK.Modules || {};
|
|
|
194
140
|
|
|
195
141
|
toggle($target, $targetMenu)
|
|
196
142
|
|
|
197
|
-
|
|
198
|
-
this.$module.style.marginBottom = $targetMenu.offsetHeight + 'px'
|
|
199
|
-
}
|
|
143
|
+
this.$module.style.marginBottom = $targetMenu.offsetHeight + 'px'
|
|
200
144
|
}
|
|
201
145
|
|
|
202
146
|
SuperNavigationMegaMenu.prototype.init = function () {
|
|
@@ -217,6 +161,7 @@ window.GOVUK.Modules = window.GOVUK.Modules || {};
|
|
|
217
161
|
$element.removeAttribute('hidden')
|
|
218
162
|
|
|
219
163
|
var closestSiblingLink = closestPrevious($element, 'a')
|
|
164
|
+
|
|
220
165
|
if (closestSiblingLink) {
|
|
221
166
|
closestSiblingLink.setAttribute('hidden', 'hidden')
|
|
222
167
|
}
|
|
@@ -237,8 +182,6 @@ window.GOVUK.Modules = window.GOVUK.Modules || {};
|
|
|
237
182
|
hide(this.$searchToggle, this.$searchMenu)
|
|
238
183
|
this.updateStates()
|
|
239
184
|
|
|
240
|
-
this.lastWindowSize = this.windowSize()
|
|
241
|
-
|
|
242
185
|
// The menu needs to be updated when the window is resized to make sure that
|
|
243
186
|
// the space needed for the dropdown menu is correct.
|
|
244
187
|
window.addEventListener('resize', this.updateStates.bind(this), { passive: true })
|
|
@@ -178,30 +178,31 @@ window.GOVUK.Modules = window.GOVUK.Modules || {};
|
|
|
178
178
|
var title = thisel.querySelectorAll('.js-step-title')[0]
|
|
179
179
|
var contentId = thisel.querySelectorAll('.js-panel')[0].getAttribute('id')
|
|
180
180
|
var titleText = title.textContent || title.innerText // IE8 fallback
|
|
181
|
-
var ga4Data = ''
|
|
182
|
-
|
|
183
|
-
if (this.$module.isGa4Enabled) {
|
|
184
|
-
var ga4JSON = {
|
|
185
|
-
event_name: 'select_content',
|
|
186
|
-
type: 'step by step',
|
|
187
|
-
text: titleText.trim(),
|
|
188
|
-
index: i + 1,
|
|
189
|
-
index_total: this.$module.totalSteps
|
|
190
|
-
}
|
|
191
|
-
ga4Data = "data-ga4-event='" + JSON.stringify(ga4JSON) + "'" // Construct GA4 data-attributes for ga4-event-tracker.
|
|
192
|
-
}
|
|
193
181
|
|
|
194
182
|
title.outerHTML =
|
|
195
183
|
'<span class="js-step-title">' +
|
|
196
184
|
'<button ' +
|
|
197
185
|
'class="gem-c-step-nav__button gem-c-step-nav__button--title js-step-title-button" ' +
|
|
198
|
-
'aria-expanded="false" aria-controls="' + contentId + '"
|
|
186
|
+
'aria-expanded="false" aria-controls="' + contentId + '"' + '>' +
|
|
199
187
|
'<span class="gem-c-step-nav____title-text-focus">' +
|
|
200
188
|
'<span class="gem-c-step-nav__title-text js-step-title-text">' + titleText + '</span>' +
|
|
201
189
|
'<span class="govuk-visually-hidden gem-c-step-nav__section-heading-divider">, </span>' +
|
|
202
190
|
'</span>' +
|
|
203
191
|
'</button>' +
|
|
204
192
|
'</span>'
|
|
193
|
+
|
|
194
|
+
if (this.$module.isGa4Enabled) {
|
|
195
|
+
var ga4JSON = {
|
|
196
|
+
event_name: 'select_content',
|
|
197
|
+
type: 'step by step',
|
|
198
|
+
text: titleText.trim(),
|
|
199
|
+
index: i + 1,
|
|
200
|
+
index_total: this.$module.totalSteps
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
var button = thisel.querySelector('.js-step-title-button')
|
|
204
|
+
button.setAttribute('data-ga4-event', JSON.stringify(ga4JSON))
|
|
205
|
+
}
|
|
205
206
|
}
|
|
206
207
|
}
|
|
207
208
|
|
data/app/assets/javascripts/govuk_publishing_components/lib/govspeak/youtube-link-enhancement.js
CHANGED
|
@@ -3,8 +3,9 @@
|
|
|
3
3
|
window.GOVUK = window.GOVUK || {}
|
|
4
4
|
var GOVUK = window.GOVUK || {}
|
|
5
5
|
|
|
6
|
-
var YoutubeLinkEnhancement = function ($element) {
|
|
6
|
+
var YoutubeLinkEnhancement = function ($element, $classOverride) {
|
|
7
7
|
this.$element = $element
|
|
8
|
+
this.$classOverride = typeof $classOverride !== 'undefined' ? $classOverride : 'gem-c-govspeak__youtube-video'
|
|
8
9
|
}
|
|
9
10
|
|
|
10
11
|
YoutubeLinkEnhancement.prototype.init = function () {
|
|
@@ -70,7 +71,7 @@
|
|
|
70
71
|
var parentContainer = parentPara.parentNode
|
|
71
72
|
|
|
72
73
|
var youtubeVideoContainer = document.createElement('div')
|
|
73
|
-
youtubeVideoContainer.className +=
|
|
74
|
+
youtubeVideoContainer.className += this.$classOverride
|
|
74
75
|
youtubeVideoContainer.innerHTML = '<span id="' + elementId + '" data-video-id="' + id + '"></span>'
|
|
75
76
|
|
|
76
77
|
options.title = $link.textContent
|