govuk_publishing_components 16.15.0 → 16.16.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 87f022faae8a8118b9cbee285934bc0f4148d32743a2abefbedaf9ff4ab46e67
4
- data.tar.gz: af0830bab1a3eb764ae3f1d6e9c09c0fe39d848e862bcbd42ee0abb4927cb884
3
+ metadata.gz: a7256193228c60f02e42966c635d3d54ec138cc0e42bc2d46a918ef44246e9bd
4
+ data.tar.gz: 99232181ca29fbed66fe26d756b577401a1eadf45ff84dcb8fb4107614cca542
5
5
  SHA512:
6
- metadata.gz: 6db84b68b1e4db8bcd70faaaff2abc6e24ddaabf7a112a86c5793b2f0b4523277bc72efebbda5673a21159c8743eec76e2443885c7fbf54c3f2cf7e54427a510
7
- data.tar.gz: 7ee8e20f0b6e7f6239f81239740ae0099f3fb8ebfb77fe4a93435df7aed9c4c5eee33ab1b887ddfe75196668f50b40439789da7d473467097d8b046450b7ba79
6
+ metadata.gz: 0e7b54f5790debc09afc83f58da7c5cccb8960262fbdbec154de6bb020f03126ce14f2f95fcad74e78c396f9d7d324ab71583429f21887f640bc2c121b5eb200
7
+ data.tar.gz: d48dd0e873de4dca0796f53c13acd478dc7c11fcb7646f0487878b64aaf5f2db08b243501707cf85c2bee4e146c6d813b85039364973bb75e6d6d8ed175eb6b5
@@ -24,6 +24,7 @@
24
24
  // components
25
25
  @import "components/accessible-autocomplete";
26
26
  @import "components/accordion";
27
+ @import "components/attachment";
27
28
  @import "components/attachment-link";
28
29
  @import "components/back-link";
29
30
  @import "components/breadcrumbs";
