govuk_publishing_components 21.52.0 → 21.55.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (131) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/images/govuk_publishing_components/action-link--nhs.png +0 -0
  3. data/app/assets/images/govuk_publishing_components/action-link--nhs.svg +1 -0
  4. data/app/assets/images/govuk_publishing_components/action-link-arrow--dark.png +0 -0
  5. data/app/assets/images/govuk_publishing_components/action-link-arrow--simple.png +0 -0
  6. data/app/assets/images/govuk_publishing_components/action-link-arrow.png +0 -0
  7. data/app/assets/stylesheets/govuk_publishing_components/components/_action-link.scss +38 -7
  8. data/app/assets/stylesheets/govuk_publishing_components/components/_back-link.scss +0 -38
  9. data/app/assets/stylesheets/govuk_publishing_components/components/govspeak/_steps.scss +1 -1
  10. data/app/controllers/govuk_publishing_components/component_guide_controller.rb +34 -22
  11. data/app/views/govuk_publishing_components/components/_action_link.html.erb +23 -3
  12. data/app/views/govuk_publishing_components/components/_contextual_breadcrumbs.html.erb +5 -36
  13. data/app/views/govuk_publishing_components/components/_step_by_step_nav_header.html.erb +28 -8
  14. data/app/views/govuk_publishing_components/components/docs/action_link.yml +43 -15
  15. data/app/views/govuk_publishing_components/components/docs/step_by_step_nav_header.yml +23 -0
  16. data/lib/govuk_publishing_components.rb +1 -0
  17. data/lib/govuk_publishing_components/presenters/breadcrumb_selector.rb +107 -0
  18. data/lib/govuk_publishing_components/presenters/content_breadcrumbs_based_on_priority.rb +14 -1
  19. data/lib/govuk_publishing_components/presenters/content_breadcrumbs_based_on_taxons.rb +1 -3
  20. data/lib/govuk_publishing_components/presenters/contextual_navigation.rb +40 -19
  21. data/lib/govuk_publishing_components/presenters/machine_readable/faq_page_schema.rb +7 -6
  22. data/lib/govuk_publishing_components/presenters/machine_readable/html_publication_schema.rb +77 -0
  23. data/lib/govuk_publishing_components/presenters/schema_org.rb +24 -16
  24. data/lib/govuk_publishing_components/version.rb +1 -1
  25. data/node_modules/axe-core/CHANGELOG.md +6 -0
  26. data/node_modules/axe-core/axe.js +19 -3
  27. data/node_modules/axe-core/axe.min.js +2 -2
  28. data/node_modules/axe-core/bower.json +1 -1
  29. data/node_modules/axe-core/lib/commons/dom/get-element-stack.js +27 -1
  30. data/node_modules/axe-core/package.json +21 -21
  31. data/node_modules/axe-core/sri-history.json +4 -0
  32. data/node_modules/govuk-frontend/README.md +6 -6
  33. data/node_modules/govuk-frontend/govuk/_base.scss +3 -0
  34. data/node_modules/govuk-frontend/govuk/all.js +1 -1
  35. data/node_modules/govuk-frontend/govuk/all.scss +1 -3
  36. data/node_modules/govuk-frontend/govuk/components/_all.scss +31 -29
  37. data/node_modules/govuk-frontend/govuk/components/accordion/_accordion.scss +2 -208
  38. data/node_modules/govuk-frontend/govuk/components/accordion/_index.scss +207 -0
  39. data/node_modules/govuk-frontend/govuk/components/accordion/accordion.js +1 -1
  40. data/node_modules/govuk-frontend/govuk/components/back-link/_back-link.scss +2 -65
  41. data/node_modules/govuk-frontend/govuk/components/back-link/_index.scss +112 -0
  42. data/node_modules/govuk-frontend/govuk/components/breadcrumbs/_breadcrumbs.scss +2 -118
  43. data/node_modules/govuk-frontend/govuk/components/breadcrumbs/_index.scss +138 -0
  44. data/node_modules/govuk-frontend/govuk/components/breadcrumbs/macro-options.json +6 -0
  45. data/node_modules/govuk-frontend/govuk/components/breadcrumbs/template.njk +12 -1
  46. data/node_modules/govuk-frontend/govuk/components/button/_button.scss +2 -284
  47. data/node_modules/govuk-frontend/govuk/components/button/_index.scss +280 -0
  48. data/node_modules/govuk-frontend/govuk/components/character-count/_character-count.scss +2 -31
  49. data/node_modules/govuk-frontend/govuk/components/character-count/_index.scss +28 -0
  50. data/node_modules/govuk-frontend/govuk/components/checkboxes/_checkboxes.scss +2 -308
  51. data/node_modules/govuk-frontend/govuk/components/checkboxes/_index.scss +304 -0
  52. data/node_modules/govuk-frontend/govuk/components/date-input/_date-input.scss +2 -30
  53. data/node_modules/govuk-frontend/govuk/components/date-input/_index.scss +26 -0
  54. data/node_modules/govuk-frontend/govuk/components/details/_details.scss +2 -88
  55. data/node_modules/govuk-frontend/govuk/components/details/_index.scss +84 -0
  56. data/node_modules/govuk-frontend/govuk/components/error-message/_error-message.scss +2 -15
  57. data/node_modules/govuk-frontend/govuk/components/error-message/_index.scss +11 -0
  58. data/node_modules/govuk-frontend/govuk/components/error-summary/_error-summary.scss +2 -59
  59. data/node_modules/govuk-frontend/govuk/components/error-summary/_index.scss +55 -0
  60. data/node_modules/govuk-frontend/govuk/components/fieldset/_fieldset.scss +2 -68
  61. data/node_modules/govuk-frontend/govuk/components/fieldset/_index.scss +64 -0
  62. data/node_modules/govuk-frontend/govuk/components/file-upload/_file-upload.scss +2 -81
  63. data/node_modules/govuk-frontend/govuk/components/file-upload/_index.scss +77 -0
  64. data/node_modules/govuk-frontend/govuk/components/footer/_footer.scss +2 -244
  65. data/node_modules/govuk-frontend/govuk/components/footer/_index.scss +238 -0
  66. data/node_modules/govuk-frontend/govuk/components/header/_header.scss +2 -318
  67. data/node_modules/govuk-frontend/govuk/components/header/_index.scss +312 -0
  68. data/node_modules/govuk-frontend/govuk/components/header/macro-options.json +7 -1
  69. data/node_modules/govuk-frontend/govuk/components/header/template.njk +2 -2
  70. data/node_modules/govuk-frontend/govuk/components/hint/_hint.scss +2 -50
  71. data/node_modules/govuk-frontend/govuk/components/hint/_index.scss +46 -0
  72. data/node_modules/govuk-frontend/govuk/components/input/_index.scss +99 -0
  73. data/node_modules/govuk-frontend/govuk/components/input/_input.scss +2 -103
  74. data/node_modules/govuk-frontend/govuk/components/inset-text/_index.scss +24 -0
  75. data/node_modules/govuk-frontend/govuk/components/inset-text/_inset-text.scss +2 -28
  76. data/node_modules/govuk-frontend/govuk/components/label/_index.scss +41 -0
  77. data/node_modules/govuk-frontend/govuk/components/label/_label.scss +2 -45
  78. data/node_modules/govuk-frontend/govuk/components/panel/_index.scss +40 -0
  79. data/node_modules/govuk-frontend/govuk/components/panel/_panel.scss +2 -44
  80. data/node_modules/govuk-frontend/govuk/components/phase-banner/_index.scss +27 -0
  81. data/node_modules/govuk-frontend/govuk/components/phase-banner/_phase-banner.scss +2 -31
  82. data/node_modules/govuk-frontend/govuk/components/radios/_index.scss +342 -0
  83. data/node_modules/govuk-frontend/govuk/components/radios/_radios.scss +2 -346
  84. data/node_modules/govuk-frontend/govuk/components/select/_index.scss +53 -0
  85. data/node_modules/govuk-frontend/govuk/components/select/_select.scss +2 -57
  86. data/node_modules/govuk-frontend/govuk/components/skip-link/_index.scss +33 -0
  87. data/node_modules/govuk-frontend/govuk/components/skip-link/_skip-link.scss +2 -37
  88. data/node_modules/govuk-frontend/govuk/components/summary-list/_index.scss +153 -0
  89. data/node_modules/govuk-frontend/govuk/components/summary-list/_summary-list.scss +2 -157
  90. data/node_modules/govuk-frontend/govuk/components/table/_index.scss +50 -0
  91. data/node_modules/govuk-frontend/govuk/components/table/_table.scss +2 -54
  92. data/node_modules/govuk-frontend/govuk/components/tabs/_index.scss +138 -0
  93. data/node_modules/govuk-frontend/govuk/components/tabs/_tabs.scss +2 -142
  94. data/node_modules/govuk-frontend/govuk/components/tag/_index.scss +87 -0
  95. data/node_modules/govuk-frontend/govuk/components/tag/_tag.scss +2 -91
  96. data/node_modules/govuk-frontend/govuk/components/textarea/_index.scss +51 -0
  97. data/node_modules/govuk-frontend/govuk/components/textarea/_textarea.scss +2 -55
  98. data/node_modules/govuk-frontend/govuk/components/warning-text/_index.scss +56 -0
  99. data/node_modules/govuk-frontend/govuk/components/warning-text/_warning-text.scss +2 -60
  100. data/node_modules/govuk-frontend/govuk/core/_global-styles.scss +5 -3
  101. data/node_modules/govuk-frontend/govuk/core/_links.scss +5 -3
  102. data/node_modules/govuk-frontend/govuk/core/_lists.scss +17 -3
  103. data/node_modules/govuk-frontend/govuk/core/_section-break.scss +5 -3
  104. data/node_modules/govuk-frontend/govuk/core/_template.scss +5 -3
  105. data/node_modules/govuk-frontend/govuk/core/_typography.scss +5 -3
  106. data/node_modules/govuk-frontend/govuk/helpers/_clearfix.scss +1 -1
  107. data/node_modules/govuk-frontend/govuk/helpers/_focused.scss +1 -1
  108. data/node_modules/govuk-frontend/govuk/helpers/_grid.scss +2 -1
  109. data/node_modules/govuk-frontend/govuk/helpers/_links.scss +1 -1
  110. data/node_modules/govuk-frontend/govuk/helpers/_media-queries.scss +1 -1
  111. data/node_modules/govuk-frontend/govuk/helpers/_shape-arrow.scss +1 -1
  112. data/node_modules/govuk-frontend/govuk/helpers/_spacing.scss +1 -1
  113. data/node_modules/govuk-frontend/govuk/helpers/_typography.scss +1 -1
  114. data/node_modules/govuk-frontend/govuk/helpers/_visually-hidden.scss +1 -1
  115. data/node_modules/govuk-frontend/govuk/objects/_form-group.scss +1 -3
  116. data/node_modules/govuk-frontend/govuk/objects/_grid.scss +1 -3
  117. data/node_modules/govuk-frontend/govuk/objects/_main-wrapper.scss +5 -3
  118. data/node_modules/govuk-frontend/govuk/objects/_width-container.scss +2 -4
  119. data/node_modules/govuk-frontend/govuk/overrides/_display.scss +5 -3
  120. data/node_modules/govuk-frontend/govuk/overrides/_spacing.scss +5 -3
  121. data/node_modules/govuk-frontend/govuk/overrides/_typography.scss +5 -3
  122. data/node_modules/govuk-frontend/govuk/overrides/_width.scss +5 -3
  123. data/node_modules/govuk-frontend/govuk/settings/_ie8.scss +1 -1
  124. data/node_modules/govuk-frontend/govuk/tools/_compatibility.scss +1 -1
  125. data/node_modules/govuk-frontend/govuk/tools/_font-url.scss +1 -1
  126. data/node_modules/govuk-frontend/govuk/tools/_ie8.scss +1 -1
  127. data/node_modules/govuk-frontend/govuk/tools/_image-url.scss +1 -1
  128. data/node_modules/govuk-frontend/govuk/tools/_px-to-em.scss +1 -1
  129. data/node_modules/govuk-frontend/govuk/tools/_px-to-rem.scss +1 -1
  130. data/node_modules/govuk-frontend/package.json +21 -21
  131. metadata +50 -2
