govuk_publishing_components 24.16.1 → 24.17.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (20) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/images/govuk_publishing_components/action-link-arrow--brexit.svg +3 -0
  3. data/app/assets/javascripts/govuk_publishing_components/components/button.js +1 -1
  4. data/app/assets/javascripts/govuk_publishing_components/components/character-count.js +1 -1
  5. data/app/assets/javascripts/govuk_publishing_components/components/checkboxes.js +10 -10
  6. data/app/assets/javascripts/govuk_publishing_components/components/details.js +5 -5
  7. data/app/assets/javascripts/govuk_publishing_components/components/error-summary.js +1 -1
  8. data/app/assets/javascripts/govuk_publishing_components/components/layout-header.js +1 -1
  9. data/app/assets/javascripts/govuk_publishing_components/components/radio.js +1 -1
  10. data/app/assets/javascripts/govuk_publishing_components/components/tabs.js +1 -1
  11. data/app/assets/javascripts/govuk_publishing_components/lib/govspeak/all.js +1 -0
  12. data/app/assets/javascripts/govuk_publishing_components/modules.js +23 -20
  13. data/app/assets/javascripts/govuk_publishing_components/vendor/polyfills/all.js +1 -0
  14. data/app/assets/stylesheets/govuk_publishing_components/components/_action-link.scss +25 -0
  15. data/app/views/govuk_publishing_components/components/_action_link.html.erb +2 -0
  16. data/app/views/govuk_publishing_components/components/_checkboxes.html.erb +2 -2
  17. data/app/views/govuk_publishing_components/components/_details.html.erb +1 -1
  18. data/app/views/govuk_publishing_components/components/docs/action_link.yml +2 -2
  19. data/lib/govuk_publishing_components/version.rb +1 -1
  20. metadata +5 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6fa4cc15c73945ed5cadb8da13004d32ca8815d1ce90c3d19f4981d14be0f1d5
4
- data.tar.gz: dcead4701b9524c83a2f7d897e2e8e4defc2de6ee83350664f467140439d6767
3
+ metadata.gz: c57ef1405fbd96f5987dc24d795eb197a2682388ba0f3ccd4d09e933a5c0e8d2
4
+ data.tar.gz: 1213a4f3a3ac27a30ddba5a3f265607a1ff2970a5ee47896759c50986ab16f19
5
5
  SHA512:
6
- metadata.gz: 81abe2a341566203cbf3db3d3f194540e9322cd21654c7e6cd3a3b2acf2212d3b7ac0b3a15785ddf8f3415820b27154e92c28ff48107f0aa18132b98a33a39ba
7
- data.tar.gz: 626dee02647614f4e9513b98d2bba9cf1aa7d2d74e52e34604d5e23239167d1f5cb0184bf961ec52e795f10c6bf854b93674ef1a4f352d1869f83e84c02cf16f
6
+ metadata.gz: f769ee68de178a08f866be215ed3c01a9a113c83cc56c120dbb47093659dfeeda6e4ca5f20d576b000125efaff11423a034a4931a138f31fcf95b6fae6c91809
7
+ data.tar.gz: 6aa9cd20cc9e8bd4c3a5c377bb863ec02704bbbf8eddf9f28153b102b0c32b001b5f23ca7539a453b67cdc7b551447e762c6ff1a47114a20581e876e1ed083f4
@@ -0,0 +1,3 @@
1
+ <svg width="38" height="36" viewBox="0 0 38 36" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M38 35.8461C34.8518 35.8299 31.701 35.8136 28.5528 35.7974C28.5447 29.2599 28.5366 22.7252 28.5284 16.1878C21.8989 22.7252 15.2721 29.2599 8.64252 35.7974C5.8547 35.792 3.06417 35.7838 0.276344 35.7784C0.262798 34.1366 0.249251 32.4948 0.232996 30.8503C7.36917 23.7195 14.5026 16.5833 21.6388 9.44717C14.4268 9.47697 7.21204 9.50406 0 9.53387C3.17254 6.35862 6.34778 3.18608 9.52032 0.010837C19.0135 0.00812776 28.5068 0.00270925 38 0C38 11.9234 38 23.8577 38 35.8461Z" fill="#FF003B"/>
3
+ </svg>
@@ -2,4 +2,4 @@
2
2
  // = require govuk/components/button/button.js
3
3
  window.GOVUK = window.GOVUK || {}
4
4
  window.GOVUK.Modules = window.GOVUK.Modules || {}
