dxw_govuk_frontend_rails 2.9.0.pre.alpha.1

Sign up to get free protection for your applications and to get access to all the features.
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
+ }