@@ -0,0 +1,45 @@
1
+ $thumbnail-width: 99px;
2
+ $thumbnail-height: 140px;
3
+ $thumbnail-border: 5px;
4
+ $thumbnail-border-colour: rgba(11, 12, 12, .1);
5
+ $thumbnail-shadow-colour: rgba(11, 12, 12, .4);
6
+ $thumbnail-shadow-width: 0 2px 2px;
7
+
8
+ .gem-c-attachment {
9
+ @include govuk-font(19);
10
+ @include govuk-clearfix;
11
+ }
12
+
13
+ .gem-c-attachment__thumbnail {
14
+ float: left;
15
+ margin-bottom: govuk-spacing(3);
16
+ margin-right: govuk-spacing(5);
17
+ padding: $thumbnail-border;
18
+ position: relative;
19
+ }
20
+
21
+ .gem-c-attachment__thumbnail-image {
22
+ display: block;
23
+ width: auto; // for IE8
24
+ max-width: $thumbnail-width;
25
+ height: $thumbnail-height;
26
+ outline: $thumbnail-border solid $thumbnail-border-colour;
27
+ border: $thumbnail-border-colour; // for IE9 & IE10
28
+ background: govuk-colour("white");
29
+ box-shadow: $thumbnail-shadow-width $thumbnail-shadow-colour;
30
+ }
31
+
32
+ .gem-c-attachment__title {
33
+ @include govuk-font($size: 27);
34
+ margin: 0 0 govuk-spacing(3);
35
+ }
36
+
37
+ .gem-c-attachment__metadata {
38
+ @include govuk-font($size: 14);
39
+ margin: 0 0 govuk-spacing(3);
40
+ }
41
+
42
+ .gem-c-attachment__abbr {
43
+ cursor: help;
44
+ text-decoration: none;
45
+ }
@@ -0,0 +1,47 @@
1
+ <%
2
+ attachment = GovukPublishingComponents::Presenters::Attachment.new(attachment)
3
+ target ||= "_self"
4
+ hide_help_text ||= false
5
+ attributes = []
6
+
7
+ if attachment.content_type_abbr
8
+ content = tag.abbr(attachment.content_type_abbr,
9
+ class: "gem-c-attachment__abbr",
10
+ title: attachment.readable_content_type)
11
+ attributes << tag.span(content, class: "gem-c-attachment__attribute")
12
+ end
13
+
14
+ if attachment.readable_file_size
15
+ attributes << tag.span(attachment.readable_file_size, class: "gem-c-attachment__attribute")
16
+ end
17
+
18
+ if attachment.readable_number_of_pages
19
+ attributes << tag.span(attachment.readable_number_of_pages, class: "gem-c-attachment__attribute")
20
+ end
21
+ %>
22
+ <%= tag.section class: "gem-c-attachment" do %>
23
+ <%= tag.div class: "gem-c-attachment__thumbnail" do %>
24
+ <%= link_to attachment.url, target: target, tabindex: "-1", "aria-hidden": true do %>
25
+ <%= tag.img class: "gem-c-attachment__thumbnail-image",
26
+ src: attachment.thumbnail
27
+ %>
28
+ <% end %>
29
+ <% end %>
30
+
31
+ <%= tag.h2 class: "gem-c-attachment__title" do %>
32
+ <%= link_to attachment.title, attachment.url,
33
+ class: "govuk-link",
34
+ target: target %>
35
+ <% end %>
36
+ <%= tag.p class: "gem-c-attachment__metadata" do %>
37
+ <%= raw(attributes.join(', ')) if attributes.any? %>
38
+ <% end %>
39
+
40
+ <% unless hide_help_text %>
41
+ <% if attachment.opendocument? %>
42
+ <%= tag.p class: "gem-c-attachment__metadata" do %>
43
+ <%= t("components.attachment.opendocument_html", target: target) %>
44
+ <% end %>
45
+ <% end %>
46
+ <% end %>
47
+ <% end %>
@@ -0,0 +1,57 @@
1
+ name: Attachment (experimental)
2
+ description: Displays a link to download an attachment and metadata about the file
3
+ body: |
4
+ This component is marked as experimental as it is part of a drive to provide
5
+ a consistent place for attachment presentation logic (currently this logic is
6
+ within [Govspeak][] and [Whitehall][]). The API for this
7
+ component may change during this process.
8
+
9
+ It shows a link to a document that is attached to GOV.UK content along with a
10
+ thumbnail and relevant file data.
11
+
12
+ It is intended to be rendered in Govspeak and as an attachment 'preview' in
13
+ Content Publisher.
14
+
15
+ [Govspeak]: https://github.com/alphagov/govspeak/blob/c3a0742c87537a371108d097cea23688efa90a14/lib/govspeak/presenters/attachment_presenter.rb
16
+ [Whitehall]: https://github.com/alphagov/whitehall/blob/5c760eea912320c5a80ef59791df47161d889f2f/app/helpers/document_helper.rb
17
+ shared_accessibility_criteria:
18
+ - link
19
+ accessibility_criteria: |
20
+ The thumbnail image has no `alt` attribute, which causes the link which wraps
21
+ the thumbnail to contain no content. Since screen readers will have nothing to
22
+ read in this case, we set `aria-hidden=true` on the thumbail so that it's hidden.
23
+ examples:
24
+ default:
25
+ data:
26
+ attachment:
27
+ title: "Department for Transport information asset register"
28
+ url: https://assets.publishing.service.gov.uk/government/uploads/system/uploads/attachment_data/file/747661/department-for-transport-information-asset-register.csv
29
+ filename: department-for-transport-information-asset-register.csv
30
+ content_type: text/csv
31
+ file_size: 20000
32
+ with_number_of_pages:
33
+ data:
34
+ attachment:
35
+ title: "Temporary snow ploughs: guidance note"
36
+ url: https://assets.publishing.service.gov.uk/government/uploads/system/uploads/attachment_data/file/259634/temporary-snow-ploughs.pdf
37
+ filename: temporary-snow-ploughs.pdf
38
+ content_type: application/pdf
39
+ file_size: 20000
40
+ number_of_pages: 7
41
+ opendocument:
42
+ data:
43
+ attachment:
44
+ title: "BEIS Information Asset Register"
45
+ url: https://assets.publishing.service.gov.uk/government/uploads/system/uploads/attachment_data/file/744083/BEIS_Information_Asset_Register_.ods
46
+ filename: BEIS_Information_Asset_Register_.ods
47
+ content_type: application/vnd.oasis.opendocument.spreadsheet
48
+ file_size: 20000
49
+ help_text_disabled:
50
+ data:
51
+ attachment:
52
+ title: "BEIS Information Asset Register"
53
+ url: https://assets.publishing.service.gov.uk/government/uploads/system/uploads/attachment_data/file/744083/BEIS_Information_Asset_Register_.ods
54
+ filename: BEIS_Information_Asset_Register_.ods
55
+ content_type: application/vnd.oasis.opendocument.spreadsheet
56
+ file_size: 20000
57
+ hide_help_text: true
@@ -23,6 +23,8 @@ en:
23
23
  common:
24
24
  translations: "Translations"
25
25
  components:
26
+ attachment:
27
+ opendocument_html: "This file is in an <a href='https://www.gov.uk/guidance/open-document-format-odf-guidance-for-uk-government/overview-of-productivity-software' target=%{target} class='govuk-link'>OpenDocument</a> format"
26
28
  autocomplete:
27
29
  multiselect: "To select multiple items in a list, hold down Ctrl (PC) or Cmd (Mac) key."
28
30
  back_link:
@@ -48,6 +48,14 @@ module GovukPublishingComponents
48
48
  pluralize(attachment_data[:number_of_pages], "page")
49
49
  end
50
50
 
