@govuk-one-login/frontend-ui 1.5.0 → 2.0.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/README.md CHANGED
@@ -165,3 +165,8 @@ If you need to use a component that incorporates frontend (ie. in-browser) code
165
165
  useSpinner();
166
166
  </script>
167
167
  ```
168
+
169
+ # Upgrading to V2
170
+
171
+ ## On Page Load has now been added to basefiles
172
+ When upgrading to major version 2, GA4 on page load will be within the idenity and core basefiles, this will be a breaking change and implement some duplication on pages if GA4OPL is already being used on them
@@ -1,10 +1,14 @@
1
1
  {% if MAY_2025_REBRAND_ENABLED %}
2
- {% set govukRebrand = true %}
3
- {% set assetPath = "/public/rebrand"%}
2
+ {% set govukRebrand = true %}
3
+ {% set assetPath = "/public/rebrand"%}
4
4
  {% endif %}
5
5
 
6
+ {% set isPageDataSensitive = true %}
7
+ {% set taxLevel1 = 'web cri' %}
8
+
6
9
  {% extends "form-template.njk" %}
7
10
 
11
+ {% from "frontend-analytics/components/ga4-opl/macro.njk" import ga4OnPageLoad %}
8
12
  {% from "frontend-ui/build/components/cookie-banner/macro.njk" import frontendUiCookieBanner %}
9
13
  {% from "frontend-ui/build/components/phase-banner/macro.njk" import frontendUiPhaseBanner %}
10
14
  {% from "frontend-ui/build/components/header/macro.njk" import frontendUiHeader %}
@@ -16,12 +20,12 @@
16
20
  {% endblock %}
17
21
 
18
22
  {%- block pageTitle %}
19
- {{- (translate("govuk.error", { default: "Error" }) + ": ") if errorlist.length }}{{ hmpoTitle | safe }}{{ " – " + govukServiceName | safe if govukServiceName !== " " }} – GOV.UK One Login
23
+ {{- (translate("govuk.error", { default: "Error" }) + ": ") if errorlist.length }}{{ hmpoTitle | safe }}{{ " – " + govukServiceName | safe if govukServiceName !== " " }} – GOV.UK One Login
20
24
  {%- endblock %}
21
25
 
22
26
  {% block header %}
23
27
  {% block cookieBanner %}
24
- {{ frontendUiCookieBanner({
28
+ {{ frontendUiCookieBanner({
25
29
  translations: translations.cookieBanner
26
30
  }
27
31
  )}}
@@ -36,7 +40,7 @@
36
40
  {% endblock %}
37
41
 
38
42
  {% block beforeContent %}
39
- {{ frontendUiPhaseBanner({
43
+ {{ frontendUiPhaseBanner({
40
44
  translations: translations.phaseBanner,
41
45
  url: currentUrl,
42
46
  contactUrl: 'https://signin.account.gov.uk/contact-us'
@@ -47,18 +51,17 @@
47
51
  url: currentUrl,
48
52
  activeLanguage: htmlLang
49
53
  }) }}
50
- {% if backLink %}
51
- {% from "govuk/components/back-link/macro.njk" import govukBackLink %}
52
- <span id="back">{{ govukBackLink({
54
+ {% if backLink %}
55
+ {% from "govuk/components/back-link/macro.njk" import govukBackLink %}
56
+ <span id="back">{{ govukBackLink({
53
57
  text: translate("govuk.backLink"),
54
58
  href: backLink}) }}
55
- </span>
56
- {% endif %}
59
+ </span>
60
+ {% endif %}
57
61
 
58
62
  {% endblock %}
59
63
  {% endblock %}
60
64
 
61
-
62
65
  {% block footer %}
63
66
  {{ frontendUiFooter({
64
67
  translations: translations.footer
@@ -70,31 +73,49 @@
70
73
  <script type="text/javascript" src="/public/javascripts/all.js"></script>
71
74
  <script type="text/javascript" src="/public/javascripts/analytics.js"></script>
72
75
  <script type="text/javascript" {% if cspNonce %} nonce="{{ cspNonce }}"{% endif %}>
73
- window.GOVUKFrontend.initAll()
74
- window.DI.appInit({
75
- ga4ContainerId: "{{ga4ContainerId}}",
76
- uaContainerId:"{{uaContainerId}}"},{
77
- enableGa4Tracking:{{ga4Enabled}},
78
- enableUaTracking:{{uaEnabled}},
79
- enablePageViewTracking:{{ga4PageViewEnabled}},
80
- enableFormErrorTracking:{{ga4FormErrorEnabled}},
81
- enableFormChangeTracking:{{ga4FormChangeEnabled}},
82
- enableFormResponseTracking:{{ga4FormResponseEnabled}},
83
- enableNavigationTracking:{{ga4NavigationEnabled}},
84
- enableSelectContentTracking:{{ga4SelectContentEnabled}},
85
- cookieDomain:"{{analyticsCookieDomain}}",
86
- isDataSensitive:{{analyticsDataSensitive}}
87
- }
88
- );
76
+ window
77
+ .GOVUKFrontend
78
+ .initAll()
79
+ window
80
+ .DI
81
+ .appInit({
82
+ ga4ContainerId: "{{ga4ContainerId}}",
83
+ uaContainerId: "{{uaContainerId}}"
84
+ }, {
85
+ enableGa4Tracking: {{ga4Enabled}},
86
+ enableUaTracking: {{uaEnabled}},
87
+ enablePageViewTracking: {{ga4PageViewEnabled}},
88
+ enableFormErrorTracking: {{ga4FormErrorEnabled}},
89
+ enableFormChangeTracking: {{ga4FormChangeEnabled}},
90
+ enableFormResponseTracking: {{ga4FormResponseEnabled}},
91
+ enableNavigationTracking: {{ga4NavigationEnabled}},
92
+ enableSelectContentTracking: {{ga4SelectContentEnabled}},
93
+ cookieDomain: "{{analyticsCookieDomain}}",
94
+ isDataSensitive: {{analyticsDataSensitive}},
95
+ isPageDataSensitive: {{isPageDataSensitive}}
96
+ });
89
97
  </script>
90
98
 
91
99
  {% if deviceIntelligenceEnabled %}
92
- <script type="module" src="/public/javascripts/deviceIntelligence.js"></script>
93
- <script type="module" {% if cspNonce %} nonce="{{ cspNonce }}"{% endif %}>
94
- import { setFingerprintCookie } from "/public/javascripts/deviceIntelligence.js";
95
- setFingerprintCookie("{{deviceIntelligenceDomain}}")
96
- </script>
100
+ <script type="module" src="/public/javascripts/deviceIntelligence.js"></script>
101
+ <script type="module" {% if cspNonce %} nonce="{{ cspNonce }}"{% endif %}>
102
+ import {setFingerprintCookie} from "/public/javascripts/deviceIntelligence.js";
103
+ setFingerprintCookie("{{deviceIntelligenceDomain}}")
104
+ </script>
97
105
  {% endif %}
98
106
 
107
+ {{ ga4OnPageLoad({
108
+ nonce: cspNonce,
109
+ statusCode: statusCode,
110
+ dynamic: isPageDynamic,
111
+ englishPageTitle: pageTitleKey | translate,
112
+ taxonomyLevel1: taxLevel1,
113
+ taxonomyLevel2: taxLevel2,
114
+ taxonomyLevel3: taxLevel3,
115
+ taxonomyLevel4: taxLevel4,
116
+ taxonomyLevel5: taxLevel5,
117
+ contentId: contentID,
118
+ loggedInStatus: loggedInStatus
119
+ }) }}
99
120
  {% endblock %}
100
- {% endblock %}
121
+ {% endblock %}
@@ -1,10 +1,14 @@
1
1
  {% if MAY_2025_REBRAND_ENABLED %}
2
- {% set govukRebrand = true %}
3
- {% set assetPath = "/public/rebrand"%}
2
+ {% set govukRebrand = true %}
3
+ {% set assetPath = "/public/rebrand"%}
4
4
  {% endif %}
5
5
 
6
+ {% set isPageDataSensitive = true %}
7
+ {% set taxLevel1 = 'web cri' %}
8
+
6
9
  {% extends "hmpo-template.njk" %}
7
10
 
11
+ {% from "frontend-analytics/components/ga4-opl/macro.njk" import ga4OnPageLoad %}
8
12
  {% from "frontend-ui/build/components/cookie-banner/macro.njk" import frontendUiCookieBanner %}
9
13
  {% from "frontend-ui/build/components/phase-banner/macro.njk" import frontendUiPhaseBanner %}
10
14
  {% from "frontend-ui/build/components/header/macro.njk" import frontendUiHeader %}
@@ -21,7 +25,7 @@
21
25
 
22
26
  {% block header %}
23
27
  {% block cookieBanner %}
24
- {{ frontendUiCookieBanner({
28
+ {{ frontendUiCookieBanner({
25
29
  translations: translations.cookieBanner
26
30
  }
27
31
  )}}
@@ -36,7 +40,7 @@
36
40
  {% endblock %}
37
41
 
38
42
  {% block beforeContent %}
39
- {{ frontendUiPhaseBanner({
43
+ {{ frontendUiPhaseBanner({
40
44
  translations: translations.phaseBanner,
41
45
  url: currentUrl,
42
46
  contactUrl: 'https://signin.account.gov.uk/contact-us'
@@ -47,13 +51,13 @@
47
51
  url: currentUrl,
48
52
  activeLanguage: htmlLang
49
53
  }) }}
50
- {% if backLink %}
51
- {% from "govuk/components/back-link/macro.njk" import govukBackLink %}
52
- <span id="back">{{ govukBackLink({
54
+ {% if backLink %}
55
+ {% from "govuk/components/back-link/macro.njk" import govukBackLink %}
56
+ <span id="back">{{ govukBackLink({
53
57
  text: translate("govuk.backLink"),
54
58
  href: backLink}) }}
55
- </span>
56
- {% endif %}
59
+ </span>
60
+ {% endif %}
57
61
 
58
62
  {% endblock %}
59
63
  {% endblock %}
@@ -69,31 +73,49 @@
69
73
  <script type="text/javascript" src="/public/javascripts/all.js"></script>
70
74
  <script type="text/javascript" src="/public/javascripts/analytics.js"></script>
71
75
  <script type="text/javascript" {% if cspNonce %} nonce="{{ cspNonce }}"{% endif %}>
72
- window.GOVUKFrontend.initAll()
73
- window.DI.appInit({
74
- ga4ContainerId: "{{ga4ContainerId}}",
75
- uaContainerId:"{{uaContainerId}}"
76
- },{
77
- enableGa4Tracking:{{ga4Enabled}},
78
- enableUaTracking:{{uaEnabled}},
79
- enablePageViewTracking:{{ga4PageViewEnabled}},
80
- enableFormErrorTracking:{{ga4FormErrorEnabled}},
81
- enableFormChangeTracking:{{ga4FormChangeEnabled}},
82
- enableFormResponseTracking:{{ga4FormResponseEnabled}},
83
- enableNavigationTracking:{{ga4NavigationEnabled}},
84
- enableSelectContentTracking:{{ga4SelectContentEnabled}},
85
- cookieDomain:"{{analyticsCookieDomain}}",
86
- isDataSensitive:{{analyticsDataSensitive}}
87
- });
76
+ window
77
+ .GOVUKFrontend
78
+ .initAll()
79
+ window
80
+ .DI
81
+ .appInit({
82
+ ga4ContainerId: "{{ga4ContainerId}}",
83
+ uaContainerId: "{{uaContainerId}}"
84
+ }, {
85
+ enableGa4Tracking: {{ga4Enabled}},
86
+ enableUaTracking: {{uaEnabled}},
87
+ enablePageViewTracking: {{ga4PageViewEnabled}},
88
+ enableFormErrorTracking: {{ga4FormErrorEnabled}},
89
+ enableFormChangeTracking: {{ga4FormChangeEnabled}},
90
+ enableFormResponseTracking: {{ga4FormResponseEnabled}},
91
+ enableNavigationTracking: {{ga4NavigationEnabled}},
92
+ enableSelectContentTracking: {{ga4SelectContentEnabled}},
93
+ cookieDomain: "{{analyticsCookieDomain}}",
94
+ isDataSensitive: {{analyticsDataSensitive}},
95
+ isPageDataSensitive: {{isPageDataSensitive}}
96
+ });
88
97
  </script>
89
98
 
90
99
  {% if deviceIntelligenceEnabled %}
91
- <script type="module" src="/public/javascripts/deviceIntelligence.js"></script>
92
- <script type="module" {% if cspNonce %} nonce="{{ cspNonce }}"{% endif %}>
93
- import { setFingerprintCookie } from "/public/javascripts/deviceIntelligence.js";
94
- setFingerprintCookie("{{deviceIntelligenceDomain}}")
95
- </script>
96
- {% endif %}
100
+ <script type="module" src="/public/javascripts/deviceIntelligence.js"></script>
101
+ <script type="module" {% if cspNonce %} nonce="{{ cspNonce }}"{% endif %}>
102
+ import {setFingerprintCookie} from "/public/javascripts/deviceIntelligence.js";
103
+ setFingerprintCookie("{{deviceIntelligenceDomain}}")
104
+ </script>
105
+ {% endif %}
97
106
 
107
+ {{ ga4OnPageLoad({
108
+ nonce: cspNonce,
109
+ statusCode: statusCode,
110
+ dynamic: isPageDynamic,
111
+ englishPageTitle: pageTitleKey | translate,
112
+ taxonomyLevel1: taxLevel1,
113
+ taxonomyLevel2: taxLevel2,
114
+ taxonomyLevel3: taxLevel3,
115
+ taxonomyLevel4: taxLevel4,
116
+ taxonomyLevel5: taxLevel5,
117
+ contentId: contentID,
118
+ loggedInStatus: loggedInStatus
119
+ }) }}
98
120
  {% endblock %}
99
- {% endblock %}
121
+ {% endblock %}
@@ -2,7 +2,10 @@
2
2
  {% set govukRebrand = true %}
3
3
  {% endif %}
4
4
 
5
- {% set isPageDataSensitive = false %}
5
+ {% set isPageDataSensitive = true %}
6
+ {% set taxLevel1 = 'web cri' %}
7
+ {% set taxLevel2 = 'pre cri' %}
8
+
6
9
 
7
10
  {% extends "govuk/template.njk" %}
8
11
  {% from "frontend-ui/build/components/cookie-banner/macro.njk" import frontendUiCookieBanner %}
@@ -10,9 +13,7 @@
10
13
  {% from "frontend-ui/build/components/header/macro.njk" import frontendUiHeader %}
11
14
  {% from "frontend-ui/build/components/footer/macro.njk" import frontendUiFooter %}
12
15
  {% from "frontend-ui/build/components/language-select/macro.njk" import frontendUiLanguageSelect %}
13
- {# {% from "frontend-analytics/components/ga4-opl/macro.njk" import frontendAnalyticsGa4OnPageLoad %} #}
14
-
15
- {% from basePath ~ "/views/shared/ga4/on-page-load-macro.njk" import ga4OnPageLoad %}
16
+ {% from "frontend-analytics/components/ga4-opl/macro.njk" import ga4OnPageLoad %}
16
17
  {% from "govuk/components/back-link/macro.njk" import govukBackLink %}
17
18
  {% from "govuk/components/error-summary/macro.njk" import govukErrorSummary %}
18
19
  {% from "govuk/components/notification-banner/macro.njk" import govukNotificationBanner %}
@@ -146,18 +147,24 @@
146
147
  ga4ContainerId: "{{ ga4ContainerId }}",
147
148
  uaContainerId: "{{ uaContainerId }}"
148
149
  }, {
150
+ isDataSensitive: {{analyticsDataSensitive}},
151
+ isPageDataSensitive: {{isPageDataSensitive}},
149
152
  enableGa4Tracking: {{isGa4Enabled}},
150
153
  enableUaTracking: {{isUaEnabled}},
151
154
  cookieDomain: "{{analyticsCookieDomain}}"
152
155
  });
153
156
  </script>
154
157
  {{ ga4OnPageLoad({
155
- cspNonce: cspNonce,
156
- isPageDynamic: isPageDynamic,
157
- englishPageTitle: pageTitleKey | translateToEnglish }) }}
158
- {# {{ frontendAnalyticsGa4OnPageLoad({
159
158
  nonce: cspNonce,
159
+ statusCode: statusCode,
160
160
  dynamic: isPageDynamic,
161
- englishPageTitle: pageTitleKey | translateToEnglish }) }} #}
161
+ englishPageTitle: pageTitleKey | translateToEnglish,
162
+ taxonomyLevel1: taxLevel1,
163
+ taxonomyLevel2: taxLevel2,
164
+ taxonomyLevel3: taxLevel3,
165
+ taxonomyLevel4: taxLevel4,
166
+ taxonomyLevel5: taxLevel5,
167
+ contentId: contentID
168
+ }) }}
162
169
 
163
170
  {% endblock %}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@govuk-one-login/frontend-ui",
3
- "version": "1.5.0",
3
+ "version": "2.0.0",
4
4
  "description": "",
5
5
  "main": "build/cjs/backend/index.cjs",
6
6
  "module": "build/esm/backend/index.js",
@@ -42,7 +42,8 @@
42
42
  },
43
43
  "peerDependencies": {
44
44
  "express": "^5.1.0 || >= 4.21.2",
45
- "govuk-frontend": "^4.10.1 || ^5.0.0"
45
+ "govuk-frontend": "^4.10.1 || ^5.0.0",
46
+ "@govuk-one-login/frontend-analytics": " ^3.0.1 || ^4.0.3"
46
47
  },
47
48
  "exports": {
48
49
  ".": {