diff --git a/CHANGELOG.md b/CHANGELOG.md index 796de35f6c..279ff2a37c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,7 @@ ## Unreleased * Update postcode regex for PII stripping ([PR #2043](https://github.com/alphagov/govuk_publishing_components/pull/2043)) +* Update design of metadata component ([PR #2046](https://github.com/alphagov/govuk_publishing_components/pull/2046)) ## 24.10.0 diff --git a/app/assets/stylesheets/govuk_publishing_components/components/_metadata.scss b/app/assets/stylesheets/govuk_publishing_components/components/_metadata.scss index 2478e35bc0..afa1d66ac3 100644 --- a/app/assets/stylesheets/govuk_publishing_components/components/_metadata.scss +++ b/app/assets/stylesheets/govuk_publishing_components/components/_metadata.scss @@ -1,3 +1,5 @@ +$space-between-data: govuk-spacing(1); + .gem-c-metadata { @include govuk-text-colour; @include govuk-font(16); @@ -7,6 +9,11 @@ a { @include govuk-link-common; @include govuk-link-style-default; + font-weight: bold; + } + + .gem-c-metadata__definition-link { + font-weight: normal; } } @@ -29,17 +36,19 @@ } } +.gem-c-metadata__term, +.gem-c-metadata__definition { + line-height: 1.4; +} + .gem-c-metadata__term { margin-top: .5em; - line-height: 1.4; @include govuk-media-query($from: tablet) { box-sizing: border-box; float: left; clear: left; - width: 30%; - max-width: 11em; - padding-right: govuk-spacing(2); + padding-right: $space-between-data; margin-top: 0; } } @@ -49,29 +58,13 @@ clear: right; @include govuk-media-query($from: tablet) { - padding-left: govuk-spacing(2); + padding-left: $space-between-data; padding-right: 0; } } .gem-c-metadata__definition { margin: 0; - line-height: 1.4; - - @include govuk-media-query($from: tablet) { - float: left; - width: 70%; - } -} - -.gem-c-metadata__definition-link { - text-decoration: none; -} - -.gem-c-metadata__definition-link:focus, -.gem-c-metadata__definition-link:active, -.gem-c-metadata__definition-link:hover { - text-decoration: underline; } .gem-c-metadata.direction-rtl .gem-c-metadata__definition { diff --git a/app/views/govuk_publishing_components/components/_metadata.html.erb b/app/views/govuk_publishing_components/components/_metadata.html.erb index 8e352eb1cd..bfa5ab1807 100644 --- a/app/views/govuk_publishing_components/components/_metadata.html.erb +++ b/app/views/govuk_publishing_components/components/_metadata.html.erb @@ -34,14 +34,15 @@
<%= history %>
<% end %> <% if local_assigns.include?(:first_published) && first_published %> -
<%= t("components.metadata.published", default: "Published") %>:
+
<%= t("components.metadata.published", default: "Published") %>
<%= first_published %>
<% end %> <% if local_assigns.include?(:last_updated) && last_updated %> -
<%= t("components.metadata.last_updated", default: "Last updated") %>:
+
<%= t("components.metadata.last_updated", default: "Last updated") %>
- <%= last_updated %><% if local_assigns.include?(:see_updates_link) %>, - + <% if local_assigns.include?(:see_updates_link) %> + — diff --git a/app/views/govuk_publishing_components/components/metadata/_sentence.html.erb b/app/views/govuk_publishing_components/components/metadata/_sentence.html.erb index d9ab8876c9..3fa042bb0b 100644 --- a/app/views/govuk_publishing_components/components/metadata/_sentence.html.erb +++ b/app/views/govuk_publishing_components/components/metadata/_sentence.html.erb @@ -7,7 +7,7 @@ end %> <% if remaining.any? %> - <%= items.to_sentence(last_word_connector: ', ').html_safe %> + <%= items.to_sentence(words_connector: raw(' '),last_word_connector: raw(' ')).html_safe %>
- <%= remaining.to_sentence.html_safe %> + <%= remaining.to_sentence(words_connector: raw(' ')).html_safe %> <% else %> - <%= items.to_sentence.html_safe %> + <%= items.to_sentence(words_connector: raw(' '),last_word_connector: raw(' and ')).html_safe %> <% end %> diff --git a/config/locales/en.yml b/config/locales/en.yml index bfe2984062..392e99bd8a 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -66,6 +66,15 @@ en: hide_button: "Hide search" top_level: "Top level" menu: "Menu" + metadata: + from: "From" + part_of: "Part of" + history: "History" + published: "Published" + last_updated: "Last updated" + see_all_updates: "See all updates" + toggle_less: "Show fewer" + toggle_more: "+ %{number} more" organisation_schema: all_content_search_description: "Find all content from %{organisation}" radio: diff --git a/spec/components/metadata_spec.rb b/spec/components/metadata_spec.rb index 4e36c115d9..6433184a81 100644 --- a/spec/components/metadata_spec.rb +++ b/spec/components/metadata_spec.rb @@ -201,20 +201,20 @@ def component_name end def assert_truncation(length, limit) - assert_select "span", count: 1 - assert_select "dd > a", count: limit - assert_select "dd span a", count: length - limit + assert_select ".gem-c-metadata__toggle-items", count: 1 + assert_select ".gem-c-metadata__definition > a", count: limit + assert_select ".gem-c-metadata__definition .gem-c-metadata__toggle-items a", count: length - limit assert_select "a[href=\"#\"]", text: "+ #{length - limit} more" end def assert_no_truncation(length) - assert_select "dd > a", count: length - assert_select "span", count: 0 + assert_select ".gem-c-metadata__definition > a", count: length + assert_select ".gem-c-metadata__toggle-items", count: 0 end def assert_definition(term, definition) - assert_select "dt", text: term - assert_select "dd", text: definition + assert_select ".gem-c-metadata__term", text: term + assert_select ".gem-c-metadata__definition", text: definition end def assert_link_with_text_in(selector, link, text)