govuk_publishing_components 8.2.0 → 9.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (71) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/images/govuk_publishing_components/govuk-logo.png +0 -0
  3. data/app/assets/images/govuk_publishing_components/icon-pointer-2x.png +0 -0
  4. data/app/assets/images/govuk_publishing_components/icon-pointer.png +0 -0
  5. data/app/assets/stylesheets/govuk_publishing_components/_all_components.scss +4 -0
  6. data/app/assets/stylesheets/govuk_publishing_components/_all_components_print.scss +3 -0
  7. data/app/assets/stylesheets/govuk_publishing_components/components/_button.scss +2 -2
  8. data/app/assets/stylesheets/govuk_publishing_components/components/_contents-list.scss +70 -0
  9. data/app/assets/stylesheets/govuk_publishing_components/components/_govspeak-html-publication.scss +134 -0
  10. data/app/assets/stylesheets/govuk_publishing_components/components/_govspeak.scss +29 -0
  11. data/app/assets/stylesheets/govuk_publishing_components/components/_image-card.scss +123 -0
  12. data/app/assets/stylesheets/govuk_publishing_components/components/_notice.scss +33 -0
  13. data/app/assets/stylesheets/govuk_publishing_components/components/_share-links.scss +15 -1
  14. data/app/assets/stylesheets/govuk_publishing_components/components/govspeak/_advisory.scss +34 -0
  15. data/app/assets/stylesheets/govuk_publishing_components/components/govspeak/_attachment.scss +111 -0
  16. data/app/assets/stylesheets/govuk_publishing_components/components/govspeak/_button.scss +11 -0
  17. data/app/assets/stylesheets/govuk_publishing_components/components/govspeak/_call-to-action.scss +25 -0
  18. data/app/assets/stylesheets/govuk_publishing_components/components/govspeak/_charts.scss +306 -0
  19. data/app/assets/stylesheets/govuk_publishing_components/components/govspeak/_contact.scss +49 -0
  20. data/app/assets/stylesheets/govuk_publishing_components/components/govspeak/_example.scss +25 -0
  21. data/app/assets/stylesheets/govuk_publishing_components/components/govspeak/_footnotes.scss +27 -0
  22. data/app/assets/stylesheets/govuk_publishing_components/components/govspeak/_fraction.scss +22 -0
  23. data/app/assets/stylesheets/govuk_publishing_components/components/govspeak/_highlight-answer.scss +42 -0
  24. data/app/assets/stylesheets/govuk_publishing_components/components/govspeak/_images.scss +32 -0
  25. data/app/assets/stylesheets/govuk_publishing_components/components/govspeak/_information-callout.scss +22 -0
  26. data/app/assets/stylesheets/govuk_publishing_components/components/govspeak/_legislative-list.scss +26 -0
  27. data/app/assets/stylesheets/govuk_publishing_components/components/govspeak/_media-player.scss +15 -0
  28. data/app/assets/stylesheets/govuk_publishing_components/components/govspeak/_place.scss +29 -0
  29. data/app/assets/stylesheets/govuk_publishing_components/components/govspeak/_stat-headline.scss +29 -0
  30. data/app/assets/stylesheets/govuk_publishing_components/components/govspeak/_steps.scss +24 -0
  31. data/app/assets/stylesheets/govuk_publishing_components/components/govspeak/_summary.scss +24 -0
  32. data/app/assets/stylesheets/govuk_publishing_components/components/govspeak/_tables.scss +38 -0
  33. data/app/assets/stylesheets/govuk_publishing_components/components/govspeak/_typography.scss +224 -0
  34. data/app/assets/stylesheets/govuk_publishing_components/components/govspeak/_warning-callout.scss +41 -0
  35. data/app/assets/stylesheets/govuk_publishing_components/components/govspeak/form-download.scss +24 -0
  36. data/app/assets/stylesheets/govuk_publishing_components/components/helpers/_contents-list-helper.scss +25 -0
  37. data/app/assets/stylesheets/govuk_publishing_components/components/print/_contents-list.scss +19 -0
  38. data/app/assets/stylesheets/govuk_publishing_components/components/print/_govspeak-html-publication.scss +5 -0
  39. data/app/assets/stylesheets/govuk_publishing_components/components/print/_govspeak.scss +65 -0
  40. data/app/views/govuk_publishing_components/component_guide/example.html.erb +1 -1
  41. data/app/views/govuk_publishing_components/component_guide/index.html.erb +1 -1
  42. data/app/views/govuk_publishing_components/component_guide/show.html.erb +3 -3
  43. data/app/views/govuk_publishing_components/components/_contents_list.html.erb +84 -0
  44. data/app/views/govuk_publishing_components/components/_govspeak.html.erb +14 -0
  45. data/app/views/govuk_publishing_components/components/_govspeak_html_publication.html.erb +9 -0
  46. data/app/views/govuk_publishing_components/components/_image_card.html.erb +41 -0
  47. data/app/views/govuk_publishing_components/components/_lead_paragraph.html.erb +0 -3
  48. data/app/views/govuk_publishing_components/components/_machine_readable_metadata.html.erb +1 -0
  49. data/app/views/govuk_publishing_components/components/_notice.html.erb +22 -0
  50. data/app/views/govuk_publishing_components/components/_share_links.html.erb +68 -30
  51. data/app/views/govuk_publishing_components/components/docs/contents_list.yml +218 -0
  52. data/app/views/govuk_publishing_components/components/docs/govspeak.yml +653 -0
  53. data/app/views/govuk_publishing_components/components/docs/govspeak_html_publication.yml +183 -0
  54. data/app/views/govuk_publishing_components/components/docs/image_card.yml +160 -0
  55. data/app/views/govuk_publishing_components/components/docs/inverse_header.yml +1 -1
  56. data/app/views/govuk_publishing_components/components/docs/machine_readable_metadata.yml +17 -1
  57. data/app/views/govuk_publishing_components/components/docs/notice.yml +27 -0
  58. data/app/views/govuk_publishing_components/components/docs/share_links.yml +119 -18
  59. data/config/initializers/assets.rb +3 -0
  60. data/config/locales/en.yml +2 -0
  61. data/lib/govuk_publishing_components.rb +2 -1
  62. data/lib/govuk_publishing_components/presenters/contents_list_helper.rb +27 -0
  63. data/lib/govuk_publishing_components/presenters/image_card_helper.rb +55 -0
  64. data/lib/govuk_publishing_components/presenters/machine_readable/article_schema.rb +5 -1
  65. data/lib/govuk_publishing_components/presenters/machine_readable/page.rb +5 -1
  66. data/lib/govuk_publishing_components/presenters/machine_readable/person_schema.rb +39 -0
  67. data/lib/govuk_publishing_components/presenters/schema_org.rb +3 -0
  68. data/lib/govuk_publishing_components/version.rb +1 -1
  69. metadata +49 -4
  70. data/app/assets/javascripts/govuk_publishing_components/lib/track-share-button-clicks.js +0 -26
  71. data/lib/govuk_publishing_components/presenters/sanitisation.rb +0 -13
