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,187 @@
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
+ $govuk-radios-size: govuk-spacing(7);
12
+ $govuk-radios-label-padding-left-right: govuk-spacing(3);
13
+ // When the default focus width is used on a curved edge it looks visually smaller.
14
+ // So for the circular radios we bump the default to make it look visually consistent.
15
+ $govuk-radios-focus-width: $govuk-focus-width + 1px;
16
+
17
+ .govuk-radios__item {
18
+ @include govuk-font($size: 19);
19
+
20
+ display: block;
21
+
22
+ position: relative;
23
+
24
+ min-height: $govuk-radios-size;
25
+
26
+ margin-bottom: govuk-spacing(2);
27
+ padding: 0 0 0 $govuk-radios-size;
28
+
29
+ clear: left;
30
+ }
31
+
32
+ .govuk-radios__item:last-child,
33
+ .govuk-radios__item:last-of-type {
34
+ margin-bottom: 0;
35
+ }
36
+
37
+ .govuk-radios__input {
38
+ position: absolute;
39
+
40
+ z-index: 1;
41
+ top: 0;
42
+ left: 0;
43
+
44
+ width: $govuk-radios-size;
45
+ height: $govuk-radios-size;
46
+
47
+ cursor: pointer;
48
+
49
+ // IE8 doesn’t support pseudoelements, so we don’t want to hide native elements there. Double colons get ommited by IE8.
50
+ @include govuk-not-ie8 {
51
+ margin: 0;
52
+ opacity: 0;
53
+ }
54
+
55
+ // add focus outline to input element for IE8
56
+ @include govuk-if-ie8 {
57
+ &:focus {
58
+ outline: $govuk-focus-width solid $govuk-focus-colour;
59
+ }
60
+ }
61
+ }
62
+
63
+ .govuk-radios__label {
64
+ display: inline-block;
65
+ margin-bottom: 0;
66
+ padding: 8px $govuk-radios-label-padding-left-right govuk-spacing(1);
67
+ cursor: pointer;
68
+ // remove 300ms pause on mobile
69
+ -ms-touch-action: manipulation;
70
+ touch-action: manipulation;
71
+ }
72
+
73
+ .govuk-radios__hint {
74
+ display: block;
75
+ padding-right: $govuk-radios-label-padding-left-right;
76
+ padding-left: $govuk-radios-label-padding-left-right;
77
+ }
78
+
79
+ .govuk-radios__input + .govuk-radios__label::before {
80
+ content: "";
81
+ box-sizing: border-box;
82
+ position: absolute;
83
+ top: 0;
84
+ left: 0;
85
+
86
+ width: $govuk-radios-size;
87
+ height: $govuk-radios-size;
88
+
89
+ border: $govuk-border-width-form-element solid currentColor;
90
+ border-radius: 50%;
91
+ background: transparent;
92
+ }
93
+
94
+ .govuk-radios__input + .govuk-radios__label::after {
95
+ content: "";
96
+
97
+ position: absolute;
98
+ top: govuk-spacing(2);
99
+ left: govuk-spacing(2);
100
+
101
+ width: 0;
102
+ height: 0;
103
+
104
+ border: govuk-spacing(2) solid currentColor;
105
+ border-radius: 50%;
106
+ opacity: 0;
107
+ background: currentColor;
108
+ }
109
+
110
+ // Focused state
111
+ .govuk-radios__input:focus + .govuk-radios__label::before {
112
+ // Since box-shadows are removed when users customise their colours
113
+ // We set a transparent outline that is shown instead.
114
+ // https://accessibility.blog.gov.uk/2017/03/27/how-users-change-colours-on-websites/
115
+ outline: $govuk-focus-width solid transparent;
116
+ outline-offset: $govuk-focus-width;
117
+ box-shadow: 0 0 0 $govuk-radios-focus-width $govuk-focus-colour;
118
+ }
119
+
120
+ // Selected state
121
+ .govuk-radios__input:checked + .govuk-radios__label::after {
122
+ opacity: 1;
123
+ }
124
+
125
+ // Disabled state
126
+ .govuk-radios__input:disabled,
127
+ .govuk-radios__input:disabled + .govuk-radios__label {
128
+ cursor: default;
129
+ }
130
+
131
+ .govuk-radios__input:disabled + .govuk-radios__label {
132
+ opacity: .5;
133
+ }
134
+
135
+ // Inline variant
136
+ .govuk-radios--inline {
137
+ @include mq ($from: tablet) {
138
+ @include govuk-clearfix;
139
+
140
+ .govuk-radios__item {
141
+ margin-right: govuk-spacing(4);
142
+ float: left;
143
+ clear: none;
144
+ }
145
+ }
146
+
147
+ // Prevent inline modifier being used with conditional reveals
148
+ &.govuk-radios--conditional {
149
+ .govuk-radios__item {
150
+ margin-right: 0;
151
+ float: none;
152
+ }
153
+ }
154
+ }
155
+
156
+ .govuk-radios__divider {
157
+ $govuk-divider-size: $govuk-radios-size !default;
158
+ @include govuk-font($size: 19);
159
+ @include govuk-text-colour;
160
+ width: $govuk-divider-size;
161
+ margin-bottom: govuk-spacing(2);
162
+ text-align: center;
163
+ }
164
+
165
+ $conditional-border-width: $govuk-border-width-mobile;
166
+ // Calculate the amount of padding needed to keep the border centered against the radios.
167
+ $conditional-border-padding: ($govuk-radios-size / 2) - ($conditional-border-width / 2);
168
+ // Move the border centered with the radios
169
+ $conditional-margin-left: $conditional-border-padding;
170
+ // Move the contents of the conditional inline with the label
171
+ $conditional-padding-left: $conditional-border-padding + $govuk-radios-label-padding-left-right;
172
+
173
+ .govuk-radios__conditional {
174
+ @include govuk-responsive-margin(4, "bottom");
175
+ margin-left: $conditional-margin-left;
176
+ padding-left: $conditional-padding-left;
177
+ border-left: $conditional-border-width solid $govuk-border-colour;
178
+
179
+ .js-enabled &--hidden {
180
+ display: none;
181
+ }
182
+
183
+ & > :last-child {
184
+ margin-bottom: 0;
185
+ }
186
+ }
187
+ }
@@ -0,0 +1,32 @@
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
+ @include govuk-focusable;
13
+
14
+ box-sizing: border-box; // should this be global?
15
+ max-width: 100%;
16
+ height: 40px;
17
+ padding: govuk-spacing(1); // was 5px 4px 4px - size of it should be adjusted to match other form elements
18
+ border: $govuk-border-width-form-element solid $govuk-input-border-colour;
19
+ }
20
+
21
+ .govuk-select option:active,
22
+ .govuk-select option:checked,
23
+ .govuk-select:focus::-ms-value {
24
+ color: govuk-colour("white");
25
+ background-color: govuk-colour("blue");
26
+ }
27
+
28
+ .govuk-select--error {
29
+ border: $govuk-border-width-form-element-error solid $govuk-error-colour;
30
+ }
31
+
32
+ }
@@ -0,0 +1,26 @@
1
+ @import "../../settings/all";
2
+ @import "../../tools/all";
3
+ @import "../../helpers/all";
4
+
5
+ @include govuk-exports("govuk/component/skip-link") {
6
+ .govuk-skip-link {
7
+ @include govuk-visually-hidden-focusable;
8
+ @include govuk-link-common;
9
+ @include govuk-link-style-text;
10
+ @include govuk-typography-responsive($size: 16);
11
+
12
+ display: block;
13
+ padding: govuk-spacing(2) govuk-spacing(3);
14
+
15
+ // Respect 'display cutout' safe area (avoids notches and rounded corners)
16
+ @supports (padding: unquote("max(calc(0px))")) {
17
+ $padding-safe-area-right: calc(#{govuk-spacing(3)} + env(safe-area-inset-right));
18
+ $padding-safe-area-left: calc(#{govuk-spacing(3)} + env(safe-area-inset-left));
19
+
20
+ // Use max() to pick largest padding, default or with safe area
21
+ // Escaped due to Sass max() vs. CSS native max()
22
+ padding-right: unquote("max(#{govuk-spacing(3)}, #{$padding-safe-area-right})");
23
+ padding-left: unquote("max(#{govuk-spacing(3)}, #{$padding-safe-area-left})");
24
+ }
25
+ }
26
+ }
@@ -0,0 +1,123 @@
1
+ @import "../../settings/all";
2
+ @import "../../tools/all";
3
+ @import "../../helpers/all";
4
+
5
+ @include govuk-exports("govuk/component/summary-list") {
6
+
7
+ .govuk-summary-list {
8
+ @include govuk-font($size: 19);
9
+ @include govuk-text-colour;
10
+ @include govuk-media-query($from: tablet) {
11
+ display: table;
12
+ width: 100%;
13
+ table-layout: fixed; // Required to allow us to wrap words that overflow.
14
+ }
15
+ margin: 0; // Reset default user agent styles
16
+ @include govuk-responsive-margin(6, "bottom");
17
+ }
18
+
19
+ .govuk-summary-list__row {
20
+ @include govuk-media-query($until: tablet) {
21
+ margin-bottom: govuk-spacing(3);
22
+ border-bottom: 1px solid $govuk-border-colour;
23
+ }
24
+ @include govuk-media-query($from: tablet) {
25
+ display: table-row;
26
+ }
27
+ }
28
+
29
+ .govuk-summary-list__key,
30
+ .govuk-summary-list__value,
31
+ .govuk-summary-list__actions {
32
+ margin: 0; // Reset default user agent styles
33
+
34
+ @include govuk-media-query($from: tablet) {
35
+ display: table-cell;
36
+ padding-right: govuk-spacing(4);
37
+ }
38
+ }
39
+
40
+ .govuk-summary-list__key,
41
+ .govuk-summary-list__value,
42
+ .govuk-summary-list__actions {
43
+ @include govuk-media-query($from: tablet) {
44
+ padding-top: govuk-spacing(2);
45
+ padding-bottom: govuk-spacing(2);
46
+ border-bottom: 1px solid $govuk-border-colour;
47
+ }
48
+ }
49
+
50
+ .govuk-summary-list__actions {
51
+ margin-bottom: govuk-spacing(3);
52
+ @include govuk-media-query($from: tablet) {
53
+ width: 20%;
54
+ padding-right: 0;
55
+ text-align: right;
56
+ }
57
+ }
58
+
59
+ .govuk-summary-list__key,
60
+ .govuk-summary-list__value {
61
+ // Automatic wrapping for unbreakable text (e.g. URLs)
62
+ word-wrap: break-word; // Fallback for older browsers only
63
+ overflow-wrap: break-word;
64
+ }
65
+
66
+ .govuk-summary-list__key {
67
+ margin-bottom: govuk-spacing(1);
68
+ @include govuk-typography-weight-bold;
69
+ @include govuk-media-query($from: tablet) {
70
+ width: 30%;
71
+ }
72
+ }
73
+
74
+ .govuk-summary-list__value {
75
+ @include govuk-media-query($until: tablet) {
76
+ margin-bottom: govuk-spacing(3);
77
+ }
78
+ @include govuk-media-query($from: tablet) {
79
+ width: 50%;
80
+ }
81
+ }
82
+
83
+ .govuk-summary-list__value > p {
84
+ margin-bottom: govuk-spacing(2);
85
+ }
86
+
87
+ .govuk-summary-list__value > :last-child {
88
+ margin-bottom: 0;
89
+ }
90
+
91
+ .govuk-summary-list__actions-list {
92
+ width: 100%;
93
+ margin: 0; // Reset default user agent styles
94
+ padding: 0; // Reset default user agent styles
95
+ }
96
+
97
+ .govuk-summary-list__actions-list-item {
98
+ display: inline;
99
+ margin-right: govuk-spacing(2);
100
+ padding-right: govuk-spacing(2);
101
+ }
102
+
103
+ // In older browsers such as IE8, :last-child is not available,
104
+ // so only show the border divider where it is available.
105
+ .govuk-summary-list__actions-list-item:not(:last-child) {
106
+ border-right: 1px solid $govuk-border-colour;
107
+ }
108
+
109
+ .govuk-summary-list__actions-list-item:last-child {
110
+ margin-right: 0;
111
+ padding-right: 0;
112
+ border: 0;
113
+ }
114
+
115
+ .govuk-summary-list--no-border {
116
+ .govuk-summary-list__key,
117
+ .govuk-summary-list__value,
118
+ .govuk-summary-list__actions,
119
+ .govuk-summary-list__row {
120
+ border: 0;
121
+ }
122
+ }
123
+ }
@@ -0,0 +1,53 @@
1
+ @import "../../settings/all";
2
+ @import "../../tools/all";
3
+ @import "../../helpers/all";
4
+
5
+ @include govuk-exports("govuk/component/table") {
6
+ .govuk-table {
7
+ @include govuk-font($size: 19);
8
+ @include govuk-text-colour;
9
+ width: 100%;
10
+ @include govuk-responsive-margin(6, "bottom");
11
+
12
+ border-spacing: 0;
13
+ border-collapse: collapse;
14
+ }
15
+
16
+ .govuk-table__header {
17
+ @include govuk-typography-weight-bold;
18
+ }
19
+
20
+ .govuk-table__header,
21
+ .govuk-table__cell {
22
+ padding: govuk-spacing(2) govuk-spacing(4) govuk-spacing(2) 0;
23
+ border-bottom: 1px solid $govuk-border-colour;
24
+ text-align: left;
25
+ // GOV.UK Elements sets the font-size and line-height for all headers and cells
26
+ // in tables.
27
+ @include govuk-compatibility(govuk_elements) {
28
+ font-size: inherit;
29
+ line-height: inherit;
30
+ }
31
+ }
32
+
33
+ .govuk-table__cell--numeric {
34
+ @include govuk-font($size: false, $tabular: true);
35
+ }
36
+
37
+ .govuk-table__header--numeric,
38
+ .govuk-table__cell--numeric {
39
+ text-align: right;
40
+ }
41
+
42
+ .govuk-table__header:last-child,
43
+ .govuk-table__cell:last-child {
44
+ padding-right: 0;
45
+ }
46
+
47
+ .govuk-table__caption {
48
+ @include govuk-typography-weight-bold;
49
+
50
+ display: table-caption;
51
+ text-align: left;
52
+ }
53
+ }
@@ -0,0 +1,130 @@
1
+ @import "../../settings/all";
2
+ @import "../../tools/all";
3
+ @import "../../helpers/all";
4
+
5
+ @include govuk-exports("govuk/component/tabs") {
6
+
7
+ .govuk-tabs {
8
+ @include govuk-font($size: 19);
9
+ @include govuk-text-colour;
10
+ @include govuk-responsive-margin(1, "top");
11
+ @include govuk-responsive-margin(6, "bottom");
12
+ }
13
+
14
+ .govuk-tabs__title {
15
+ @include govuk-font($size: 19);
16
+ margin-bottom: govuk-spacing(1);
17
+ }
18
+
19
+ .govuk-tabs__list {
20
+ margin: 0;
21
+ padding: 0;
22
+ list-style: none;
23
+ @include mq($until: tablet) {
24
+ @include govuk-responsive-margin(6, "bottom");
25
+ }
26
+ }
27
+
28
+ .govuk-tabs__list-item {
29
+ margin-left: govuk-spacing(5);
30
+
31
+ &::before {
32
+ content: "\2014 "; // "— "
33
+ margin-left: - govuk-spacing(5);
34
+ padding-right: govuk-spacing(1);
35
+ }
36
+ }
37
+
38
+ .govuk-tabs__tab {
39
+ @include govuk-link-common;
40
+ @include govuk-link-style-default;
41
+ @include govuk-font($size: 19);
42
+
43
+ display: inline-block;
44
+ padding-top: govuk-spacing(2);
45
+ padding-bottom: govuk-spacing(2);
46
+
47
+ &[aria-current = "true"] {
48
+ color: govuk-colour("black");
49
+ text-decoration: none;
50
+ }
51
+ }
52
+
53
+ .govuk-tabs__panel {
54
+ @include govuk-responsive-margin(8, "bottom");
55
+ }
56
+
57
+ // JavaScript enabled
58
+ .js-enabled {
59
+
60
+ @include mq($from: tablet) {
61
+
62
+ .govuk-tabs__list {
63
+ @include govuk-clearfix;
64
+ border-bottom: 1px solid $govuk-border-colour;
65
+ }
66
+
67
+ .govuk-tabs__list-item {
68
+ margin-left: 0;
69
+
70
+ &::before {
71
+ content: none;
72
+ }
73
+ }
74
+
75
+ .govuk-tabs__title {
76
+ display: none;
77
+ }
78
+
79
+ .govuk-tabs__tab {
80
+ margin-right: govuk-spacing(1);
81
+ padding-right: govuk-spacing(4);
82
+ padding-left: govuk-spacing(4);
83
+ float: left;
84
+ color: govuk-colour("black");
85
+ background-color: govuk-colour("grey-4");
86
+ text-align: center;
87
+ text-decoration: none;
88
+
89
+ &--selected {
90
+ margin-top: - govuk-spacing(1);
91
+ margin-bottom: -1px;
92
+
93
+ // 1px is compensation for border (otherwise we get a 1px shift)
94
+ padding-top: govuk-spacing(3) - 1px;
95
+ padding-right: govuk-spacing(4) - 1px;
96
+ padding-bottom: govuk-spacing(3) + 1px;
97
+ padding-left: govuk-spacing(4) - 1px;
98
+
99
+ border: 1px solid $govuk-border-colour;
100
+ border-bottom: 0;
101
+ color: govuk-colour("black");
102
+ background-color: govuk-colour("white");
103
+
104
+ &:focus {
105
+ background-color: transparent;
106
+ }
107
+ }
108
+ }
109
+
110
+ .govuk-tabs__panel {
111
+ @include govuk-responsive-margin(0, "bottom");
112
+ padding-top: govuk-spacing(6);
113
+ padding-right: govuk-spacing(4);
114
+ padding-bottom: govuk-spacing(6);
115
+ padding-left: govuk-spacing(4);
116
+ border: 1px solid $govuk-border-colour;
117
+ border-top: 0;
118
+
119
+ &--hidden {
120
+ display: none;
121
+ }
122
+
123
+ & > :last-child {
124
+ margin-bottom: 0;
125
+ }
126
+ }
127
+ }
128
+
129
+ }
130
+ }
@@ -0,0 +1,33 @@
1
+ @import "../../settings/all";
2
+ @import "../../tools/all";
3
+ @import "../../helpers/all";
4
+
5
+ @include govuk-exports("govuk/component/tag") {
6
+ .govuk-tag {
7
+ @include govuk-font($size: 16, $weight: bold, $line-height: 1.25);
8
+
9
+ display: inline-block;
10
+ padding: 4px 8px;
11
+ // Since New Transport sits slightly higher than other common fonts.
12
+ // We use intentionally uneven padding to make it balanced, this can be
13
+ // removed using the version of the font that has a more common vertical spacing.
14
+ padding-bottom: 1px;
15
+
16
+ // When a user customises their colours often the background is removed,
17
+ // by adding a outline we ensure that the tag component still keeps it's meaning.
18
+ // https://accessibility.blog.gov.uk/2017/03/27/how-users-change-colours-on-websites/
19
+ outline: 2px solid transparent;
20
+ outline-offset: -2px;
21
+
22
+ color: govuk-colour("white");
23
+ background-color: govuk-colour("blue");
24
+ letter-spacing: 1px;
25
+
26
+ text-decoration: none;
27
+ text-transform: uppercase;
28
+ }
29
+
30
+ .govuk-tag--inactive {
31
+ background-color: govuk-colour("grey-1");
32
+ }
33
+ }
@@ -0,0 +1,32 @@
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/textarea") {
10
+ .govuk-textarea {
11
+ @include govuk-font($size: 19, $line-height: 1.25);
12
+ @include govuk-focusable;
13
+
14
+ box-sizing: border-box; // should this be global?
15
+ display: block;
16
+ width: 100%;
17
+ min-height: 40px;
18
+ @include govuk-responsive-margin(6, "bottom");
19
+ padding: govuk-spacing(1);
20
+
21
+ resize: vertical;
22
+
23
+ border: $govuk-border-width-form-element solid $govuk-input-border-colour;
24
+ border-radius: 0;
25
+
26
+ -webkit-appearance: none;
27
+ }
28
+
29
+ .govuk-textarea--error {
30
+ border: $govuk-border-width-form-element-error solid $govuk-error-colour;
31
+ }
32
+ }
@@ -0,0 +1,59 @@
1
+ @import "../../settings/all";
2
+ @import "../../tools/all";
3
+ @import "../../helpers/all";
4
+
5
+ @include govuk-exports("govuk/component/warning-text") {
6
+
7
+ .govuk-warning-text {
8
+ @include govuk-font($size: 19);
9
+ @include govuk-text-colour;
10
+
11
+ position: relative;
12
+ @include govuk-responsive-margin(6, "bottom");
13
+ padding: govuk-spacing(2) 0;
14
+ }
15
+
16
+ .govuk-warning-text__assistive {
17
+ @include govuk-visually-hidden;
18
+ }
19
+
20
+ .govuk-warning-text__icon {
21
+ @include govuk-font($size: false, $weight: bold);
22
+
23
+ display: inline-block;
24
+
25
+ position: absolute;
26
+ top: 50%;
27
+ left: 0;
28
+
29
+ min-width: 32px;
30
+ min-height: 29px;
31
+ margin-top: -20px; // Half the height of the circle (adjusted for NTA)
32
+ padding-top: 3px;
33
+
34
+ // When a user customises their colours the background colour will often be removed.
35
+ // Adding a border to the component keeps it's shape as a circle.
36
+ border: 3px solid govuk-colour("black");
37
+ border-radius: 50%;
38
+
39
+ color: govuk-colour("white");
40
+ background: govuk-colour("black");
41
+
42
+ font-size: 1.6em;
43
+ line-height: 29px;
44
+
45
+ text-align: center;
46
+
47
+ // Prevent the exclamation mark from being included when the warning text
48
+ // is copied, for example.
49
+ -webkit-user-select: none;
50
+ -moz-user-select: none;
51
+ -ms-user-select: none;
52
+ user-select: none;
53
+ }
54
+
55
+ .govuk-warning-text__text {
56
+ display: block;
57
+ padding-left: 50px;
58
+ }
59
+ }
@@ -0,0 +1,6 @@
1
+ @import "links";
2
+ @import "lists";
3
+ @import "template";
4
+ @import "typography";
5
+ @import "section-break";
6
+ @import "global-styles";