@govuk-one-login/frontend-ui 4.1.4 → 4.2.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.
- package/build/all.css +1 -0
- package/build/cjs/backend/index.cjs +257 -0
- package/build/cjs/backend/index.d.cts +39 -0
- package/build/cjs/backend/index.d.ts +39 -0
- package/build/cjs/backend/index.d.ts.map +1 -0
- package/build/cjs/backend/lib/helmet.d.ts +31 -0
- package/build/cjs/backend/lib/helmet.d.ts.map +1 -0
- package/build/cjs/backend/lib/index.d.ts +4 -0
- package/build/cjs/backend/lib/index.d.ts.map +1 -0
- package/build/cjs/backend/lib/locals.d.ts +11 -0
- package/build/cjs/backend/lib/locals.d.ts.map +1 -0
- package/build/cjs/backend/lib/settings.d.ts +21 -0
- package/build/cjs/backend/lib/settings.d.ts.map +1 -0
- package/build/cjs/backend/utils/logger.d.ts +9 -0
- package/build/cjs/backend/utils/logger.d.ts.map +1 -0
- package/build/cjs/frontend/index.cjs +443 -0
- package/build/cjs/frontend/index.d.cts +4 -0
- package/build/cjs/frontend/index.d.ts +4 -0
- package/build/cjs/frontend/index.d.ts.map +1 -0
- package/build/cjs/frontend/progress-button/progress-button.d.ts +2 -0
- package/build/cjs/frontend/progress-button/progress-button.d.ts.map +1 -0
- package/build/cjs/frontend/spinner/__tests__/spinner.test.d.ts +2 -0
- package/build/cjs/frontend/spinner/__tests__/spinner.test.d.ts.map +1 -0
- package/build/cjs/frontend/spinner/spinner.d.ts +64 -0
- package/build/cjs/frontend/spinner/spinner.d.ts.map +1 -0
- package/build/cjs/frontend/utils/types.d.ts +108 -0
- package/build/cjs/frontend/utils/types.d.ts.map +1 -0
- package/build/components/_all.scss +6 -0
- package/build/components/bases/auth/auth-base.njk +136 -0
- package/build/components/bases/home/home-base.njk +133 -0
- package/build/components/bases/identity/identity-base-form.njk +123 -0
- package/build/components/bases/identity/identity-base-page.njk +123 -0
- package/build/components/bases/ipv-core/ipv-core-base.njk +172 -0
- package/build/components/bases/mobile/mobile-base.njk +195 -0
- package/build/components/cookie-banner/cookie-banner.yaml +6 -0
- package/build/components/cookie-banner/macro.njk +1 -0
- package/build/components/cookie-banner/template.njk +106 -0
- package/build/components/footer/_index.scss +28 -0
- package/build/components/footer/footer.yaml +5 -0
- package/build/components/footer/macro.njk +1 -0
- package/build/components/footer/template.njk +12 -0
- package/build/components/header/README.md +34 -0
- package/build/components/header/_index.scss +102 -0
- package/build/components/header/header.yaml +16 -0
- package/build/components/header/macro.njk +3 -0
- package/build/components/header/template.njk +39 -0
- package/build/components/language-select/_index.scss +35 -0
- package/build/components/language-select/language-select.yaml +43 -0
- package/build/components/language-select/macro.njk +2 -0
- package/build/components/language-select/template.njk +38 -0
- package/build/components/macros/logo.njk +75 -0
- package/build/components/phase-banner/_index.scss +28 -0
- package/build/components/phase-banner/macro.njk +3 -0
- package/build/components/phase-banner/phase-banner.yaml +17 -0
- package/build/components/phase-banner/tag/macro.njk +3 -0
- package/build/components/phase-banner/tag/template.njk +3 -0
- package/build/components/phase-banner/template.njk +26 -0
- package/build/components/progress-button/_index.scss +51 -0
- package/build/components/progress-button/macro.njk +2 -0
- package/build/components/progress-button/progress-button.yaml +13 -0
- package/build/components/progress-button/template.njk +112 -0
- package/build/components/skip-link/README.md +10 -0
- package/build/components/skip-link/macro.njk +3 -0
- package/build/components/skip-link/skip-link.yaml +5 -0
- package/build/components/skip-link/template.njk +14 -0
- package/build/components/spinner/README.md +130 -0
- package/build/components/spinner/_index.scss +55 -0
- package/build/components/spinner/macro.njk +3 -0
- package/build/components/spinner/template.njk +18 -0
- package/build/esm/backend/index.d.ts +39 -0
- package/build/esm/backend/index.d.ts.map +1 -0
- package/build/esm/backend/index.js +247 -0
- package/build/esm/backend/lib/helmet.d.ts +31 -0
- package/build/esm/backend/lib/helmet.d.ts.map +1 -0
- package/build/esm/backend/lib/index.d.ts +4 -0
- package/build/esm/backend/lib/index.d.ts.map +1 -0
- package/build/esm/backend/lib/locals.d.ts +11 -0
- package/build/esm/backend/lib/locals.d.ts.map +1 -0
- package/build/esm/backend/lib/settings.d.ts +21 -0
- package/build/esm/backend/lib/settings.d.ts.map +1 -0
- package/build/esm/backend/utils/logger.d.ts +9 -0
- package/build/esm/backend/utils/logger.d.ts.map +1 -0
- package/build/esm/frontend/index.d.ts +4 -0
- package/build/esm/frontend/index.d.ts.map +1 -0
- package/build/esm/frontend/index.js +440 -0
- package/build/esm/frontend/progress-button/progress-button.d.ts +2 -0
- package/build/esm/frontend/progress-button/progress-button.d.ts.map +1 -0
- package/build/esm/frontend/spinner/__tests__/spinner.test.d.ts +2 -0
- package/build/esm/frontend/spinner/__tests__/spinner.test.d.ts.map +1 -0
- package/build/esm/frontend/spinner/spinner.d.ts +64 -0
- package/build/esm/frontend/spinner/spinner.d.ts.map +1 -0
- package/build/esm/frontend/utils/types.d.ts +108 -0
- package/build/esm/frontend/utils/types.d.ts.map +1 -0
- package/package.json +1 -2
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
{% if MAY_2025_REBRAND_ENABLED %}
|
|
2
|
+
{% set govukRebrand = true %}
|
|
3
|
+
{% endif %}
|
|
4
|
+
|
|
5
|
+
{% extends "govuk/template.njk" %}
|
|
6
|
+
|
|
7
|
+
{% from "frontend-ui/build/components/cookie-banner/macro.njk" import frontendUiCookieBanner %}
|
|
8
|
+
{% from "frontend-ui/build/components/phase-banner/macro.njk" import frontendUiPhaseBanner %}
|
|
9
|
+
{% from "frontend-ui/build/components/header/macro.njk" import frontendUiHeader %}
|
|
10
|
+
{% from "frontend-ui/build/components/footer/macro.njk" import frontendUiFooter %}
|
|
11
|
+
{% from "govuk/components/back-link/macro.njk" import govukBackLink %}
|
|
12
|
+
{% from "frontend-ui/build/components/language-select/macro.njk" import frontendUiLanguageSelect %}
|
|
13
|
+
|
|
14
|
+
{% if strategicAppChannel == true %}
|
|
15
|
+
{% set htmlClasses = 'govuk-template__mobile' %}
|
|
16
|
+
{% endif %}
|
|
17
|
+
|
|
18
|
+
{% block head %}
|
|
19
|
+
<!--[if !IE 8]><!-->
|
|
20
|
+
<link href="/public/style.css" rel="stylesheet">
|
|
21
|
+
<!--<![endif]-->
|
|
22
|
+
|
|
23
|
+
<!--[if IE 8]>
|
|
24
|
+
<link href="/govuk-frontend/all-ie8.css" rel="stylesheet">
|
|
25
|
+
<![endif]-->
|
|
26
|
+
|
|
27
|
+
<!--[if lt IE 9]>
|
|
28
|
+
<script src="/html5-shiv/html5shiv.js"></script>
|
|
29
|
+
<![endif]-->
|
|
30
|
+
|
|
31
|
+
{% block headMetaData %}{% endblock %}
|
|
32
|
+
{% endblock %}
|
|
33
|
+
|
|
34
|
+
{% block pageTitle %}
|
|
35
|
+
{% if error or errors %}
|
|
36
|
+
{{ 'general.errorTitlePrefix' | translate }} -
|
|
37
|
+
{% endif %}
|
|
38
|
+
{% if pageTitleName %}
|
|
39
|
+
{{ pageTitleName }} -
|
|
40
|
+
{% endif %}
|
|
41
|
+
{{ 'general.serviceNameTitle' | translate }}
|
|
42
|
+
{% endblock %}
|
|
43
|
+
|
|
44
|
+
{% block bodyStart %}
|
|
45
|
+
{% block cookieBanner %}
|
|
46
|
+
{{ frontendUiCookieBanner({
|
|
47
|
+
translations: translations.translation.cookieBanner
|
|
48
|
+
}) }}
|
|
49
|
+
{% endblock %}
|
|
50
|
+
{% endblock %}
|
|
51
|
+
|
|
52
|
+
{% set phaseBannerClasses = "test-banner" if showTestBanner %}
|
|
53
|
+
|
|
54
|
+
{% block header %}
|
|
55
|
+
{{ frontendUiHeader({
|
|
56
|
+
translations: translations.translation.header,
|
|
57
|
+
homepageUrl: "https://www.gov.uk",
|
|
58
|
+
classes: phaseBannerClasses
|
|
59
|
+
}) }}
|
|
60
|
+
{% endblock %}
|
|
61
|
+
|
|
62
|
+
{% if showTestBanner %}
|
|
63
|
+
{% set phaseBannerText = 'general.phaseBanner.testEnvironmentMessage' | translate %}
|
|
64
|
+
{% else %}
|
|
65
|
+
{% set phaseBannerText = 'phaseBanner.text' | translate %}
|
|
66
|
+
{% endif %}
|
|
67
|
+
|
|
68
|
+
{% if showTestBanner %}
|
|
69
|
+
{% set phaseBannerTag = 'general.phaseBanner.tag.test' | translate %}
|
|
70
|
+
{% else %}
|
|
71
|
+
{% set phaseBannerTag = 'general.phaseBanner.tag.beta' | translate %}
|
|
72
|
+
{% endif %}
|
|
73
|
+
|
|
74
|
+
{% block main %}
|
|
75
|
+
<div class="govuk-width-container {{ containerClasses }}">
|
|
76
|
+
{{ frontendUiPhaseBanner({
|
|
77
|
+
translations: translations.translation.phaseBanner,
|
|
78
|
+
url: currentUrl,
|
|
79
|
+
contactUrl: contactUsLinkUrl,
|
|
80
|
+
tag: phaseBannerTag,
|
|
81
|
+
phaseBannerText: phaseBannerText
|
|
82
|
+
}) }}
|
|
83
|
+
{% block beforeContent %}{% endblock %}
|
|
84
|
+
{% if languageToggleEnabled %}
|
|
85
|
+
{{ frontendUiLanguageSelect({
|
|
86
|
+
translations: translations.translation.languageSelect,
|
|
87
|
+
url: currentUrl,
|
|
88
|
+
activeLanguage: htmlLang
|
|
89
|
+
}) }}
|
|
90
|
+
{% endif %}
|
|
91
|
+
{% if showBack %}
|
|
92
|
+
{{ govukBackLink({
|
|
93
|
+
text: "general.back" | translate,
|
|
94
|
+
href: hrefBack
|
|
95
|
+
}) }}
|
|
96
|
+
{% endif %}
|
|
97
|
+
<main class="govuk-main-wrapper {{ mainClasses }}" id="main-content" role="main" {% if mainLang %} lang="{{ mainLang }}"{% endif %}>
|
|
98
|
+
<div class="govuk-grid-row">
|
|
99
|
+
<div class="govuk-grid-column-two-thirds {{ rowClasses }}">
|
|
100
|
+
{% block content %}{% endblock %}
|
|
101
|
+
</div>
|
|
102
|
+
</div>
|
|
103
|
+
</main>
|
|
104
|
+
</div>
|
|
105
|
+
{% endblock %}
|
|
106
|
+
|
|
107
|
+
{% block footer %}
|
|
108
|
+
{% if strategicAppChannel === true %}
|
|
109
|
+
{% else %}
|
|
110
|
+
{{ frontendUiFooter({
|
|
111
|
+
translations: translations.translation.footer
|
|
112
|
+
}) }}
|
|
113
|
+
{% endif %}
|
|
114
|
+
{% endblock %}
|
|
115
|
+
|
|
116
|
+
{% block bodyEnd %}
|
|
117
|
+
{% block scripts %}{% endblock %}
|
|
118
|
+
<script type="text/javascript" src="/public/scripts/dataLayerEvents.js"></script>
|
|
119
|
+
<script type="text/javascript" src="/public/scripts/application.js"></script>
|
|
120
|
+
<script type="text/javascript" src="/public/scripts/all.js"></script>
|
|
121
|
+
<script type="text/javascript" src="/public/scripts/analytics.js"></script>
|
|
122
|
+
<script type="text/javascript" {% if scriptNonce %} nonce="{{ scriptNonce }}"{% endif %}>
|
|
123
|
+
if (window.DI) {
|
|
124
|
+
if (window.DI.appInit) {
|
|
125
|
+
window.DI.appInit({
|
|
126
|
+
ga4ContainerId: "{{ga4ContainerId}}",
|
|
127
|
+
uaContainerId: "not used" // We don't use UA anymore, but it's a required param
|
|
128
|
+
}, {
|
|
129
|
+
isDataSensitive: false,
|
|
130
|
+
enableGa4Tracking: {{isGa4Enabled}},
|
|
131
|
+
cookieDomain: "{{analyticsCookieDomain}}"
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
</script>
|
|
136
|
+
{% endblock %}
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
{% if MAY_2025_REBRAND_ENABLED %}
|
|
2
|
+
{% set govukRebrand = true %}
|
|
3
|
+
{% endif %}
|
|
4
|
+
|
|
5
|
+
{% extends "govuk/template.njk" %}
|
|
6
|
+
{% from "common/ga4-opl/macro.njk" import ga4OnPageLoad %}
|
|
7
|
+
{% from "frontend-ui/build/components/cookie-banner/macro.njk" import frontendUiCookieBanner %}
|
|
8
|
+
{% from "frontend-ui/build/components/header/macro.njk" import frontendUiHeader%}
|
|
9
|
+
{% from "frontend-ui/build/components/phase-banner/macro.njk" import frontendUiPhaseBanner %}
|
|
10
|
+
{% from "frontend-ui/build/components/language-select/macro.njk" import frontendUiLanguageSelect %}
|
|
11
|
+
{% from "frontend-ui/build/components/footer/macro.njk" import frontendUiFooter %}
|
|
12
|
+
|
|
13
|
+
{% block head %}
|
|
14
|
+
{# Dynatrace RUM snippet #}
|
|
15
|
+
{% if dynatraceRumUrl %}
|
|
16
|
+
<script src="{{ dynatraceRumUrl }}" crossorigin="anonymous" nonce="{{ scriptNonce }}"></script>
|
|
17
|
+
{% endif %}
|
|
18
|
+
<link href="/public/style.css" rel="stylesheet">
|
|
19
|
+
|
|
20
|
+
{% endblock %}
|
|
21
|
+
|
|
22
|
+
{% block pageTitle %}
|
|
23
|
+
{%- if error or errors %}
|
|
24
|
+
{{ 'general.errorTitlePrefix' | translate }} -
|
|
25
|
+
{%- endif -%}
|
|
26
|
+
{%- if pageTitleName -%}
|
|
27
|
+
{{ pageTitleName }}
|
|
28
|
+
{%- if not hideTitleProductName %} - {% endif -%}
|
|
29
|
+
{% endif -%}
|
|
30
|
+
{{ 'general.serviceNameTitle' | translate if not hideTitleProductName }}
|
|
31
|
+
{%- endblock %}
|
|
32
|
+
|
|
33
|
+
{% block bodyStart %}
|
|
34
|
+
{% block cookieBanner %}
|
|
35
|
+
{{ frontendUiCookieBanner({
|
|
36
|
+
translations: translations.translation.cookieBanner
|
|
37
|
+
}) }}
|
|
38
|
+
{% endblock %}
|
|
39
|
+
{% endblock %}
|
|
40
|
+
{% block header %}
|
|
41
|
+
{{ frontendUiHeader({
|
|
42
|
+
translations: translations.translation.header,
|
|
43
|
+
homepageUrl: "https://www.gov.uk",
|
|
44
|
+
signOutLink: accountSignOut
|
|
45
|
+
}) }}
|
|
46
|
+
{% endblock %}
|
|
47
|
+
|
|
48
|
+
{% block main %}
|
|
49
|
+
<div class="govuk-width-container {{ containerClasses }}">
|
|
50
|
+
{{ frontendUiPhaseBanner({
|
|
51
|
+
translations: translations.translation.phaseBanner,
|
|
52
|
+
url: currentUrl,
|
|
53
|
+
contactUrl: ("[supportUrl]", authFrontEndUrl + "/contact-us-questions?theme=suggestions_feedback")
|
|
54
|
+
}) if not hidePhaseBanner }}
|
|
55
|
+
|
|
56
|
+
{% if showLanguageToggle %}
|
|
57
|
+
{{ frontendUiLanguageSelect({
|
|
58
|
+
translations: translations.translation.languageSelect,
|
|
59
|
+
url: currentUrl,
|
|
60
|
+
activeLanguage: htmlLang
|
|
61
|
+
}) }}
|
|
62
|
+
{% endif %}
|
|
63
|
+
|
|
64
|
+
{% block backLinkBlock %}
|
|
65
|
+
{% if backLink %}
|
|
66
|
+
<a href="{{ backLink }}" class="govuk-back-link js-back-link">
|
|
67
|
+
{{ backLinkText }}
|
|
68
|
+
{{ 'general.back' | translate if not backLinkText }}
|
|
69
|
+
</a>
|
|
70
|
+
{% endif %}
|
|
71
|
+
{% endblock %}
|
|
72
|
+
|
|
73
|
+
{% block beforeContent %}{% endblock %}
|
|
74
|
+
|
|
75
|
+
<main class="govuk-main-wrapper {{ mainClasses }}" id="main-content" {% if mainLang %} lang="{{ mainLang }}" {% endif %}>
|
|
76
|
+
{% block content %}{% endblock %}
|
|
77
|
+
</main>
|
|
78
|
+
</div>
|
|
79
|
+
|
|
80
|
+
{% block feedback %}{% endblock %}
|
|
81
|
+
{% endblock %}
|
|
82
|
+
|
|
83
|
+
{% block footer %}
|
|
84
|
+
{{ frontendUiFooter({
|
|
85
|
+
translations: translations.translation.footer
|
|
86
|
+
}) }}
|
|
87
|
+
{% endblock %}
|
|
88
|
+
|
|
89
|
+
{% block bodyEnd %}
|
|
90
|
+
{% block scripts %}{% endblock %}
|
|
91
|
+
|
|
92
|
+
<script type="module" src="/public/scripts/govuk-frontend.min.js" {% if scriptNonce %} nonce="{{ scriptNonce }}"{% endif %}></script>
|
|
93
|
+
|
|
94
|
+
<script type="module" {% if scriptNonce %} nonce="{{ scriptNonce }}"{% endif %}>
|
|
95
|
+
import { initAll } from '/public/scripts/govuk-frontend.min.js';
|
|
96
|
+
initAll();
|
|
97
|
+
</script>
|
|
98
|
+
|
|
99
|
+
<script type="text/javascript" src="/public/scripts/analytics.js" nonce="{{ scriptNonce }}"></script>
|
|
100
|
+
|
|
101
|
+
<script type="text/javascript" nonce="{{ scriptNonce }}">
|
|
102
|
+
{% if backLinkJS %}
|
|
103
|
+
var backLink = document.querySelector('.js-back-link');
|
|
104
|
+
if (backLink) {
|
|
105
|
+
backLink.addEventListener('click', function(e) {
|
|
106
|
+
var referrer = new URL(document.referrer).hostname;
|
|
107
|
+
if (referrer === document.location.hostname && window.history.length > 2) {
|
|
108
|
+
event.preventDefault();
|
|
109
|
+
window.history.back();
|
|
110
|
+
}
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
{% endif %}
|
|
114
|
+
</script>
|
|
115
|
+
|
|
116
|
+
<script type="text/javascript" {% if scriptNonce %} nonce="{{ scriptNonce }}"{% endif %}>
|
|
117
|
+
if (window.DI) {
|
|
118
|
+
window.DI.appInit({
|
|
119
|
+
ga4ContainerId: "{{ ga4ContainerId }}"
|
|
120
|
+
}, {
|
|
121
|
+
enableGa4Tracking: {{ isGa4Enabled }},
|
|
122
|
+
cookieDomain: "{{ analyticsCookieDomain }}",
|
|
123
|
+
isDataSensitive: true,
|
|
124
|
+
enablePageViewTracking: true,
|
|
125
|
+
enableFormResponseTracking: true,
|
|
126
|
+
enableFormChangeTracking: true,
|
|
127
|
+
enableFormErrorTracking: true,
|
|
128
|
+
enableNavigationTracking: true,
|
|
129
|
+
enableSelectContentTracking: {{ isSelectContentTrackingEnabled }}
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
</script>
|
|
133
|
+
{% endblock %}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
{% if MAY_2025_REBRAND_ENABLED %}
|
|
2
|
+
{% set govukRebrand = true %}
|
|
3
|
+
{% set assetPath = "/public/rebrand"%}
|
|
4
|
+
{% endif %}
|
|
5
|
+
|
|
6
|
+
{% if isPageDataSensitive is not defined %}
|
|
7
|
+
{% set isPageDataSensitive = true %}
|
|
8
|
+
{% endif %}
|
|
9
|
+
{% set taxLevel1 = 'web cri' %}
|
|
10
|
+
|
|
11
|
+
{% extends "form-template.njk" %}
|
|
12
|
+
|
|
13
|
+
{% from "frontend-analytics/components/ga4-opl/macro.njk" import ga4OnPageLoad %}
|
|
14
|
+
{% from "frontend-ui/build/components/cookie-banner/macro.njk" import frontendUiCookieBanner %}
|
|
15
|
+
{% from "frontend-ui/build/components/phase-banner/macro.njk" import frontendUiPhaseBanner %}
|
|
16
|
+
{% from "frontend-ui/build/components/header/macro.njk" import frontendUiHeader %}
|
|
17
|
+
{% from "frontend-ui/build/components/footer/macro.njk" import frontendUiFooter %}
|
|
18
|
+
{% from "frontend-ui/build/components/language-select/macro.njk" import frontendUiLanguageSelect %}
|
|
19
|
+
|
|
20
|
+
{% block head %}
|
|
21
|
+
<link rel="stylesheet" href="/public/stylesheets/application.css"/>
|
|
22
|
+
{% endblock %}
|
|
23
|
+
|
|
24
|
+
{%- block pageTitle %}
|
|
25
|
+
{{- (translate("govuk.error", { default: "Error" }) + ": ") if errorlist.length }}{{ hmpoTitle | safe }}{{ " – " + govukServiceName | safe if govukServiceName !== " " }} – GOV.UK One Login
|
|
26
|
+
{%- endblock %}
|
|
27
|
+
|
|
28
|
+
{% block header %}
|
|
29
|
+
{% block cookieBanner %}
|
|
30
|
+
{{ frontendUiCookieBanner({
|
|
31
|
+
translations: translations.cookieBanner
|
|
32
|
+
}
|
|
33
|
+
)}}
|
|
34
|
+
{% endblock %}
|
|
35
|
+
|
|
36
|
+
{% block govukHeader %}
|
|
37
|
+
{{ frontendUiHeader({
|
|
38
|
+
translations: translations.header,
|
|
39
|
+
homepageUrl: "https://www.gov.uk"
|
|
40
|
+
}) }}
|
|
41
|
+
{% endblock %}
|
|
42
|
+
{% endblock %}
|
|
43
|
+
|
|
44
|
+
{% block beforeContent %}
|
|
45
|
+
{{ frontendUiPhaseBanner({
|
|
46
|
+
translations: translations.phaseBanner,
|
|
47
|
+
url: currentUrl,
|
|
48
|
+
contactUrl: 'https://signin.account.gov.uk/contact-us'
|
|
49
|
+
}) }}
|
|
50
|
+
{% block backLink %}
|
|
51
|
+
{{ frontendUiLanguageSelect({
|
|
52
|
+
translations: translations.languageSelect,
|
|
53
|
+
url: currentUrl,
|
|
54
|
+
activeLanguage: htmlLang
|
|
55
|
+
}) }}
|
|
56
|
+
{% if backLink %}
|
|
57
|
+
{% from "govuk/components/back-link/macro.njk" import govukBackLink %}
|
|
58
|
+
<span id="back">{{ govukBackLink({
|
|
59
|
+
text: translate("govuk.backLink"),
|
|
60
|
+
href: backLink}) }}
|
|
61
|
+
</span>
|
|
62
|
+
{% endif %}
|
|
63
|
+
|
|
64
|
+
{% endblock %}
|
|
65
|
+
{% endblock %}
|
|
66
|
+
|
|
67
|
+
{% block footer %}
|
|
68
|
+
{{ frontendUiFooter({
|
|
69
|
+
translations: translations.footer
|
|
70
|
+
}) }}
|
|
71
|
+
{% endblock %}
|
|
72
|
+
|
|
73
|
+
{% block bodyEnd %}
|
|
74
|
+
{% block scripts %}
|
|
75
|
+
<script type="text/javascript" src="/public/javascripts/all.js"></script>
|
|
76
|
+
<script type="text/javascript" src="/public/javascripts/analytics.js"></script>
|
|
77
|
+
<script type="text/javascript" {% if cspNonce %} nonce="{{ cspNonce }}"{% endif %}>
|
|
78
|
+
window
|
|
79
|
+
.GOVUKFrontend
|
|
80
|
+
.initAll()
|
|
81
|
+
window
|
|
82
|
+
.DI
|
|
83
|
+
.appInit({
|
|
84
|
+
ga4ContainerId: "{{ga4ContainerId}}",
|
|
85
|
+
uaContainerId: "{{uaContainerId}}"
|
|
86
|
+
}, {
|
|
87
|
+
enableGa4Tracking: {{ga4Enabled}},
|
|
88
|
+
enableUaTracking: {{uaEnabled}},
|
|
89
|
+
enablePageViewTracking: {{ga4PageViewEnabled}},
|
|
90
|
+
enableFormErrorTracking: {{ga4FormErrorEnabled}},
|
|
91
|
+
enableFormChangeTracking: {{ga4FormChangeEnabled}},
|
|
92
|
+
enableFormResponseTracking: {{ga4FormResponseEnabled}},
|
|
93
|
+
enableNavigationTracking: {{ga4NavigationEnabled}},
|
|
94
|
+
enableSelectContentTracking: {{ga4SelectContentEnabled}},
|
|
95
|
+
cookieDomain: "{{analyticsCookieDomain}}",
|
|
96
|
+
isDataSensitive: {{analyticsDataSensitive}},
|
|
97
|
+
isPageDataSensitive: {{isPageDataSensitive}}
|
|
98
|
+
});
|
|
99
|
+
</script>
|
|
100
|
+
|
|
101
|
+
{% if deviceIntelligenceEnabled %}
|
|
102
|
+
<script type="module" src="/public/javascripts/deviceIntelligence.js"></script>
|
|
103
|
+
<script type="module" {% if cspNonce %} nonce="{{ cspNonce }}"{% endif %}>
|
|
104
|
+
import {setFingerprintCookie} from "/public/javascripts/deviceIntelligence.js";
|
|
105
|
+
setFingerprintCookie("{{deviceIntelligenceDomain}}")
|
|
106
|
+
</script>
|
|
107
|
+
{% endif %}
|
|
108
|
+
|
|
109
|
+
{{ ga4OnPageLoad({
|
|
110
|
+
nonce: cspNonce,
|
|
111
|
+
statusCode: statusCode,
|
|
112
|
+
dynamic: isPageDynamic,
|
|
113
|
+
englishPageTitle: pageTitleKey | translate,
|
|
114
|
+
taxonomyLevel1: taxLevel1,
|
|
115
|
+
taxonomyLevel2: taxLevel2,
|
|
116
|
+
taxonomyLevel3: taxLevel3,
|
|
117
|
+
taxonomyLevel4: taxLevel4,
|
|
118
|
+
taxonomyLevel5: taxLevel5,
|
|
119
|
+
contentId: contentID,
|
|
120
|
+
loggedInStatus: loggedInStatus
|
|
121
|
+
}) }}
|
|
122
|
+
{% endblock %}
|
|
123
|
+
{% endblock %}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
{% if MAY_2025_REBRAND_ENABLED %}
|
|
2
|
+
{% set govukRebrand = true %}
|
|
3
|
+
{% set assetPath = "/public/rebrand"%}
|
|
4
|
+
{% endif %}
|
|
5
|
+
|
|
6
|
+
{% if isPageDataSensitive is not defined %}
|
|
7
|
+
{% set isPageDataSensitive = true %}
|
|
8
|
+
{% endif %}
|
|
9
|
+
{% set taxLevel1 = 'web cri' %}
|
|
10
|
+
|
|
11
|
+
{% extends "hmpo-template.njk" %}
|
|
12
|
+
|
|
13
|
+
{% from "frontend-analytics/components/ga4-opl/macro.njk" import ga4OnPageLoad %}
|
|
14
|
+
{% from "frontend-ui/build/components/cookie-banner/macro.njk" import frontendUiCookieBanner %}
|
|
15
|
+
{% from "frontend-ui/build/components/phase-banner/macro.njk" import frontendUiPhaseBanner %}
|
|
16
|
+
{% from "frontend-ui/build/components/header/macro.njk" import frontendUiHeader %}
|
|
17
|
+
{% from "frontend-ui/build/components/footer/macro.njk" import frontendUiFooter %}
|
|
18
|
+
{% from "frontend-ui/build/components/language-select/macro.njk" import frontendUiLanguageSelect %}
|
|
19
|
+
|
|
20
|
+
{% block head %}
|
|
21
|
+
<link rel="stylesheet" href="/public/stylesheets/application.css"/>
|
|
22
|
+
{% endblock %}
|
|
23
|
+
|
|
24
|
+
{%- block pageTitle %}
|
|
25
|
+
{{- (translate("govuk.error", { default: "Error" }) + ": ") if errorlist.length }}{{ hmpoTitle | safe }}{{ " – " + govukServiceName | safe if govukServiceName !== " " }} – GOV.UK One Login
|
|
26
|
+
{%- endblock %}
|
|
27
|
+
|
|
28
|
+
{% block header %}
|
|
29
|
+
{% block cookieBanner %}
|
|
30
|
+
{{ frontendUiCookieBanner({
|
|
31
|
+
translations: translations.cookieBanner
|
|
32
|
+
}
|
|
33
|
+
)}}
|
|
34
|
+
{% endblock %}
|
|
35
|
+
|
|
36
|
+
{% block govukHeader %}
|
|
37
|
+
{{ frontendUiHeader({
|
|
38
|
+
translations: translations.header,
|
|
39
|
+
homepageUrl: "https://www.gov.uk"
|
|
40
|
+
}) }}
|
|
41
|
+
{% endblock %}
|
|
42
|
+
{% endblock %}
|
|
43
|
+
|
|
44
|
+
{% block beforeContent %}
|
|
45
|
+
{{ frontendUiPhaseBanner({
|
|
46
|
+
translations: translations.phaseBanner,
|
|
47
|
+
url: currentUrl,
|
|
48
|
+
contactUrl: 'https://signin.account.gov.uk/contact-us'
|
|
49
|
+
}) }}
|
|
50
|
+
{% block backLink %}
|
|
51
|
+
{{ frontendUiLanguageSelect({
|
|
52
|
+
translations: translations.languageSelect,
|
|
53
|
+
url: currentUrl,
|
|
54
|
+
activeLanguage: htmlLang
|
|
55
|
+
}) }}
|
|
56
|
+
{% if backLink %}
|
|
57
|
+
{% from "govuk/components/back-link/macro.njk" import govukBackLink %}
|
|
58
|
+
<span id="back">{{ govukBackLink({
|
|
59
|
+
text: translate("govuk.backLink"),
|
|
60
|
+
href: backLink}) }}
|
|
61
|
+
</span>
|
|
62
|
+
{% endif %}
|
|
63
|
+
|
|
64
|
+
{% endblock %}
|
|
65
|
+
{% endblock %}
|
|
66
|
+
|
|
67
|
+
{% block footer %}
|
|
68
|
+
{{ frontendUiFooter({
|
|
69
|
+
translations: translations.footer
|
|
70
|
+
}) }}
|
|
71
|
+
{% endblock %}
|
|
72
|
+
|
|
73
|
+
{% block bodyEnd %}
|
|
74
|
+
{% block scripts %}
|
|
75
|
+
<script type="text/javascript" src="/public/javascripts/all.js"></script>
|
|
76
|
+
<script type="text/javascript" src="/public/javascripts/analytics.js"></script>
|
|
77
|
+
<script type="text/javascript" {% if cspNonce %} nonce="{{ cspNonce }}"{% endif %}>
|
|
78
|
+
window
|
|
79
|
+
.GOVUKFrontend
|
|
80
|
+
.initAll()
|
|
81
|
+
window
|
|
82
|
+
.DI
|
|
83
|
+
.appInit({
|
|
84
|
+
ga4ContainerId: "{{ga4ContainerId}}",
|
|
85
|
+
uaContainerId: "{{uaContainerId}}"
|
|
86
|
+
}, {
|
|
87
|
+
enableGa4Tracking: {{ga4Enabled}},
|
|
88
|
+
enableUaTracking: {{uaEnabled}},
|
|
89
|
+
enablePageViewTracking: {{ga4PageViewEnabled}},
|
|
90
|
+
enableFormErrorTracking: {{ga4FormErrorEnabled}},
|
|
91
|
+
enableFormChangeTracking: {{ga4FormChangeEnabled}},
|
|
92
|
+
enableFormResponseTracking: {{ga4FormResponseEnabled}},
|
|
93
|
+
enableNavigationTracking: {{ga4NavigationEnabled}},
|
|
94
|
+
enableSelectContentTracking: {{ga4SelectContentEnabled}},
|
|
95
|
+
cookieDomain: "{{analyticsCookieDomain}}",
|
|
96
|
+
isDataSensitive: {{analyticsDataSensitive}},
|
|
97
|
+
isPageDataSensitive: {{isPageDataSensitive}}
|
|
98
|
+
});
|
|
99
|
+
</script>
|
|
100
|
+
|
|
101
|
+
{% if deviceIntelligenceEnabled %}
|
|
102
|
+
<script type="module" src="/public/javascripts/deviceIntelligence.js"></script>
|
|
103
|
+
<script type="module" {% if cspNonce %} nonce="{{ cspNonce }}"{% endif %}>
|
|
104
|
+
import {setFingerprintCookie} from "/public/javascripts/deviceIntelligence.js";
|
|
105
|
+
setFingerprintCookie("{{deviceIntelligenceDomain}}")
|
|
106
|
+
</script>
|
|
107
|
+
{% endif %}
|
|
108
|
+
|
|
109
|
+
{{ ga4OnPageLoad({
|
|
110
|
+
nonce: cspNonce,
|
|
111
|
+
statusCode: statusCode,
|
|
112
|
+
dynamic: isPageDynamic,
|
|
113
|
+
englishPageTitle: pageTitleKey | translate,
|
|
114
|
+
taxonomyLevel1: taxLevel1,
|
|
115
|
+
taxonomyLevel2: taxLevel2,
|
|
116
|
+
taxonomyLevel3: taxLevel3,
|
|
117
|
+
taxonomyLevel4: taxLevel4,
|
|
118
|
+
taxonomyLevel5: taxLevel5,
|
|
119
|
+
contentId: contentID,
|
|
120
|
+
loggedInStatus: loggedInStatus
|
|
121
|
+
}) }}
|
|
122
|
+
{% endblock %}
|
|
123
|
+
{% endblock %}
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
{% if MAY_2025_REBRAND_ENABLED %}
|
|
2
|
+
{% set govukRebrand = true %}
|
|
3
|
+
{% endif %}
|
|
4
|
+
|
|
5
|
+
{% if isPageDataSensitive is not defined %}
|
|
6
|
+
{% set isPageDataSensitive = true %}
|
|
7
|
+
{% endif %}
|
|
8
|
+
{% set taxLevel1 = 'web cri' %}
|
|
9
|
+
{% set taxLevel2 = 'pre cri' %}
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
{% extends "govuk/template.njk" %}
|
|
13
|
+
{% from "frontend-ui/build/components/cookie-banner/macro.njk" import frontendUiCookieBanner %}
|
|
14
|
+
{% from "frontend-ui/build/components/phase-banner/macro.njk" import frontendUiPhaseBanner %}
|
|
15
|
+
{% from "frontend-ui/build/components/header/macro.njk" import frontendUiHeader %}
|
|
16
|
+
{% from "frontend-ui/build/components/footer/macro.njk" import frontendUiFooter %}
|
|
17
|
+
{% from "frontend-ui/build/components/language-select/macro.njk" import frontendUiLanguageSelect %}
|
|
18
|
+
{% from "frontend-analytics/components/ga4-opl/macro.njk" import ga4OnPageLoad %}
|
|
19
|
+
{% from "govuk/components/back-link/macro.njk" import govukBackLink %}
|
|
20
|
+
{% from "govuk/components/error-summary/macro.njk" import govukErrorSummary %}
|
|
21
|
+
{% from "govuk/components/notification-banner/macro.njk" import govukNotificationBanner %}
|
|
22
|
+
|
|
23
|
+
{# Set language values for govuk/template.njk #}
|
|
24
|
+
{% set htmlLang = currentLanguage %}
|
|
25
|
+
{% set pageTitleLang = currentLanguage %}
|
|
26
|
+
{% set mainLang = currentLanguage %}
|
|
27
|
+
|
|
28
|
+
{% block head %}
|
|
29
|
+
{# Dynatrace RUM snippet #}
|
|
30
|
+
{% if dynatraceRumUrl %}
|
|
31
|
+
<script src='{{ dynatraceRumUrl }}' crossorigin="anonymous" nonce='{{ cspNonce }}'></script>
|
|
32
|
+
{% endif %}
|
|
33
|
+
|
|
34
|
+
<link href="/public/stylesheets/application.css" rel="stylesheet">
|
|
35
|
+
|
|
36
|
+
{# For older browsers to allow them to recognise HTML5 elements such as `<header>` #}
|
|
37
|
+
<!--[if lt IE 9]>
|
|
38
|
+
<script nonce='{{ cspNonce }}' src="/html5-shiv/html5shiv.js"></script>
|
|
39
|
+
<![endif]-->
|
|
40
|
+
|
|
41
|
+
{% block headMetaData %}{% endblock %}
|
|
42
|
+
|
|
43
|
+
{% endblock %}
|
|
44
|
+
|
|
45
|
+
{% block pageTitle-%}
|
|
46
|
+
{%- if pageErrorState %}
|
|
47
|
+
{{ 'general.govuk.errorTitlePrefix' | translate }}
|
|
48
|
+
{% endif %}
|
|
49
|
+
{%- if pageTitleKey %}{{ pageTitleKey | translateWithContextOrFallback(context) }} – GOV.UK One Login{% endif %}
|
|
50
|
+
{%- endblock %}
|
|
51
|
+
|
|
52
|
+
{% block bodyStart %}
|
|
53
|
+
{% block cookieBanner %}
|
|
54
|
+
{{ frontendUiCookieBanner({
|
|
55
|
+
translations: translations.translation.cookieBanner
|
|
56
|
+
}
|
|
57
|
+
)}}
|
|
58
|
+
|
|
59
|
+
{%endblock%}
|
|
60
|
+
{% endblock %}
|
|
61
|
+
|
|
62
|
+
{% block header %}
|
|
63
|
+
{{ frontendUiHeader({
|
|
64
|
+
translations: translations.translation.header,
|
|
65
|
+
homepageUrl: "https://www.gov.uk",
|
|
66
|
+
signOutLink: logoutUrl
|
|
67
|
+
}) }}
|
|
68
|
+
{% endblock %}
|
|
69
|
+
|
|
70
|
+
{% block main %}
|
|
71
|
+
<div class="govuk-width-container {{ containerClasses }}">
|
|
72
|
+
{{ frontendUiPhaseBanner({
|
|
73
|
+
translations: translations.translation.phaseBanner,
|
|
74
|
+
url: currentUrl,
|
|
75
|
+
contactUrl: contactUsUrl
|
|
76
|
+
}) }}
|
|
77
|
+
|
|
78
|
+
{% block beforeContent %}{% endblock %}
|
|
79
|
+
{% if showLanguageToggle %}
|
|
80
|
+
{{ frontendUiLanguageSelect({
|
|
81
|
+
translations: translations.translation.languageSelect,
|
|
82
|
+
url: currentUrl,
|
|
83
|
+
activeLanguage: htmlLang
|
|
84
|
+
}) }}
|
|
85
|
+
{% endif %}
|
|
86
|
+
{% if showBack %}
|
|
87
|
+
{{ govukBackLink({
|
|
88
|
+
text: "general.govuk.backLink" | translate,
|
|
89
|
+
href: hrefBack
|
|
90
|
+
}) }}
|
|
91
|
+
{% endif %}
|
|
92
|
+
<main class="govuk-main-wrapper {{ mainClasses }}" id="main-content"{% if currentLanguage %} lang="{{ currentLanguage }}"{% endif %}>
|
|
93
|
+
<div class="govuk-grid-row">
|
|
94
|
+
<div class="govuk-grid-column-two-thirds {{ rowClasses }}">
|
|
95
|
+
{% if (displayBanner) %}
|
|
96
|
+
{{ govukNotificationBanner({
|
|
97
|
+
html: bannerMessage,
|
|
98
|
+
type: bannerType,
|
|
99
|
+
titleText: bannerTitleText
|
|
100
|
+
}) }}
|
|
101
|
+
{% endif %}
|
|
102
|
+
|
|
103
|
+
{% if errorState %}
|
|
104
|
+
{{ govukErrorSummary({
|
|
105
|
+
titleText: errorTitle | default('Error Summary'),
|
|
106
|
+
errorList: [
|
|
107
|
+
{
|
|
108
|
+
text: errorText | translate,
|
|
109
|
+
href: errorHref | default("#")
|
|
110
|
+
}
|
|
111
|
+
]
|
|
112
|
+
}) }}
|
|
113
|
+
{% endif %}
|
|
114
|
+
{% block content %}{% endblock %}
|
|
115
|
+
</div>
|
|
116
|
+
</div>
|
|
117
|
+
</main>
|
|
118
|
+
</div>
|
|
119
|
+
{% endblock %}
|
|
120
|
+
|
|
121
|
+
{% block footer %}
|
|
122
|
+
{{ frontendUiFooter({
|
|
123
|
+
translations: translations.translation.footer
|
|
124
|
+
}) }}
|
|
125
|
+
{% endblock %}
|
|
126
|
+
|
|
127
|
+
{% block bodyEnd %}
|
|
128
|
+
{% block scripts %}{% endblock %}
|
|
129
|
+
<script nonce='{{ cspNonce }}' src="/public/javascripts/application.js"></script>
|
|
130
|
+
<script type="module" nonce='{{ cspNonce }}' src="/public/javascripts/govuk-frontend.min.js"></script>
|
|
131
|
+
<script type="module" nonce='{{ cspNonce }}'>
|
|
132
|
+
import {initAll} from '/public/javascripts/govuk-frontend.min.js'
|
|
133
|
+
initAll()
|
|
134
|
+
</script>
|
|
135
|
+
{% if useDeviceIntelligence %}
|
|
136
|
+
<script type="module" nonce='{{ cspNonce }}' src="/public/javascripts/fingerprint.js"></script>
|
|
137
|
+
<script type="module" nonce='{{ cspNonce }}'>
|
|
138
|
+
import {setFingerprintCookie} from "/public/javascripts/fingerprint.js";
|
|
139
|
+
setFingerprintCookie('{{ serviceDomain }}')
|
|
140
|
+
</script>
|
|
141
|
+
{% endif %}
|
|
142
|
+
<script nonce='{{ cspNonce }}'>
|
|
143
|
+
window.DI = window.DI || {};
|
|
144
|
+
window.DI.httpStatusCode = {{ statusCode | d(200) }};
|
|
145
|
+
window.DI.journeyState = "{{ googleTagManagerPageId }}";
|
|
146
|
+
window
|
|
147
|
+
.DI
|
|
148
|
+
.appInit({
|
|
149
|
+
ga4ContainerId: "{{ ga4ContainerId }}",
|
|
150
|
+
uaContainerId: "{{ uaContainerId }}"
|
|
151
|
+
}, {
|
|
152
|
+
isDataSensitive: {{analyticsDataSensitive}},
|
|
153
|
+
isPageDataSensitive: {{isPageDataSensitive}},
|
|
154
|
+
enableGa4Tracking: {{isGa4Enabled}},
|
|
155
|
+
enableUaTracking: {{isUaEnabled}},
|
|
156
|
+
cookieDomain: "{{analyticsCookieDomain}}"
|
|
157
|
+
});
|
|
158
|
+
</script>
|
|
159
|
+
{{ ga4OnPageLoad({
|
|
160
|
+
nonce: cspNonce,
|
|
161
|
+
statusCode: statusCode,
|
|
162
|
+
dynamic: isPageDynamic,
|
|
163
|
+
englishPageTitle: pageTitleKey | translateToEnglish,
|
|
164
|
+
taxonomyLevel1: taxLevel1,
|
|
165
|
+
taxonomyLevel2: taxLevel2,
|
|
166
|
+
taxonomyLevel3: taxLevel3,
|
|
167
|
+
taxonomyLevel4: taxLevel4,
|
|
168
|
+
taxonomyLevel5: taxLevel5,
|
|
169
|
+
contentId: contentID
|
|
170
|
+
}) }}
|
|
171
|
+
|
|
172
|
+
{% endblock %}
|