govuk_elements_rails 0.1.0
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.
- checksums.yaml +7 -0
- data/LICENCE +20 -0
- data/README.md +54 -0
- data/lib/govuk_elements_rails.rb +4 -0
- data/lib/govuk_elements_rails/engine.rb +4 -0
- data/lib/govuk_elements_rails/version.rb +5 -0
- data/vendor/assets/javascripts/bind.js +40 -0
- data/vendor/assets/javascripts/details.polyfill.js +158 -0
- data/vendor/assets/javascripts/selection-buttons.js +137 -0
- data/vendor/assets/stylesheets/elements-page-ie6.scss +5 -0
- data/vendor/assets/stylesheets/elements-page-ie7.scss +4 -0
- data/vendor/assets/stylesheets/elements-page-ie8.scss +4 -0
- data/vendor/assets/stylesheets/elements-page.scss +333 -0
- data/vendor/assets/stylesheets/elements/_buttons.scss +44 -0
- data/vendor/assets/stylesheets/elements/_details.scss +39 -0
- data/vendor/assets/stylesheets/elements/_elements-typography.scss +179 -0
- data/vendor/assets/stylesheets/elements/_forms.scss +166 -0
- data/vendor/assets/stylesheets/elements/_helpers.scss +46 -0
- data/vendor/assets/stylesheets/elements/_icons.scss +224 -0
- data/vendor/assets/stylesheets/elements/_layout.scss +67 -0
- data/vendor/assets/stylesheets/elements/_lists.scss +32 -0
- data/vendor/assets/stylesheets/elements/_panels.scss +29 -0
- data/vendor/assets/stylesheets/elements/_reset.scss +33 -0
- data/vendor/assets/stylesheets/elements/_tables.scss +26 -0
- data/vendor/assets/stylesheets/elements/forms/_form-block-labels.scss +67 -0
- data/vendor/assets/stylesheets/elements/forms/_form-date.scss +46 -0
- data/vendor/assets/stylesheets/elements/forms/_form-validation.scss +68 -0
- data/vendor/assets/stylesheets/main-ie6.scss +5 -0
- data/vendor/assets/stylesheets/main-ie7.scss +4 -0
- data/vendor/assets/stylesheets/main-ie8.scss +4 -0
- data/vendor/assets/stylesheets/main.scss +36 -0
- data/vendor/assets/stylesheets/prism.scss +144 -0
- data/vendor/assets/stylesheets/service-design-manual/helpers/_breadcrumbs.scss +81 -0
- data/vendor/assets/stylesheets/service-design-manual/helpers/_page-header.scss +28 -0
- data/vendor/assets/stylesheets/service-design-manual/styleguide/_colours.scss +3 -0
- metadata +122 -0
@@ -0,0 +1,333 @@
|
|
1
|
+
@import "main";
|
2
|
+
|
3
|
+
// ==========================================================================
|
4
|
+
// GOV.UK template styles
|
5
|
+
// ==========================================================================
|
6
|
+
// Override here until updated in the GOV.UK template
|
7
|
+
|
8
|
+
#global-header-bar {
|
9
|
+
@extend %site-width-container;
|
10
|
+
}
|
11
|
+
#global-header-bar .inner-block {
|
12
|
+
padding: 0;
|
13
|
+
}
|
14
|
+
|
15
|
+
|
16
|
+
// ==========================================================================
|
17
|
+
// Service Design Manual styles
|
18
|
+
// ==========================================================================
|
19
|
+
|
20
|
+
@import "service-design-manual/helpers/page-header";
|
21
|
+
@import "service-design-manual/helpers/breadcrumbs";
|
22
|
+
|
23
|
+
// Remove margins set by Service Design Manual header
|
24
|
+
#global-breadcrumb,
|
25
|
+
.page-header {
|
26
|
+
margin-left: 0;
|
27
|
+
margin-right: 0;
|
28
|
+
}
|
29
|
+
|
30
|
+
// ==========================================================================
|
31
|
+
// Elements page styles
|
32
|
+
// ==========================================================================
|
33
|
+
|
34
|
+
// These are example styles, used only for the Elements page example boxes
|
35
|
+
|
36
|
+
// Headings
|
37
|
+
// Used with heading-large = 36px
|
38
|
+
.heading-with-border {
|
39
|
+
border-top: 1px solid $border-colour;
|
40
|
+
padding-top: em(45, 36);
|
41
|
+
}
|
42
|
+
|
43
|
+
// Text
|
44
|
+
.tight {
|
45
|
+
margin-bottom: 0;
|
46
|
+
}
|
47
|
+
|
48
|
+
// Lists
|
49
|
+
.list-bullet {
|
50
|
+
margin-bottom: ($gutter*1.5);
|
51
|
+
}
|
52
|
+
|
53
|
+
|
54
|
+
// Example boxes
|
55
|
+
// ==========================================================================
|
56
|
+
|
57
|
+
.example {
|
58
|
+
@extend %contain-floats;
|
59
|
+
position: relative;
|
60
|
+
overflow: hidden;
|
61
|
+
border: 1px solid $grey-2;
|
62
|
+
margin-top: $gutter-half;
|
63
|
+
margin-bottom: $gutter*1.5;
|
64
|
+
|
65
|
+
padding-top: $gutter;
|
66
|
+
padding-right: $gutter-half;
|
67
|
+
padding-bottom: $gutter-half;
|
68
|
+
padding-left: $gutter-half;
|
69
|
+
|
70
|
+
@include media(tablet) {
|
71
|
+
padding-top: $gutter*1.5;
|
72
|
+
padding-right: $gutter;
|
73
|
+
padding-bottom: $gutter;
|
74
|
+
padding-left: $gutter;
|
75
|
+
}
|
76
|
+
|
77
|
+
&:before {
|
78
|
+
content: "EXAMPLE";
|
79
|
+
|
80
|
+
position: absolute;
|
81
|
+
top: 0;
|
82
|
+
left: 0;
|
83
|
+
|
84
|
+
padding: em(4) em(15) em(4) em(15);
|
85
|
+
|
86
|
+
@include core-14;
|
87
|
+
background: $grey-2;
|
88
|
+
color: white;
|
89
|
+
}
|
90
|
+
|
91
|
+
// Blue text for heading sizes
|
92
|
+
.highlight {
|
93
|
+
font-style: normal;
|
94
|
+
color: $hm-government;
|
95
|
+
}
|
96
|
+
|
97
|
+
}
|
98
|
+
|
99
|
+
|
100
|
+
// 1. Layout
|
101
|
+
// ==========================================================================
|
102
|
+
|
103
|
+
// Grid layout boxes
|
104
|
+
.example-grid p {
|
105
|
+
width: 100%;
|
106
|
+
background: file-url("examples/grid.png") 0 0 repeat;
|
107
|
+
min-height: 30px;
|
108
|
+
margin-bottom: 0;
|
109
|
+
@include media(tablet) {
|
110
|
+
min-height: 60px;
|
111
|
+
}
|
112
|
+
overflow: hidden;
|
113
|
+
text-indent: -999em;
|
114
|
+
}
|
115
|
+
|
116
|
+
|
117
|
+
// 2. Typography
|
118
|
+
// ==========================================================================
|
119
|
+
|
120
|
+
|
121
|
+
// 3. Colour
|
122
|
+
// ==========================================================================
|
123
|
+
|
124
|
+
// Colour swatches
|
125
|
+
.swatch {
|
126
|
+
width: 60px;
|
127
|
+
height: 60px;
|
128
|
+
@include border-radius(100%);
|
129
|
+
@include media(mobile) {
|
130
|
+
clear: both;
|
131
|
+
float: left;
|
132
|
+
margin-right: $gutter-half;
|
133
|
+
margin-bottom: $gutter-half;
|
134
|
+
}
|
135
|
+
@include media(tablet) {
|
136
|
+
margin: 0 auto $gutter-half auto;
|
137
|
+
}
|
138
|
+
}
|
139
|
+
|
140
|
+
// Sass list for colour palette
|
141
|
+
$palette: (
|
142
|
+
("purple", $purple),
|
143
|
+
("mauve", $mauve),
|
144
|
+
("fuschia", $fuschia),
|
145
|
+
("pink", $pink),
|
146
|
+
("baby-pink", $baby-pink),
|
147
|
+
("red", $red),
|
148
|
+
("mellow-red", $mellow-red),
|
149
|
+
("orange", $orange),
|
150
|
+
("brown", $brown),
|
151
|
+
("yellow", $yellow),
|
152
|
+
("green", $green),
|
153
|
+
("grass-green", $grass-green),
|
154
|
+
("turquoise", $turquoise),
|
155
|
+
("light-blue", $light-blue)
|
156
|
+
);
|
157
|
+
|
158
|
+
@mixin color-swatches {
|
159
|
+
@each $color in $palette {
|
160
|
+
$color-name: nth($color, 1);
|
161
|
+
$color-var: nth($color, 2);
|
162
|
+
.swatch-#{$color-name} {
|
163
|
+
background-color: $color-var;
|
164
|
+
}
|
165
|
+
}
|
166
|
+
}
|
167
|
+
|
168
|
+
// Generate swatch classes for each colour in palette list
|
169
|
+
@include color-swatches;
|
170
|
+
|
171
|
+
.swatch-alpha {
|
172
|
+
background-color: $alpha-colour;
|
173
|
+
}
|
174
|
+
|
175
|
+
.swatch-beta {
|
176
|
+
background-color: $beta-colour;
|
177
|
+
}
|
178
|
+
|
179
|
+
.swatch-error {
|
180
|
+
background-color: $error-colour;
|
181
|
+
}
|
182
|
+
|
183
|
+
.swatch-focus {
|
184
|
+
background-color: $yellow;
|
185
|
+
}
|
186
|
+
|
187
|
+
.swatch-button-colour {
|
188
|
+
background-color: $button-colour;
|
189
|
+
}
|
190
|
+
|
191
|
+
.swatch-black {
|
192
|
+
background-color: $black;
|
193
|
+
}
|
194
|
+
|
195
|
+
.swatch-grey-1 {
|
196
|
+
background-color: $grey-1;
|
197
|
+
}
|
198
|
+
|
199
|
+
.swatch-grey-2 {
|
200
|
+
background-color: $grey-2;
|
201
|
+
}
|
202
|
+
|
203
|
+
.swatch-grey-3 {
|
204
|
+
background-color: $grey-3;
|
205
|
+
}
|
206
|
+
|
207
|
+
.swatch-grey-4 {
|
208
|
+
background-color: $grey-4;
|
209
|
+
}
|
210
|
+
|
211
|
+
.swatch-white {
|
212
|
+
background-color: $white;
|
213
|
+
border: 1px solid $grey-3;
|
214
|
+
}
|
215
|
+
|
216
|
+
.swatch-text-colour {
|
217
|
+
background-color: $text-colour;
|
218
|
+
}
|
219
|
+
|
220
|
+
.swatch-text-secondary {
|
221
|
+
background-color: $secondary-text-colour;
|
222
|
+
}
|
223
|
+
|
224
|
+
.swatch-page-colour {
|
225
|
+
background-color: $page-colour;
|
226
|
+
border: 1px solid $grey-3;
|
227
|
+
}
|
228
|
+
|
229
|
+
.swatch-button-colour {
|
230
|
+
background-color: $button-colour;
|
231
|
+
}
|
232
|
+
|
233
|
+
.swatch-link-colour {
|
234
|
+
background-color: $link-colour;
|
235
|
+
}
|
236
|
+
|
237
|
+
.swatch-link-colour-visited {
|
238
|
+
background-color: $link-visited-colour;
|
239
|
+
}
|
240
|
+
|
241
|
+
.swatch-link-colour-hover {
|
242
|
+
background-color: $link-hover-colour;
|
243
|
+
}
|
244
|
+
|
245
|
+
.swatch-border-colour {
|
246
|
+
background-color: $border-colour;
|
247
|
+
}
|
248
|
+
|
249
|
+
.swatch-panel-colour {
|
250
|
+
background-color: $panel-colour;
|
251
|
+
}
|
252
|
+
|
253
|
+
.swatch-highlight-colour {
|
254
|
+
background-color: $highlight-colour;
|
255
|
+
}
|
256
|
+
|
257
|
+
// Colour swatch layout
|
258
|
+
.swatch-wrapper {
|
259
|
+
@include media(tablet) {
|
260
|
+
float: left;
|
261
|
+
width: 20%;
|
262
|
+
text-align: center;
|
263
|
+
}
|
264
|
+
|
265
|
+
.heading-small {
|
266
|
+
margin-bottom: em(10);
|
267
|
+
}
|
268
|
+
|
269
|
+
ul {
|
270
|
+
padding-bottom: $gutter-half;
|
271
|
+
@include media(mobile) {
|
272
|
+
min-height: 50px;
|
273
|
+
padding-top: 10px;
|
274
|
+
}
|
275
|
+
}
|
276
|
+
li {
|
277
|
+
@include core-16;
|
278
|
+
}
|
279
|
+
b {
|
280
|
+
font-weight: bold;
|
281
|
+
text-transform: uppercase;
|
282
|
+
}
|
283
|
+
}
|
284
|
+
|
285
|
+
|
286
|
+
// 4. Images and icons
|
287
|
+
// ==========================================================================
|
288
|
+
|
289
|
+
.example-images img {
|
290
|
+
max-width: 100%;
|
291
|
+
vertical-align: top;
|
292
|
+
}
|
293
|
+
|
294
|
+
|
295
|
+
// 5. Data
|
296
|
+
// ==========================================================================
|
297
|
+
|
298
|
+
.data .bold-xlarge,
|
299
|
+
.data .bold-xxlarge {
|
300
|
+
line-height: 0.8;
|
301
|
+
}
|
302
|
+
|
303
|
+
.example .data p {
|
304
|
+
margin-bottom: 0;
|
305
|
+
}
|
306
|
+
|
307
|
+
|
308
|
+
// 6. Forms
|
309
|
+
// ==========================================================================
|
310
|
+
|
311
|
+
|
312
|
+
// 7. Buttons
|
313
|
+
// ==========================================================================
|
314
|
+
|
315
|
+
// Increase spacing under buttons in example boxes
|
316
|
+
.example-button .button {
|
317
|
+
margin-bottom: 15px;
|
318
|
+
}
|
319
|
+
|
320
|
+
// Remove top margin from "Creating buttons" example
|
321
|
+
.example-button .heading-small {
|
322
|
+
margin-top: 0;
|
323
|
+
}
|
324
|
+
|
325
|
+
// Make swatch wrapper full width for "Creating buttons" example
|
326
|
+
.example-button .swatch-wrapper {
|
327
|
+
width: 100%;
|
328
|
+
}
|
329
|
+
|
330
|
+
// Remove bottom padding to keep "Creating buttons" example
|
331
|
+
.example-button ul {
|
332
|
+
padding-bottom: 0;
|
333
|
+
}
|
@@ -0,0 +1,44 @@
|
|
1
|
+
// Buttons
|
2
|
+
// ==========================================================================
|
3
|
+
// GOV.UK front end toolkit dependencies
|
4
|
+
@import "design-patterns/buttons";
|
5
|
+
@import "measurements";
|
6
|
+
@import "typography";
|
7
|
+
|
8
|
+
.button {
|
9
|
+
@include button ($button-colour);
|
10
|
+
margin: 0 $gutter-half $gutter-half 0;
|
11
|
+
padding: em(10) em(15) em(5) em(15);
|
12
|
+
vertical-align: top;
|
13
|
+
}
|
14
|
+
|
15
|
+
.button:focus {
|
16
|
+
outline: 3px solid $yellow;
|
17
|
+
}
|
18
|
+
|
19
|
+
// Disabled buttons
|
20
|
+
.button[disabled="disabled"] {
|
21
|
+
background: $button-colour;
|
22
|
+
}
|
23
|
+
|
24
|
+
.button[disabled="disabled"]:focus {
|
25
|
+
outline: none;
|
26
|
+
}
|
27
|
+
|
28
|
+
// Start now buttons
|
29
|
+
.button-get-started {
|
30
|
+
@include bold-24;
|
31
|
+
background-image: file-url("icons/icon-pointer.png");
|
32
|
+
background-repeat: no-repeat;
|
33
|
+
background-position: 100% 50%;
|
34
|
+
padding: em(7) em(41) em(4) em(16);
|
35
|
+
|
36
|
+
@include device-pixel-ratio {
|
37
|
+
background-image: file-url("icons/icon-pointer-2x.png");
|
38
|
+
background-size: 30px 19px;
|
39
|
+
}
|
40
|
+
|
41
|
+
@include ie(6) {
|
42
|
+
background-image: file-url("icons/icon-pointer-2x.png");
|
43
|
+
}
|
44
|
+
}
|
@@ -0,0 +1,39 @@
|
|
1
|
+
// Details
|
2
|
+
// ==========================================================================
|
3
|
+
// GOV.UK front end toolkit dependencies
|
4
|
+
@import "colours";
|
5
|
+
|
6
|
+
details {
|
7
|
+
display: block;
|
8
|
+
}
|
9
|
+
|
10
|
+
details summary {
|
11
|
+
display: inline-block;
|
12
|
+
color: $govuk-blue;
|
13
|
+
cursor: pointer;
|
14
|
+
position: relative;
|
15
|
+
margin-bottom: em(5);
|
16
|
+
}
|
17
|
+
|
18
|
+
details summary:hover {
|
19
|
+
color: $link-hover-colour;
|
20
|
+
}
|
21
|
+
|
22
|
+
details summary:focus {
|
23
|
+
outline: 3px solid $yellow;
|
24
|
+
}
|
25
|
+
|
26
|
+
// Underline only summary text (not the arrow)
|
27
|
+
details .summary {
|
28
|
+
text-decoration: underline;
|
29
|
+
}
|
30
|
+
|
31
|
+
// Match fallback arrow spacing with -webkit default
|
32
|
+
details .arrow {
|
33
|
+
margin-right: 0.35em;
|
34
|
+
}
|
35
|
+
|
36
|
+
// Remove top margin from bordered panel
|
37
|
+
details .panel-indent {
|
38
|
+
margin-top: 0;
|
39
|
+
}
|
@@ -0,0 +1,179 @@
|
|
1
|
+
// Typography
|
2
|
+
// ==========================================================================
|
3
|
+
|
4
|
+
// GOV.UK front end toolkit dependencies
|
5
|
+
@import "typography";
|
6
|
+
@import "colours";
|
7
|
+
|
8
|
+
// Increase the base font size to 19px for the main content area
|
9
|
+
// Using the core-19 mixin from the govuk_toolkit _typography.scss file
|
10
|
+
|
11
|
+
main {
|
12
|
+
@include core-19;
|
13
|
+
-webkit-font-smoothing: antialiased;
|
14
|
+
}
|
15
|
+
|
16
|
+
// Core font sizes
|
17
|
+
.font-xxlarge {
|
18
|
+
@include core-80;
|
19
|
+
}
|
20
|
+
.font-xlarge {
|
21
|
+
@include core-48;
|
22
|
+
}
|
23
|
+
.font-large {
|
24
|
+
@include core-36;
|
25
|
+
}
|
26
|
+
.font-medium {
|
27
|
+
@include core-24;
|
28
|
+
}
|
29
|
+
.font-small {
|
30
|
+
@include core-19;
|
31
|
+
}
|
32
|
+
.font-xsmall {
|
33
|
+
@include core-16;
|
34
|
+
}
|
35
|
+
|
36
|
+
// Bold font sizes
|
37
|
+
.bold-xxlarge {
|
38
|
+
@include bold-80();
|
39
|
+
}
|
40
|
+
.bold-xlarge {
|
41
|
+
@include bold-48();
|
42
|
+
}
|
43
|
+
.bold-large {
|
44
|
+
@include bold-36();
|
45
|
+
}
|
46
|
+
.bold-medium {
|
47
|
+
@include bold-24();
|
48
|
+
}
|
49
|
+
.bold-small {
|
50
|
+
@include bold-19();
|
51
|
+
}
|
52
|
+
.bold-xsmall {
|
53
|
+
@include bold-16();
|
54
|
+
}
|
55
|
+
|
56
|
+
// Common heading sizes
|
57
|
+
// Using the bold-xx mixins from the govuk_toolkit _typography.scss file
|
58
|
+
// Spacing is set in em, using the px to em function in the elements _helpers.scss file
|
59
|
+
|
60
|
+
// Headings
|
61
|
+
.heading-xlarge {
|
62
|
+
@include bold-48();
|
63
|
+
|
64
|
+
margin-top: em(15, 32);
|
65
|
+
margin-bottom: em(30, 32);
|
66
|
+
|
67
|
+
@include media(tablet) {
|
68
|
+
margin-top: em(30, 48);
|
69
|
+
margin-bottom: em(60, 48);
|
70
|
+
}
|
71
|
+
|
72
|
+
.heading-secondary {
|
73
|
+
@include heading-27();
|
74
|
+
|
75
|
+
display: block;
|
76
|
+
color: $secondary-text-colour;
|
77
|
+
}
|
78
|
+
|
79
|
+
}
|
80
|
+
|
81
|
+
.heading-large {
|
82
|
+
@include bold-36();
|
83
|
+
|
84
|
+
margin-top: em(25, 24);
|
85
|
+
margin-bottom: em(10, 24);
|
86
|
+
|
87
|
+
@include media(tablet) {
|
88
|
+
margin-top: em(45, 36 );
|
89
|
+
margin-bottom: em(20, 36);
|
90
|
+
}
|
91
|
+
|
92
|
+
.heading-secondary {
|
93
|
+
@include heading-24();
|
94
|
+
|
95
|
+
display: block;
|
96
|
+
color: $secondary-text-colour;
|
97
|
+
}
|
98
|
+
|
99
|
+
}
|
100
|
+
|
101
|
+
.heading-medium {
|
102
|
+
@include bold-24();
|
103
|
+
|
104
|
+
margin-top: em(25, 20);
|
105
|
+
margin-bottom: em(10, 20);
|
106
|
+
|
107
|
+
@include media(tablet) {
|
108
|
+
margin-top: em(45, 24);
|
109
|
+
margin-bottom: em(20, 24);
|
110
|
+
}
|
111
|
+
|
112
|
+
}
|
113
|
+
|
114
|
+
.heading-small {
|
115
|
+
@include bold-19();
|
116
|
+
|
117
|
+
margin-top: em(10, 16);
|
118
|
+
margin-bottom: em(5, 16);
|
119
|
+
|
120
|
+
@include media(tablet) {
|
121
|
+
margin-top: em(20, 19);
|
122
|
+
}
|
123
|
+
|
124
|
+
}
|
125
|
+
|
126
|
+
// Text
|
127
|
+
p {
|
128
|
+
margin-top: em(5, 16 );
|
129
|
+
margin-bottom: em(20, 16);
|
130
|
+
|
131
|
+
@include media(tablet) {
|
132
|
+
margin-top: em(5);
|
133
|
+
margin-bottom: em(20);
|
134
|
+
}
|
135
|
+
|
136
|
+
}
|
137
|
+
|
138
|
+
// Lede, or intro text
|
139
|
+
.lede {
|
140
|
+
@include core-24;
|
141
|
+
}
|
142
|
+
|
143
|
+
// Set a max-width for text blocks
|
144
|
+
// Less than 75 characters per line of text
|
145
|
+
.text {
|
146
|
+
max-width: 30em;
|
147
|
+
}
|
148
|
+
|
149
|
+
.text-secondary {
|
150
|
+
color: $secondary-text-colour;
|
151
|
+
}
|
152
|
+
|
153
|
+
// Link styles
|
154
|
+
.link {
|
155
|
+
color: $link-colour;
|
156
|
+
text-decoration: underline;
|
157
|
+
}
|
158
|
+
.link:visited {
|
159
|
+
color: $link-visited-colour;
|
160
|
+
}
|
161
|
+
.link:hover {
|
162
|
+
color: $link-hover-colour;
|
163
|
+
}
|
164
|
+
.link:active {
|
165
|
+
color: $link-colour;
|
166
|
+
}
|
167
|
+
|
168
|
+
// Code styles
|
169
|
+
pre,
|
170
|
+
code {
|
171
|
+
font-size: 13px;
|
172
|
+
line-height: 19px;
|
173
|
+
color: $black;
|
174
|
+
background-color: $highlight-colour;
|
175
|
+
border: 1px solid $border-colour;
|
176
|
+
padding: 3px 7px;
|
177
|
+
}
|
178
|
+
|
179
|
+
|