@@ -1,9 +1,17 @@
1
1
  $share-button-width: 32px;
2
2
  $share-button-height: 32px;
3
3
 
4
+ .gem-c-share-links__list {
5
+ list-style: none;
6
+ }
7
+
8
+ .gem-c-share-links__list-item {
9
+ display: inline-block;
10
+ margin-bottom: $gutter-one-third;
11
+ }
12
+
4
13
  .gem-c-share-links__link {
5
14
  margin-right: $gutter;
6
- margin-bottom: $gutter-one-third;
7
15
  @include bold-16($line-height: $share-button-height, $line-height-640: $share-button-height);
8
16
  text-decoration: none;
9
17
  }
@@ -38,3 +46,9 @@ $share-button-height: 32px;
38
46
  }
39
47
  }
40
48
  }
49
+
50
+ .gem-c-share-links--stacked {
51
+ .gem-c-share-links__list-item {
52
+ display: block;
53
+ }
54
+ }
@@ -0,0 +1,34 @@
1
+ $info-background: #D5E8F3;
2
+ $high-alert-border:#C00;
3
+
4
+ .gem-c-govspeak .advisory {
5
+ background: image-url("icon-information.png") no-repeat scroll 98% 1em $info-background;
6
+ line-height: 1.3em;
7
+ margin: 0 -1em 1em;
8
+ padding: 1em;
9
+ text-align: left;
10
+
11
+ @include device-pixel-ratio() {
12
+ background-image: image-url("icon-information-2x.png");
13
+ background-size: 27px 27px;
14
+ }
15
+
16
+ p {
17
+ margin: 0 0.75em 0 0;
18
+ min-height: 1.75em;
19
+ padding-right: 3em;
20
+ }
21
+
22
+ strong {
23
+ font-weight: 400;
24
+ }
25
+
26
+ &.high-alert {
27
+ background-color: $panel-colour;
28
+ border-color: $high-alert-border;
29
+ }
30
+
31
+ @include media-down(mobile) {
32
+ margin: 0 0 1em;
33
+ }
34
+ }
@@ -0,0 +1,111 @@
1
+ // Govspeak attachment
2
+ // https://govuk-static.herokuapp.com/component-guide/govspeak/block_attachments
3
+ //
4
+ // Support:
5
+ // - alphagov/whitehall: ✔︎
6
+ // - alphagov/govspeak: ✔︎
7
+
8
+ .gem-c-govspeak {
9
+ // This block is duplicated from Whitehall as a transitional step, see the
10
+ // commit message for 2d893c10ee3f2cab27162b9aba38b12379a71d07 before making
11
+ // changes, original version:
12
+ // https://github.com/alphagov/whitehall/blob/master/app/assets/stylesheets/frontend/helpers/_attachment.scss
13
+ $thumbnail-width: 99px;
14
+
15
+ .attachment {
16
+ position: relative;
17
+ margin: $gutter 0;
18
+ padding: $gutter-half 0 0 ($thumbnail-width + $gutter);
19
+ @extend %contain-floats;
20
+
21
+ &:first-child {
22
+ margin-top: 0;
23
+ padding-top: 0;
24
+ }
25
+
26
+ .attachment-thumb {
27
+ $thumb-border-width: $gutter-one-third / 2;
28
+
29
+ position: relative;
30
+ float: left;
31
+ margin-top: $thumb-border-width;
32
+ margin-left: -($thumbnail-width + $gutter - $thumb-border-width);
33
+ padding-bottom: $gutter-half;
34
+
35
+ img {
36
+ display: block;
37
+ width: $thumbnail-width;
38
+ height: 140px;
39
+ background: $white;
40
+ outline: $thumb-border-width solid transparentize($black, 0.9);
41
+
42
+ @include ie-lte(8) {
43
+ // IE8 incorrectly asserts the "max-width: 100%" rule to be 0
44
+ // because of the collapsed width on its floating container
45
+ // Reset the max-width so that thumbnails render at the specified
46
+ // width above.
47
+ // http://www.456bereastreet.com/archive/201202/using_max-width_on_images_can_make_them_disappear_in_ie8/
48
+ max-width: none;
49
+ border: $thumb-border-width solid $grey-3;
50
+ }
51
+
52
+ @include box-shadow(0 2px 2px rgba($black, .4));
53
+ }
54
+ }
55
+
56
+ .attachment-details {
57
+ h2 {
58
+ @include core-27;
59
+ margin: 0;
60
+ }
61
+
62
+ p {
63
+ margin: $gutter-one-third 0;
64
+ }
65
+
66
+ .metadata {
67
+ @include core-14;
68
+ }
69
+
70
+ .changed,
71
+ .references,
72
+ .unnumbered-paper {
73
+ display: block;
74
+ }
75
+
76
+ .preview,
77
+ .download {
78
+ @include core-19;
79
+
80
+ strong {
81
+ font-weight: bold;
82
+ }
83
+ }
84
+
85
+ .preview {
86
+ padding-right: $gutter-half;
87
+ }
88
+
89
+ .opendocument-help {
90
+ @include core-14;
91
+ }
92
+
93
+ .accessibility-warning {
94
+ h2 {
95
+ @include core-14;
96
+ margin: 0;
97
+ }
98
+ }
99
+ }
100
+ }
101
+
102
+ &.direction-rtl .attachment {
103
+ padding: $gutter-half ($thumbnail-width + $gutter) 0 0;
104
+
105
+ .attachment-thumb {
106
+ float: right;
107
+ margin-left: 0;
108
+ margin-right: (($thumbnail-width * -1) - $gutter-half);
109
+ }
110
+ }
111
+ }
@@ -0,0 +1,11 @@
1
+ @import "govuk_publishing_components/components/button";
2
+
3
+ .gem-c-govspeak {
4
+ .button {
5
+ @extend %gem-c-button;
6
+ }
7
+
8
+ .button-start {
9
+ @extend %gem-c-button--start;
10
+ }
11
+ }
@@ -0,0 +1,25 @@
1
+ // Govspeak call to action
2
+ // https://govuk-static.herokuapp.com/component-guide/govspeak/call_to_action
3
+ //
4
+ // Support:
5
+ //
6
+ // - alphagov/whitehall: ✔︎
7
+ // - alphagov/govspeak: ✔︎
8
+
9
+ .gem-c-govspeak {
10
+ .call-to-action {
11
+ margin: 2em 0;
12
+ background-color: $panel-colour;
13
+ padding: 2em;
14
+
15
+ &:first-child {
16
+ margin-top: 0;
17
+ }
18
+
19
+ p:last-child,
20
+ ul:last-child,
21
+ ol:last-child {
22
+ margin-bottom: 0;
23
+ }
24
+ }
25
+ }
@@ -0,0 +1,306 @@
1
+ // Govspeak charts
2
+ // https://govuk-static.herokuapp.com/component-guide/govspeak/charts
3
+ // Uses Magna Charta (https://github.com/alphagov/magna-charta)
4
+ //
5
+ // Support:
6
+ // - alphagov/whitehall: ✔︎
7
+ // - alphagov/govspeak: ✔︎
8
+
9
+ // Disable linting for vendor asset
10
+ // scss-lint:disable all
11
+ /*
12
+ * magna-charta example stylesheet
13
+ * https://github.com/alphagov/magna-charta
14
+ *
15
+ * Author: Tim Paul
16
+ * Licensed under the MIT license.
17
+ */
18
+
19
+ .gem-c-govspeak {
20
+ // DEFAULT CHART STYLES
21
+
22
+ $label-width: 40%; // Horizontal width taken up by the bar labels
23
+ $label-align: right; // Label alignment
24
+ $base-unit: 16px; // For font sizes and related spacing
25
+ $compact-font-size: 12px; // For the 'compact' bar style
26
+ $bar-padding: 8px; // The padding between the bar values and the edge of the bar
27
+ $bar-spacing: 5px; // The spacing around the bars
28
+ $stack-spacing: 1px; // For stacked bars, the spacing between each stack in a bar
29
+ $caption-side: top; // Caption alignment. Top or bottom.
30
+ $key-width: 160px; // Only used by IE. Other browsers get smallest width that fits content
31
+
32
+ // CHART COLOUR SCHEME
33
+
34
+ @import "colours"; // Cabinet Office colour palette (feel free to choose your own)
35
+ $chart-border: $white; // Chart border colour
36
+ $key-border: $white; // Key border colour
37
+ $bar-colours: $govuk-blue, $turquoise, $green, $grass-green, $yellow, $orange, $red, $mellow-red;
38
+
39
+ // HELPER MIXINS
40
+
41
+ @mixin visually-hidden {
42
+ // Hides content visually, but not from screen readers
43
+ position: absolute !important;
44
+ clip: rect(1px 1px 1px 1px); /* IE6, IE7 */
45
+ clip: rect(1px, 1px, 1px, 1px);
46
+ padding: 0 !important;
47
+ border: 0 !important;
48
+ height: 1px !important;
49
+ width: 1px !important;
50
+ overflow: hidden;
51
+ }
52
+
53
+ // CHART STYLES
54
+ .mc-chart {
55
+ font-size: $base-unit;
56
+ display: table;
57
+ width: 100%;
58
+ border-spacing: 0 $bar-spacing;
59
+ border: 1px solid $chart-border;
60
+ padding: $base-unit 0;
61
+ position: relative;
62
+ margin-bottom: $base-unit;
63
+
64
+ // CAPTION STYLES
65
+ .mc-caption {
66
+ display: table-caption;
67
+ font-size: $base-unit;
68
+ text-align: center;
69
+ caption-side: $caption-side;
70
+ margin: $base-unit 0;
71
+ }
72
+
73
+ // KEY STYLES
74
+ .mc-thead {
75
+ background-color: #fff;
76
+ display: table-header-group;
77
+ padding: $bar-spacing;
78
+ border: 1px solid $key-border;
79
+
80
+ .mc-th {
81
+ display: none; // Hide all header cells first
82
+ }
83
+
84
+ .mc-key-header {
85
+ display: block; // Show the header cells that form part of the key
86
+ margin-bottom: $bar-spacing;
87
+ margin-left: 100%;
88
+ padding-left: $bar-spacing;
89
+ border-left: $base-unit solid;
90
+ text-align: left;
91
+ font-weight: normal;
92
+ width: 100%;
93
+
94
+ &:last-child {
95
+ margin-bottom: 0;
96
+ }
97
+ }
98
+
99
+ // Key colours
100
+ @for $i from 0 to length($bar-colours) {
101
+ .mc-key-#{$i + 1} {
102
+ border-left-color: nth($bar-colours, $i + 1);
103
+ }
104
+ }
105
+ }
106
+
107
+ // Right and left aligned keys
108
+ &.right-key .mc-thead,
109
+ &.left-key .mc-thead {
110
+ position: absolute;
111
+ top: 100px;
112
+
113
+ .mc-key-header {
114
+ margin-left: 0;
115
+ }
116
+ }
117
+
118
+ &.right-key .mc-thead {
119
+ right: 26px;
120
+ }
121
+
122
+ &.left-key .mc-thead {
123
+ left: 26px;
124
+ }
125
+
126
+ // Hidden keys
127
+ &.no-key .mc-thead {
128
+ display: none;
129
+ }
130
+
131
+ // BAR STYLES
132
+ .mc-tbody {
133
+ display: table-row-group;
134
+
135
+ .mc-tr {
136
+ display: table-row;
137
+
138
+ // Bars and bar labels
139
+ .mc-bar-cell,
140
+ .mc-key-cell {
141
+ padding-right: $bar-spacing;
142
+ margin-right: $stack-spacing;
143
+ box-sizing: border-box;
144
+ border: 0 solid;
145
+ }
146
+
147
+ // Bars
148
+ .mc-bar-cell {
149
+ display: block;
150
+ text-align: left;
151
+ padding: $bar-padding 0;
152
+ margin-bottom: 1px;
153
+ color: $white;
154
+ text-indent: $bar-padding;
155
+ }
156
+
157
+ // Bar colours
158
+ @for $i from 0 to length($bar-colours) {
159
+ .mc-bar-#{$i + 1} {
160
+ background-color: nth($bar-colours, $i + 1);
161
+ }
162
+ }
163
+
164
+ // Negative bars
165
+ .mc-bar-negative {
166
+ text-align: right;
167
+ padding-right: $bar-padding;
168
+ }
169
+
170
+ .mc-value-overflow {
171
+ text-indent: -99999px !important;
172
+ }
173
+
174
+ // Bar labels
175
+ .mc-key-cell {
176
+ width: $label-width;
177
+ text-indent: 26px;
178
+ text-align: $label-align;
179
+ display: table-cell;
180
+ vertical-align: middle;
181
+ }
182
+ }
183
+ }
184
+
185
+ // STACKED CHARTS
186
+ &.mc-stacked {
187
+ .mc-stacked-header {
188
+ display: none; // Hide the header for the totals column
189
+ }
190
+
191
+ .mc-th:nth-last-child(2) {
192
+ margin-bottom: 0;
193
+ }
194
+
195
+ .mc-stacked-total {
196
+ padding: $bar-padding 0;
197
+ background-color: transparent !important;
198
+ color: $black;
199
+ display: inline-block;
200
+ text-indent: 5px;
201
+ }
202
+
203
+ .mc-tbody .mc-bar-cell {
204
+ display: inline-block;
205
+ }
206
+ }
207
+
208
+ // COMPACT CHARTS
209
+ &.compact {
210
+ .mc-td.mc-bar-cell {
211
+ font-size: $compact-font-size;
212
+ text-indent: 2px;
213
+ padding: 0;
214
+ }
215
+ }
216
+
217
+ // Charts with multiple columns get different coloured bars
218
+ $len: length($bar-colours);
219
+
220
+ @for $i from 0 to $len {
221
+ .mc-tr .mc-td.mc-bar-cell.mc-bar-#{$i + 1} {
222
+ background-color: nth($bar-colours, $i + 1);
223
+ }
224
+
225
+ .mc-tr .mc-th.mc-key-#{$i + 1} {
226
+ border-left-color: nth($bar-colours, $i + 1);
227
+ }
228
+ }
229
+
230
+ .mc-td, .mc-th {
231
+ padding: 0;
232
+ padding-right: $bar-spacing;
233
+ margin-right: $stack-spacing;
234
+ border: 0 solid;
235
+
236
+ &.mc-bar-cell {
237
+ display: block;
238
+ background-color: #ebebeb; // Just for testing
239
+ text-align: left;
240
+ padding: $bar-padding 0;
241
+ margin-bottom: 1px;
242
+ color: $white;
243
+ text-indent: 4px;
244
+ }
245
+ }
246
+
247
+ .mc-bar-outdented {
248
+ span {
249
+ color: #111;
250
+ }
251
+ }
252
+
253
+ caption {
254
+ caption-side: $caption-side;
255
+ }
256
+
257
+ .mc-td.mc-key-cell {
258
+ width: $label-width;
259
+ text-indent: 26px;
260
+ text-align: $label-align;
261
+ display: table-cell;
262
+ vertical-align: middle;
263
+ }
264
+
265
+ // OUTDENTED BAR VALUES
266
+ &.mc-outdented {
267
+ .mc-tbody {
268
+ .mc-tr {
269
+ .mc-bar-cell {
270
+ color: #111;
271
+ }
272
+
273
+ .mc-bar-negative {
274
+ text-align: left;
275
+ }
276
+ }
277
+ }
278
+ }
279
+
280
+ &.mc-negative .mc-td.mc-key-cell {
281
+ padding-right: 25px;
282
+ }
283
+ }
284
+
285
+ .mc-outdented .mc-bar-cell.mc-bar-negative {
286
+ text-align: left;
287
+ }
288
+
289
+ .mc-chart.mc-negative .mc-td.mc-key-cell {
290
+ padding-right: 25px;
291
+ }
292
+
293
+ .mc-toggle-link {
294
+ display: block;
295
+ margin-top: 30px;
296
+ }
297
+
298
+ // Hides the original table
299
+ .visually-hidden,
300
+ .visually-hidden caption {
301
+ @include visually-hidden;
302
+
303
+ // It's reapplied to captions because Firefox can't hide
304
+ // table captions unless it's applied directly to it. Go figure.
305
+ }
306
+ }