dxw_govuk_frontend_rails 3.12.0 → 3.13.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e42e5531caedbe80f014557b076fc609f16ca85d666bdcc86bfb4e7c280e28a1
4
- data.tar.gz: c712317b305d72d5960a65a1d4dbf0e7b0ebaf4bd482b057f32c6518d4fc90cc
3
+ metadata.gz: d13df6b5f41f50ed1be07dbd4e157072e6cdc64537df5d5fb2f807ca846a59bc
4
+ data.tar.gz: 79da91fc77c60ed37047d26a770491aa83a717a619ae2e0e45373c5fe3472061
5
5
  SHA512:
6
- metadata.gz: 5f6a004060916897d45767e91565c3cdc6322d860814f2acbc027d35eca9a22f2d328e955095e4c9d0b14b478de12c259f064d88bdc5468bc0ffda3dcd325085
7
- data.tar.gz: 3c4a6afe51e11a479d23a3e1ec51e17660511e4dba977af9a89545f5a55be39ac0cffb0cc82626e053323841efdf4976858b4fecf2f11f2664af4341e755e44b
6
+ metadata.gz: 555d823ff0083d5603ba327eaf385579658a75c2596ce0d734cf649483d210661e5fe4dca8677e0cc220fb578e0761c75c95ff5f7c002c61c59e3a6466c17cc8
7
+ data.tar.gz: 85551726cc81c6721b9588796611e5bca8b573c32a88df7adcff020cbdb7279567a86e403fe4a5a6ab346971358cb7749ec23e14bb5f32b45e213bbec90e7061
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- dxw_govuk_frontend_rails (3.12.0)
4
+ dxw_govuk_frontend_rails (3.13.1)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -1,3 +1,3 @@
1
1
  module DxwGovukFrontendRails
2
- VERSION = "3.12.0"
2
+ VERSION = "3.13.1"
3
3
  end
data/package-lock.json CHANGED
@@ -9,13 +9,13 @@
9
9
  "version": "1.0.0",
10
10
  "license": "ISC",
11
11
  "dependencies": {
12
- "govuk-frontend": "3.12.0"
12
+ "govuk-frontend": "3.13.1"
13
13
  }
14
14
  },
15
15
  "node_modules/govuk-frontend": {
16
- "version": "3.12.0",
17
- "resolved": "https://registry.npmjs.org/govuk-frontend/-/govuk-frontend-3.12.0.tgz",
18
- "integrity": "sha512-+mM8BqEUqsBVSV/ud0dEhE8OmMdhkK53eEUp5YyPN+y3mwcdRnwwP2A2B5qFdFi6E6j/2AYuCG8l5kXD+JXNxA==",
16
+ "version": "3.13.1",
17
+ "resolved": "https://registry.npmjs.org/govuk-frontend/-/govuk-frontend-3.13.1.tgz",
18
+ "integrity": "sha512-OlbAVVpJfZ8tEhkScVoNFA+27RUfMDslN4uxtJyASfXwg4QZYHTX8RqmKBbgVJWaybpa5RsYDuRKQNJe3qN8gw==",
19
19
  "engines": {
20
20
  "node": ">= 4.2.0"
21
21
  }
@@ -23,9 +23,9 @@
23
23
  },
24
24
  "dependencies": {
25
25
  "govuk-frontend": {
26
- "version": "3.12.0",
27
- "resolved": "https://registry.npmjs.org/govuk-frontend/-/govuk-frontend-3.12.0.tgz",
28
- "integrity": "sha512-+mM8BqEUqsBVSV/ud0dEhE8OmMdhkK53eEUp5YyPN+y3mwcdRnwwP2A2B5qFdFi6E6j/2AYuCG8l5kXD+JXNxA=="
26
+ "version": "3.13.1",
27
+ "resolved": "https://registry.npmjs.org/govuk-frontend/-/govuk-frontend-3.13.1.tgz",
28
+ "integrity": "sha512-OlbAVVpJfZ8tEhkScVoNFA+27RUfMDslN4uxtJyASfXwg4QZYHTX8RqmKBbgVJWaybpa5RsYDuRKQNJe3qN8gw=="
29
29
  }
30
30
  }
