govuk_publishing_components 24.1.1 → 24.4.1
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/javascripts/govuk_publishing_components/analytics/scroll-tracker.js +28 -0
- data/app/assets/javascripts/govuk_publishing_components/components/accordion.js +52 -8
- data/app/assets/javascripts/govuk_publishing_components/components/cookie-banner.js +26 -6
- data/app/assets/javascripts/govuk_publishing_components/components/details.js +1 -1
- data/app/assets/javascripts/govuk_publishing_components/components/show-password.js +7 -2
- data/app/assets/stylesheets/component_guide/application.scss +0 -8
- data/app/assets/stylesheets/govuk_publishing_components/components/_breadcrumbs.scss +11 -0
- data/app/assets/stylesheets/govuk_publishing_components/components/_cookie-banner.scss +11 -84
- data/app/assets/stylesheets/govuk_publishing_components/components/_search.scss +17 -13
- data/app/models/govuk_publishing_components/audit_applications.rb +1 -1
- data/app/models/govuk_publishing_components/audit_comparer.rb +2 -2
- data/app/models/govuk_publishing_components/component_example.rb +4 -3
- data/app/views/govuk_publishing_components/audit/show.html.erb +211 -199
- data/app/views/govuk_publishing_components/components/_accordion.html.erb +3 -3
- data/app/views/govuk_publishing_components/components/_breadcrumbs.html.erb +8 -5
- data/app/views/govuk_publishing_components/components/_contents_list.html.erb +1 -1
- data/app/views/govuk_publishing_components/components/_cookie_banner.html.erb +50 -39
- data/app/views/govuk_publishing_components/components/_highlight_boxes.html.erb +1 -1
- data/app/views/govuk_publishing_components/components/_image_card.html.erb +1 -1
- data/app/views/govuk_publishing_components/components/_metadata.html.erb +1 -1
- data/app/views/govuk_publishing_components/components/_organisation_logo.html.erb +1 -1
- data/app/views/govuk_publishing_components/components/_previous_and_next_navigation.html.erb +1 -1
- data/app/views/govuk_publishing_components/components/_radio.html.erb +2 -1
- data/app/views/govuk_publishing_components/components/_share_links.html.erb +1 -1
- data/app/views/govuk_publishing_components/components/_show_password.html.erb +6 -4
- data/app/views/govuk_publishing_components/components/_step_by_step_nav_header.html.erb +1 -1
- data/app/views/govuk_publishing_components/components/_step_by_step_nav_related.html.erb +1 -1
- data/app/views/govuk_publishing_components/components/_subscription_links.html.erb +1 -1
- data/app/views/govuk_publishing_components/components/_taxonomy_list.html.erb +1 -1
- data/app/views/govuk_publishing_components/components/_translation_nav.html.erb +1 -1
- data/app/views/govuk_publishing_components/components/contextual_sidebar/_brexit_cta.html.erb +1 -1
- data/app/views/govuk_publishing_components/components/docs/accordion.yml +29 -0
- data/app/views/govuk_publishing_components/components/docs/breadcrumbs.yml +22 -0
- data/app/views/govuk_publishing_components/components/docs/cookie_banner.yml +9 -0
- data/app/views/govuk_publishing_components/components/docs/inverse_header.yml +1 -1
- data/app/views/govuk_publishing_components/components/docs/radio.yml +14 -1
- data/app/views/govuk_publishing_components/components/layout_header/_navigation_items.html.erb +2 -0
- data/app/views/govuk_publishing_components/components/related_navigation/_section.html.erb +2 -2
- data/config/locales/en.yml +7 -5
- data/lib/govuk_publishing_components/app_helpers/table_helper.rb +2 -1
- data/lib/govuk_publishing_components/presenters/machine_readable/faq_page_schema.rb +1 -1
- data/lib/govuk_publishing_components/presenters/machine_readable/html_publication_schema.rb +1 -7
- data/lib/govuk_publishing_components/presenters/meta_tags.rb +1 -2
- data/lib/govuk_publishing_components/presenters/related_navigation_helper.rb +2 -2
- data/lib/govuk_publishing_components/version.rb +1 -1
- data/lib/tasks/govuk_publishing_components_tasks.rake +1 -1
- metadata +7 -7
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 6b37372eea898cc35257f4c1eb22682eca8b7c52c3a33ad974d68ba708d0c1bb
|
|
4
|
+
data.tar.gz: 84f9e46d8224bc5a3bc1d472c965926a4bea81ce64a7a88b01be4a56c20ae171
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 75ff1497d81807ec11c3f7fd667835204de9db7a1efec78445e82a097d71406874687d6563d91667e5362578484892db688feefcbfa94968975033022c69d82f
|
|
7
|
+
data.tar.gz: 012e764ff160ecfa9527f2a20bc37ec33a956eb1644da5f66c93eb42b706134a8ae8fe722989027545741b36f28cb59afe4339b28a94169de2331b0f05165914
|
|
@@ -405,6 +405,34 @@
|
|
|
405
405
|
],
|
|
406
406
|
'/eubusiness': [
|
|
407
407
|
['Heading', 'Additional help and support']
|
|
408
|
+
],
|
|
409
|
+
'/coronavirus': [
|
|
410
|
+
['Percent', 20],
|
|
411
|
+
['Percent', 40],
|
|
412
|
+
['Percent', 60],
|
|
413
|
+
['Percent', 80],
|
|
414
|
+
['Percent', 100]
|
|
415
|
+
],
|
|
416
|
+
'/coronavirus/education-and-childcare': [
|
|
417
|
+
['Percent', 20],
|
|
418
|
+
['Percent', 40],
|
|
419
|
+
['Percent', 60],
|
|
420
|
+
['Percent', 80],
|
|
421
|
+
['Percent', 100]
|
|
422
|
+
],
|
|
423
|
+
'/coronavirus/worker-support': [
|
|
424
|
+
['Percent', 20],
|
|
425
|
+
['Percent', 40],
|
|
426
|
+
['Percent', 60],
|
|
427
|
+
['Percent', 80],
|
|
428
|
+
['Percent', 100]
|
|
429
|
+
],
|
|
430
|
+
'/coronavirus/business-support': [
|
|
431
|
+
['Percent', 20],
|
|
432
|
+
['Percent', 40],
|
|
433
|
+
['Percent', 60],
|
|
434
|
+
['Percent', 80],
|
|
435
|
+
['Percent', 100]
|
|
408
436
|
]
|
|
409
437
|
}
|
|
410
438
|
|
|
@@ -11,8 +11,9 @@ window.GOVUK.Modules = window.GOVUK.Modules || {};
|
|
|
11
11
|
|
|
12
12
|
GemAccordion.prototype.start = function ($module) {
|
|
13
13
|
this.$module = $module[0]
|
|
14
|
+
this.sectionClass = 'gem-c-accordion__section'
|
|
14
15
|
this.moduleId = this.$module.getAttribute('id')
|
|
15
|
-
this.sections = this.$module.querySelectorAll('.
|
|
16
|
+
this.sections = this.$module.querySelectorAll('.' + this.sectionClass)
|
|
16
17
|
this.openAllButton = ''
|
|
17
18
|
this.browserSupportsSessionStorage = helper.checkForSessionStorage()
|
|
18
19
|
this.controlsClass = 'gem-c-accordion__controls'
|
|
@@ -36,6 +37,12 @@ window.GOVUK.Modules = window.GOVUK.Modules || {};
|
|
|
36
37
|
this.initControls()
|
|
37
38
|
this.initSectionHeaders()
|
|
38
39
|
|
|
40
|
+
// Feature flag for anchor tag navigation used on manuals
|
|
41
|
+
if (this.$module.getAttribute('data-anchor-navigation')) {
|
|
42
|
+
this.openByAnchorOnLoad()
|
|
43
|
+
this.addEventListenersForAnchors()
|
|
44
|
+
}
|
|
45
|
+
|
|
39
46
|
// See if "Show all sections" button text should be updated
|
|
40
47
|
var areAllSectionsOpen = this.checkIfAllSectionsOpen()
|
|
41
48
|
this.updateOpenAllButton(areAllSectionsOpen)
|
|
@@ -59,7 +66,7 @@ window.GOVUK.Modules = window.GOVUK.Modules || {};
|
|
|
59
66
|
accordionControls.appendChild(this.openAllButton)
|
|
60
67
|
this.$module.insertBefore(accordionControls, this.$module.firstChild)
|
|
61
68
|
|
|
62
|
-
// Build
|
|
69
|
+
// Build additional wrapper for open all toggle text, place icon after wrapped text.
|
|
63
70
|
var wrapperOpenAllText = document.createElement('span')
|
|
64
71
|
wrapperOpenAllText.classList.add(this.openAllTextClass)
|
|
65
72
|
this.openAllButton.insertBefore(wrapperOpenAllText, this.openAllButton.childNodes[0] || null)
|
|
@@ -74,6 +81,7 @@ window.GOVUK.Modules = window.GOVUK.Modules || {};
|
|
|
74
81
|
nodeListForEach(this.sections, function (section, i) {
|
|
75
82
|
// Set header attributes
|
|
76
83
|
var header = section.querySelector('.' + this.sectionHeaderClass)
|
|
84
|
+
|
|
77
85
|
this.initHeaderAttributes(header, i)
|
|
78
86
|
this.setExpanded(this.isExpanded(section), section)
|
|
79
87
|
|
|
@@ -106,12 +114,12 @@ window.GOVUK.Modules = window.GOVUK.Modules || {};
|
|
|
106
114
|
srPause.classList.add('govuk-visually-hidden')
|
|
107
115
|
srPause.innerHTML = ', '
|
|
108
116
|
|
|
109
|
-
// Build
|
|
110
|
-
var
|
|
111
|
-
|
|
112
|
-
|
|
117
|
+
// Build additional copy for assistive technology
|
|
118
|
+
var srAdditionalCopy = document.createElement('span')
|
|
119
|
+
srAdditionalCopy.classList.add('govuk-visually-hidden')
|
|
120
|
+
srAdditionalCopy.innerHTML = ' this section'
|
|
113
121
|
|
|
114
|
-
// Build
|
|
122
|
+
// Build additional wrapper for toggle text, place icon after wrapped text.
|
|
115
123
|
var wrapperShowHideIcon = document.createElement('span')
|
|
116
124
|
var icon = document.createElement('span')
|
|
117
125
|
icon.classList.add(this.upChevonIconClass)
|
|
@@ -138,7 +146,7 @@ window.GOVUK.Modules = window.GOVUK.Modules || {};
|
|
|
138
146
|
}
|
|
139
147
|
|
|
140
148
|
button.appendChild(showIcons)
|
|
141
|
-
button.appendChild(
|
|
149
|
+
button.appendChild(srAdditionalCopy)
|
|
142
150
|
}
|
|
143
151
|
|
|
144
152
|
// When section toggled, set and store state
|
|
@@ -283,5 +291,41 @@ window.GOVUK.Modules = window.GOVUK.Modules || {};
|
|
|
283
291
|
}
|
|
284
292
|
}
|
|
285
293
|
|
|
294
|
+
// Navigate to and open accordions with anchored content on page load if a hash is present
|
|
295
|
+
GemAccordion.prototype.openByAnchorOnLoad = function () {
|
|
296
|
+
if (window.location.hash && this.$module.querySelector(window.location.hash)) {
|
|
297
|
+
this.openForAnchor(window.location.hash)
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
|
|
301
|
+
// Add event listeners for links to open accordion sections when navigated to using said anchor links on the page
|
|
302
|
+
// Adding an event listener to all anchor link a tags in an accordion is risky but we circumvent this risk partially by only being a layer of accordion behaviour instead of any sort of change to link behaviour
|
|
303
|
+
GemAccordion.prototype.addEventListenersForAnchors = function () {
|
|
304
|
+
var links = this.$module.querySelectorAll('.' + this.sectionInnerContent + ' a[href*="#"]')
|
|
305
|
+
|
|
306
|
+
links.forEach(function (link) {
|
|
307
|
+
if (link.pathname === window.location.pathname) {
|
|
308
|
+
link.addEventListener('click', this.openForAnchor.bind(this, link.hash))
|
|
309
|
+
}
|
|
310
|
+
}.bind(this))
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
// Find the parent accordion section for the given id and open it
|
|
314
|
+
GemAccordion.prototype.openForAnchor = function (hash) {
|
|
315
|
+
var target = document.querySelector(hash)
|
|
316
|
+
var section = this.getContainingSection(target)
|
|
317
|
+
|
|
318
|
+
this.setExpanded(true, section)
|
|
319
|
+
}
|
|
320
|
+
|
|
321
|
+
// Loop through the given ids ancestors until the parent section class is found
|
|
322
|
+
GemAccordion.prototype.getContainingSection = function (target) {
|
|
323
|
+
while (!target.classList.contains(this.sectionClass)) {
|
|
324
|
+
target = target.parentElement
|
|
325
|
+
}
|
|
326
|
+
|
|
327
|
+
return target
|
|
328
|
+
}
|
|
329
|
+
|
|
286
330
|
Modules.GemAccordion = GemAccordion
|
|
287
331
|
})(window.GOVUK.Modules)
|
|
@@ -9,10 +9,11 @@ window.GOVUK.Modules = window.GOVUK.Modules || {};
|
|
|
9
9
|
this.$module.hideCookieMessage = this.hideCookieMessage.bind(this)
|
|
10
10
|
this.$module.showConfirmationMessage = this.showConfirmationMessage.bind(this)
|
|
11
11
|
this.$module.setCookieConsent = this.setCookieConsent.bind(this)
|
|
12
|
+
this.$module.rejectCookieConsent = this.rejectCookieConsent.bind(this)
|
|
12
13
|
|
|
13
14
|
this.$module.cookieBanner = document.querySelector('.gem-c-cookie-banner')
|
|
14
15
|
this.$module.cookieBannerConfirmationMessage = this.$module.querySelector('.gem-c-cookie-banner__confirmation')
|
|
15
|
-
|
|
16
|
+
this.$module.cookieBannerConfirmationMessageText = this.$module.querySelector('.gem-c-cookie-banner__confirmation-message')
|
|
16
17
|
this.setupCookieMessage()
|
|
17
18
|
}
|
|
18
19
|
|
|
@@ -24,9 +25,16 @@ window.GOVUK.Modules = window.GOVUK.Modules || {};
|
|
|
24
25
|
}
|
|
25
26
|
}
|
|
26
27
|
|
|
27
|
-
this.$
|
|
28
|
-
if (this.$
|
|
29
|
-
this.$
|
|
28
|
+
this.$acceptCookiesButton = this.$module.querySelector('button[data-accept-cookies]')
|
|
29
|
+
if (this.$acceptCookiesButton) {
|
|
30
|
+
this.$acceptCookiesButton.style.display = 'block'
|
|
31
|
+
this.$acceptCookiesButton.addEventListener('click', this.$module.setCookieConsent)
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
this.$rejectCookiesButton = this.$module.querySelector('button[data-reject-cookies]')
|
|
35
|
+
if (this.$rejectCookiesButton) {
|
|
36
|
+
this.$rejectCookiesButton.style.display = 'block'
|
|
37
|
+
this.$rejectCookiesButton.addEventListener('click', this.$module.rejectCookieConsent)
|
|
30
38
|
}
|
|
31
39
|
|
|
32
40
|
this.showCookieMessage()
|
|
@@ -56,6 +64,7 @@ window.GOVUK.Modules = window.GOVUK.Modules || {};
|
|
|
56
64
|
|
|
57
65
|
CookieBanner.prototype.hideCookieMessage = function (event) {
|
|
58
66
|
if (this.$module) {
|
|
67
|
+
this.$module.hidden = true
|
|
59
68
|
this.$module.style.display = 'none'
|
|
60
69
|
window.GOVUK.cookie('cookies_preferences_set', 'true', { days: 365 })
|
|
61
70
|
}
|
|
@@ -66,6 +75,9 @@ window.GOVUK.Modules = window.GOVUK.Modules || {};
|
|
|
66
75
|
}
|
|
67
76
|
|
|
68
77
|
CookieBanner.prototype.setCookieConsent = function () {
|
|
78
|
+
if (this.$acceptCookiesButton.getAttribute('data-cookie-types') === 'all') {
|
|
79
|
+
this.$module.cookieBannerConfirmationMessageText.insertAdjacentHTML('afterbegin', 'You have accepted additional cookies. ')
|
|
80
|
+
}
|
|
69
81
|
window.GOVUK.approveAllCookieTypes()
|
|
70
82
|
this.$module.showConfirmationMessage()
|
|
71
83
|
this.$module.cookieBannerConfirmationMessage.focus()
|
|
@@ -78,11 +90,19 @@ window.GOVUK.Modules = window.GOVUK.Modules || {};
|
|
|
78
90
|
}
|
|
79
91
|
}
|
|
80
92
|
|
|
93
|
+
CookieBanner.prototype.rejectCookieConsent = function () {
|
|
94
|
+
this.$module.cookieBannerConfirmationMessageText.insertAdjacentHTML('afterbegin', 'You have rejected additional cookies. ')
|
|
95
|
+
this.$module.showConfirmationMessage()
|
|
96
|
+
this.$module.cookieBannerConfirmationMessage.focus()
|
|
97
|
+
window.GOVUK.cookie('cookies_preferences_set', 'true', { days: 365 })
|
|
98
|
+
}
|
|
99
|
+
|
|
81
100
|
CookieBanner.prototype.showConfirmationMessage = function () {
|
|
82
|
-
this.$cookieBannerMainContent = document.querySelector('.
|
|
101
|
+
this.$cookieBannerMainContent = document.querySelector('.js-banner-wrapper')
|
|
83
102
|
|
|
84
|
-
this.$cookieBannerMainContent.
|
|
103
|
+
this.$cookieBannerMainContent.hidden = true
|
|
85
104
|
this.$module.cookieBannerConfirmationMessage.style.display = 'block'
|
|
105
|
+
this.$module.cookieBannerConfirmationMessage.hidden = false
|
|
86
106
|
}
|
|
87
107
|
|
|
88
108
|
CookieBanner.prototype.isInCookiesPage = function () {
|
|
@@ -13,7 +13,7 @@ window.GOVUK.Modules = window.GOVUK.Modules || {};
|
|
|
13
13
|
|
|
14
14
|
// If a custom label has been provided, we can simply call the tracking module
|
|
15
15
|
if (customTrackLabel) {
|
|
16
|
-
var trackDetails = new window.GOVUK.Modules.
|
|
16
|
+
var trackDetails = new window.GOVUK.Modules.GemTrackClick()
|
|
17
17
|
trackDetails.start($module)
|
|
18
18
|
} else {
|
|
19
19
|
// If no custom label is set, we use the open/close status as the label
|
|
@@ -11,8 +11,10 @@ window.GOVUK.Modules = window.GOVUK.Modules || {};
|
|
|
11
11
|
this.$module.revertToPasswordOnFormSubmit = this.revertToPasswordOnFormSubmit.bind(this)
|
|
12
12
|
this.input.classList.add('gem-c-input--with-password')
|
|
13
13
|
|
|
14
|
-
this.showPasswordText = this.$module.getAttribute('data-show')
|
|
15
|
-
this.hidePasswordText = this.$module.getAttribute('data-hide')
|
|
14
|
+
this.showPasswordText = this.$module.getAttribute('data-show-text')
|
|
15
|
+
this.hidePasswordText = this.$module.getAttribute('data-hide-text')
|
|
16
|
+
this.showPasswordFullText = this.$module.getAttribute('data-show-full-text')
|
|
17
|
+
this.hidePasswordFullText = this.$module.getAttribute('data-hide-full-text')
|
|
16
18
|
this.shownPassword = this.$module.getAttribute('data-announce-show')
|
|
17
19
|
this.hiddenPassword = this.$module.getAttribute('data-announce-hide')
|
|
18
20
|
|
|
@@ -27,6 +29,7 @@ window.GOVUK.Modules = window.GOVUK.Modules || {};
|
|
|
27
29
|
this.showHide.className = 'gem-c-show-password__toggle'
|
|
28
30
|
this.showHide.setAttribute('aria-controls', this.input.getAttribute('id'))
|
|
29
31
|
this.showHide.setAttribute('type', 'button')
|
|
32
|
+
this.showHide.setAttribute('aria-label', this.showPasswordFullText)
|
|
30
33
|
this.showHide.innerHTML = this.showPasswordText
|
|
31
34
|
this.wrapper.insertBefore(this.showHide, this.input.nextSibling)
|
|
32
35
|
|
|
@@ -50,12 +53,14 @@ window.GOVUK.Modules = window.GOVUK.Modules || {};
|
|
|
50
53
|
ShowPassword.prototype.togglePassword = function (event) {
|
|
51
54
|
event.preventDefault()
|
|
52
55
|
this.showHide.innerHTML = this.showHide.innerHTML === this.showPasswordText ? this.hidePasswordText : this.showPasswordText
|
|
56
|
+
this.showHide.setAttribute('aria-label', this.showHide.getAttribute('aria-label') === this.showPasswordFullText ? this.hidePasswordFullText : this.showPasswordFullText)
|
|
53
57
|
this.statusText.innerHTML = this.statusText.innerHTML === this.shownPassword ? this.hiddenPassword : this.shownPassword
|
|
54
58
|
this.input.setAttribute('type', this.input.getAttribute('type') === 'text' ? 'password' : 'text')
|
|
55
59
|
}
|
|
56
60
|
|
|
57
61
|
ShowPassword.prototype.revertToPasswordOnFormSubmit = function (event) {
|
|
58
62
|
this.showHide.innerHTML = this.showPasswordText
|
|
63
|
+
this.showHide.setAttribute('aria-label', this.showPasswordFullText)
|
|
59
64
|
this.statusText.innerHTML = this.hiddenPassword
|
|
60
65
|
this.input.setAttribute('type', 'password')
|
|
61
66
|
}
|
|
@@ -262,14 +262,6 @@ html {
|
|
|
262
262
|
}
|
|
263
263
|
}
|
|
264
264
|
|
|
265
|
-
// Hide survey banner
|
|
266
|
-
// stylelint-disable selector-max-id
|
|
267
|
-
#user-satisfaction-survey-container,
|
|
268
|
-
#global-cookie-message {
|
|
269
|
-
display: none;
|
|
270
|
-
}
|
|
271
|
-
// stylelint-enable selector-max-id
|
|
272
|
-
|
|
273
265
|
// Rouge syntax highlighting
|
|
274
266
|
// Based on https://github.com/alphagov/tech-docs-template/blob/master/template/source/stylesheets/palette/_syntax-highlighting.scss
|
|
275
267
|
|
|
@@ -21,6 +21,17 @@
|
|
|
21
21
|
border-color: govuk-colour("white");
|
|
22
22
|
}
|
|
23
23
|
|
|
24
|
+
.gem-c-breadcrumbs--border-bottom {
|
|
25
|
+
border-bottom: 1px solid $govuk-border-colour;
|
|
26
|
+
padding-bottom: govuk-spacing(1);
|
|
27
|
+
|
|
28
|
+
&.govuk-breadcrumbs--collapse-on-mobile {
|
|
29
|
+
@include govuk-media-query($until: tablet) {
|
|
30
|
+
padding-bottom: 0;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
|
|
24
35
|
.govuk-breadcrumbs--collapse-on-mobile {
|
|
25
36
|
@include govuk-media-query($until: tablet) {
|
|
26
37
|
.govuk-breadcrumbs__list-item {
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
@import "govuk/components/cookie-banner/cookie-banner";
|
|
1
2
|
$govuk-cookie-banner-background: govuk-colour("light-grey", "grey-4");
|
|
2
3
|
|
|
3
4
|
.js-enabled {
|
|
@@ -7,50 +8,14 @@ $govuk-cookie-banner-background: govuk-colour("light-grey", "grey-4");
|
|
|
7
8
|
}
|
|
8
9
|
|
|
9
10
|
.gem-c-cookie-banner {
|
|
10
|
-
@include govuk-font($size: 16);
|
|
11
|
-
padding: govuk-spacing(2) 0;
|
|
12
11
|
background-color: $govuk-cookie-banner-background;
|
|
13
12
|
}
|
|
14
13
|
|
|
15
|
-
|
|
14
|
+
// can't be used without js so implement there
|
|
15
|
+
.gem-c-cookie-banner .gem-c-button {
|
|
16
16
|
display: none;
|
|
17
17
|
}
|
|
18
18
|
|
|
19
|
-
.gem-c-cookie-banner__message {
|
|
20
|
-
display: inline-block;
|
|
21
|
-
padding-bottom: govuk-spacing(2);
|
|
22
|
-
|
|
23
|
-
@include govuk-font($size: 16);
|
|
24
|
-
@include govuk-media-query($from: desktop) {
|
|
25
|
-
padding-right: govuk-spacing(4);
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
.gem-c-cookie-banner__button {
|
|
30
|
-
&.govuk-grid-column-one-half-from-desktop {
|
|
31
|
-
padding: 0;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
.govuk-button {
|
|
35
|
-
@include govuk-media-query($from: desktop) {
|
|
36
|
-
width: 90%;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
@include govuk-media-query($until: desktop) {
|
|
40
|
-
margin-bottom: govuk-spacing(4);
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
// Only show accept button if users have js and can accept
|
|
46
|
-
.gem-c-cookie-banner__button-accept {
|
|
47
|
-
display: none;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
.js-enabled .gem-c-cookie-banner__button-accept {
|
|
51
|
-
display: inline-block;
|
|
52
|
-
}
|
|
53
|
-
|
|
54
19
|
.gem-c-cookie-banner__confirmation {
|
|
55
20
|
display: none;
|
|
56
21
|
position: relative;
|
|
@@ -81,51 +46,18 @@ $govuk-cookie-banner-background: govuk-colour("light-grey", "grey-4");
|
|
|
81
46
|
}
|
|
82
47
|
}
|
|
83
48
|
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
outline: 0;
|
|
87
|
-
border: 0;
|
|
88
|
-
background: none;
|
|
89
|
-
text-decoration: underline;
|
|
90
|
-
color: $govuk-link-colour;
|
|
91
|
-
padding: govuk-spacing(0);
|
|
92
|
-
margin-top: govuk-spacing(2);
|
|
49
|
+
// Override style from design system so we can have consistent
|
|
50
|
+
// padding on the the banner and the confirmation
|
|
93
51
|
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
cursor: pointer;
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
&:focus {
|
|
100
|
-
@include govuk-focused-text;
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
@include govuk-media-query($from: desktop) {
|
|
104
|
-
margin-top: govuk-spacing(0);
|
|
105
|
-
position: absolute;
|
|
106
|
-
right: govuk-spacing(1);
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
.gem-c-cookie-banner__buttons--flex {
|
|
111
|
-
display: flex;
|
|
112
|
-
flex-wrap: wrap;
|
|
113
|
-
align-items: baseline;
|
|
114
|
-
|
|
115
|
-
.govuk-button,
|
|
116
|
-
.gem-c-cookie-banner__link {
|
|
117
|
-
flex-grow: 1;
|
|
118
|
-
flex-basis: 10rem;
|
|
119
|
-
margin-right: govuk-spacing(3);
|
|
120
|
-
margin-bottom: govuk-spacing(3);
|
|
121
|
-
}
|
|
52
|
+
.govuk-cookie-banner {
|
|
53
|
+
padding-top: 0;
|
|
122
54
|
}
|
|
123
55
|
|
|
124
56
|
// Override the styles from govuk_template
|
|
125
57
|
// stylelint-disable selector-max-id
|
|
126
58
|
.gem-c-cookie-banner#global-cookie-message {
|
|
127
59
|
background-color: $govuk-cookie-banner-background;
|
|
128
|
-
padding: govuk-spacing(
|
|
60
|
+
padding: govuk-spacing(3) 0 0 0;
|
|
129
61
|
box-sizing: border-box;
|
|
130
62
|
|
|
131
63
|
.gem-c-cookie-banner__message,
|
|
@@ -135,18 +67,13 @@ $govuk-cookie-banner-background: govuk-colour("light-grey", "grey-4");
|
|
|
135
67
|
@include govuk-font($size: 19);
|
|
136
68
|
}
|
|
137
69
|
|
|
138
|
-
.gem-c-cookie-banner__message {
|
|
139
|
-
margin-bottom: 0;
|
|
140
|
-
}
|
|
141
|
-
|
|
142
70
|
p {
|
|
143
71
|
@include govuk-font($size: 19);
|
|
144
72
|
margin: 0 0 govuk-spacing(2) 0;
|
|
145
73
|
}
|
|
146
74
|
|
|
147
|
-
.gem-c-cookie-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
}
|
|
75
|
+
.gem-c-cookie-banner__message,
|
|
76
|
+
.gem-c-cookie-banner__confirmation {
|
|
77
|
+
margin-bottom: - govuk-spacing(2);
|
|
151
78
|
}
|
|
152
79
|
}
|
|
@@ -34,6 +34,21 @@ $large-input-size: 50px;
|
|
|
34
34
|
}
|
|
35
35
|
}
|
|
36
36
|
|
|
37
|
+
%gem-c-search-input-focus {
|
|
38
|
+
outline: $govuk-focus-width solid $govuk-focus-colour;
|
|
39
|
+
// Ensure outline appears outside of the element
|
|
40
|
+
outline-offset: 0;
|
|
41
|
+
// Double the border by adding its width again. Use `box-shadow` for this // instead of changing `border-width`
|
|
42
|
+
// Also, `outline` cannot be utilised here as it is already used for the yellow focus state.
|
|
43
|
+
box-shadow: inset 0 0 0 $govuk-border-width-form-element;
|
|
44
|
+
|
|
45
|
+
@include govuk-if-ie8 {
|
|
46
|
+
// IE8 doesn't support `box-shadow` so double the border with
|
|
47
|
+
// `border-width`.
|
|
48
|
+
border-width: $govuk-border-width-form-element * 2;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
|
|
37
52
|
.gem-c-search__input[type="search"] { // overly specific to prevent some overrides from outside
|
|
38
53
|
@include govuk-font($size: 19, $line-height: (28 / 19));
|
|
39
54
|
margin: 0;
|
|
@@ -59,25 +74,14 @@ $large-input-size: 50px;
|
|
|
59
74
|
}
|
|
60
75
|
|
|
61
76
|
&:focus {
|
|
62
|
-
|
|
63
|
-
// Ensure outline appears outside of the element
|
|
64
|
-
outline-offset: 0;
|
|
65
|
-
// Double the border by adding its width again. Use `box-shadow` for this // instead of changing `border-width`
|
|
66
|
-
// Also, `outline` cannot be utilised here as it is already used for the yellow focus state.
|
|
67
|
-
box-shadow: inset 0 0 0 $govuk-border-width-form-element;
|
|
68
|
-
|
|
69
|
-
@include govuk-if-ie8 {
|
|
70
|
-
// IE8 doesn't support `box-shadow` so double the border with
|
|
71
|
-
// `border-width`.
|
|
72
|
-
border-width: $govuk-border-width-form-element * 2;
|
|
73
|
-
}
|
|
77
|
+
@extend %gem-c-search-input-focus;
|
|
74
78
|
}
|
|
75
79
|
}
|
|
76
80
|
|
|
77
81
|
@include govuk-compatibility(govuk_template) {
|
|
78
82
|
// ultra specific rule overrides focus styling from govuk_template
|
|
79
83
|
#global-header .gem-c-search__input[type="search"]:focus { // stylelint-disable selector-max-id
|
|
80
|
-
@extend
|
|
84
|
+
@extend %gem-c-search-input-focus;
|
|
81
85
|
}
|
|
82
86
|
}
|
|
83
87
|
|