govuk_publishing_components 28.5.0 → 28.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (118) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/govuk_publishing_components/analytics/track-select-change.js +4 -3
  3. data/app/assets/javascripts/govuk_publishing_components/components/accordion.js +21 -291
  4. data/app/assets/javascripts/govuk_publishing_components/components/button.js +1 -1
  5. data/app/assets/javascripts/govuk_publishing_components/components/character-count.js +1 -1
  6. data/app/assets/javascripts/govuk_publishing_components/components/checkboxes.js +1 -1
  7. data/app/assets/javascripts/govuk_publishing_components/components/details.js +1 -1
  8. data/app/assets/javascripts/govuk_publishing_components/components/error-summary.js +1 -1
  9. data/app/assets/javascripts/govuk_publishing_components/components/layout-header.js +1 -1
  10. data/app/assets/javascripts/govuk_publishing_components/components/radio.js +1 -1
  11. data/app/assets/javascripts/govuk_publishing_components/components/skip-link.js +5 -0
  12. data/app/assets/javascripts/govuk_publishing_components/components/step-by-step-nav.js +40 -37
  13. data/app/assets/javascripts/govuk_publishing_components/components/tabs.js +1 -1
  14. data/app/assets/javascripts/govuk_publishing_components/lib/govspeak/barchart-enhancement.js +2 -1
  15. data/app/assets/javascripts/govuk_publishing_components/lib/govspeak/magna-charta.js +8 -10
  16. data/app/assets/javascripts/govuk_publishing_components/lib/initial-focus.js +4 -3
  17. data/app/assets/javascripts/govuk_publishing_components/lib/toggle-input-class-on-focus.js +4 -3
  18. data/app/assets/javascripts/govuk_publishing_components/lib/toggle.js +4 -3
  19. data/app/assets/stylesheets/govuk_publishing_components/components/_accordion.scss +1 -329
  20. data/app/assets/stylesheets/govuk_publishing_components/components/_share-links.scss +1 -1
  21. data/app/assets/stylesheets/govuk_publishing_components/components/_step-by-step-nav.scss +95 -56
  22. data/app/assets/stylesheets/govuk_publishing_components/components/print/_accordion.scss +6 -17
  23. data/app/assets/stylesheets/govuk_publishing_components/govuk_frontend_support.scss +0 -9
  24. data/app/views/govuk_publishing_components/components/_accordion.html.erb +31 -16
  25. data/app/views/govuk_publishing_components/components/_button.html.erb +1 -1
  26. data/app/views/govuk_publishing_components/components/_character_count.html.erb +2 -2
  27. data/app/views/govuk_publishing_components/components/_checkboxes.html.erb +2 -2
  28. data/app/views/govuk_publishing_components/components/_error_message.html.erb +1 -1
  29. data/app/views/govuk_publishing_components/components/_error_summary.html.erb +0 -1
  30. data/app/views/govuk_publishing_components/components/_inset_text.html.erb +12 -1
  31. data/app/views/govuk_publishing_components/components/_layout_footer.html.erb +1 -1
  32. data/app/views/govuk_publishing_components/components/_modal_dialogue.html.erb +1 -1
  33. data/app/views/govuk_publishing_components/components/_radio.html.erb +1 -1
  34. data/app/views/govuk_publishing_components/components/_skip_link.html.erb +1 -1
  35. data/app/views/govuk_publishing_components/components/docs/accordion.yml +2 -97
  36. data/app/views/govuk_publishing_components/components/docs/govspeak.yml +1 -1
  37. data/app/views/govuk_publishing_components/components/docs/inset_text.yml +6 -0
  38. data/app/views/govuk_publishing_components/components/docs/share_links.yml +1 -1
  39. data/app/views/govuk_publishing_components/components/docs/step_by_step_nav.yml +13 -13
  40. data/app/views/govuk_publishing_components/components/docs/tabs.yml +1 -1
  41. data/app/views/govuk_publishing_components/components/docs/textarea.yml +1 -1
  42. data/app/views/govuk_publishing_components/components/layout_header/_navigation_items.html.erb +11 -11
  43. data/lib/govuk_publishing_components/version.rb +1 -1
  44. data/node_modules/govuk-frontend/govuk/all.js +294 -76
  45. data/node_modules/govuk-frontend/govuk/components/accordion/_index.scss +274 -99
  46. data/node_modules/govuk-frontend/govuk/components/accordion/accordion.js +169 -65
  47. data/node_modules/govuk-frontend/govuk/components/accordion/fixtures.json +37 -5
  48. data/node_modules/govuk-frontend/govuk/components/accordion/macro-options.json +4 -4
  49. data/node_modules/govuk-frontend/govuk/components/button/button.js +2 -2
  50. data/node_modules/govuk-frontend/govuk/components/character-count/character-count.js +3 -3
  51. data/node_modules/govuk-frontend/govuk/components/character-count/fixtures.json +15 -2
  52. data/node_modules/govuk-frontend/govuk/components/checkboxes/checkboxes.js +8 -10
  53. data/node_modules/govuk-frontend/govuk/components/checkboxes/fixtures.json +52 -15
  54. data/node_modules/govuk-frontend/govuk/components/cookie-banner/_index.scss +0 -2
  55. data/node_modules/govuk-frontend/govuk/components/cookie-banner/fixtures.json +31 -0
  56. data/node_modules/govuk-frontend/govuk/components/date-input/fixtures.json +25 -25
  57. data/node_modules/govuk-frontend/govuk/components/details/details.js +2 -2
  58. data/node_modules/govuk-frontend/govuk/components/error-message/_index.scss +1 -0
  59. data/node_modules/govuk-frontend/govuk/components/error-message/fixtures.json +8 -8
  60. data/node_modules/govuk-frontend/govuk/components/error-message/template.njk +2 -2
  61. data/node_modules/govuk-frontend/govuk/components/error-summary/error-summary.js +24 -3
  62. data/node_modules/govuk-frontend/govuk/components/error-summary/fixtures.json +25 -16
  63. data/node_modules/govuk-frontend/govuk/components/error-summary/macro-options.json +6 -0
  64. data/node_modules/govuk-frontend/govuk/components/error-summary/template.njk +2 -1
  65. data/node_modules/govuk-frontend/govuk/components/file-upload/fixtures.json +4 -4
  66. data/node_modules/govuk-frontend/govuk/components/footer/_index.scss +3 -37
  67. data/node_modules/govuk-frontend/govuk/components/footer/fixtures.json +119 -15
  68. data/node_modules/govuk-frontend/govuk/components/footer/macro-options.json +6 -0
  69. data/node_modules/govuk-frontend/govuk/components/footer/template.njk +1 -1
  70. data/node_modules/govuk-frontend/govuk/components/header/_index.scss +10 -4
  71. data/node_modules/govuk-frontend/govuk/components/header/fixtures.json +11 -11
  72. data/node_modules/govuk-frontend/govuk/components/header/header.js +4 -4
  73. data/node_modules/govuk-frontend/govuk/components/header/template.njk +4 -3
  74. data/node_modules/govuk-frontend/govuk/components/hint/_index.scss +1 -3
  75. data/node_modules/govuk-frontend/govuk/components/input/_index.scss +1 -1
  76. data/node_modules/govuk-frontend/govuk/components/input/fixtures.json +40 -40
  77. data/node_modules/govuk-frontend/govuk/components/input/template.njk +4 -3
  78. data/node_modules/govuk-frontend/govuk/components/notification-banner/notification-banner.js +499 -2
  79. data/node_modules/govuk-frontend/govuk/components/phase-banner/fixtures.json +2 -2
  80. data/node_modules/govuk-frontend/govuk/components/radios/_index.scss +0 -8
  81. data/node_modules/govuk-frontend/govuk/components/radios/fixtures.json +44 -45
  82. data/node_modules/govuk-frontend/govuk/components/radios/radios.js +4 -4
  83. data/node_modules/govuk-frontend/govuk/components/radios/template.njk +2 -9
  84. data/node_modules/govuk-frontend/govuk/components/select/_index.scss +6 -1
  85. data/node_modules/govuk-frontend/govuk/components/select/fixtures.json +3 -3
  86. data/node_modules/govuk-frontend/govuk/components/skip-link/_index.scss +13 -0
  87. data/node_modules/govuk-frontend/govuk/components/skip-link/fixtures.json +9 -9
  88. data/node_modules/govuk-frontend/govuk/components/skip-link/skip-link.js +1108 -0
  89. data/node_modules/govuk-frontend/govuk/components/skip-link/template.njk +1 -1
  90. data/node_modules/govuk-frontend/govuk/components/summary-list/_index.scss +20 -23
  91. data/node_modules/govuk-frontend/govuk/components/summary-list/fixtures.json +86 -1
  92. data/node_modules/govuk-frontend/govuk/components/summary-list/template.njk +1 -4
  93. data/node_modules/govuk-frontend/govuk/components/tabs/_index.scss +2 -2
  94. data/node_modules/govuk-frontend/govuk/components/tabs/tabs.js +2 -2
  95. data/node_modules/govuk-frontend/govuk/components/tag/_index.scss +0 -5
  96. data/node_modules/govuk-frontend/govuk/components/tag/fixtures.json +2 -2
  97. data/node_modules/govuk-frontend/govuk/components/textarea/_index.scss +1 -1
  98. data/node_modules/govuk-frontend/govuk/components/textarea/fixtures.json +4 -4
  99. data/node_modules/govuk-frontend/govuk/core/_all.scss +0 -1
  100. data/node_modules/govuk-frontend/govuk/core/_global-styles.scss +0 -6
  101. data/node_modules/govuk-frontend/govuk/core/_links.scss +0 -6
  102. data/node_modules/govuk-frontend/govuk/core/_lists.scss +0 -6
  103. data/node_modules/govuk-frontend/govuk/core/_section-break.scss +0 -6
  104. data/node_modules/govuk-frontend/govuk/core/_typography.scss +0 -6
  105. data/node_modules/govuk-frontend/govuk/objects/_all.scss +1 -0
  106. data/node_modules/govuk-frontend/govuk/objects/_main-wrapper.scss +15 -30
  107. data/node_modules/govuk-frontend/govuk/{core → objects}/_template.scss +1 -5
  108. data/node_modules/govuk-frontend/govuk/overrides/_display.scss +0 -6
  109. data/node_modules/govuk-frontend/govuk/overrides/_spacing.scss +0 -6
  110. data/node_modules/govuk-frontend/govuk/overrides/_text-align.scss +0 -6
  111. data/node_modules/govuk-frontend/govuk/overrides/_typography.scss +0 -6
  112. data/node_modules/govuk-frontend/govuk/overrides/_width.scss +0 -6
  113. data/node_modules/govuk-frontend/govuk/settings/_colours-organisations.scss +3 -0
  114. data/node_modules/govuk-frontend/govuk/settings/_measurements.scss +0 -10
  115. data/node_modules/govuk-frontend/govuk/tools/_all.scss +0 -1
  116. data/node_modules/govuk-frontend/package.json +1 -1
  117. metadata +8 -7
  118. data/node_modules/govuk-frontend/govuk/tools/_iff.scss +0 -17