31
31
  }
data/package.json CHANGED
@@ -21,6 +21,6 @@
21
21
  },
22
22
  "homepage": "https://github.com/mec/dxw_govuk_frontend_rails#readme",
23
23
  "dependencies": {
24
- "govuk-frontend": "3.12.0"
24
+ "govuk-frontend": "3.13.1"
25
25
  }
26
26
  }
@@ -1751,6 +1751,47 @@ Checkboxes.prototype.syncConditionalRevealWithInputState = function ($input) {
1751
1751
  }
1752
1752
  };
1753
1753
 
1754
+ /**
1755
+ * Uncheck other checkboxes
1756
+ *
1757
+ * Find any other checkbox inputs with the same name value, and uncheck them.
1758
+ * This is useful for when a “None of these" checkbox is checked.
1759
+ */
1760
+ Checkboxes.prototype.unCheckAllInputsExcept = function ($input) {
1761
+ var allInputsWithSameName = document.querySelectorAll('input[type="checkbox"][name="' + $input.name + '"]');
1762
+
1763
+ nodeListForEach(allInputsWithSameName, function ($inputWithSameName) {
1764
+ var hasSameFormOwner = ($input.form === $inputWithSameName.form);
1765
+ if (hasSameFormOwner && $inputWithSameName !== $input) {
1766
+ $inputWithSameName.checked = false;
1767
+ }
1768
+ });
1769
+
1770
+ this.syncAllConditionalReveals();
1771
+ };
1772
+
1773
+ /**
1774
+ * Uncheck exclusive inputs
1775
+ *
1776
+ * Find any checkbox inputs with the same name value and the 'exclusive' behaviour,
1777
+ * and uncheck them. This helps prevent someone checking both a regular checkbox and a
1778
+ * "None of these" checkbox in the same fieldset.
1779
+ */
1780
+ Checkboxes.prototype.unCheckExclusiveInputs = function ($input) {
1781
+ var allInputsWithSameNameAndExclusiveBehaviour = document.querySelectorAll(
1782
+ 'input[data-behaviour="exclusive"][type="checkbox"][name="' + $input.name + '"]'
1783
+ );
1784
+
1785
+ nodeListForEach(allInputsWithSameNameAndExclusiveBehaviour, function ($exclusiveInput) {
1786
+ var hasSameFormOwner = ($input.form === $exclusiveInput.form);
1787
+ if (hasSameFormOwner) {
1788
+ $exclusiveInput.checked = false;
1789
+ }
1790
+ });
1791
+
1792
+ this.syncAllConditionalReveals();
1793
+ };
1794
+
1754
1795
  /**
1755
1796
  * Click event handler
1756
1797
  *
@@ -1762,12 +1803,29 @@ Checkboxes.prototype.syncConditionalRevealWithInputState = function ($input) {
1762
1803
  Checkboxes.prototype.handleClick = function (event) {
1763
1804
  var $target = event.target;
1764
1805
 
1765
- // If a checkbox with aria-controls, handle click
1766
- var isCheckbox = $target.getAttribute('type') === 'checkbox';
1806
+ // Ignore clicks on things that aren't checkbox inputs
1807
+ if ($target.type !== 'checkbox') {
1808
+ return
1809
+ }
1810
+
1811
+ // If the checkbox conditionally-reveals some content, sync the state
1767
1812
  var hasAriaControls = $target.getAttribute('aria-controls');
1768
- if (isCheckbox && hasAriaControls) {
1813
+ if (hasAriaControls) {
1769
1814
  this.syncConditionalRevealWithInputState($target);
1770
1815
  }
1816
+
1817
+ // No further behaviour needed for unchecking
1818
+ if (!$target.checked) {
1819
+ return
1820
+ }
1821
+
1822
+ // Handle 'exclusive' checkbox behaviour (ie "None of these")
1823
+ var hasBehaviourExclusive = ($target.getAttribute('data-behaviour') === 'exclusive');
1824
+ if (hasBehaviourExclusive) {
1825
+ this.unCheckAllInputsExcept($target);
1826
+ } else {
1827
+ this.unCheckExclusiveInputs($target);
1828
+ }
1771
1829
  };
1772
1830
 
1773
1831
  (function(undefined) {
@@ -129,6 +129,7 @@
129
129
 
130
130
  .govuk-breadcrumbs__list {
131
131
  display: -webkit-box;
132
+ display: -webkit-flex;
132
133
  display: -ms-flexbox;
133
134
  display: flex;
134
135
  }
@@ -158,10 +158,6 @@
158
158
  cursor: default;
159
159
  }
160
160
 
161
- &:focus {
162
- outline: none;
163
- }
164
-
165
161
  &:active {
166
162
  top: 0;
167
163
  box-shadow: 0 $button-shadow-size 0 $govuk-button-shadow-colour; // s0
@@ -241,6 +237,8 @@
241
237
 
242
238
  display: -webkit-inline-box;
243
239
 
240
+ display: -webkit-inline-flex;
241
+
244
242
  display: -ms-inline-flexbox;
245
243
 
246
244
  display: inline-flex;
@@ -248,6 +246,8 @@
248
246
 
249
247
  -webkit-box-pack: center;
250
248
 
249
+ -webkit-justify-content: center;
250
+
251
251
  -ms-flex-pack: center;
252
252
 
253
253
  justify-content: center;
@@ -260,10 +260,15 @@
260
260
  margin-left: govuk-spacing(2);
261
261
  }
262
262
  vertical-align: middle;
263
- -ms-flex-negative: 0;
264
- flex-shrink: 0;
265
- -ms-flex-item-align: center;
266
- align-self: center;
263
+ -webkit-flex-shrink: 0;
264
+ -ms-flex-negative: 0;
265
+ flex-shrink: 0;
266
+ -webkit-align-self: center;
267
+ -ms-flex-item-align: center;
268
+ align-self: center;
269
+ // Work around SVGs not inheriting color from parent in forced color mode
270
+ // (https://github.com/w3c/csswg-drafts/issues/6310)
271
+ forced-color-adjust: auto;
267
272
  }
268
273
 
269
274
  @if $govuk-use-legacy-font {
@@ -73,47 +73,49 @@
73
73
  touch-action: manipulation;
74
74
  }
75
75
 
76
- // [ ] Check box
77
- .govuk-checkboxes__label:before {
78
- content: "";
79
- box-sizing: border-box;
80
- position: absolute;
81
- top: 0;
82
- left: 0;
83
- width: $govuk-checkboxes-size;
84
- height: $govuk-checkboxes-size;
85
- border: $govuk-border-width-form-element solid currentColor;
86
- background: transparent;
87
- }
76
+ @include govuk-not-ie8 {
77
+ // [ ] Check box
78
+ .govuk-checkboxes__label:before {
79
+ content: "";
80
+ box-sizing: border-box;
81
+ position: absolute;
82
+ top: 0;
83
+ left: 0;
84
+ width: $govuk-checkboxes-size;
85
+ height: $govuk-checkboxes-size;
86
+ border: $govuk-border-width-form-element solid currentColor;
87
+ background: transparent;
88
+ }
88
89
 
89
- // ✔ Check mark
90
- //
91
- // The check mark is a box with a border on the left and bottom side (└──),
92
- // rotated 45 degrees
93
- .govuk-checkboxes__label:after {
94
- content: "";
95
- box-sizing: border-box;
90
+ // ✔ Check mark
91
+ //
92
+ // The check mark is a box with a border on the left and bottom side (└──),
93
+ // rotated 45 degrees
94
+ .govuk-checkboxes__label:after {
95
+ content: "";
96
+ box-sizing: border-box;
96
97
 
97
- position: absolute;
98
- top: 11px;
99
- left: 9px;
100
- width: 23px;
101
- height: 12px;
98
+ position: absolute;
99
+ top: 11px;
100
+ left: 9px;
101
+ width: 23px;
102
+ height: 12px;
102
103
 
103
- -webkit-transform: rotate(-45deg);
104
+ -webkit-transform: rotate(-45deg);
104
105
 
105
- -ms-transform: rotate(-45deg);
106
+ -ms-transform: rotate(-45deg);
106
107
 
107
- transform: rotate(-45deg);
108
- border: solid;
109
- border-width: 0 0 5px 5px;
110
- // Fix bug in IE11 caused by transform rotate (-45deg).
111
- // See: alphagov/govuk_elements/issues/518
112
- border-top-color: transparent;
108
+ transform: rotate(-45deg);
109
+ border: solid;
110
+ border-width: 0 0 5px 5px;
111
+ // Fix bug in IE11 caused by transform rotate (-45deg).
112
+ // See: alphagov/govuk_elements/issues/518
113
+ border-top-color: transparent;
113
114
 
114
- opacity: 0;
115
+ opacity: 0;
115
116
 
116
- background: transparent;
117
+ background: transparent;
118
+ }
117
119
  }
118
120
 
119
121
  .govuk-checkboxes__hint {
@@ -125,6 +127,20 @@
125
127
  // Focused state
126
128
  .govuk-checkboxes__input:focus + .govuk-checkboxes__label:before {
127
129
  border-width: 4px;
130
+
131
+ // When colours are overridden, the yellow box-shadow becomes invisible
132
+ // which means the focus state is less obvious. By adding a transparent
133
+ // outline, which becomes solid (text-coloured) in that context, we ensure
134
+ // the focus remains clearly visible.
135
+ outline: $govuk-focus-width solid transparent;
136
+ outline-offset: 1px;
137
+
138
+ // When in an explicit forced-color mode, we can use the Highlight system
139
+ // color for the outline to better match focus states of native controls
140
+ @media screen and (forced-colors: active), (-ms-high-contrast: active) {
141
+ outline-color: Highlight;
142
+ }
143
+
128
144
  box-shadow: 0 0 0 $govuk-focus-width $govuk-focus-colour;
129
145
  }
130
146
 
@@ -143,6 +159,19 @@
143
159
  opacity: .5;
144
160
  }
145
161
 
162
+ // =========================================================
163
+ // Dividers ('or')
164
+ // =========================================================
165
+
166
+ .govuk-checkboxes__divider {
167
+ $govuk-divider-size: $govuk-checkboxes-size !default;
168
+ @include govuk-font($size: 19);
169
+ @include govuk-text-colour;
170
+ width: $govuk-divider-size;
171
+ margin-bottom: govuk-spacing(2);
172
+ text-align: center;
173
+ }
174
+
146
175
  // =========================================================
147
176
  // Conditional reveals
148
177
  // =========================================================
@@ -71,7 +71,8 @@
71
71
  }
72
72
 
73
73
  .govuk-details__text {
74
- padding: govuk-spacing(3);
74
+ padding-top: govuk-spacing(3);
75
+ padding-bottom: govuk-spacing(3);
75
76
  padding-left: govuk-spacing(4);
76
77
  border-left: $govuk-border-width solid $govuk-border-colour;
77
78
  }
@@ -8,6 +8,7 @@
8
8
  .govuk-file-upload {
9
9
  @include govuk-font($size: 19);
10
10
  @include govuk-text-colour;
11
+ max-width: 100%;
11
12
  margin-left: -$component-padding;
12
13
  padding: $component-padding;
13
14
 
@@ -68,16 +68,20 @@
68
68
 
69
69
  .govuk-footer__meta {
70
70
  display: -webkit-box;
71
+ display: -webkit-flex;
71
72
  display: -ms-flexbox;
72
73
  display: flex; // Support: Flexbox
73
74
  margin-right: -$govuk-gutter-half;
74
75
  margin-left: -$govuk-gutter-half;
75
- -ms-flex-wrap: wrap;
76
- flex-wrap: wrap; // Support: Flexbox
76
+ -webkit-flex-wrap: wrap;
77
+ -ms-flex-wrap: wrap;
78
+ flex-wrap: wrap; // Support: Flexbox
77
79
  -webkit-box-align: end;
80
+ -webkit-align-items: flex-end;
78
81
  -ms-flex-align: end;
79
82
  align-items: flex-end; // Support: Flexbox
80
83
  -webkit-box-pack: center;
84
+ -webkit-justify-content: center;
81
85
  -ms-flex-pack: center;
82
86
  justify-content: center; // Support: Flexbox
83
87
  }
@@ -90,11 +94,13 @@
90
94
 
91
95
  .govuk-footer__meta-item--grow {
92
96
  -webkit-box-flex: 1;
97
+ -webkit-flex: 1;
93
98
  -ms-flex: 1;
94
99
  flex: 1; // Support: Flexbox
95
100
  @include govuk-media-query ($until: tablet) {
96
- -ms-flex-preferred-size: 320px;
97
- flex-basis: 320px; // Support: Flexbox
101
+ -webkit-flex-basis: 320px;
102
+ -ms-flex-preferred-size: 320px;
103
+ flex-basis: 320px; // Support: Flexbox
98
104
  }
99
105
  }
100
106
 
@@ -105,6 +111,9 @@
105
111
  margin-bottom: govuk-spacing(3);
106
112
  }
107
113
  vertical-align: top;
114
+ // Work around SVGs not inheriting color from parent in forced color mode
115
+ // (https://github.com/w3c/csswg-drafts/issues/6310)
116
+ forced-color-adjust: auto;
108
117
  }
109
118
 
110
119
  .govuk-footer__licence-description {
@@ -153,12 +162,14 @@
153
162
 
154
163
  .govuk-footer__navigation {
155
164
  display: -webkit-box;
165
+ display: -webkit-flex;
156
166
  display: -ms-flexbox;
157
167
  display: flex; // Support: Flexbox
158
168
  margin-right: -$govuk-gutter-half;
159
169
  margin-left: -$govuk-gutter-half;
160
- -ms-flex-wrap: wrap;
161
- flex-wrap: wrap; // Support: Flexbox
170
+ -webkit-flex-wrap: wrap;
171
+ -ms-flex-wrap: wrap;
172
+ flex-wrap: wrap; // Support: Flexbox
162
173
  }
163
174
 
164
175
  .govuk-footer__section {
@@ -169,15 +180,18 @@
169
180
  vertical-align: top;
170
181
  // Ensure columns take up equal width (typically one-half:one-half)
171
182
  -webkit-box-flex: 1;
183
+ -webkit-flex-grow: 1;
172
184
  -ms-flex-positive: 1;
173
185
  flex-grow: 1; // Support: Flexbox
174
- -ms-flex-negative: 1;
175
- flex-shrink: 1; // Support: Flexbox
186
+ -webkit-flex-shrink: 1;
187
+ -ms-flex-negative: 1;
188
+ flex-shrink: 1; // Support: Flexbox
176
189
  @include govuk-media-query ($until: desktop) {
177
190
  // Make sure columns do not drop below 200px in width
178
191
  // Will typically result in wrapping, and end up in a single column on smaller screens.
179
- -ms-flex-preferred-size: 200px;
180
- flex-basis: 200px; // Support: Flexbox
192
+ -webkit-flex-basis: 200px;
193
+ -ms-flex-preferred-size: 200px;
194
+ flex-basis: 200px; // Support: Flexbox
181
195
  }
182
196
  }
183
197
 
@@ -187,6 +201,7 @@
187
201
  // To ensure the section is one of two, we can count backwards using `:nth-last-child(2)`.
188
202
  .govuk-footer__section:first-child:nth-last-child(2) {
189
203
  -webkit-box-flex: 2;
204
+ -webkit-flex-grow: 2;
190
205
  -ms-flex-positive: 2;
191
206
  flex-grow: 2; // Support: Flexbox
192
207
  }
@@ -36,15 +36,19 @@
36
36
  .govuk-header__logotype {
37
37
  display: inline-block;
38
38
 
39
- // Add a gap between logo and any product name
39
+ // Add a gap after the logo in case it's followed by a product name. This
40
+ // gets removed later if the logotype is a :last-child.
40
41
  margin-right: govuk-spacing(1);
41
42
 
42
- // Prevent readability backplate from obscuring underline in Windows
43
- // High Contrast Mode
44
- forced-color-adjust: none;
43
+ // Prevent readability backplate from obscuring underline in Windows High
44
+ // Contrast Mode
45
+ @media (forced-colors: active) {
46
+ forced-color-adjust: none;
47
+ color: linktext;
48
+ }
45
49
 
46
- // But remove it if there's nothing after the logo to keep hover and focus
47
- // states neat
50
+ // Remove the gap after the logo if there's no product name to keep hover
51
+ // and focus states neat
48
52
  &:last-child {
49
53
  margin-right: 0;
50
54
  }
@@ -62,7 +66,7 @@
62
66
  width: 36px;
63
67
  height: 32px;
64
68
  border: 0;
65
- vertical-align: middle;
69
+ vertical-align: bottom;
66
70
  }
67
71
 
68
72
  .govuk-header__product-name {
@@ -95,11 +95,13 @@
95
95
 
96
96
  .govuk-input__wrapper {
97
97
  display: -webkit-box;
98
+ display: -webkit-flex;
98
99
  display: -ms-flexbox;
99
100
  display: flex;
100
101
 
101
102
  .govuk-input {
102
103
  -webkit-box-flex: 0;
104
+ -webkit-flex: 0 1 auto;
103
105
  -ms-flex: 0 1 auto;
104
106
  flex: 0 1 auto;
105
107
  }
@@ -150,6 +152,8 @@
150
152
 
151
153
  -webkit-box-flex: 0;
152
154
 
155
+ -webkit-flex: 0 0 auto;
156
+
153
157
  -ms-flex: 0 0 auto;
154
158
 
155
159
  flex: 0 0 auto;
@@ -121,6 +121,20 @@
121
121
  // Focused state
122
122
  .govuk-radios__input:focus + .govuk-radios__label:before {
123
123
  border-width: 4px;
124
+
125
+ // When colours are overridden, the yellow box-shadow becomes invisible
126
+ // which means the focus state is less obvious. By adding a transparent
127
+ // outline, which becomes solid (text-coloured) in that context, we ensure
128
+ // the focus remains clearly visible.
129
+ outline: $govuk-focus-width solid transparent;
130
+ outline-offset: 1px;
131
+
132
+ // When in an explicit forced-color mode, we can use the Highlight system
133
+ // color for the outline to better match focus states of native controls
134
+ @media screen and (forced-colors: active), (-ms-high-contrast: active) {
135
+ outline-color: Highlight;
136
+ }
137
+
124
138
  box-shadow: 0 0 0 $govuk-radios-focus-width $govuk-focus-colour;
125
139
  }
126
140
 
@@ -11,7 +11,9 @@
11
11
 
12
12
  // Respect 'display cutout' safe area (avoids notches and rounded corners)
13
13
  @supports (padding: unquote("max(calc(0px))")) {
14
+ $padding-safe-area-right: -webkit-calc(#{govuk-spacing(3)} + env(safe-area-inset-right));
14
15
  $padding-safe-area-right: calc(#{govuk-spacing(3)} + env(safe-area-inset-right));
16
+ $padding-safe-area-left: -webkit-calc(#{govuk-spacing(3)} + env(safe-area-inset-left));
15
17
  $padding-safe-area-left: calc(#{govuk-spacing(3)} + env(safe-area-inset-left));
16
18
 
17
19
  // Use max() to pick largest padding, default or with safe area
@@ -43,7 +43,6 @@
43
43
  // Prevent the exclamation mark from being included when the warning text
44
44
  // is copied, for example.
45
45
  -webkit-user-select: none;
46
- -moz-user-select: none;
47
46
  -ms-user-select: none;
48
47
  user-select: none;
49
48
 
@@ -15,7 +15,6 @@
15
15
  // Prevent automatic text sizing, as we already cater for small devices and
16
16
  // would like the browser to stay on 100% text zoom by default.
17
17
  -webkit-text-size-adjust: 100%;
18
- -moz-text-size-adjust: 100%;
19
18
  -ms-text-size-adjust: 100%;
20
19
  text-size-adjust: 100%;
21
20
 
@@ -75,7 +75,7 @@
75
75
  /// Make a colour darker by mixing it with black
76
76
  ///
77
77
  /// @param {Colour} $colour - colour to shade
78
- /// @param {Number} $percentage - percentage of `$colour` in returned color
78
+ /// @param {Number} $percentage - percentage of `$colour` in returned colour
79
79
  /// @return {Colour}
80
80
  /// @access public
81
81
 
@@ -86,7 +86,7 @@
86
86
  /// Make a colour lighter by mixing it with white
87
87
  ///
88
88
  /// @param {Colour} $colour - colour to tint
89
- /// @param {Number} $percentage - percentage of `$colour` in returned color
89
+ /// @param {Number} $percentage - percentage of `$colour` in returned colour
90
90
  /// @return {Colour}
91
91
  /// @access public
92
92
 
@@ -52,6 +52,12 @@
52
52
  @mixin govuk-link-hover-decoration {
53
53
  @if ($govuk-new-link-styles and $govuk-link-hover-underline-thickness) {
54
54
  text-decoration-thickness: $govuk-link-hover-underline-thickness;
55
+ // Disable ink skipping on underlines on hover. Browsers haven't
56
+ // standardised on this part of the spec yet, so set both properties
57
+ -webkit-text-decoration-skip-ink: none;
58
+ text-decoration-skip-ink: none; // Chromium, Firefox
59
+ -webkit-text-decoration-skip: none;
60
+ text-decoration-skip: none; // Safari
55
61
  }
56
62
  }
57
63
 
@@ -30,13 +30,16 @@
30
30
  // doesn't play nicely with it
31
31
  // (https://github.com/w3c/csswg-drafts/issues/3559)
32
32
  display: -webkit-box;
33
+ display: -webkit-flex;
33
34
  display: -ms-flexbox;
34
35
  display: flex;
35
36
  -webkit-box-orient: vertical;
36
37
  -webkit-box-direction: normal;
38
+ -webkit-flex-direction: column;
37
39
  -ms-flex-direction: column;
38
40
  flex-direction: column;
39
41
  -webkit-box-align: center;
42
+ -webkit-align-items: center;
40
43
  -ms-flex-align: center;
41
44
  align-items: center;
42
45
 
@@ -72,12 +75,16 @@
72
75
 
73
76
  -webkit-box-direction: normal;
74
77
 
78
+ -webkit-flex-direction: row;
79
+
75
80
  -ms-flex-direction: row;
76
81
 
77
82
  flex-direction: row;
78
- -ms-flex-wrap: wrap;
79
- flex-wrap: wrap;
83
+ -webkit-flex-wrap: wrap;
84
+ -ms-flex-wrap: wrap;
85
+ flex-wrap: wrap;
80
86
  -webkit-box-align: baseline;
87
+ -webkit-align-items: baseline;
81
88
  -ms-flex-align: baseline;
82
89
  align-items: baseline;
83
90
 
@@ -28,7 +28,9 @@
28
28
 
29
29
  // Respect 'display cutout' safe area (avoids notches and rounded corners)
30
30
  @supports (margin: unquote("max(calc(0px))")) {
31
+ $gutter-safe-area-right: -webkit-calc(#{$govuk-gutter-half} + env(safe-area-inset-right));
31
32
  $gutter-safe-area-right: calc(#{$govuk-gutter-half} + env(safe-area-inset-right));
33
+ $gutter-safe-area-left: -webkit-calc(#{$govuk-gutter-half} + env(safe-area-inset-left));
32
34
  $gutter-safe-area-left: calc(#{$govuk-gutter-half} + env(safe-area-inset-left));
33
35
 
34
36
  // Use max() to pick largest margin, default or with safe area
@@ -44,7 +46,9 @@
44
46
 
45
47
  // Respect 'display cutout' safe area (avoids notches and rounded corners)
46
48
  @supports (margin: unquote("max(calc(0px))")) {
49
+ $gutter-safe-area-right: -webkit-calc(#{$govuk-gutter-half} + env(safe-area-inset-right));
47
50
  $gutter-safe-area-right: calc(#{$govuk-gutter-half} + env(safe-area-inset-right));
51
+ $gutter-safe-area-left: -webkit-calc(#{$govuk-gutter-half} + env(safe-area-inset-left));
48
52
  $gutter-safe-area-left: calc(#{$govuk-gutter-half} + env(safe-area-inset-left));
49
53
 
50
54
  // Use max() to pick largest margin, default or with safe area
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dxw_govuk_frontend_rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.12.0
4
+ version: 3.13.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - mec