5
- window.GOVUK.Modules.Button = window.GOVUKFrontend
5
+ window.GOVUK.Modules.GovukButton = window.GOVUKFrontend
@@ -2,4 +2,4 @@
2
2
  // = require govuk/components/character-count/character-count.js
3
3
  window.GOVUK = window.GOVUK || {}
4
4
  window.GOVUK.Modules = window.GOVUK.Modules || {}
5
- window.GOVUK.Modules.CharacterCount = window.GOVUKFrontend
5
+ window.GOVUK.Modules.GovukCharacterCount = window.GOVUKFrontend
@@ -3,17 +3,17 @@
3
3
  // = require govuk/components/checkboxes/checkboxes.js
4
4
  window.GOVUK = window.GOVUK || {}
5
5
  window.GOVUK.Modules = window.GOVUK.Modules || {}
6
- window.GOVUK.Modules.Checkboxes = window.GOVUKFrontend;
6
+ window.GOVUK.Modules.GovukCheckboxes = window.GOVUKFrontend;
7
7
 
8
8
  (function (Modules) {
9
- function GovukCheckboxes ($module) {
9
+ function GemCheckboxes ($module) {
10
10
  this.$module = $module
11
11
  this.$checkboxes = this.$module.querySelectorAll('input[type=checkbox]')
12
12
  this.$nestedCheckboxes = this.$module.querySelectorAll('[data-nested=true] input[type=checkbox]')
13
13
  this.$exclusiveCheckboxes = this.$module.querySelectorAll('[data-exclusive=true] input[type=checkbox]')
14
14
  }
15
15
 
16
- GovukCheckboxes.prototype.init = function () {
16
+ GemCheckboxes.prototype.init = function () {
17
17
  this.applyAriaControlsAttributes(this.$module)
18
18
 
19
19
  for (var i = 0; i < this.$checkboxes.length; i++) {
@@ -29,7 +29,7 @@ window.GOVUK.Modules.Checkboxes = window.GOVUKFrontend;
29
29
  }
30
30
  }
31
31
 
32
- GovukCheckboxes.prototype.handleCheckboxChange = function (event) {
32
+ GemCheckboxes.prototype.handleCheckboxChange = function (event) {
33
33
  if (window.GOVUK.analytics && window.GOVUK.analytics.trackEvent) {
34
34
  // Where checkboxes are manipulated externally in finders, `suppressAnalytics`
35
35
  // is passed to prevent duplicate GA events.
@@ -58,7 +58,7 @@ window.GOVUK.Modules.Checkboxes = window.GOVUKFrontend;
58
58
  }
59
59
  }
60
60
 
61
- GovukCheckboxes.prototype.handleNestedCheckboxChange = function (event) {
61
+ GemCheckboxes.prototype.handleNestedCheckboxChange = function (event) {
62
62
  var $checkbox = event.target
63
63
  var $isNested = $checkbox.closest('.govuk-checkboxes--nested')
64
64
  var $hasNested = this.$module.querySelector('.govuk-checkboxes--nested[data-parent=' + $checkbox.id + ']')
@@ -70,7 +70,7 @@ window.GOVUK.Modules.Checkboxes = window.GOVUKFrontend;
70
70
  }
71
71
  }
72
72
 
73
- GovukCheckboxes.prototype.toggleNestedCheckboxes = function ($scope, $checkbox) {
73
+ GemCheckboxes.prototype.toggleNestedCheckboxes = function ($scope, $checkbox) {
74
74
  var $nestedCheckboxes = $scope.querySelectorAll('input[type=checkbox]')
75
75
  if ($checkbox.checked) {
76
76
  for (var i = 0; i < $nestedCheckboxes.length; i++) {
@@ -83,7 +83,7 @@ window.GOVUK.Modules.Checkboxes = window.GOVUKFrontend;
83
83
  }
84
84
  }
85
85
 
86
- GovukCheckboxes.prototype.toggleParentCheckbox = function ($scope, $checkbox) {
86
+ GemCheckboxes.prototype.toggleParentCheckbox = function ($scope, $checkbox) {
87
87
  var $inputs = $scope.querySelectorAll('input')
88
88
  var $checkedInputs = $scope.querySelectorAll('input:checked')
89
89
  var parentId = $scope.getAttribute('data-parent')
@@ -96,7 +96,7 @@ window.GOVUK.Modules.Checkboxes = window.GOVUKFrontend;
96
96
  }
97
97
  }
98
98
 
99
- GovukCheckboxes.prototype.handleExclusiveCheckboxChange = function (event) {
99
+ GemCheckboxes.prototype.handleExclusiveCheckboxChange = function (event) {
100
100
  var $currentCheckbox = event.target
101
101
  var $checkboxes = $currentCheckbox.closest('.govuk-checkboxes')
102
102
  var $exclusiveOption = $checkboxes.querySelector('input[type=checkbox][data-exclusive]')
@@ -113,7 +113,7 @@ window.GOVUK.Modules.Checkboxes = window.GOVUKFrontend;
113
113
  }
114
114
  }
115
115
 
116
- GovukCheckboxes.prototype.applyAriaControlsAttributes = function ($scope) {
116
+ GemCheckboxes.prototype.applyAriaControlsAttributes = function ($scope) {
117
117
  var $inputs = $scope.querySelectorAll('[data-controls]')
118
118
 
119
119
  for (var i = 0; i < $inputs.length; i++) {
@@ -121,5 +121,5 @@ window.GOVUK.Modules.Checkboxes = window.GOVUKFrontend;
121
121
  }
122
122
  }
123
123
 
124
- Modules.GovukCheckboxes = GovukCheckboxes
124
+ Modules.GemCheckboxes = GemCheckboxes
125
125
  })(window.GOVUK.Modules)
@@ -2,16 +2,16 @@
2
2
  // = require govuk/components/details/details.js
3
3
  window.GOVUK = window.GOVUK || {}
4
4
  window.GOVUK.Modules = window.GOVUK.Modules || {}
5
- window.GOVUK.Modules.Details = window.GOVUKFrontend;
5
+ window.GOVUK.Modules.GovukDetails = window.GOVUKFrontend;
6
6
 
7
7
  (function (Modules) {
8
- function GovukDetails ($module) {
8
+ function GemDetails ($module) {
9
9
  this.$module = $module
10
10
  this.customTrackLabel = this.$module.getAttribute('data-track-label')
11
11
  this.detailsClick = this.$module.querySelector('[data-details-track-click]')
12
12
  }
13
13
 
14
- GovukDetails.prototype.init = function () {
14
+ GemDetails.prototype.init = function () {
15
15
  if (this.customTrackLabel) { // If a custom label has been provided, we can simply call the tracking module
16
16
  var trackDetails = new window.GOVUK.Modules.GemTrackClick()
17
17
  trackDetails.start($(this.$module))
@@ -22,7 +22,7 @@ window.GOVUK.Modules.Details = window.GOVUKFrontend;
22
22
  }
23
23
  }
24
24
 
25
- GovukDetails.prototype.trackDefault = function (element) {
25
+ GemDetails.prototype.trackDefault = function (element) {
26
26
  if (window.GOVUK.analytics && window.GOVUK.analytics.trackEvent) {
27
27
  var componentStatus = (element.getAttribute('open') == null) ? 'open' : 'closed'
28
28
  var trackCategory = element.getAttribute('data-track-category')
@@ -45,5 +45,5 @@ window.GOVUK.Modules.Details = window.GOVUKFrontend;
45
45
  }
46
46
  }
47
47
 
48
- Modules.GovukDetails = GovukDetails
48
+ Modules.GemDetails = GemDetails
49
49
  })(window.GOVUK.Modules)
@@ -2,4 +2,4 @@
2
2
  // = require govuk/components/error-summary/error-summary.js
3
3
  window.GOVUK = window.GOVUK || {}
4
4
  window.GOVUK.Modules = window.GOVUK.Modules || {}
5
- window.GOVUK.Modules.ErrorSummary = window.GOVUKFrontend
5
+ window.GOVUK.Modules.GovukErrorSummary = window.GOVUKFrontend
@@ -2,4 +2,4 @@
2
2
  // = require govuk/components/header/header.js
3
3
  window.GOVUK = window.GOVUK || {}
4
4
  window.GOVUK.Modules = window.GOVUK.Modules || {}
5
- window.GOVUK.Modules.Header = window.GOVUKFrontend
5
+ window.GOVUK.Modules.GovukHeader = window.GOVUKFrontend
@@ -2,4 +2,4 @@
2
2
  // = require govuk/components/radios/radios.js
3
3
  window.GOVUK = window.GOVUK || {}
4
4
  window.GOVUK.Modules = window.GOVUK.Modules || {}
5
- window.GOVUK.Modules.Radios = window.GOVUKFrontend
5
+ window.GOVUK.Modules.GovukRadios = window.GOVUKFrontend
@@ -2,4 +2,4 @@
2
2
  // = require govuk/components/tabs/tabs.js
3
3
  window.GOVUK = window.GOVUK || {}
4
4
  window.GOVUK.Modules = window.GOVUK.Modules || {}
5
- window.GOVUK.Modules.Tabs = window.GOVUKFrontend
5
+ window.GOVUK.Modules.GovukTabs = window.GOVUKFrontend
@@ -26,29 +26,32 @@
26
26
  var modules = this.find(container)
27
27
 
28
28
  for (var i = 0, l = modules.length; i < l; i++) {
29
- var module
30
29
  var element = $(modules[i])
31
- var moduleName = camelCaseAndCapitalise(element.data('module'))
32
- var started = element.data('module-started')
33
- var frontendModuleName = moduleName.replace('Govuk', '')
30
+ var moduleNames = element.data('module').split(' ')
34
31
 
35
- if ( // GOV.UK Publishing & Legacy Modules
36
- typeof GOVUK.Modules[moduleName] === 'function' &&
37
- !GOVUK.Modules[moduleName].prototype.init &&
38
- !started
39
- ) {
40
- module = new GOVUK.Modules[moduleName]()
41
- module.start(element)
42
- element.data('module-started', true)
43
- }
32
+ for (var j = 0, k = moduleNames.length; j < k; j++) {
33
+ var module
34
+ var moduleName = camelCaseAndCapitalise(moduleNames[j])
35
+ var started = element.data(moduleNames[j] + '-module-started')
36
+
37
+ if ( // GOV.UK Publishing & Legacy Modules
38
+ typeof GOVUK.Modules[moduleName] === 'function' &&
39
+ !GOVUK.Modules[moduleName].prototype.init &&
40
+ !started
41
+ ) {
42
+ module = new GOVUK.Modules[moduleName]()
43
+ module.start(element)
44
+ element.data(moduleNames[j] + '-module-started', true)
45
+ }
44
46
 
45
- if ( // GOV.UK Frontend Modules
46
- typeof GOVUK.Modules[frontendModuleName] === 'function' &&
47
- GOVUK.Modules[frontendModuleName].prototype.init &&
48
- !started
49
- ) {
50
- module = new GOVUK.Modules[frontendModuleName](element[0]).init()
51
- element.data('module-started', true)
47
+ if ( // GOV.UK Frontend Modules
48
+ typeof GOVUK.Modules[moduleName] === 'function' &&
49
+ GOVUK.Modules[moduleName].prototype.init &&
50
+ !started
51
+ ) {
52
+ module = new GOVUK.Modules[moduleName](element[0]).init()
53
+ element.data(moduleNames[j] + '-module-started', true)
54
+ }
52
55
  }
53
56
  }
54
57
 
@@ -146,6 +146,31 @@
146
146
  }
147
147
  }
148
148
 
149
+ .gem-c-action-link--brexit {
150
+ max-width: none;
151
+
152
+ &:before {
153
+ height: 30px;
154
+ width: 35px;
155
+ background-image: image-url("govuk_publishing_components/action-link-arrow--brexit.svg");
156
+ background-repeat: no-repeat;
157
+ background-size: 25px auto;
158
+ background-position: 0 0;
159
+ }
160
+
161
+ @include govuk-media-query($until: tablet) {
162
+ margin-bottom: govuk-spacing(2);
163
+ }
164
+
165
+ @include govuk-media-query($from: tablet) {
166
+ margin-bottom: govuk-spacing(2);
167
+
168
+ &:before {
169
+ background-position: 0 4px;
170
+ }
171
+ }
172
+ }
173
+
149
174
  .gem-c-action-link--nhs {
150
175
  &:before {
151
176
  width: 80px;
@@ -14,6 +14,7 @@
14
14
  dark_icon ||= false
15
15
  small_icon ||= false
16
16
  nhs_icon ||= false
17
+ brexit_icon ||= false
17
18
  transparent_icon ||= false
18
19
  data ||= nil
19
20
  classes ||= nil
@@ -25,6 +26,7 @@
25
26
  css_classes << "gem-c-action-link--small-icon" if small_icon
26
27
  css_classes << "gem-c-action-link--transparent-icon" if transparent_icon
27
28
  css_classes << "gem-c-action-link--nhs" if nhs_icon
29
+ css_classes << "gem-c-action-link--brexit" if brexit_icon
28
30
  css_classes << "gem-c-action-link--simple" if simple
29
31
  css_classes << "gem-c-action-link--simple-light" if simple_light
30
32
  css_classes << "gem-c-action-link--with-subtext" if subtext
@@ -4,7 +4,7 @@
4
4
  id = cb_helper.id
5
5
  %>
6
6
 
7
- <%= tag.div id: id, class: cb_helper.css_classes, data: { module: "govuk-checkboxes" } do %>
7
+ <%= tag.div id: id, class: cb_helper.css_classes, data: { module: "gem-checkboxes" } do %>
8
8
  <% if cb_helper.should_have_fieldset %>
9
9
  <% if cb_helper.heading_markup %>
10
10
  <%= tag.fieldset class: "govuk-fieldset", "aria-describedby": cb_helper.fieldset_describedby do %>
@@ -23,7 +23,7 @@
23
23
  <% end %>
24
24
 
25
25
  <%= tag.ul class: cb_helper.list_classes, data: {
26
- module: ('checkboxes' if cb_helper.has_conditional),
26
+ module: ('govuk-checkboxes' if cb_helper.has_conditional),
27
27
  nested: ('true' if cb_helper.has_nested),
28
28
  exclusive: ('true' if cb_helper.has_exclusive)
29
29
  } do %>
@@ -7,7 +7,7 @@
7
7
  css_classes << (shared_helper.get_margin_bottom)
8
8
 
9
9
  data_attributes ||= {}
10
- data_attributes[:module] = 'govuk-details'
10
+ data_attributes[:module] = 'govuk-details gem-details'
11
11
  %>
12
12
  <%= tag.details class: css_classes, data: data_attributes, open: open do %>
13
13
  <summary class="govuk-details__summary" data-details-track-click>
@@ -101,11 +101,11 @@ examples:
101
101
  text: Coronavirus (COVID-19)
102
102
  href: "/my-test-page"
103
103
  dark_icon: true
104
- with_custom_font_size:
104
+ with_brexit_icon_and_custom_font_size:
105
105
  data:
106
106
  text: Guidance for businesses
107
107
  href: "/guidance-for-businesses"
108
- dark_icon: true
108
+ brexit_icon: true
109
109
  font_size: m
110
110
  with_nhs_icon:
111
111
  data:
@@ -1,3 +1,3 @@
1
1
  module GovukPublishingComponents
2
- VERSION = "24.16.1".freeze
2
+ VERSION = "24.17.0".freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: govuk_publishing_components
3
3
  version: !ruby/object:Gem::Version
4
- version: 24.16.1
4
+ version: 24.17.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - GOV.UK Dev
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-06-28 00:00:00.000000000 Z
11
+ date: 2021-06-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: govuk_app_config
@@ -364,6 +364,7 @@ files:
364
364
  - app/assets/config/govuk_publishing_components_manifest.js
365
365
  - app/assets/images/govuk_publishing_components/action-link--nhs.png
366
366
  - app/assets/images/govuk_publishing_components/action-link--nhs.svg
367
+ - app/assets/images/govuk_publishing_components/action-link-arrow--brexit.svg
367
368
  - app/assets/images/govuk_publishing_components/action-link-arrow--dark.png
368
369
  - app/assets/images/govuk_publishing_components/action-link-arrow--dark.svg
369
370
  - app/assets/images/govuk_publishing_components/action-link-arrow--simple-light.png
@@ -486,6 +487,7 @@ files:
486
487
  - app/assets/javascripts/govuk_publishing_components/lib.js
487
488
  - app/assets/javascripts/govuk_publishing_components/lib/cookie-functions.js
488
489
  - app/assets/javascripts/govuk_publishing_components/lib/current-location.js
490
+ - app/assets/javascripts/govuk_publishing_components/lib/govspeak/all.js
489
491
  - app/assets/javascripts/govuk_publishing_components/lib/govspeak/barchart-enhancement.js
490
492
  - app/assets/javascripts/govuk_publishing_components/lib/govspeak/magna-charta.js
491
493
  - app/assets/javascripts/govuk_publishing_components/lib/govspeak/youtube-link-enhancement.js
@@ -504,6 +506,7 @@ files:
504
506
  - app/assets/javascripts/govuk_publishing_components/vendor/lux/lux-polyfill.js
505
507
  - app/assets/javascripts/govuk_publishing_components/vendor/lux/lux.js
506
508
  - app/assets/javascripts/govuk_publishing_components/vendor/modernizr.js
509
+ - app/assets/javascripts/govuk_publishing_components/vendor/polyfills/all.js
507
510
  - app/assets/javascripts/govuk_publishing_components/vendor/polyfills/closest.js
508
511
  - app/assets/javascripts/govuk_publishing_components/vendor/polyfills/common.js
509
512
  - app/assets/javascripts/govuk_publishing_components/vendor/polyfills/indexOf.js