@govuk-one-login/frontend-ui 1.3.6 → 1.3.8

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 CHANGED
@@ -1 +1 @@
1
- @media(max-width: 640px){.govuk-header__navigation-item{border-left:none !important}.govuk-template--rebranded .govuk-header__navigation-list{padding-bottom:0px !important}.govuk-header__navigation-item{padding-top:8px !important}}.frontendUi_header_signOut-item{padding:5px 0px 5px 30px;border-left:1px solid #b1b4b6;margin-left:auto}.frontendUi_header_signOut-item--rebrand{border-left:none;padding:5px 0px 5px 0px;margin-left:auto;font-weight:700 !important}.frontendUi_header__signOut{display:flex;flex-wrap:wrap}.frontendUi-header__content{margin-left:auto}.govuk-header__navigation--signOut{padding:15px 0 15px !important}.govuk-template--rebranded .govuk-header__navigation{padding:15px 0 15px !important}@media(max-width: 640px){.govuk-header__navigation--signOut{padding:18px 0 8px !important}.govuk-template--rebranded .govuk-header__navigation{padding:18px 0 8px !important}}.govuk-template--rebranded .govuk-header__navigation-item a{font-weight:700 !important}.govuk-template--rebranded .govuk-header__navigation-item{padding-top:5px !important}@media(min-width: 20em)and (max-width: 48.0525em){.govuk-template--rebranded .govuk-header__navigation-list{padding-bottom:0px}}@media(max-width: 323px){.govuk-header__logo{padding-right:5px}.frontendUi_header_signOut-item{padding-left:0px}}@media(max-width: 261px){.frontendUi-header__content{margin-left:unset}.govuk-template--rebranded .govuk-header__navigation{padding:0px 0 8px !important}.govuk-header__logotype{max-width:100%;max-height:auto}.govuk-template--rebranded .govuk-header__logo{padding-top:5% !important;padding-bottom:5% !important}}.govuk-tag{font-size:16px;font-weight:bold;line-height:1;display:inline-block;padding-top:5px;padding-right:8px;padding-bottom:4px;padding-left:8px;outline:2px solid rgba(0,0,0,0);outline-offset:-2px;color:#fff !important;background-color:#1d70b8 !important;letter-spacing:1px !important;text-decoration:none !important;text-transform:uppercase !important}@media(max-width: 256px){.govuk-phase-banner__content{display:block}}.language-select{margin:15px 0 15px 0}.language-select__list{margin-top:1em;text-align:right}.language-select__list-item{display:inline-block}.language-select__list-item:first-child::after{content:"";display:inline-block;position:relative;top:.1875em;height:1em;border-right:.09375em solid #000}.language-select__list-item a,.language-select__list-item [aria-current]{padding:.3125em}@media screen and (max-width: 641px){.language-select__list{float:none;text-align:left;padding-bottom:10px;border-bottom:1px solid #b1b4b6}}.spinner{width:80px;height:80px;border-radius:50%;border-width:12px;border-style:solid;border-color:#dee0e2;border-top-color:#005ea5;margin-bottom:govuk-spacing(3)}@media(forced-colors: active){.spinner{forced-color-adjust:none;border-top-color:rgba(0,0,0,0) !important}}@media not (prefers-reduced-motion){.spinner{-webkit-animation:spin 2s linear infinite;animation:spin 2s linear infinite}}@media(prefers-reduced-motion){.spinner{transform:rotate(0.125turn)}}.spinner__ready{border-color:#005ea5;-webkit-animation:none;animation:none}#spinner-container__error .spinner,#spinner-container__error .spinner-state-text{display:none}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg)}}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.centre{margin-left:auto;margin-right:auto;text-align:center;display:block}@media(max-width: 256px){.govuk-footer__crown{max-width:100%;max-height:auto}}.govuk-footer{padding-top:25px;padding-bottom:15px;border-top:1px solid #b1b4b6;color:#0b0c0c;background:#f3f2f1}.govuk-template--rebranded .govuk-footer{border-top:10px solid #1d70b8;background:#f4f8fb}
1
+ @media(max-width: 640px){.govuk-header__navigation-item{border-left:none !important}.govuk-template--rebranded .govuk-header__navigation-list{padding-bottom:0px !important}.govuk-header__navigation-item{padding-top:8px !important}}.frontendUi_header_signOut-item{padding:5px 0px 5px 30px;border-left:1px solid #b1b4b6;margin-left:auto}.frontendUi_header_signOut-item--rebrand{border-left:none;padding:5px 0px 5px 0px;margin-left:auto;font-weight:700 !important}.frontendUi_header__signOut{display:flex;flex-wrap:wrap}.frontendUi-header__content{margin-left:auto}.govuk-header__navigation--signOut{padding:15px 0 15px !important}.govuk-template--rebranded .govuk-header__navigation{padding:15px 0 15px !important}@media(max-width: 640px){.govuk-header__navigation--signOut{padding:18px 0 8px !important}.govuk-template--rebranded .govuk-header__navigation{padding:18px 0 8px !important}}.govuk-template--rebranded .govuk-header__navigation-item a{font-weight:700 !important}.govuk-template--rebranded .govuk-header__navigation-item{padding-top:5px !important}@media(min-width: 20em)and (max-width: 48.0525em){.govuk-template--rebranded .govuk-header__navigation-list{padding-bottom:0px}}@media(max-width: 323px){.govuk-header__logo{padding-right:5px}.frontendUi_header_signOut-item{padding-left:0px}}@media(max-width: 261px){.frontendUi-header__content{margin-left:unset}.govuk-template--rebranded .govuk-header__navigation{padding:0px 0 8px !important}.govuk-header__logotype{max-width:100%;max-height:auto}.govuk-template--rebranded .govuk-header__logo{padding-top:5% !important;padding-bottom:5% !important}}.govuk-tag{font-size:16px;font-weight:bold;line-height:1;display:inline-block;padding-top:5px;padding-right:8px;padding-bottom:4px;padding-left:8px;outline:2px solid rgba(0,0,0,0);outline-offset:-2px;color:#fff !important;background-color:#1d70b8 !important;letter-spacing:1px !important;text-decoration:none !important;text-transform:uppercase !important}@media(max-width: 256px){.govuk-phase-banner__content{display:block}}.language-select{margin:15px 0 15px 0}.language-select__list{margin-top:1em;text-align:right}.language-select__list-item{display:inline-block}.language-select__list-item:first-child::after{content:"";display:inline-block;position:relative;top:.1875em;height:1em;border-right:.09375em solid #000}.language-select__list-item a,.language-select__list-item [aria-current]{padding:.3125em}@media screen and (max-width: 641px){.language-select__list{float:none;text-align:left;padding-bottom:10px;border-bottom:1px solid #b1b4b6}}.spinner{width:80px;height:80px;border-radius:50%;border-width:12px;border-style:solid;border-color:#dee0e2;border-top-color:#005ea5;margin-bottom:govuk-spacing(3)}@media(forced-colors: active){.spinner{forced-color-adjust:none;border-top-color:rgba(0,0,0,0) !important}}@media not (prefers-reduced-motion){.spinner{-webkit-animation:spin 2s linear infinite;animation:spin 2s linear infinite}}@media(prefers-reduced-motion){.spinner{transform:rotate(0.125turn)}}.spinner__ready{border-color:#005ea5;-webkit-animation:none;animation:none}#spinner-container__error .spinner,#spinner-container__error .spinner-state-text{display:none}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg)}}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.centre{margin-left:auto;margin-right:auto;text-align:center;display:block}@media(max-width: 256px){.govuk-footer__crown{max-width:100%;max-height:auto}}.govuk-footer{padding-top:25px;padding-bottom:15px;border-top:1px solid #b1b4b6;color:#0b0c0c;background:#f3f2f1}.govuk-template--rebranded .govuk-footer{border-top:10px solid #1d70b8;background:#f4f8fb}.govuk-footer__copyright-logo::before{background:#6e777a}.govuk-template--rebranded .govuk-footer__copyright-logo::before{background:currentcolor}
@@ -223,11 +223,15 @@ const getTranslationObject = (locale, filepath) => {
223
223
  console.warn(`No translation file found for locale: ${locale}`);
224
224
  return {}; // Return an empty object as a fallback
225
225
  };
226
+ const frontendUiTranslationEn = translationEn;
227
+ const frontendUiTranslationCy = translationCy;
226
228
 
227
229
  exports.addLanguageParam = addLanguageParam;
228
230
  exports.contactUsUrl = contactUsUrl;
229
231
  exports.frontendUiMiddleware = frontendUiMiddleware;
230
232
  exports.frontendUiMiddlewareIdentityBypass = frontendUiMiddlewareIdentityBypass;
233
+ exports.frontendUiTranslationCy = frontendUiTranslationCy;
234
+ exports.frontendUiTranslationEn = frontendUiTranslationEn;
231
235
  exports.getTranslationObject = getTranslationObject;
232
236
  exports.setBaseTranslations = setBaseTranslations;
233
237
  exports.setFrontendUiTranslations = setFrontendUiTranslations;
@@ -34,5 +34,123 @@ export declare function addLanguageParam(language: string, url?: URL): string;
34
34
  export declare function contactUsUrl(baseUrl: string, urlToAppend: string): string | null;
35
35
  export declare const setBaseTranslations: (instanceI18n: typeof i18next, filePath?: string) => void;
36
36
  export declare const getTranslationObject: (locale: string, filepath?: string) => Record<string, unknown>;
37
+ export declare const frontendUiTranslationEn: {
38
+ cookieBanner: {
39
+ body1: string;
40
+ body2: string;
41
+ ariaLabel: string;
42
+ headingText: string;
43
+ acceptAdditionalCookies: string;
44
+ rejectAdditionalCookies: string;
45
+ viewCookies: string;
46
+ cookieBannerAccept: {
47
+ body1: string;
48
+ body2: string;
49
+ };
50
+ cookieBannerReject: {
51
+ body1: string;
52
+ body2: string;
53
+ };
54
+ changeCookiePreferencesLink: string;
55
+ hideCookieMessage: string;
56
+ viewCookiesLink: string;
57
+ };
58
+ footer: {
59
+ footerNavItems: ({
60
+ href: string;
61
+ text: string;
62
+ attributes?: undefined;
63
+ } | {
64
+ href: string;
65
+ text: string;
66
+ attributes: {
67
+ rel: string;
68
+ target: string;
69
+ };
70
+ })[];
71
+ copyright: {
72
+ text: string;
73
+ };
74
+ contentLicence: {
75
+ html: string;
76
+ };
77
+ };
78
+ header: {
79
+ signOut: string;
80
+ ariaLabel: string;
81
+ signOutAriaLabel: string;
82
+ };
83
+ languageSelect: {
84
+ ariaLabel: string;
85
+ };
86
+ phaseBanner: {
87
+ tag: string;
88
+ text: string;
89
+ link: string;
90
+ ariaLabel: string;
91
+ };
92
+ skipLink: {
93
+ title: string;
94
+ };
95
+ };
96
+ export declare const frontendUiTranslationCy: {
97
+ cookieBanner: {
98
+ body1: string;
99
+ body2: string;
100
+ ariaLabel: string;
101
+ headingText: string;
102
+ acceptAdditionalCookies: string;
103
+ rejectAdditionalCookies: string;
104
+ viewCookies: string;
105
+ cookieBannerAccept: {
106
+ body1: string;
107
+ body2: string;
108
+ };
109
+ cookieBannerReject: {
110
+ body1: string;
111
+ body2: string;
112
+ };
113
+ changeCookiePreferencesLink: string;
114
+ hideCookieMessage: string;
115
+ viewCookiesLink: string;
116
+ };
117
+ footer: {
118
+ footerNavItems: ({
119
+ href: string;
120
+ text: string;
121
+ attributes?: undefined;
122
+ } | {
123
+ href: string;
124
+ text: string;
125
+ attributes: {
126
+ rel: string;
127
+ target: string;
128
+ };
129
+ })[];
130
+ copyright: {
131
+ text: string;
132
+ };
133
+ contentLicence: {
134
+ html: string;
135
+ };
136
+ };
137
+ header: {
138
+ signOut: string;
139
+ ariaLabel: string;
140
+ signOutAriaLabel: string;
141
+ };
142
+ languageSelect: {
143
+ ariaLabel: string;
144
+ };
145
+ phaseBanner: {
146
+ tag: string;
147
+ text: string;
148
+ link: string;
149
+ ariaLabel: string;
150
+ };
151
+ skipLink: {
152
+ title: string;
153
+ };
154
+ };
37
155
  export {};
38
156
  //# sourceMappingURL=index.d.ts.map
@@ -1,5 +1,5 @@
1
1
  {% if MAY_2025_REBRAND_ENABLED %}
2
- {% set govukRebrand = true %}
2
+ {% set govukRebrand = true %}
3
3
  {% endif %}
4
4
 
5
5
  {% extends "govuk/template.njk" %}
@@ -21,7 +21,7 @@
21
21
  {% block head %}
22
22
  {# Dynatrace RUM snippet #}
23
23
  {% if dynatraceRumUrl %}
24
- <script src='{{ dynatraceRumUrl }}' crossorigin="anonymous" nonce='{{ cspNonce }}'></script>
24
+ <script src='{{ dynatraceRumUrl }}' crossorigin="anonymous" nonce='{{ cspNonce }}'></script>
25
25
  {% endif %}
26
26
 
27
27
  <link href="/public/stylesheets/application.css" rel="stylesheet">
@@ -43,57 +43,57 @@
43
43
  {%- endblock %}
44
44
 
45
45
  {% block bodyStart %}
46
- {% block cookieBanner %}
47
- {{ frontendUiCookieBanner({
46
+ {% block cookieBanner %}
47
+ {{ frontendUiCookieBanner({
48
48
  translations: translations.translation.cookieBanner
49
49
  }
50
50
  )}}
51
51
 
52
+ {%endblock%}
53
+ {% endblock %}
52
54
 
53
- {%endblock%}
54
- {% endblock %}
55
-
56
- {% block header %}
55
+ {% block header %}
57
56
  {{ frontendUiHeader({
58
57
  translations: translations.translation.header,
59
58
  homepageUrl: "https://www.gov.uk",
60
59
  signOutLink: logoutUrl
61
60
  }) }}
62
- {% endblock %}
61
+ {% endblock %}
63
62
 
64
- {% block main %}
65
- <div class="govuk-width-container {{ containerClasses }}">
66
- {{ frontendUiPhaseBanner({
63
+ {% block main %}
64
+ <div class="govuk-width-container {{ containerClasses }}">
65
+ {{ frontendUiPhaseBanner({
67
66
  translations: translations.translation.phaseBanner,
68
67
  url: currentUrl,
69
68
  contactUrl: contactUsUrl
70
69
  }) }}
71
70
 
72
- {% block beforeContent %}{% endblock %}
73
- {# {% if showLanguageToggle %} #}
74
- {{ frontendUiLanguageSelect({
71
+ {% block beforeContent %}{% endblock %}
72
+ {% if showLanguageToggle %}
73
+ {{ frontendUiLanguageSelect({
75
74
  translations: translations.translation.languageSelect,
76
75
  url: currentUrl,
77
76
  activeLanguage: htmlLang
78
77
  }) }}
79
- {# {% endif %} #}
80
- {% if showBack %}
81
- {{ govukBackLink({
78
+ {% endif %}
79
+ {% if showBack %}
80
+ {{ govukBackLink({
82
81
  text: "general.govuk.backLink" | translate,
83
82
  href: hrefBack
84
83
  }) }}
85
- {% endif %}
86
- <main class="govuk-main-wrapper {{ mainClasses }}" id="main-content"{% if currentLanguage %} lang="{{ currentLanguage }}"{% endif %}>
87
- <div class="govuk-grid-row">
88
- {% if (displayBanner) %}
89
- {{ govukNotificationBanner({
84
+ {% endif %}
85
+ <main class="govuk-main-wrapper {{ mainClasses }}" id="main-content"{% if currentLanguage %} lang="{{ currentLanguage }}"{% endif %}>
86
+ <div class="govuk-grid-row">
87
+ <div class="govuk-grid-column-two-thirds {{ rowClasses }}">
88
+ {% if (displayBanner) %}
89
+ {{ govukNotificationBanner({
90
90
  html: bannerMessage,
91
91
  type: bannerType
92
92
  }) }}
93
- {% endif %}
94
- <div class="govuk-grid-column-two-thirds {{ rowClasses }}">
95
- {% if errorState %}
96
- {{ govukErrorSummary({
93
+ {% endif %}
94
+
95
+ {% if errorState %}
96
+ {{ govukErrorSummary({
97
97
  titleText: errorTitle | default('Error Summary'),
98
98
  errorList: [
99
99
  {
@@ -102,51 +102,53 @@
102
102
  }
103
103
  ]
104
104
  }) }}
105
- {% endif %}
106
- {% block content %}{% endblock %}
105
+ {% endif %}
106
+ {% block content %}{% endblock %}
107
+ </div>
107
108
  </div>
108
- </div>
109
- </main>
110
- </div>
111
- {% endblock %}
109
+ </main>
110
+ </div>
111
+ {% endblock %}
112
112
 
113
- {% block footer %}
114
- {{ frontendUiFooter({
113
+ {% block footer %}
114
+ {{ frontendUiFooter({
115
115
  translations: translations.translation.footer
116
116
  }) }}
117
- {% endblock %}
118
-
119
- {% block bodyEnd %}
120
- {% block scripts %}{% endblock %}
121
- <script nonce='{{ cspNonce }}' src="/public/javascripts/application.js"></script>
122
- <script type="module" nonce='{{ cspNonce }}' src="/public/javascripts/govuk-frontend.min.js"></script>
123
- <script type="module" nonce='{{ cspNonce }}'>
124
- import { initAll } from '/public/javascripts/govuk-frontend.min.js'
125
- initAll()
126
- </script>
127
- {% if useDeviceIntelligence %}
128
- <script type="module" nonce='{{ cspNonce }}' src="/public/javascripts/fingerprint.js"></script>
129
- <script type="module" nonce='{{ cspNonce }}'>
130
- import { setFingerprintCookie } from "/public/javascripts/fingerprint.js";
131
- setFingerprintCookie('{{ serviceDomain }}')
132
- </script>
133
- {% endif %}
134
- <script nonce='{{ cspNonce }}'>
135
- window.DI = window.DI || {};
136
- window.DI.httpStatusCode = {{ statusCode | d(200) }};
137
- window.DI.journeyState = "{{ googleTagManagerPageId }}";
138
- window.DI.appInit({
139
- ga4ContainerId: "{{ ga4ContainerId }}",
140
- uaContainerId: "{{ uaContainerId }}",
141
- }, {
142
- enableGa4Tracking: {{isGa4Enabled}},
143
- enableUaTracking: {{isUaEnabled}},
144
- cookieDomain: "{{analyticsCookieDomain}}"
145
- });
146
- </script>
147
- {{ ga4OnPageLoad({
117
+ {% endblock %}
118
+
119
+ {% block bodyEnd %}
120
+ {% block scripts %}{% endblock %}
121
+ <script nonce='{{ cspNonce }}' src="/public/javascripts/application.js"></script>
122
+ <script type="module" nonce='{{ cspNonce }}' src="/public/javascripts/govuk-frontend.min.js"></script>
123
+ <script type="module" nonce='{{ cspNonce }}'>
124
+ import {initAll} from '/public/javascripts/govuk-frontend.min.js'
125
+ initAll()
126
+ </script>
127
+ {% if useDeviceIntelligence %}
128
+ <script type="module" nonce='{{ cspNonce }}' src="/public/javascripts/fingerprint.js"></script>
129
+ <script type="module" nonce='{{ cspNonce }}'>
130
+ import {setFingerprintCookie} from "/public/javascripts/fingerprint.js";
131
+ setFingerprintCookie('{{ serviceDomain }}')
132
+ </script>
133
+ {% endif %}
134
+ <script nonce='{{ cspNonce }}'>
135
+ window.DI = window.DI || {};
136
+ window.DI.httpStatusCode = {{ statusCode | d(200) }};
137
+ window.DI.journeyState = "{{ googleTagManagerPageId }}";
138
+ window
139
+ .DI
140
+ .appInit({
141
+ ga4ContainerId: "{{ ga4ContainerId }}",
142
+ uaContainerId: "{{ uaContainerId }}"
143
+ }, {
144
+ enableGa4Tracking: {{isGa4Enabled}},
145
+ enableUaTracking: {{isUaEnabled}},
146
+ cookieDomain: "{{analyticsCookieDomain}}"
147
+ });
148
+ </script>
149
+ {{ ga4OnPageLoad({
148
150
  cspNonce: cspNonce,
149
151
  isPageDynamic: isPageDynamic,
150
152
  englishPageTitle: pageTitleKey | translateToEnglish }) }}
151
153
 
152
- {% endblock %}
154
+ {% endblock %}
@@ -18,3 +18,11 @@
18
18
  border-top: 10px solid #1d70b8;
19
19
  background: #f4f8fb;
20
20
  }
21
+
22
+ .govuk-footer__copyright-logo::before {
23
+ background: rgb(110,119,122,255);
24
+ }
25
+
26
+ .govuk-template--rebranded .govuk-footer__copyright-logo::before{
27
+ background: currentcolor
28
+ }
@@ -221,5 +221,7 @@ const getTranslationObject = (locale, filepath) => {
221
221
  console.warn(`No translation file found for locale: ${locale}`);
222
222
  return {}; // Return an empty object as a fallback
223
223
  };
224
+ const frontendUiTranslationEn = translationEn;
225
+ const frontendUiTranslationCy = translationCy;
224
226
 
225
- export { addLanguageParam, contactUsUrl, frontendUiMiddleware, frontendUiMiddlewareIdentityBypass, getTranslationObject, setBaseTranslations, setFrontendUiTranslations };
227
+ export { addLanguageParam, contactUsUrl, frontendUiMiddleware, frontendUiMiddlewareIdentityBypass, frontendUiTranslationCy, frontendUiTranslationEn, getTranslationObject, setBaseTranslations, setFrontendUiTranslations };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@govuk-one-login/frontend-ui",
3
- "version": "1.3.6",
3
+ "version": "1.3.8",
4
4
  "description": "",
5
5
  "main": "build/cjs/index.cjs",
6
6
  "module": "build/esm/index.js",
@@ -36,13 +36,13 @@
36
36
  "url": "https://github.com/govuk-one-login/govuk-one-login-frontend/issues"
37
37
  },
38
38
  "homepage": "https://github.com/govuk-one-login/govuk-one-login-frontend#readme",
39
- "devDependencies": {},
40
39
  "dependencies": {
41
40
  "js-yaml": "^4.1.0",
42
41
  "pino": "8.20.0"
43
42
  },
44
43
  "peerDependencies": {
45
- "express": "^5.1.0 || >= 4.21.2"
44
+ "express": "^5.1.0 || >= 4.21.2",
45
+ "govuk-frontend": "^4.10.1 || ^5.0.0"
46
46
  },
47
47
  "exports": {
48
48
  ".": {