51
+ def thumbnail
52
+ "https://www.gov.uk/government/assets/pub-cover-doc-afe3b0a8a9511beeca890340170aee8b5649413f948e512c9b8ce432d8513d32.png"
53
+ end
54
+
55
+ def opendocument?
56
+ content_type.opendocument?
57
+ end
58
+
51
59
  class SupportedContentType
52
60
  attr_reader :content_type, :name, :abbr
53
61
 
@@ -77,6 +85,10 @@ module GovukPublishingComponents
77
85
  { content_type: "text/xml", extension: ".xsd", abbr: "XSD", name: "XML Schema" }.freeze,
78
86
  ].freeze
79
87
 
88
+ OPENDOCUMENT_CONTENT_TYPES = %w(application/vnd.oasis.opendocument.presentation
89
+ application/vnd.oasis.opendocument.spreadsheet
90
+ application/vnd.oasis.opendocument.text).freeze
91
+
80
92
  def self.find(content_type, extension = nil)
81
93
  matching_types = TYPES.select { |type| type[:content_type] == content_type }
82
94
 
@@ -96,6 +108,10 @@ module GovukPublishingComponents
96
108
  @name = content_type[:name]
97
109
  @abbr = content_type[:abbr]
98
110
  end
111
+
112
+ def opendocument?
113
+ OPENDOCUMENT_CONTENT_TYPES.include?(content_type)
114
+ end
99
115
  end
100
116
 
101
117
  class UnsupportedContentType
@@ -108,6 +124,10 @@ module GovukPublishingComponents
108
124
  def name; end
109
125
 
110
126
  def abbr; end
127
+
128
+ def opendocument?
129
+ false
130
+ end
111
131
  end
112
132
  end
113
133
  end
@@ -1,3 +1,3 @@
1
1
  module GovukPublishingComponents
2
- VERSION = '16.15.0'.freeze
2
+ VERSION = '16.16.0'.freeze
3
3
  end
@@ -49,7 +49,7 @@
49
49
  "/"
50
50
  ],
51
51
  "_resolved": "git://github.com/alphagov/accessible-autocomplete.git#0c518b4fa79b9a95b544410858486ed9e6403c84",
52
- "_shasum": "9657f061f59e5450aa85f9affde3ce34eeb5cbce",
52
+ "_shasum": "72a16e16cbdbe5b44ca47631d9c8bc47063c5a74",
53
53
  "_shrinkwrap": null,
54
54
  "_spec": "accessible-autocomplete@git://github.com/alphagov/accessible-autocomplete.git#add-multiselect-support",
55
55
  "_where": "/var/lib/jenkins/workspace/ublishing_components_master-N4FWJIUY4CIFHKGZOAAEVVXODRY3YBORQOPIBBXWX72VUPSGJRRQ",
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: govuk_publishing_components
3
3
  version: !ruby/object:Gem::Version
4
- version: 16.15.0
4
+ version: 16.16.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - GOV.UK Dev
@@ -369,6 +369,7 @@ files:
369
369
  - app/assets/stylesheets/govuk_publishing_components/components/_accessible-autocomplete.scss
370
370
  - app/assets/stylesheets/govuk_publishing_components/components/_accordion.scss
371
371
  - app/assets/stylesheets/govuk_publishing_components/components/_attachment-link.scss
372
+ - app/assets/stylesheets/govuk_publishing_components/components/_attachment.scss
372
373
  - app/assets/stylesheets/govuk_publishing_components/components/_back-link.scss
373
374
  - app/assets/stylesheets/govuk_publishing_components/components/_breadcrumbs.scss
374
375
  - app/assets/stylesheets/govuk_publishing_components/components/_button.scss
@@ -485,6 +486,7 @@ files:
485
486
  - app/views/govuk_publishing_components/components/_accessible_autocomplete.html.erb
486
487
  - app/views/govuk_publishing_components/components/_accordion.html.erb
487
488
  - app/views/govuk_publishing_components/components/_admin_analytics.html.erb
489
+ - app/views/govuk_publishing_components/components/_attachment.html.erb
488
490
  - app/views/govuk_publishing_components/components/_attachment_link.html.erb
489
491
  - app/views/govuk_publishing_components/components/_back_link.html.erb
490
492
  - app/views/govuk_publishing_components/components/_breadcrumbs.html.erb
@@ -552,6 +554,7 @@ files:
552
554
  - app/views/govuk_publishing_components/components/docs/accessible_autocomplete.yml
553
555
  - app/views/govuk_publishing_components/components/docs/accordion.yml
554
556
  - app/views/govuk_publishing_components/components/docs/admin_analytics.yml
557
+ - app/views/govuk_publishing_components/components/docs/attachment.yml
555
558
  - app/views/govuk_publishing_components/components/docs/attachment_link.yml
556
559
  - app/views/govuk_publishing_components/components/docs/back_link.yml
557
560
  - app/views/govuk_publishing_components/components/docs/breadcrumbs.yml