govuk_publishing_components 21.52.0 → 21.55.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.
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
@@ -0,0 +1,84 @@
1
+ @include govuk-exports("govuk/component/details") {
2
+
3
+ .govuk-details {
4
+ @include govuk-font($size: 19);
5
+ @include govuk-text-colour;
6
+ @include govuk-responsive-margin(6, "bottom");
7
+
8
+ display: block;
9
+ }
10
+
11
+ .govuk-details__summary {
12
+ // Make the focus outline shrink-wrap the text content of the summary
13
+ display: inline-block;
14
+
15
+ // Absolutely position the marker against this element
16
+ position: relative;
17
+
18
+ margin-bottom: govuk-spacing(1);
19
+
20
+ // Allow for absolutely positioned marker and align with disclosed text
21
+ padding-left: govuk-spacing(4) + $govuk-border-width;
22
+
23
+ // Style the summary to look like a link...
24
+ color: $govuk-link-colour;
25
+ cursor: pointer;
26
+
27
+ &:hover {
28
+ color: $govuk-link-hover-colour;
29
+ }
30
+
31
+ &:focus {
32
+ @include govuk-focused-text;
33
+ }
34
+ }
35
+
36
+ // ...but only underline the text, not the arrow
37
+ .govuk-details__summary-text {
38
+ text-decoration: underline;
39
+ }
40
+
41
+ // Remove the underline when focussed to avoid duplicate borders
42
+ .govuk-details__summary:focus .govuk-details__summary-text {
43
+ text-decoration: none;
44
+ }
45
+
46
+ // Remove the default details marker so we can style our own consistently and
47
+ // ensure it displays in Firefox (see implementation.md for details)
48
+ .govuk-details__summary::-webkit-details-marker {
49
+ display: none;
50
+ }
51
+
52
+ // Append our own open / closed marker using a pseudo-element
53
+ .govuk-details__summary:before {
54
+ content: "";
55
+ position: absolute;
56
+
57
+ top: -1px;
58
+ bottom: 0;
59
+ left: 0;
60
+
61
+ margin: auto;
62
+
63
+ @include govuk-shape-arrow($direction: right, $base: 14px);
64
+
65
+ .govuk-details[open] > & {
66
+ @include govuk-shape-arrow($direction: down, $base: 14px);
67
+ }
68
+ }
69
+
70
+ .govuk-details__text {
71
+ padding: govuk-spacing(3);
72
+ padding-left: govuk-spacing(4);
73
+ border-left: $govuk-border-width solid $govuk-border-colour;
74
+ }
75
+
76
+ .govuk-details__text p {
77
+ margin-top: 0;
78
+ margin-bottom: govuk-spacing(4);
79
+ }
80
+
81
+ .govuk-details__text > :last-child {
82
+ margin-bottom: 0;
83
+ }
84
+ }
@@ -1,15 +1,2 @@
1
- @import "../../settings/all";
2
- @import "../../tools/all";
3
- @import "../../helpers/all";
4
-
5
- @include govuk-exports("govuk/component/error-message") {
6
- .govuk-error-message {
7
- @include govuk-font($size: 19, $weight: bold);
8
-
9
- display: block;
10
- margin-bottom: govuk-spacing(3);
11
- clear: both;
12
-
13
- color: $govuk-error-colour;
14
- }
15
- }
1
+ @import "../../base";
2
+ @import "./index";
@@ -0,0 +1,11 @@
1
+ @include govuk-exports("govuk/component/error-message") {
2
+ .govuk-error-message {
3
+ @include govuk-font($size: 19, $weight: bold);
4
+
5
+ display: block;
6
+ margin-bottom: govuk-spacing(3);
7
+ clear: both;
8
+
9
+ color: $govuk-error-colour;
10
+ }
11
+ }
@@ -1,59 +1,2 @@
1
- @import "../../settings/all";
2
- @import "../../tools/all";
3
- @import "../../helpers/all";
4
-
5
- @import "../../core/lists";
6
-
7
- @include govuk-exports("govuk/component/error-summary") {
8
-
9
- .govuk-error-summary {
10
- @include govuk-text-colour;
11
- @include govuk-responsive-padding(4);
12
- @include govuk-responsive-margin(8, "bottom");
13
-
14
- border: $govuk-border-width solid $govuk-error-colour;
15
-
16
- &:focus {
17
- outline: $govuk-focus-width solid $govuk-focus-colour;
18
- }
19
- }
20
-
21
- .govuk-error-summary__title {
22
- @include govuk-font($size: 24, $weight: bold);
23
-
24
- margin-top: 0;
25
- @include govuk-responsive-margin(4, "bottom");
26
- }
27
-
28
- .govuk-error-summary__body {
29
- @include govuk-font($size: 19);
30
-
31
- p {
32
- margin-top: 0;
33
- @include govuk-responsive-margin(4, "bottom");
34
- }
35
- }
36
-
37
- // Cross-component class - adjusts styling of list component
38
- .govuk-error-summary__list {
39
- margin-top: 0;
40
- margin-bottom: 0;
41
- }
42
-
43
- .govuk-error-summary__list a {
44
- @include govuk-typography-weight-bold;
45
-
46
- // Override default link styling to use error colour
47
- &:link,
48
- &:visited,
49
- &:hover,
50
- &:active {
51
- color: $govuk-error-colour;
52
- }
53
-
54
- &:focus {
55
- @include govuk-focused-text;
56
- }
57
- }
58
-
59
- }
1
+ @import "../../base";
2
+ @import "./index";
@@ -0,0 +1,55 @@
1
+ @import "../../core/lists";
2
+
3
+ @include govuk-exports("govuk/component/error-summary") {
4
+
5
+ .govuk-error-summary {
6
+ @include govuk-text-colour;
7
+ @include govuk-responsive-padding(4);
8
+ @include govuk-responsive-margin(8, "bottom");
9
+
10
+ border: $govuk-border-width solid $govuk-error-colour;
11
+
12
+ &:focus {
13
+ outline: $govuk-focus-width solid $govuk-focus-colour;
14
+ }
15
+ }
16
+
17
+ .govuk-error-summary__title {
18
+ @include govuk-font($size: 24, $weight: bold);
19
+
20
+ margin-top: 0;
21
+ @include govuk-responsive-margin(4, "bottom");
22
+ }
23
+
24
+ .govuk-error-summary__body {
25
+ @include govuk-font($size: 19);
26
+
27
+ p {
28
+ margin-top: 0;
29
+ @include govuk-responsive-margin(4, "bottom");
30
+ }
31
+ }
32
+
33
+ // Cross-component class - adjusts styling of list component
34
+ .govuk-error-summary__list {
35
+ margin-top: 0;
36
+ margin-bottom: 0;
37
+ }
38
+
39
+ .govuk-error-summary__list a {
40
+ @include govuk-typography-weight-bold;
41
+
42
+ // Override default link styling to use error colour
43
+ &:link,
44
+ &:visited,
45
+ &:hover,
46
+ &:active {
47
+ color: $govuk-error-colour;
48
+ }
49
+
50
+ &:focus {
51
+ @include govuk-focused-text;
52
+ }
53
+ }
54
+
55
+ }
@@ -1,68 +1,2 @@
1
- @import "../../settings/all";
2
- @import "../../tools/all";
3
- @import "../../helpers/all";
4
-
5
- @include govuk-exports("govuk/component/fieldset") {
6
- .govuk-fieldset {
7
- min-width: 0;
8
- margin: 0;
9
- padding: 0;
10
- border: 0;
11
- @include govuk-clearfix;
12
- }
13
-
14
- // Fix for Firefox < 53
15
- // https://bugzilla.mozilla.org/show_bug.cgi?id=504622
16
- @supports not (caret-color: auto) {
17
- .govuk-fieldset,
18
- x:-moz-any-link {
19
- display: table-cell;
20
- }
21
- }
22
-
23
- .govuk-fieldset__legend {
24
- @include govuk-font($size: 19);
25
- @include govuk-text-colour;
26
-
27
- // Fix legend text wrapping in Edge and IE
28
- // 1. IE9-11 & Edge 12-13
29
- // 2. IE8-11
30
- box-sizing: border-box; // 1
31
- display: table; // 2
32
- max-width: 100%; // 1
33
- margin-bottom: govuk-spacing(2);
34
- padding: 0;
35
-
36
- white-space: normal; // 1
37
- }
38
-
39
- // Modifiers that make legends look more like their equivalent headings
40
-
41
- .govuk-fieldset__legend--xl {
42
- @include govuk-font($size: 48, $weight: bold);
43
- margin-bottom: govuk-spacing(3);
44
- }
45
-
46
- .govuk-fieldset__legend--l {
47
- @include govuk-font($size: 36, $weight: bold);
48
- margin-bottom: govuk-spacing(3);
49
- }
50
-
51
- .govuk-fieldset__legend--m {
52
- @include govuk-font($size: 24, $weight: bold);
53
- margin-bottom: govuk-spacing(3);
54
- }
55
-
56
- .govuk-fieldset__legend--s {
57
- @include govuk-font($size: 19, $weight: bold);
58
- }
59
-
60
- // When the legend contains an H1, we want the H1 to inherit all styles from
61
- // the legend. Effectively we want to be able to treat the heading as if it is
62
- // not there.
63
- .govuk-fieldset__heading {
64
- margin: 0;
65
- font-size: inherit;
66
- font-weight: inherit;
67
- }
68
- }
1
+ @import "../../base";
2
+ @import "./index";
@@ -0,0 +1,64 @@
1
+ @include govuk-exports("govuk/component/fieldset") {
2
+ .govuk-fieldset {
3
+ min-width: 0;
4
+ margin: 0;
5
+ padding: 0;
6
+ border: 0;
7
+ @include govuk-clearfix;
8
+ }
9
+
10
+ // Fix for Firefox < 53
11
+ // https://bugzilla.mozilla.org/show_bug.cgi?id=504622
12
+ @supports not (caret-color: auto) {
13
+ .govuk-fieldset,
14
+ x:-moz-any-link {
15
+ display: table-cell;
16
+ }
17
+ }
18
+
19
+ .govuk-fieldset__legend {
20
+ @include govuk-font($size: 19);
21
+ @include govuk-text-colour;
22
+
23
+ // Fix legend text wrapping in Edge and IE
24
+ // 1. IE9-11 & Edge 12-13
25
+ // 2. IE8-11
26
+ box-sizing: border-box; // 1
27
+ display: table; // 2
28
+ max-width: 100%; // 1
29
+ margin-bottom: govuk-spacing(2);
30
+ padding: 0;
31
+
32
+ white-space: normal; // 1
33
+ }
34
+
35
+ // Modifiers that make legends look more like their equivalent headings
36
+
37
+ .govuk-fieldset__legend--xl {
38
+ @include govuk-font($size: 48, $weight: bold);
39
+ margin-bottom: govuk-spacing(3);
40
+ }
41
+
42
+ .govuk-fieldset__legend--l {
43
+ @include govuk-font($size: 36, $weight: bold);
44
+ margin-bottom: govuk-spacing(3);
45
+ }
46
+
47
+ .govuk-fieldset__legend--m {
48
+ @include govuk-font($size: 24, $weight: bold);
49
+ margin-bottom: govuk-spacing(3);
50
+ }
51
+
52
+ .govuk-fieldset__legend--s {
53
+ @include govuk-font($size: 19, $weight: bold);
54
+ }
55
+
56
+ // When the legend contains an H1, we want the H1 to inherit all styles from
57
+ // the legend. Effectively we want to be able to treat the heading as if it is
58
+ // not there.
59
+ .govuk-fieldset__heading {
60
+ margin: 0;
61
+ font-size: inherit;
62
+ font-weight: inherit;
63
+ }
64
+ }
@@ -1,81 +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/file-upload") {
10
- $component-padding: govuk-spacing(1);
11
-
12
- .govuk-file-upload {
13
- @include govuk-font($size: 19);
14
- @include govuk-text-colour;
15
- padding-top: $component-padding;
16
- padding-bottom: $component-padding;
17
-
18
- &:focus {
19
- // "Yank" the padding with negative margin to avoid a jump
20
- // when element is focused
21
- margin-right: -$component-padding;
22
- margin-left: -$component-padding;
23
- padding-right: $component-padding;
24
- padding-left: $component-padding;
25
-
26
- outline: $govuk-focus-width solid $govuk-focus-colour;
27
- // Use `box-shadow` to add border instead of changing `border-width`
28
- // (which changes element size) and since `outline` is already used for the
29
- // yellow focus state.
30
- box-shadow: inset 0 0 0 4px $govuk-input-border-colour;
31
-
32
- @include govuk-if-ie8 {
33
- // IE8 doesn't support `box-shadow` so add an actual border
34
- border: 4px solid $govuk-input-border-colour;
35
- }
36
- }
37
-
38
- // Set "focus-within" to fix https://bugzilla.mozilla.org/show_bug.cgi?id=1430196
39
- // so that component receives focus in Firefox.
40
- // This can't be set together with `:focus` as all versions of IE fail
41
- // to recognise `focus-within` and don't set any styles from the block
42
- // when it's a selector.
43
- &:focus-within {
44
- margin-right: -$component-padding;
45
- margin-left: -$component-padding;
46
- padding-right: $component-padding;
47
- padding-left: $component-padding;
48
-
49
- outline: $govuk-focus-width solid $govuk-focus-colour;
50
-
51
- box-shadow: inset 0 0 0 4px $govuk-input-border-colour;
52
- }
53
- }
54
-
55
- .govuk-file-upload--error {
56
- // As `upload--error` has border, it needs to have the same padding as
57
- // the standard focused element.
58
- margin-right: -$component-padding;
59
- margin-left: -$component-padding;
60
- padding-right: $component-padding;
61
- padding-left: $component-padding;
62
- border: $govuk-border-width-form-element-error solid $govuk-error-colour;
63
-
64
- &:focus {
65
- border-color: $govuk-input-border-colour;
66
- // Remove `box-shadow` inherited from `:focus` as `file-upload--error`
67
- // already has the thicker border.
68
- box-shadow: none;
69
- }
70
-
71
- // Repeat `:focus` styles to prevent error styles from being applied when
72
- // input button is pressed as this moves the focus to "within".
73
- // This can't be set together with `:focus` as all versions of IE fail
74
- // to recognise `focus-within` and don't set any styles from the block
75
- // when it's a selector.
76
- &:focus-within {
77
- border-color: $govuk-input-border-colour;
78
- box-shadow: none;
79
- }
80
- }
81
- }
1
+ @import "../../base";
2
+ @import "./index";