dxw_govuk_frontend_rails 2.9.0.pre.alpha.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 (134) hide show
  1. checksums.yaml +7 -0
  2. data/.circleci/config.yml +33 -0
  3. data/.circleci/setup-rubygems.sh +3 -0
  4. data/.gitignore +9 -0
  5. data/CODE_OF_CONDUCT.md +74 -0
  6. data/Gemfile +4 -0
  7. data/LICENSE.txt +21 -0
  8. data/README.md +91 -0
  9. data/Rakefile +50 -0
  10. data/bin/console +14 -0
  11. data/bin/setup +8 -0
  12. data/dxw_govuk_frontend_rails.gemspec +27 -0
  13. data/lib/dxw_govuk_frontend_rails/version.rb +3 -0
  14. data/lib/dxw_govuk_frontend_rails.rb +12 -0
  15. data/package-lock.json +13 -0
  16. data/package.json +26 -0
  17. data/vendor/assets/fonts/bold-a2452cb66f-v1.woff2 +0 -0
  18. data/vendor/assets/fonts/bold-f38c792ac2-v1.woff +0 -0
  19. data/vendor/assets/fonts/bold-fb2676462a-v1.eot +0 -0
  20. data/vendor/assets/fonts/bold-tabular-357fdfbcc3-v1.eot +0 -0
  21. data/vendor/assets/fonts/bold-tabular-784c21afb8-v1.woff +0 -0
  22. data/vendor/assets/fonts/bold-tabular-b89238d840-v1.woff2 +0 -0
  23. data/vendor/assets/fonts/light-2c037cf7e1-v1.eot +0 -0
  24. data/vendor/assets/fonts/light-458f8ea81c-v1.woff +0 -0
  25. data/vendor/assets/fonts/light-f38ad40456-v1.woff2 +0 -0
  26. data/vendor/assets/fonts/light-tabular-498ea8ffe2-v1.eot +0 -0
  27. data/vendor/assets/fonts/light-tabular-62cc6f0a28-v1.woff +0 -0
  28. data/vendor/assets/fonts/light-tabular-851b10ccdd-v1.woff2 +0 -0
  29. data/vendor/assets/images/favicon.ico +0 -0
  30. data/vendor/assets/images/govuk-apple-touch-icon-152x152.png +0 -0
  31. data/vendor/assets/images/govuk-apple-touch-icon-167x167.png +0 -0
  32. data/vendor/assets/images/govuk-apple-touch-icon-180x180.png +0 -0
  33. data/vendor/assets/images/govuk-apple-touch-icon.png +0 -0
  34. data/vendor/assets/images/govuk-crest-2x.png +0 -0
  35. data/vendor/assets/images/govuk-crest.png +0 -0
  36. data/vendor/assets/images/govuk-logotype-crown.png +0 -0
  37. data/vendor/assets/images/govuk-mask-icon.svg +7 -0
  38. data/vendor/assets/images/govuk-opengraph-image.png +0 -0
  39. data/vendor/assets/images/icon-arrow-left.png +0 -0
  40. data/vendor/assets/images/icon-important.png +0 -0
  41. data/vendor/assets/images/icon-pointer-2x.png +0 -0
  42. data/vendor/assets/images/icon-pointer.png +0 -0
  43. data/vendor/assets/javascripts/govuk_frontend_rails.js +2358 -0
  44. data/vendor/assets/stylesheets/all-ie8.scss +6 -0
  45. data/vendor/assets/stylesheets/all.scss +11 -0
  46. data/vendor/assets/stylesheets/components/_all.scss +29 -0
  47. data/vendor/assets/stylesheets/components/accordion/_accordion.scss +188 -0
  48. data/vendor/assets/stylesheets/components/back-link/_back-link.scss +54 -0
  49. data/vendor/assets/stylesheets/components/breadcrumbs/_breadcrumbs.scss +119 -0
  50. data/vendor/assets/stylesheets/components/button/_button.scss +180 -0
  51. data/vendor/assets/stylesheets/components/character-count/_character-count.scss +31 -0
  52. data/vendor/assets/stylesheets/components/checkboxes/_checkboxes.scss +161 -0
  53. data/vendor/assets/stylesheets/components/date-input/_date-input.scss +30 -0
  54. data/vendor/assets/stylesheets/components/details/_details.scss +89 -0
  55. data/vendor/assets/stylesheets/components/error-message/_error-message.scss +15 -0
  56. data/vendor/assets/stylesheets/components/error-summary/_error-summary.scss +72 -0
  57. data/vendor/assets/stylesheets/components/fieldset/_fieldset.scss +60 -0
  58. data/vendor/assets/stylesheets/components/file-upload/_file-upload.scss +19 -0
  59. data/vendor/assets/stylesheets/components/footer/_footer.scss +233 -0
  60. data/vendor/assets/stylesheets/components/header/_header.scss +304 -0
  61. data/vendor/assets/stylesheets/components/hint/_hint.scss +50 -0
  62. data/vendor/assets/stylesheets/components/input/_input.scss +77 -0
  63. data/vendor/assets/stylesheets/components/inset-text/_inset-text.scss +28 -0
  64. data/vendor/assets/stylesheets/components/label/_label.scss +45 -0
  65. data/vendor/assets/stylesheets/components/panel/_panel.scss +44 -0
  66. data/vendor/assets/stylesheets/components/phase-banner/_phase-banner.scss +31 -0
  67. data/vendor/assets/stylesheets/components/radios/_radios.scss +187 -0
  68. data/vendor/assets/stylesheets/components/select/_select.scss +32 -0
  69. data/vendor/assets/stylesheets/components/skip-link/_skip-link.scss +26 -0
  70. data/vendor/assets/stylesheets/components/summary-list/_summary-list.scss +123 -0
  71. data/vendor/assets/stylesheets/components/table/_table.scss +53 -0
  72. data/vendor/assets/stylesheets/components/tabs/_tabs.scss +130 -0
  73. data/vendor/assets/stylesheets/components/tag/_tag.scss +33 -0
  74. data/vendor/assets/stylesheets/components/textarea/_textarea.scss +32 -0
  75. data/vendor/assets/stylesheets/components/warning-text/_warning-text.scss +59 -0
  76. data/vendor/assets/stylesheets/core/_all.scss +6 -0
  77. data/vendor/assets/stylesheets/core/_global-styles.scss +23 -0
  78. data/vendor/assets/stylesheets/core/_links.scss +31 -0
  79. data/vendor/assets/stylesheets/core/_lists.scss +58 -0
  80. data/vendor/assets/stylesheets/core/_section-break.scss +60 -0
  81. data/vendor/assets/stylesheets/core/_template.scss +35 -0
  82. data/vendor/assets/stylesheets/core/_typography.scss +190 -0
  83. data/vendor/assets/stylesheets/govuk-frontend-rails.scss +16 -0
  84. data/vendor/assets/stylesheets/helpers/_all.scss +12 -0
  85. data/vendor/assets/stylesheets/helpers/_clearfix.scss +15 -0
  86. data/vendor/assets/stylesheets/helpers/_colour.scss +51 -0
  87. data/vendor/assets/stylesheets/helpers/_device-pixels.scss +38 -0
  88. data/vendor/assets/stylesheets/helpers/_focusable.scss +34 -0
  89. data/vendor/assets/stylesheets/helpers/_font-faces.scss +67 -0
  90. data/vendor/assets/stylesheets/helpers/_grid.scss +107 -0
  91. data/vendor/assets/stylesheets/helpers/_links.scss +200 -0
  92. data/vendor/assets/stylesheets/helpers/_media-queries.scss +95 -0
  93. data/vendor/assets/stylesheets/helpers/_shape-arrow.scss +80 -0
  94. data/vendor/assets/stylesheets/helpers/_spacing.scss +152 -0
  95. data/vendor/assets/stylesheets/helpers/_typography.scss +188 -0
  96. data/vendor/assets/stylesheets/helpers/_visually-hidden.scss +82 -0
  97. data/vendor/assets/stylesheets/objects/_all.scss +4 -0
  98. data/vendor/assets/stylesheets/objects/_form-group.scss +25 -0
  99. data/vendor/assets/stylesheets/objects/_grid.scss +27 -0
  100. data/vendor/assets/stylesheets/objects/_main-wrapper.scss +53 -0
  101. data/vendor/assets/stylesheets/objects/_width-container.scss +63 -0
  102. data/vendor/assets/stylesheets/overrides/_all.scss +4 -0
  103. data/vendor/assets/stylesheets/overrides/_display.scss +18 -0
  104. data/vendor/assets/stylesheets/overrides/_spacing.scss +62 -0
  105. data/vendor/assets/stylesheets/overrides/_typography.scss +25 -0
  106. data/vendor/assets/stylesheets/overrides/_width.scss +49 -0
  107. data/vendor/assets/stylesheets/settings/_all.scss +21 -0
  108. data/vendor/assets/stylesheets/settings/_assets.scss +82 -0
  109. data/vendor/assets/stylesheets/settings/_colours-applied.scss +140 -0
  110. data/vendor/assets/stylesheets/settings/_colours-organisations.scss +136 -0
  111. data/vendor/assets/stylesheets/settings/_colours-palette.scss +37 -0
  112. data/vendor/assets/stylesheets/settings/_compatibility.scss +51 -0
  113. data/vendor/assets/stylesheets/settings/_global-styles.scss +13 -0
  114. data/vendor/assets/stylesheets/settings/_ie8.scss +18 -0
  115. data/vendor/assets/stylesheets/settings/_measurements.scss +99 -0
  116. data/vendor/assets/stylesheets/settings/_media-queries.scss +23 -0
  117. data/vendor/assets/stylesheets/settings/_spacing.scss +80 -0
  118. data/vendor/assets/stylesheets/settings/_typography-font-families.scss +22 -0
  119. data/vendor/assets/stylesheets/settings/_typography-font.scss +60 -0
  120. data/vendor/assets/stylesheets/settings/_typography-responsive.scss +180 -0
  121. data/vendor/assets/stylesheets/tools/_all.scss +8 -0
  122. data/vendor/assets/stylesheets/tools/_compatibility.scss +36 -0
  123. data/vendor/assets/stylesheets/tools/_exports.scss +33 -0
  124. data/vendor/assets/stylesheets/tools/_font-url.scss +28 -0
  125. data/vendor/assets/stylesheets/tools/_ie8.scss +51 -0
  126. data/vendor/assets/stylesheets/tools/_iff.scss +15 -0
  127. data/vendor/assets/stylesheets/tools/_image-url.scss +28 -0
  128. data/vendor/assets/stylesheets/tools/_px-to-em.scss +20 -0
  129. data/vendor/assets/stylesheets/tools/_px-to-rem.scss +20 -0
  130. data/vendor/assets/stylesheets/utilities/_all.scss +2 -0
  131. data/vendor/assets/stylesheets/utilities/_clearfix.scss +5 -0
  132. data/vendor/assets/stylesheets/utilities/_visually-hidden.scss +10 -0
  133. data/vendor/assets/stylesheets/vendor/_sass-mq.scss +351 -0
  134. metadata +204 -0