@@ -1,346 +1,2 @@
1
- @import "../../settings/all";
2
- @import "../../tools/all";
3
- @import "../../helpers/all";
4
-
5
- @import "../error-message/error-message";
6
- @import "../fieldset/fieldset";
7
- @import "../hint/hint";
8
- @import "../label/label";
9
-
10
- @include govuk-exports("govuk/component/radios") {
11
-
12
- $govuk-touch-target-size: 44px;
13
- $govuk-radios-size: 40px;
14
- $govuk-small-radios-size: 24px;
15
- $govuk-radios-label-padding-left-right: govuk-spacing(3);
16
- // When the default focus width is used on a curved edge it looks visually smaller.
17
- // So for the circular radios we bump the default to make it look visually consistent.
18
- $govuk-radios-focus-width: $govuk-focus-width + 1px;
19
-
20
- .govuk-radios__item {
21
- @include govuk-font($size: 19);
22
-
23
- display: block;
24
- position: relative;
25
-
26
- min-height: $govuk-radios-size;
27
-
28
- margin-bottom: govuk-spacing(2);
29
- padding-left: $govuk-radios-size;
30
-
31
- clear: left;
32
- }
33
-
34
- .govuk-radios__item:last-child,
35
- .govuk-radios__item:last-of-type {
36
- margin-bottom: 0;
37
- }
38
-
39
- .govuk-radios__input {
40
- $input-offset: ($govuk-touch-target-size - $govuk-radios-size) / 2;
41
-
42
- cursor: pointer;
43
-
44
- // IE8 doesn’t support pseudo-elements, so we don’t want to hide native
45
- // elements there.
46
- @include govuk-not-ie8 {
47
- position: absolute;
48
-
49
- z-index: 1;
50
- top: $input-offset * -1;
51
- left: $input-offset * -1;
52
-
53
- width: $govuk-touch-target-size;
54
- height: $govuk-touch-target-size;
55
- margin: 0;
56
-
57
- opacity: 0;
58
- }
59
-
60
- @include govuk-if-ie8 {
61
- margin-top: 10px;
62
- margin-right: $govuk-radios-size / -2;
63
- margin-left: $govuk-radios-size / -2;
64
- float: left;
65
-
66
- // add focus outline to input
67
- &:focus {
68
- outline: $govuk-focus-width solid $govuk-focus-colour;
69
- }
70
- }
71
- }
72
-
73
- .govuk-radios__label {
74
- display: inline-block;
75
- margin-bottom: 0;
76
- padding: 8px $govuk-radios-label-padding-left-right govuk-spacing(1);
77
- cursor: pointer;
78
- // remove 300ms pause on mobile
79
- -ms-touch-action: manipulation;
80
- touch-action: manipulation;
81
- }
82
-
83
- // ( ) Radio ring
84
- .govuk-radios__label::before {
85
- content: "";
86
- box-sizing: border-box;
87
- position: absolute;
88
- top: 0;
89
- left: 0;
90
-
91
- width: $govuk-radios-size;
92
- height: $govuk-radios-size;
93
-
94
- border: $govuk-border-width-form-element solid currentColor;
95
- border-radius: 50%;
96
- background: transparent;
97
- }
98
-
99
- // • Radio button
100
- //
101
- // We create the 'button' entirely out of 'border' so that they remain
102
- // 'filled' even when colours are overridden in the browser.
103
- .govuk-radios__label::after {
104
- content: "";
105
-
106
- position: absolute;
107
- top: govuk-spacing(2);
108
- left: govuk-spacing(2);
109
-
110
- width: 0;
111
- height: 0;
112
-
113
- border: govuk-spacing(2) solid currentColor;
114
- border-radius: 50%;
115
- opacity: 0;
116
- background: currentColor;
117
- }
118
-
119
- .govuk-radios__hint {
120
- display: block;
121
- padding-right: $govuk-radios-label-padding-left-right;
122
- padding-left: $govuk-radios-label-padding-left-right;
123
- }
124
-
125
- // Focused state
126
- .govuk-radios__input:focus + .govuk-radios__label::before {
127
- border-width: 4px;
128
- box-shadow: 0 0 0 $govuk-radios-focus-width $govuk-focus-colour;
129
- }
130
-
131
- // Selected state
132
- .govuk-radios__input:checked + .govuk-radios__label::after {
133
- opacity: 1;
134
- }
135
-
136
- // Disabled state
137
- .govuk-radios__input:disabled,
138
- .govuk-radios__input:disabled + .govuk-radios__label {
139
- cursor: default;
140
- }
141
-
142
- .govuk-radios__input:disabled + .govuk-radios__label {
143
- opacity: .5;
144
- }
145
-
146
- // =========================================================
147
- // Inline radios
148
- // =========================================================
149
-
150
- .govuk-radios--inline {
151
- @include govuk-media-query ($from: tablet) {
152
- @include govuk-clearfix;
153
-
154
- .govuk-radios__item {
155
- margin-right: govuk-spacing(4);
156
- float: left;
157
- clear: none;
158
- }
159
- }
160
-
161
- // Prevent inline modifier being used with conditional reveals
162
- &.govuk-radios--conditional {
163
- .govuk-radios__item {
164
- margin-right: 0;
165
- float: none;
166
- }
167
- }
168
- }
169
-
170
- // =========================================================
171
- // Dividers ('or')
172
- // =========================================================
173
-
174
- .govuk-radios__divider {
175
- $govuk-divider-size: $govuk-radios-size !default;
176
- @include govuk-font($size: 19);
177
- @include govuk-text-colour;
178
- width: $govuk-divider-size;
179
- margin-bottom: govuk-spacing(2);
180
- text-align: center;
181
- }
182
-
183
- // =========================================================
184
- // Conditional reveals
185
- // =========================================================
186
-
187
- // The narrow border is used in the conditional reveals because the border has
188
- // to be an even number in order to be centred under the 40px checkbox or radio.
189
- $conditional-border-width: $govuk-border-width-narrow;
190
- // Calculate the amount of padding needed to keep the border centered against the radios.
191
- $conditional-border-padding: ($govuk-radios-size / 2) - ($conditional-border-width / 2);
192
- // Move the border centered with the radios
193
- $conditional-margin-left: $conditional-border-padding;
194
- // Move the contents of the conditional inline with the label
195
- $conditional-padding-left: $conditional-border-padding + $govuk-radios-label-padding-left-right;
196
-
197
- .govuk-radios__conditional {
198
- @include govuk-responsive-margin(4, "bottom");
199
- margin-left: $conditional-margin-left;
200
- padding-left: $conditional-padding-left;
201
- border-left: $conditional-border-width solid $govuk-border-colour;
202
-
203
- .js-enabled &--hidden {
204
- display: none;
205
- }
206
-
207
- & > :last-child {
208
- margin-bottom: 0;
209
- }
210
- }
211
-
212
- // =========================================================
213
- // Small checkboxes
214
- // =========================================================
215
-
216
- .govuk-radios--small {
217
-
218
- $input-offset: ($govuk-touch-target-size - $govuk-small-radios-size) / 2;
219
- $label-offset: $govuk-touch-target-size - $input-offset;
220
-
221
- .govuk-radios__item {
222
- @include govuk-clearfix;
223
- min-height: 0;
224
- margin-bottom: 0;
225
- padding-left: $label-offset;
226
- float: left;
227
- }
228
-
229
- // Shift the touch target into the left margin so that the visible edge of
230
- // the control is aligned
231
- //
232
- // ┆Which colour is your favourite?
233
- // ┌┆───┐
234
- // │┆() │ Purple
235
- // └┆▲──┘
236
- // ▲┆└─ Radio pseudo element, aligned with margin
237
- // └─── Touch target (invisible input), shifted into the margin
238
- .govuk-radios__input {
239
- @include govuk-not-ie8 {
240
- left: $input-offset * -1;
241
- }
242
-
243
- @include govuk-if-ie8 {
244
- margin-left: $govuk-small-radios-size * -1;
245
- }
246
- }
247
-
248
- // Adjust the size and position of the label.
249
- //
250
- // Unlike larger radios, we also have to float the label in order to
251
- // 'shrink' it, preventing the hover state from kicking in across the full
252
- // width of the parent element.
253
- .govuk-radios__label {
254
- margin-top: -2px;
255
- padding: 13px govuk-spacing(3) 13px 1px;
256
- float: left;
257
-
258
- @include govuk-media-query($from: tablet) {
259
- padding: 11px govuk-spacing(3) 10px 1px;
260
- }
261
- }
262
-
263
- // ( ) Radio ring
264
- //
265
- // Reduce the size of the control [1], vertically centering it within the
266
- // touch target [2]
267
- .govuk-radios__label::before {
268
- top: $input-offset - $govuk-border-width-form-element; // 2
269
- width: $govuk-small-radios-size; // 1
270
- height: $govuk-small-radios-size; // 1
271
- }
272
-
273
- // • Radio button
274
- //
275
- // Reduce the size of the 'button' and center it within the ring
276
- .govuk-radios__label::after {
277
- top: 15px;
278
- left: 7px;
279
- border-width: 5px;
280
- }
281
-
282
- // Fix position of hint with small radios
283
- //
284
- // Do not use hints with small radios – because they're within the input
285
- // wrapper they trigger the hover state, but clicking them doesn't actually
286
- // activate the control.
287
- //
288
- // (If you do use them, they won't look completely broken... but seriously,
289
- // don't use them)
290
- .govuk-radios__hint {
291
- padding: 0;
292
- clear: both;
293
- pointer-events: none;
294
- }
295
-
296
- // Align conditional reveals with small radios
297
- .govuk-radios__conditional {
298
- $margin-left: ($govuk-small-radios-size / 2) - ($conditional-border-width / 2);
299
- margin-left: $margin-left;
300
- padding-left: $label-offset - ($margin-left + $conditional-border-width);
301
- clear: both;
302
- }
303
-
304
- .govuk-radios__divider {
305
- width: $govuk-small-radios-size;
306
- margin-bottom: govuk-spacing(1);
307
- }
308
-
309
- // Hover state for small radios.
310
- //
311
- // We use a hover state for small radios because the touch target size
312
- // is so much larger than their visible size, and so we need to provide
313
- // feedback to the user as to which radio they will select when their
314
- // cursor is outside of the visible area.
315
- .govuk-radios__item:hover .govuk-radios__input:not(:disabled) + .govuk-radios__label::before {
316
- box-shadow: 0 0 0 $govuk-hover-width $govuk-hover-colour;
317
- }
318
-
319
- // Because we've overridden the border-shadow provided by the focus state,
320
- // we need to redefine that too.
321
- //
322
- // We use two box shadows, one that restores the original focus state [1]
323
- // and another that then applies the hover state [2].
324
- .govuk-radios__item:hover .govuk-radios__input:focus + .govuk-radios__label::before {
325
- // sass-lint:disable indentation
326
- box-shadow: 0 0 0 $govuk-radios-focus-width $govuk-focus-colour, // 1
327
- 0 0 0 $govuk-hover-width $govuk-hover-colour; // 2
328
- }
329
-
330
- // For devices that explicitly don't support hover, don't provide a hover
331
- // state (e.g. on touch devices like iOS).
332
- //
333
- // We can't use `@media (hover: hover)` because we wouldn't get the hover
334
- // state in browsers that don't support `@media (hover)` (like Internet
335
- // Explorer) – so we have to 'undo' the hover state instead.
336
- @media (hover: none), (pointer: coarse) {
337
- .govuk-radios__item:hover .govuk-radios__input:not(:disabled) + .govuk-radios__label::before {
338
- box-shadow: initial;
339
- }
340
-
341
- .govuk-radios__item:hover .govuk-radios__input:focus + .govuk-radios__label::before {
342
- box-shadow: 0 0 0 $govuk-radios-focus-width $govuk-focus-colour;
343
- }
344
- }
345
- }
346
- }
1
+ @import "../../base";
2
+ @import "./index";
@@ -0,0 +1,53 @@
1
+ @import "../error-message/index";
2
+ @import "../hint/index";
3
+ @import "../label/index";
4
+
5
+ @include govuk-exports("govuk/component/select") {
6
+ .govuk-select {
7
+ @include govuk-font($size: 19, $line-height: 1.25);
8
+
9
+ box-sizing: border-box; // should this be global?
10
+ max-width: 100%;
11
+ height: 40px;
12
+ @if $govuk-typography-use-rem {
13
+ height: govuk-px-to-rem(40px);
14
+ }
15
+ padding: govuk-spacing(1); // was 5px 4px 4px - size of it should be adjusted to match other form elements
16
+ border: $govuk-border-width-form-element solid $govuk-input-border-colour;
17
+
18
+ &:focus {
19
+ outline: $govuk-focus-width solid $govuk-focus-colour;
20
+ // Ensure outline appears outside of the element
21
+ outline-offset: 0;
22
+ // Double the border by adding its width again. Use `box-shadow` to do
23
+ // this instead of changing `border-width` (which changes element size) and
24
+ // since `outline` is already used for the yellow focus state.
25
+ box-shadow: inset 0 0 0 $govuk-border-width-form-element;
26
+
27
+ @include govuk-if-ie8 {
28
+ // IE8 doesn't support `box-shadow` so double the border with
29
+ // `border-width`.
30
+ border-width: $govuk-border-width-form-element * 2;
31
+ }
32
+ }
33
+ }
34
+
35
+ .govuk-select option:active,
36
+ .govuk-select option:checked,
37
+ .govuk-select:focus::-ms-value {
38
+ color: govuk-colour("white");
39
+ background-color: govuk-colour("blue");
40
+ }
41
+
42
+ .govuk-select--error {
43
+ border: $govuk-border-width-form-element-error solid $govuk-error-colour;
44
+
45
+ &:focus {
46
+ border-color: $govuk-input-border-colour;
47
+ // Remove `box-shadow` inherited from `:focus` as `select--error`
48
+ // already has the thicker border.
49
+ box-shadow: none;
50
+ }
51
+ }
52
+
53
+ }
@@ -1,57 +1,2 @@
1
- @import "../../settings/all";
2
- @import "../../tools/all";
3
- @import "../../helpers/all";
4
-
5
- @import "../error-message/error-message";
6
- @import "../hint/hint";
7
- @import "../label/label";
8
-
9
- @include govuk-exports("govuk/component/select") {
10
- .govuk-select {
11
- @include govuk-font($size: 19, $line-height: 1.25);
12
-
13
- box-sizing: border-box; // should this be global?
14
- max-width: 100%;
15
- height: 40px;
16
- @if $govuk-typography-use-rem {
17
- height: govuk-px-to-rem(40px);
18
- }
19
- padding: govuk-spacing(1); // was 5px 4px 4px - size of it should be adjusted to match other form elements
20
- border: $govuk-border-width-form-element solid $govuk-input-border-colour;
21
-
22
- &:focus {
23
- outline: $govuk-focus-width solid $govuk-focus-colour;
24
- // Ensure outline appears outside of the element
25
- outline-offset: 0;
26
- // Double the border by adding its width again. Use `box-shadow` to do
27
- // this instead of changing `border-width` (which changes element size) and
28
- // since `outline` is already used for the yellow focus state.
29
- box-shadow: inset 0 0 0 $govuk-border-width-form-element;
30
-
31
- @include govuk-if-ie8 {
32
- // IE8 doesn't support `box-shadow` so double the border with
33
- // `border-width`.
34
- border-width: $govuk-border-width-form-element * 2;
35
- }
36
- }
37
- }
38
-
39
- .govuk-select option:active,
40
- .govuk-select option:checked,
41
- .govuk-select:focus::-ms-value {
42
- color: govuk-colour("white");
43
- background-color: govuk-colour("blue");
44
- }
45
-
46
- .govuk-select--error {
47
- border: $govuk-border-width-form-element-error solid $govuk-error-colour;
48
-
49
- &:focus {
50
- border-color: $govuk-input-border-colour;
51
- // Remove `box-shadow` inherited from `:focus` as `select--error`
52
- // already has the thicker border.
53
- box-shadow: none;
54
- }
55
- }
56
-
57
- }
1
+ @import "../../base";
2
+ @import "./index";