@@ -4,10 +4,8 @@ window.GOVUK = window.GOVUK || {}
4
4
  window.GOVUK.Modules = window.GOVUK.Modules || {};
5
5
 
6
6
  (function (Modules) {
7
- function MagnaCharta () { }
8
-
9
- MagnaCharta.prototype.start = function ($module, options) {
10
- this.$module = $module[0]
7
+ function MagnaCharta ($module, options) {
8
+ this.$table = $module
11
9
  this.options = {
12
10
  outOf: 65,
13
11
  applyOnInit: true,
@@ -22,14 +20,14 @@ window.GOVUK.Modules = window.GOVUK.Modules || {};
22
20
  }
23
21
 
24
22
  for (var k in options) this.options[k] = options[k]
23
+ }
24
+
25
+ MagnaCharta.prototype.init = function () {
25
26
  this.detectIEVersion()
26
27
 
27
28
  // Magna Charta doesn't work in IE7 or less - so plain tables are shown to those browsers
28
29
  this.ENABLED = !(this.ie && this.ie < 8)
29
30
 
30
- // store a reference to the table in the object
31
- this.$table = $module
32
-
33
31
  // a container around the graph element so that it can be targeted by screen readers, allowing us to inform screen reader users that the graph isn't accessible
34
32
  this.$graphContainer = document.createElement('div')
35
33
  this.$graphContainer.className = 'mc-chart-container'
@@ -47,7 +45,7 @@ window.GOVUK.Modules = window.GOVUK.Modules || {};
47
45
  this.$graph.classList.add('mc-chart')
48
46
 
49
47
  // get the id of the current chart within the page so that it can be used during the generation of the toggleLink
50
- this.chartId = this.getChartId($module)
48
+ this.chartId = this.getChartId()
51
49
 
52
50
  // set the stacked option based on
53
51
  // giving the table a class of mc-stacked
@@ -458,12 +456,12 @@ window.GOVUK.Modules = window.GOVUK.Modules || {};
458
456
  }
459
457
  }
460
458
 
461
- MagnaCharta.prototype.getChartId = function (module) {
459
+ MagnaCharta.prototype.getChartId = function () {
462
460
  var allCharts = document.querySelectorAll('table.js-barchart-table')
463
461
  var id = null
464
462
 
465
463
  for (var i = 0; i < allCharts.length; i++) {
466
- if (allCharts[i] === module) {
464
+ if (allCharts[i] === this.$table) {
467
465
  id = i
468
466
  }
469
467
  }
@@ -2,10 +2,11 @@ window.GOVUK = window.GOVUK || {}
2
2
  window.GOVUK.Modules = window.GOVUK.Modules || {};
3
3
 
4
4
  (function (Modules) {
5
- function InitialFocus () { }
5
+ function InitialFocus ($module) {
6
+ this.$module = $module
7
+ }
6
8
 
7
- InitialFocus.prototype.start = function ($module) {
8
- this.$module = $module[0]
9
+ InitialFocus.prototype.init = function () {
9
10
  this.$module.focus()
10
11
  }
11
12
 
@@ -7,10 +7,11 @@ window.GOVUK = window.GOVUK || {}
7
7
  window.GOVUK.Modules = window.GOVUK.Modules || {};
8
8
 
9
9
  (function (Modules) {
10
- function GemToggleInputClassOnFocus () { }
10
+ function GemToggleInputClassOnFocus ($module) {
11
+ this.$module = $module
12
+ }
11
13
 
12
- GemToggleInputClassOnFocus.prototype.start = function ($module) {
13
- this.$module = $module[0]
14
+ GemToggleInputClassOnFocus.prototype.init = function () {
14
15
  this.toggleTarget = this.$module.querySelector('.js-class-toggle')
15
16
  this.$module.addFocusClass = this.addFocusClass.bind(this)
16
17
  this.$module.removeFocusClassFromEmptyInput = this.removeFocusClassFromEmptyInput.bind(this)
@@ -87,10 +87,11 @@ window.GOVUK = window.GOVUK || {}
87
87
  window.GOVUK.Modules = window.GOVUK.Modules || {};
88
88
 
89
89
  (function (Modules) {
90
- function GemToggle () { }
90
+ function GemToggle ($module) {
91
+ this.$module = $module
92
+ }
91
93
 
92
- GemToggle.prototype.start = function ($module) {
93
- this.$module = $module[0]
94
+ GemToggle.prototype.init = function () {
94
95
  this.$module.toggleTrigger = this.$module.querySelector('[data-controls][data-expanded]')
95
96
 
96
97
  if (this.$module.toggleTrigger) {
@@ -1,330 +1,2 @@
1
1
  @import "mixins/prefixed-transform";
2
-
3
- $gem-c-accordion-border-width: 3px;
4
- $gem-c-accordion-bottom-border-width: 1px;
5
-
6
- // Buttons within the sections don’t need default styling
7
- .gem-c-accordion__section-button {
8
- display: inline-block;
9
- margin-bottom: 0;
10
- padding-top: govuk-spacing(3);
11
- font-weight: bold;
12
- @include govuk-font($size: 24, $weight: bold);
13
- }
14
-
15
- .gem-c-accordion__section-header {
16
- padding-top: govuk-spacing(2) 0;
17
- }
18
-
19
- .gem-c-accordion__section-heading {
20
- margin: govuk-spacing(1) 0;
21
- }
22
-
23
- .js-enabled {
24
- .gem-c-accordion {
25
- border-bottom: $gem-c-accordion-bottom-border-width solid $govuk-border-colour;
26
- }
27
-
28
- .gem-c-accordion__controls {
29
- text-align: left;
30
- }
31
-
32
- .gem-c-accordion__open-all {
33
- position: relative;
34
- z-index: 1;
35
- border-width: 0;
36
- color: $govuk-link-colour;
37
- background: none;
38
- -webkit-appearance: none;
39
- cursor: pointer;
40
- margin-bottom: govuk-spacing(4);
41
- padding: 0 govuk-spacing(1) govuk-spacing(1) 0;
42
- @include govuk-font($size: 16);
43
- @include govuk-link-common;
44
- @include govuk-link-style-default;
45
-
46
- // Remove default button focus outline in Firefox
47
- &::-moz-focus-inner {
48
- padding: 0;
49
- border: 0;
50
- }
51
- }
52
-
53
- // Create Chervon icon align with text
54
- .gem-c-accordion-nav__chevron {
55
- vertical-align: text-top;
56
- display: inline-block;
57
- box-sizing: border-box;
58
- position: relative;
59
- width: govuk-em(20, 14);
60
- height: govuk-em(20, 14);
61
- margin-left: govuk-em(5, 14);
62
- border: govuk-em(1, 14) solid;
63
- border-radius: govuk-em(100, 14);
64
-
65
- // Main icon size across views, yet keep responsive for zoom
66
- @include govuk-media-query($from: tablet) {
67
- width: govuk-em(20, 16);
68
- height: govuk-em(20, 16);
69
- margin-left: govuk-em(5, 16);
70
- border: govuk-em(1, 16) solid;
71
- }
72
-
73
- &:after {
74
- @include prefixed-transform($rotate: -45deg);
75
- content: "";
76
- display: block;
77
- box-sizing: border-box;
78
- position: absolute;
79
- overflow: visible;
80
- width: govuk-em(6, 14);
81
- height: govuk-em(6, 14);
82
- border-top: govuk-em(2, 14) solid;
83
- border-right: govuk-em(2, 14) solid;
84
- left: govuk-em(6, 14);
85
- bottom: govuk-em(5, 14);
86
-
87
- @include govuk-media-query($from: tablet) {
88
- width: govuk-em(6, 16);
89
- height: govuk-em(6, 16);
90
- border-top: govuk-em(2, 16) solid;
91
- border-right: govuk-em(2, 16) solid;
92
- left: govuk-em(6, 16);
93
- bottom: govuk-em(5, 16);
94
- }
95
- }
96
- }
97
-
98
- .gem-c-accordion__open-all:hover,
99
- .gem-c-accordion__section-button:hover {
100
- .gem-c-accordion-nav__chevron {
101
- color: $govuk-link-hover-colour;
102
- text-decoration: none;
103
- }
104
- }
105
-
106
- // Focus state, also to change chervon icon to black
107
- .gem-c-accordion__open-all:focus {
108
- .gem-c-accordion-nav__chevron {
109
- color: $govuk-focus-text-colour;
110
- text-decoration: none;
111
- }
112
- }
113
-
114
- // Rotate icon to create "Down" version
115
- .gem-c-accordion-nav__chevron--down {
116
- @include prefixed-transform($rotate: 180deg);
117
- }
118
-
119
- .gem-c-accordion__section-heading {
120
- // Override browser defaults to ensure consistent element height
121
- margin-top: 0; // Override browser default
122
- margin-bottom: 0; // Override browser default
123
- @include govuk-font(24);
124
- }
125
-
126
- // Section headers have a pointer cursor as an additional affordance
127
- .gem-c-accordion__section-header {
128
- position: relative;
129
- }
130
-
131
- // For devices that can't hover such as touch devices,
132
- // remove hover state as it can be stuck in that state (iOS).
133
- @media (hover: none) {
134
- .gem-c-accordion__section-header:hover {
135
- border-top-color: $govuk-link-colour;
136
- box-shadow: inset 0 $gem-c-accordion-border-width 0 0 $govuk-link-colour;
137
-
138
- .gem-c-accordion__section-button {
139
- border-top-color: $govuk-link-colour;
140
- }
141
- }
142
- }
143
-
144
- // Buttons within the headers don’t need default styling
145
- .gem-c-accordion__section-button {
146
- padding: govuk-spacing(2) 0 govuk-spacing(5);
147
- position: relative;
148
- margin: 0;
149
- border-width: $gem-c-accordion-bottom-border-width 0 0 0;
150
- border-top: $gem-c-accordion-bottom-border-width solid $govuk-border-colour;
151
- color: $govuk-text-colour;
152
- background: none;
153
- text-align: left;
154
- cursor: pointer;
155
- -webkit-appearance: none;
156
- @include govuk-typography-common;
157
- width: 100%;
158
-
159
- &:hover {
160
- color: $govuk-link-hover-colour;
161
- }
162
-
163
- &:active {
164
- z-index: 1;
165
- color: $govuk-link-active-colour;
166
- background: none;
167
- }
168
-
169
- // Remove default button focus outline in Firefox
170
- &::-moz-focus-inner {
171
- padding: 0;
172
- border: 0;
173
- }
174
- }
175
-
176
- .gem-c-accordion__section-button:focus {
177
- @include govuk-focused-text;
178
- // Overwrite focus border to top
179
- box-shadow: 0 0, 0 -4px;
180
- border-top: 1px solid transparent;
181
-
182
- // Focus state to change chervon icon colour within individual sections
183
- .gem-c-accordion-nav__chevron {
184
- color: $govuk-text-colour;
185
- }
186
- }
187
-
188
- // Extend the touch area of the button to span the section header
189
- .gem-c-accordion__section-button:after {
190
- content: "";
191
- position: absolute;
192
- top: 0;
193
- right: 0;
194
- bottom: 0;
195
- left: 0;
196
- }
197
-
198
- .gem-c-accordion__section-button:hover:not(:focus) {
199
- text-decoration: none;
200
- }
201
-
202
- // For devices that can't hover such as touch devices,
203
- // remove hover state as it can be stuck in that state (iOS).
204
- @media (hover: none) {
205
- .gem-c-accordion__section-button:hover {
206
- text-decoration: none;
207
- }
208
- }
209
-
210
- // Add toggle link with Chevron icon on right.
211
- .gem-c-accordion__toggle-link {
212
- display: block;
213
- color: $govuk-link-colour;
214
- text-transform: capitalize;
215
- margin-top: govuk-spacing(1);
216
- margin-bottom: govuk-spacing(1);
217
- @include govuk-font($size: 16, $line-height: 1);
218
-
219
- &:active {
220
- background: $govuk-link-active-colour;
221
- }
222
- }
223
-
224
- .gem-c-accordion__toggle-text {
225
- display: inline-block;
226
- // Setting width of the text so the icon doesn't shift left or right when
227
- // toggled:
228
- min-width: govuk-em(40, 16);
229
- }
230
-
231
- // On hover add underline to toggle link only:
232
- .gem-c-accordion__section-button:hover .gem-c-accordion__toggle-text {
233
- color: $govuk-link-hover-colour;
234
- @include govuk-link-decoration;
235
- @include govuk-link-hover-decoration;
236
- }
237
-
238
- // Ensure the correct focus sstate text colour and no underline:
239
- .gem-c-accordion__section-button:focus .gem-c-accordion__toggle-text {
240
- color: $govuk-focus-text-colour;
241
- text-decoration: none;
242
- }
243
-
244
- .gem-c-accordion__open-all-text {
245
- min-width: govuk-em(120, 16);
246
- display: inline-block;
247
- text-align: left;
248
- }
249
-
250
- .gem-c-accordion__open-all:hover {
251
- .gem-c-accordion__open-all-text {
252
- @include govuk-link-decoration;
253
- @include govuk-link-hover-decoration;
254
- }
255
- }
256
-
257
- .gem-c-accordion__open-all:focus .gem-c-accordion__open-all-text {
258
- text-decoration: none;
259
- }
260
-
261
- // Change the summary subheading size.
262
- .gem-c-accordion__section-summary {
263
- @include govuk-responsive-margin(1, "top");
264
- @include govuk-responsive-margin(2, "bottom");
265
- @include govuk-typography-common;
266
- @include govuk-typography-responsive($size: 19);
267
- }
268
-
269
- // Hide body of expanded sections
270
- .gem-c-accordion__section-content {
271
- display: none;
272
- @include govuk-responsive-padding(0, "top");
273
- @include govuk-responsive-padding(8, "bottom");
274
- }
275
-
276
- // Show the body of expanded sections
277
- .gem-c-accordion__section--expanded .gem-c-accordion__section-content {
278
- display: block;
279
- }
280
-
281
- // Remove the bottom margin from the last item inside the content
282
- .gem-c-accordion__section-content > :last-child {
283
- margin-bottom: 0;
284
- }
285
-
286
- // Condensed layout
287
- .gem-c-accordion--condensed {
288
- .gem-c-accordion__open-all {
289
- margin-bottom: govuk-spacing(5);
290
- @include govuk-font($size: 14, $line-height: 1);
291
- }
292
-
293
- .gem-c-accordion__section-button {
294
- @include govuk-typography-responsive($size: 19, $important: true);
295
- padding-top: govuk-spacing(1);
296
- padding-bottom: govuk-spacing(5);
297
- }
298
-
299
- // Reduce Chevron size
300
- .gem-c-accordion-nav__chevron {
301
- @include prefixed-transform($scale: .875);
302
- width: govuk-em(20, 14);
303
- height: govuk-em(20, 14);
304
- margin-left: govuk-em(5, 14);
305
- border: govuk-em(1, 14) solid;
306
- border-radius: govuk-em(100, 14);
307
-
308
- &:after {
309
- width: govuk-em(6, 14);
310
- height: govuk-em(6, 14);
311
- border-top: govuk-em(2, 14) solid;
312
- border-right: govuk-em(2, 14) solid;
313
- left: govuk-em(6, 14);
314
- bottom: govuk-em(5, 14);
315
- }
316
- }
317
-
318
- .gem-c-accordion-nav__chevron--down {
319
- @include prefixed-transform($rotate: 180deg, $scale: .875);
320
- }
321
-
322
- .gem-c-accordion__section-summary {
323
- @include govuk-typography-responsive($size: 16, $important: true);
324
- }
325
-
326
- .gem-c-accordion__toggle-link {
327
- @include govuk-font($size: 14, $line-height: 1);
328
- }
329
- }
330
- }
2
+ @import "govuk/components/accordion/accordion";
@@ -12,11 +12,11 @@ $share-button-height: 30px;
12
12
  position: relative;
13
13
  display: inline-block;
14
14
  min-height: $share-button-height;
15
+ padding-top: govuk-spacing(1);
15
16
  padding-left: ($share-button-width + govuk-spacing(2));
16
17
  padding-right: govuk-spacing(2);
17
18
  margin-bottom: govuk-spacing(2);
18
19
  font-size: $share-button-height / 2;
19
- line-height: $share-button-height;
20
20
  }
21
21
 
22
22
  .gem-c-share-links__link {
@@ -63,6 +63,54 @@ $top-border: solid 1px govuk-colour("mid-grey", $legacy: "grey-3");
63
63
  padding: 3px 3px 0 0;
64
64
  }
65
65
 
66
+ .gem-c-step-nav____title-text-focus {
67
+ margin-bottom: 13px;
68
+ display: inline-block;
69
+ }
70
+
71
+ // Create Chevron icon aligned with text
72
+ .gem-c-step-nav__chevron {
73
+ box-sizing: border-box;
74
+ display: inline-block;
75
+ position: relative;
76
+ // Set size using rems to make the icon scale with text if user resizes text in their browser
77
+ width: govuk-px-to-rem(20px);
78
+ height: govuk-px-to-rem(20px);
79
+ border: govuk-px-to-rem(1px) solid;
80
+ border-radius: 50%;
81
+
82
+ vertical-align: text-top;
83
+
84
+ // Reduce size, alter alignment
85
+ .gem-c-step-nav--large & {
86
+ vertical-align: top;
87
+ }
88
+
89
+ // Create inner chevron arrow
90
+ &:after {
91
+ content: "";
92
+ box-sizing: border-box;
93
+ display: block;
94
+ position: absolute;
95
+ bottom: govuk-px-to-rem(5px);
96
+ left: govuk-px-to-rem(6px);
97
+ width: govuk-px-to-rem(6px);
98
+ height: govuk-px-to-rem(6px);
99
+ -webkit-transform: rotate(-45deg); /* Ch <36, Saf 5.1+, iOS < 9.2, An =<4.4.4 */
100
+ -ms-transform: rotate(-45deg); /* IE 9 */
101
+ transform: rotate(-45deg);
102
+ border-top: govuk-px-to-rem(2px) solid;
103
+ border-right: govuk-px-to-rem(2px) solid;
104
+ }
105
+ }
106
+
107
+ // Rotate icon to create "Down" version
108
+ .gem-c-step-nav__chevron--down {
109
+ -webkit-transform: rotate(180deg); /* Ch <36, Saf 5.1+, iOS < 9.2, An =<4.4.4 */
110
+ -ms-transform: rotate(180deg); /* IE 9 */
111
+ transform: rotate(180deg);
112
+ }
113
+
66
114
  .gem-c-step-nav__button {
67
115
  color: $govuk-link-colour;
68
116
  cursor: pointer;
@@ -70,8 +118,43 @@ $top-border: solid 1px govuk-colour("mid-grey", $legacy: "grey-3");
70
118
  border: 0;
71
119
  margin: 0;
72
120
 
121
+ &:hover {
122
+ background: govuk-colour("light-grey");
123
+ // Chevron icon interaction states
124
+ .gem-c-step-nav__chevron {
125
+ color: govuk-colour("black");
126
+ background: govuk-colour("black");
127
+ }
128
+
129
+ .gem-c-step-nav__chevron:after {
130
+ color: govuk-colour("light-grey");
131
+ }
132
+
133
+ .gem-c-step-nav__button-text {
134
+ color: $govuk-text-colour;
135
+ }
136
+ }
137
+
73
138
  &:focus {
74
- @include govuk-focused-text;
139
+ outline: 0;
140
+ // Chevron icon interaction states
141
+ .gem-c-step-nav__chevron {
142
+ color: govuk-colour("black");
143
+ background: govuk-colour("black");
144
+ }
145
+
146
+ .gem-c-step-nav__chevron:after {
147
+ color: $govuk-focus-colour;
148
+ }
149
+
150
+ .gem-c-step-nav____title-text-focus,
151
+ .gem-c-step-nav__toggle-link-focus {
152
+ @include govuk-focused-text;
153
+ }
154
+
155
+ .gem-c-step-nav__toggle-link-focus {
156
+ padding-bottom: 2px;
157
+ }
75
158
  }
76
159
  }
77
160
 
@@ -90,42 +173,27 @@ $top-border: solid 1px govuk-colour("mid-grey", $legacy: "grey-3");
90
173
  width: 100%;
91
174
 
92
175
  .gem-c-step-nav--large & {
93
- @include step-nav-font(19, $tablet-size: 24, $weight: bold, $line-height: 1.4);
176
+ @include step-nav-font(19, $tablet-size: 24, $weight: bold);
94
177
 
95
178
  @include govuk-media_query($from: tablet) {
96
179
  padding-top: govuk-spacing(2);
97
180
  }
98
181
  }
99
-
100
- &:focus {
101
- box-shadow: 0 -4px govuk-colour("black");
102
-
103
- .gem-c-step-nav__toggle-link {
104
- color: govuk-colour("black");
105
- }
106
-
107
- @include step-nav-chevron-focus-state;
108
- }
109
182
  }
110
183
 
111
184
  .gem-c-step-nav__button--controls {
112
- @include step-nav-font(14, $line-height: 1);
185
+ @include step-nav-font(15);
113
186
  position: relative;
114
187
  z-index: 1; // this and relative position stops focus outline underlap with border of accordion
115
- margin: .5em 0 1.5em;
116
- padding: 0 0 govuk-spacing(1);
117
-
118
- &:hover .gem-c-step-nav__button-text {
119
- @include govuk-link-decoration;
120
- @include govuk-link-hover-decoration;
121
- }
188
+ margin: .5em 0 14px;
189
+ padding: govuk-spacing(1) 0 govuk-spacing(1);
122
190
 
123
191
  .gem-c-step-nav--large & {
124
- @include step-nav-font(14, $tablet-size: 16, $line-height: 1);
192
+ @include step-nav-font(15, $tablet-size: 19);
125
193
  }
126
194
 
127
195
  &:focus {
128
- @include step-nav-chevron-focus-state;
196
+ @include govuk-focused-text;
129
197
 
130
198
  .gem-c-step-nav__button-text {
131
199
  text-decoration: none;
@@ -133,32 +201,15 @@ $top-border: solid 1px govuk-colour("mid-grey", $legacy: "grey-3");
133
201
  }
134
202
  }
135
203
 
136
- .gem-c-step-nav__title-text {
137
- display: block;
138
- margin-bottom: govuk-spacing(1);
139
- }
140
-
141
- .gem-c-step-nav__chevron {
142
- display: inline-block;
143
- vertical-align: middle;
144
- margin-left: govuk-em(5, 14);
145
-
146
- .gem-c-step-nav--large & {
147
- margin-left: govuk-em(5, 16);
148
- }
149
-
150
- svg {
151
- pointer-events: none;
152
- }
153
- }
154
-
155
204
  .gem-c-step-nav__button-text {
156
205
  display: inline-block;
157
206
  text-align: left;
158
207
  min-width: govuk-em(35, 14);
208
+ margin-left: govuk-spacing(1);
159
209
 
160
210
  .gem-c-step-nav--large & {
161
211
  min-width: govuk-em(40, 16);
212
+ margin-left: govuk-spacing(1);
162
213
  }
163
214
  }
164
215
 
@@ -272,7 +323,7 @@ $top-border: solid 1px govuk-colour("mid-grey", $legacy: "grey-3");
272
323
  border: solid $stroke-width govuk-colour("mid-grey", $legacy: "grey-2");
273
324
 
274
325
  .gem-c-step-nav--large & {
275
- @include step-nav-font(16, $tablet-size: 19, $weight: bold, $line-height: 25px, $tablet-line-height: 34px);
326
+ @include step-nav-font(16, $tablet-size: 19, $weight: bold, $line-height: 29px, $tablet-line-height: 34px);
276
327
  }
277
328
 
278
329
  .gem-c-step-nav__step--active & {
@@ -335,18 +386,6 @@ $top-border: solid 1px govuk-colour("mid-grey", $legacy: "grey-3");
335
386
  .gem-c-step-nav--active & {
336
387
  cursor: pointer;
337
388
  }
338
-
339
- &:hover {
340
- .gem-c-step-nav__button:not(:focus),
341
- .gem-c-step-nav__circle {
342
- color: $govuk-link-colour;
343
- }
344
-
345
- .gem-c-step-nav__button-text {
346
- @include govuk-link-decoration;
347
- @include govuk-link-hover-decoration;
348
- }
349
- }
350
389
  }
351
390
 
352
391
  .gem-c-step-nav__title {
@@ -360,14 +399,14 @@ $top-border: solid 1px govuk-colour("mid-grey", $legacy: "grey-3");
360
399
  }
361
400
 
362
401
  .gem-c-step-nav__toggle-link {
363
- @include step-nav-font(14, $line-height: 1.2);
402
+ @include step-nav-font(15, $line-height: 1.2);
364
403
  display: block;
365
404
  color: $govuk-link-colour;
366
405
  text-transform: capitalize;
367
406
  padding-bottom: govuk-spacing(6);
368
407
 
369
408
  .gem-c-step-nav--large & {
370
- @include step-nav-font(14, $tablet-size: 16, $line-height: 1.2);
409
+ @include step-nav-font(15, $tablet-size: 19, $line-height: 1.2);
371
410
  }
372
411
  }
373
412