@@ -0,0 +1,161 @@
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/checkboxes") {
11
+ $govuk-checkboxes-size: govuk-spacing(7);
12
+ $govuk-checkboxes-label-padding-left-right: govuk-spacing(3);
13
+
14
+ .govuk-checkboxes__item {
15
+ @include govuk-font($size: 19);
16
+
17
+ display: block;
18
+ position: relative;
19
+
20
+ min-height: $govuk-checkboxes-size;
21
+
22
+ margin-bottom: govuk-spacing(2);
23
+ padding: 0 0 0 $govuk-checkboxes-size;
24
+
25
+ clear: left;
26
+ }
27
+
28
+ .govuk-checkboxes__item:last-child,
29
+ .govuk-checkboxes__item:last-of-type {
30
+ margin-bottom: 0;
31
+ }
32
+
33
+ .govuk-checkboxes__input {
34
+ position: absolute;
35
+
36
+ z-index: 1;
37
+ top: 0;
38
+ left: 0;
39
+
40
+ width: $govuk-checkboxes-size;
41
+ height: $govuk-checkboxes-size;
42
+
43
+ cursor: pointer;
44
+
45
+ // IE8 doesn’t support pseudoelements, so we don’t want to hide native elements there.
46
+ @include govuk-not-ie8 {
47
+ margin: 0;
48
+ opacity: 0;
49
+ }
50
+
51
+ // add focus outline to input element for IE8
52
+ @include govuk-if-ie8 {
53
+ &:focus {
54
+ outline: $govuk-focus-width solid $govuk-focus-colour;
55
+ }
56
+ }
57
+ }
58
+
59
+ .govuk-checkboxes__label {
60
+ display: inline-block;
61
+ margin-bottom: 0;
62
+ padding: 8px $govuk-checkboxes-label-padding-left-right govuk-spacing(1);
63
+ cursor: pointer;
64
+ // remove 300ms pause on mobile
65
+ -ms-touch-action: manipulation;
66
+ touch-action: manipulation;
67
+ }
68
+
69
+ .govuk-checkboxes__hint {
70
+ display: block;
71
+ padding-right: $govuk-checkboxes-label-padding-left-right;
72
+ padding-left: $govuk-checkboxes-label-padding-left-right;
73
+ }
74
+
75
+ .govuk-checkboxes__input + .govuk-checkboxes__label::before {
76
+ content: "";
77
+ box-sizing: border-box;
78
+ position: absolute;
79
+ top: 0;
80
+ left: 0;
81
+ width: $govuk-checkboxes-size;
82
+ height: $govuk-checkboxes-size;
83
+ border: $govuk-border-width-form-element solid currentColor;
84
+ background: transparent;
85
+
86
+ // padding-bottom: 1px;
87
+ }
88
+
89
+ .govuk-checkboxes__input + .govuk-checkboxes__label::after {
90
+ content: "";
91
+
92
+ position: absolute;
93
+ top: 11px;
94
+ left: 9px;
95
+ width: 18px;
96
+ height: 7px;
97
+
98
+ -webkit-transform: rotate(-45deg);
99
+
100
+ -ms-transform: rotate(-45deg);
101
+
102
+ transform: rotate(-45deg);
103
+ border: solid;
104
+ border-width: 0 0 $govuk-border-width $govuk-border-width;
105
+ // Fix bug in IE11 caused by transform rotate (-45deg).
106
+ // See: alphagov/govuk_elements/issues/518
107
+ border-top-color: transparent;
108
+
109
+ opacity: 0;
110
+
111
+ background: transparent;
112
+ }
113
+
114
+ // Focused state
115
+ .govuk-checkboxes__input:focus + .govuk-checkboxes__label::before {
116
+ // Since box-shadows are removed when users customise their colours
117
+ // We set a transparent outline that is shown instead.
118
+ // https://accessibility.blog.gov.uk/2017/03/27/how-users-change-colours-on-websites/
119
+ outline: $govuk-focus-width solid transparent;
120
+ outline-offset: $govuk-focus-width;
121
+ box-shadow: 0 0 0 $govuk-focus-width $govuk-focus-colour;
122
+ }
123
+
124
+ // Selected state
125
+ .govuk-checkboxes__input:checked + .govuk-checkboxes__label::after {
126
+ opacity: 1;
127
+ }
128
+
129
+ // Disabled state
130
+ .govuk-checkboxes__input:disabled,
131
+ .govuk-checkboxes__input:disabled + .govuk-checkboxes__label {
132
+ cursor: default;
133
+ }
134
+
135
+ .govuk-checkboxes__input:disabled + .govuk-checkboxes__label {
136
+ opacity: .5;
137
+ }
138
+
139
+ $conditional-border-width: $govuk-border-width-mobile;
140
+ // Calculate the amount of padding needed to keep the border centered against the checkbox.
141
+ $conditional-border-padding: ($govuk-checkboxes-size / 2) - ($conditional-border-width / 2);
142
+ // Move the border centered with the checkbox
143
+ $conditional-margin-left: $conditional-border-padding;
144
+ // Move the contents of the conditional inline with the label
145
+ $conditional-padding-left: $conditional-border-padding + $govuk-checkboxes-label-padding-left-right;
146
+
147
+ .govuk-checkboxes__conditional {
148
+ @include govuk-responsive-margin(4, "bottom");
149
+ margin-left: $conditional-margin-left;
150
+ padding-left: $conditional-padding-left;
151
+ border-left: $conditional-border-width solid $govuk-border-colour;
152
+
153
+ .js-enabled &--hidden {
154
+ display: none;
155
+ }
156
+
157
+ & > :last-child {
158
+ margin-bottom: 0;
159
+ }
160
+ }
161
+ }
@@ -0,0 +1,30 @@
1
+ @import "../../settings/all";
2
+ @import "../../tools/all";
3
+ @import "../../helpers/all";
4
+
5
+ @import "../error-message/error-message";
6
+ @import "../input/input";
7
+ @import "../hint/hint";
8
+ @import "../label/label";
9
+
10
+ @include govuk-exports("govuk/component/date-input") {
11
+ .govuk-date-input {
12
+ @include govuk-clearfix;
13
+ // font-size: 0 removes whitespace caused by inline-block
14
+ font-size: 0;
15
+ }
16
+
17
+ .govuk-date-input__item {
18
+ display: inline-block;
19
+ margin-right: govuk-spacing(4);
20
+ margin-bottom: 0;
21
+ }
22
+
23
+ .govuk-date-input__label {
24
+ display: block;
25
+ }
26
+
27
+ .govuk-date-input__input {
28
+ margin-bottom: 0;
29
+ }
30
+ }
@@ -0,0 +1,89 @@
1
+ @import "../../settings/all";
2
+ @import "../../tools/all";
3
+ @import "../../helpers/all";
4
+
5
+ @include govuk-exports("govuk/component/details") {
6
+
7
+ .govuk-details {
8
+ @include govuk-font($size: 19);
9
+ @include govuk-text-colour;
10
+ @include govuk-responsive-margin(6, "bottom");
11
+
12
+ display: block;
13
+ }
14
+
15
+ .govuk-details__summary {
16
+ // Make the focus outline shrink-wrap the text content of the summary
17
+ display: inline-block;
18
+
19
+ // Absolutely position the marker against this element
20
+ position: relative;
21
+
22
+ margin-bottom: govuk-spacing(1);
23
+
24
+ // Allow for absolutely positioned marker and align with disclosed text
25
+ padding-left: govuk-spacing(4) + $govuk-border-width;
26
+
27
+ // Style the summary to look like a link...
28
+ color: $govuk-link-colour;
29
+ cursor: pointer;
30
+ }
31
+
32
+ // ...but only underline the text, not the arrow
33
+ .govuk-details__summary-text {
34
+ text-decoration: underline;
35
+ }
36
+
37
+ .govuk-details__summary:hover {
38
+ color: $govuk-link-hover-colour;
39
+ }
40
+
41
+ .govuk-details__summary:focus {
42
+ // -1px offset fixes gap between background and outline in Firefox
43
+ outline: ($govuk-focus-width + 1px) solid $govuk-focus-colour;
44
+ outline-offset: -1px;
45
+ // When focussed, the text colour needs to be darker to ensure that colour
46
+ // contrast is still acceptable
47
+ color: $govuk-focus-text-colour;
48
+ background: $govuk-focus-colour;
49
+ }
50
+
51
+ // Remove the default details marker so we can style our own consistently and
52
+ // ensure it displays in Firefox (see implementation.md for details)
53
+ .govuk-details__summary::-webkit-details-marker {
54
+ display: none;
55
+ }
56
+
57
+ // Append our own open / closed marker using a pseudo-element
58
+ .govuk-details__summary:before {
59
+ content: "";
60
+ position: absolute;
61
+
62
+ top: 0;
63
+ bottom: 0;
64
+ left: 0;
65
+
66
+ margin: auto;
67
+
68
+ @include govuk-shape-arrow($direction: right, $base: 14px);
69
+
70
+ .govuk-details[open] > & {
71
+ @include govuk-shape-arrow($direction: down, $base: 14px);
72
+ }
73
+ }
74
+
75
+ .govuk-details__text {
76
+ padding: govuk-spacing(3);
77
+ padding-left: govuk-spacing(4);
78
+ border-left: $govuk-border-width solid $govuk-border-colour;
79
+ }
80
+
81
+ .govuk-details__text p {
82
+ margin-top: 0;
83
+ margin-bottom: govuk-spacing(4);
84
+ }
85
+
86
+ .govuk-details__text > :last-child {
87
+ margin-bottom: 0;
88
+ }
89
+ }
@@ -0,0 +1,15 @@
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
+ }
@@ -0,0 +1,72 @@
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
+ @include govuk-focusable;
14
+
15
+ border: $govuk-border-width-mobile solid $govuk-error-colour;
16
+
17
+ @include govuk-media-query($from: tablet) {
18
+ border: $govuk-border-width solid $govuk-error-colour;
19
+ }
20
+ }
21
+
22
+ .govuk-error-summary__title {
23
+ @include govuk-font($size: 24, $weight: bold);
24
+
25
+ margin-top: 0;
26
+ @include govuk-responsive-margin(4, "bottom");
27
+ }
28
+
29
+ .govuk-error-summary__body {
30
+ @include govuk-font($size: 19);
31
+
32
+ p {
33
+ margin-top: 0;
34
+ @include govuk-responsive-margin(4, "bottom");
35
+ }
36
+ }
37
+
38
+ // Cross-component class - adjusts styling of list component
39
+ .govuk-error-summary__list {
40
+ margin-top: 0;
41
+ margin-bottom: 0;
42
+ }
43
+
44
+ .govuk-error-summary__list a {
45
+ @include govuk-focusable-fill;
46
+ @include govuk-typography-weight-bold;
47
+
48
+ // Override default link styling to use error colour
49
+ &:link,
50
+ &:visited,
51
+ &:hover,
52
+ &:active {
53
+ color: $govuk-error-colour;
54
+ }
55
+
56
+ // When focussed, the text colour needs to be darker to ensure that colour
57
+ // contrast is still acceptable
58
+ &:focus {
59
+ color: $govuk-focus-text-colour;
60
+ }
61
+
62
+ // alphagov/govuk_template includes a specific a:link:focus selector
63
+ // designed to make unvisited links a slightly darker blue when focussed, so
64
+ // we need to override the text colour for that combination of selectors.
65
+ @include govuk-compatibility(govuk_template) {
66
+ &:link:focus {
67
+ color: $govuk-error-colour;
68
+ }
69
+ }
70
+ }
71
+
72
+ }
@@ -0,0 +1,60 @@
1
+ @import "../../settings/all";
2
+ @import "../../tools/all";
3
+ @import "../../helpers/all";
4
+
5
+ @include govuk-exports("govuk/component/fieldset") {
6
+ .govuk-fieldset {
7
+ margin: 0;
8
+ padding: 0;
9
+ border: 0;
10
+ @include govuk-clearfix;
11
+ }
12
+
13
+ .govuk-fieldset__legend {
14
+ @include govuk-font($size: 19);
15
+ @include govuk-text-colour;
16
+
17
+ // Fix legend text wrapping in Edge and IE
18
+ // 1. IE9-11 & Edge 12-13
19
+ // 2. IE8-11
20
+ box-sizing: border-box; // 1
21
+ display: table; // 2
22
+ max-width: 100%; // 1
23
+ margin-bottom: govuk-spacing(2);
24
+ padding: 0;
25
+ // Hack to let legends or elements within legends have margins in webkit browsers
26
+ overflow: hidden;
27
+
28
+ white-space: normal; // 1
29
+ }
30
+
31
+ // Modifiers that make legends look more like their equivalent headings
32
+
33
+ .govuk-fieldset__legend--xl {
34
+ @include govuk-font($size: 48, $weight: bold);
35
+ margin-bottom: govuk-spacing(3);
36
+ }
37
+
38
+ .govuk-fieldset__legend--l {
39
+ @include govuk-font($size: 36, $weight: bold);
40
+ margin-bottom: govuk-spacing(3);
41
+ }
42
+
43
+ .govuk-fieldset__legend--m {
44
+ @include govuk-font($size: 24, $weight: bold);
45
+ margin-bottom: govuk-spacing(3);
46
+ }
47
+
48
+ .govuk-fieldset__legend--s {
49
+ @include govuk-font($size: 19, $weight: bold);
50
+ }
51
+
52
+ // When the legend contains an H1, we want the H1 to inherit all styles from
53
+ // the legend. Effectively we want to be able to treat the heading as if it is
54
+ // not there.
55
+ .govuk-fieldset__heading {
56
+ margin: 0;
57
+ font-size: inherit;
58
+ font-weight: inherit;
59
+ }
60
+ }
@@ -0,0 +1,19 @@
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
+ .govuk-file-upload {
11
+ @include govuk-font($size: 19);
12
+ @include govuk-text-colour;
13
+ @include govuk-focusable;
14
+ }
15
+
16
+ .govuk-file-upload--error {
17
+ border: $govuk-border-width-form-element-error solid $govuk-error-colour;
18
+ }
19
+ }
@@ -0,0 +1,233 @@
1
+ @import "../../settings/all";
2
+ @import "../../tools/all";
3
+ @import "../../helpers/all";
4
+
5
+ @import "../../helpers/typography";
6
+
7
+ @include govuk-exports("govuk/component/footer") {
8
+
9
+ $govuk-footer-background: $govuk-canvas-background-colour;
10
+ $govuk-footer-border-top: #a1acb2;
11
+ $govuk-footer-border: govuk-colour("grey-2");
12
+ $govuk-footer-text: #454a4c;
13
+ $govuk-footer-link: $govuk-footer-text;
14
+ $govuk-footer-link-hover: #171819;
15
+
16
+ // Based on the govuk-crest-2x.png image dimensions.
17
+ $govuk-footer-crest-image-width-2x: 250px;
18
+ $govuk-footer-crest-image-height-2x: 204px;
19
+ // Half the 2x image so that it fits the regular 1x size.
20
+ $govuk-footer-crest-image-width: ($govuk-footer-crest-image-width-2x / 2);
21
+ $govuk-footer-crest-image-height: ($govuk-footer-crest-image-height-2x / 2);
22
+
23
+ .govuk-footer {
24
+ @include govuk-font($size: 16);
25
+ @include govuk-responsive-padding(7, "top");
26
+ @include govuk-responsive-padding(5, "bottom");
27
+
28
+ border-top: 1px solid $govuk-footer-border-top;
29
+ color: $govuk-footer-text;
30
+ background: $govuk-footer-background;
31
+ }
32
+
33
+ .govuk-footer__link {
34
+ @include govuk-focusable-fill;
35
+
36
+ &:link,
37
+ &:visited {
38
+ color: $govuk-footer-link;
39
+ }
40
+
41
+ &:hover,
42
+ &:active {
43
+ color: $govuk-footer-link-hover;
44
+ }
45
+
46
+ // When focussed, the text colour needs to be darker to ensure that colour
47
+ // contrast is still acceptable
48
+ &:focus {
49
+ color: $govuk-focus-text-colour;
50
+ }
51
+
52
+ // alphagov/govuk_template includes a specific a:link:focus selector
53
+ // designed to make unvisited links a slightly darker blue when focussed, so
54
+ // we need to override the text colour for that combination of selectors.
55
+ @include govuk-compatibility(govuk_template) {
56
+ &:link:focus {
57
+ @include govuk-text-colour;
58
+ }
59
+ }
60
+ }
61
+
62
+ .govuk-footer__section-break {
63
+ margin: 0; // Reset `<hr>` default margins
64
+ @include govuk-responsive-margin(8, "bottom");
65
+ border: 0; // Reset `<hr>` default borders
66
+ border-bottom: 1px solid $govuk-footer-border;
67
+ }
68
+
69
+ .govuk-footer__meta {
70
+ display: -webkit-box;
71
+ display: -webkit-flex;
72
+ display: -ms-flexbox;
73
+ display: flex; // Support: Flexbox
74
+ margin-right: -$govuk-gutter-half;
75
+ margin-left: -$govuk-gutter-half;
76
+ -webkit-flex-wrap: wrap;
77
+ -ms-flex-wrap: wrap;
78
+ flex-wrap: wrap; // Support: Flexbox
79
+ -webkit-box-align: end;
80
+ -webkit-align-items: flex-end;
81
+ -ms-flex-align: end;
82
+ align-items: flex-end; // Support: Flexbox
83
+ -webkit-box-pack: center;
84
+ -webkit-justify-content: center;
85
+ -ms-flex-pack: center;
86
+ justify-content: center; // Support: Flexbox
87
+ }
88
+
89
+ .govuk-footer__meta-item {
90
+ margin-right: $govuk-gutter-half;
91
+ margin-bottom: govuk-spacing(5);
92
+ margin-left: $govuk-gutter-half;
93
+ }
94
+
95
+ .govuk-footer__meta-item--grow {
96
+ -webkit-box-flex: 1;
97
+ -webkit-flex: 1;
98
+ -ms-flex: 1;
99
+ flex: 1; // Support: Flexbox
100
+ @include mq ($until: tablet) {
101
+ -webkit-flex-basis: 320px;
102
+ -ms-flex-preferred-size: 320px;
103
+ flex-basis: 320px; // Support: Flexbox
104
+ }
105
+ }
106
+
107
+ .govuk-footer__licence-logo {
108
+ display: inline-block;
109
+ margin-right: govuk-spacing(2);
110
+ @include mq ($until: desktop) {
111
+ margin-bottom: govuk-spacing(3);
112
+ }
113
+ vertical-align: top;
114
+ }
115
+
116
+ .govuk-footer__licence-description {
117
+ display: inline-block;
118
+ }
119
+
120
+ .govuk-footer__copyright-logo {
121
+ display: inline-block;
122
+ min-width: $govuk-footer-crest-image-width;
123
+ padding-top: ($govuk-footer-crest-image-height + govuk-spacing(2));
124
+ background-image: govuk-image-url("govuk-crest.png");
125
+ @include govuk-device-pixel-ratio {
126
+ background-image: govuk-image-url("govuk-crest-2x.png");
127
+ }
128
+ background-repeat: no-repeat;
129
+ background-position: 50% 0%;
130
+ background-size: $govuk-footer-crest-image-width $govuk-footer-crest-image-height;
131
+ text-align: center;
132
+ text-decoration: none;
133
+ white-space: nowrap;
134
+ }
135
+
136
+ .govuk-footer__inline-list {
137
+ margin-top: 0;
138
+ margin-bottom: govuk-spacing(3);
139
+ padding: 0;
140
+ }
141
+
142
+ .govuk-footer__meta-custom {
143
+ margin-bottom: govuk-spacing(4);
144
+ }
145
+
146
+ .govuk-footer__inline-list-item {
147
+ display: inline-block;
148
+ margin-right: govuk-spacing(3);
149
+ margin-bottom: govuk-spacing(1);
150
+ }
151
+
152
+ .govuk-footer__heading {
153
+ @include govuk-responsive-margin(7, "bottom");
154
+ padding-bottom: govuk-spacing(4);
155
+ @include mq ($until: tablet) {
156
+ padding-bottom: govuk-spacing(2);
157
+ }
158
+ border-bottom: 1px solid $govuk-footer-border;
159
+ }
160
+
161
+ .govuk-footer__navigation {
162
+ display: -webkit-box;
163
+ display: -webkit-flex;
164
+ display: -ms-flexbox;
165
+ display: flex; // Support: Flexbox
166
+ margin-right: -$govuk-gutter-half;
167
+ margin-left: -$govuk-gutter-half;
168
+ -webkit-flex-wrap: wrap;
169
+ -ms-flex-wrap: wrap;
170
+ flex-wrap: wrap; // Support: Flexbox
171
+ }
172
+
173
+ .govuk-footer__section {
174
+ display: inline-block;
175
+ margin-right: $govuk-gutter-half;
176
+ margin-bottom: $govuk-gutter;
177
+ margin-left: $govuk-gutter-half;
178
+ vertical-align: top;
179
+ // Ensure columns take up equal width (typically one-half:one-half)
180
+ -webkit-box-flex: 1;
181
+ -webkit-flex-grow: 1;
182
+ -ms-flex-positive: 1;
183
+ flex-grow: 1; // Support: Flexbox
184
+ -webkit-flex-shrink: 1;
185
+ -ms-flex-negative: 1;
186
+ flex-shrink: 1; // Support: Flexbox
187
+ @include mq ($until: desktop) {
188
+ // Make sure columns do not drop below 200px in width
189
+ // Will typically result in wrapping, and end up in a single column on smaller screens.
190
+ -webkit-flex-basis: 200px;
191
+ -ms-flex-preferred-size: 200px;
192
+ flex-basis: 200px; // Support: Flexbox
193
+ }
194
+ }
195
+
196
+ // Sections two-third:one-third on desktop
197
+ @include mq ($from: desktop) {
198
+ .govuk-footer__section:first-child {
199
+ -webkit-box-flex: 2;
200
+ -webkit-flex-grow: 2;
201
+ -ms-flex-positive: 2;
202
+ flex-grow: 2; // Support: Flexbox
203
+ }
204
+ }
205
+
206
+ .govuk-footer__list {
207
+ margin: 0;
208
+ padding: 0;
209
+ list-style: none;
210
+ -webkit-column-gap: $govuk-gutter;
211
+ column-gap: $govuk-gutter; // Support: Columns
212
+ }
213
+
214
+ @include mq ($from: desktop) {
215
+ .govuk-footer__list--columns-2 {
216
+ -webkit-column-count: 2;
217
+ column-count: 2; // Support: Columns
218
+ }
219
+
220
+ .govuk-footer__list--columns-3 {
221
+ -webkit-column-count: 3;
222
+ column-count: 3; // Support: Columns
223
+ }
224
+ }
225
+
226
+ .govuk-footer__list-item {
227
+ @include govuk-responsive-margin(4, "bottom");
228
+ }
229
+
230
+ .govuk-footer__list-item:last-child {
231
+ margin-bottom: 0;
232
+ }
233
+ }