diff --git a/CHANGELOG.md b/CHANGELOG.md index 4b588cbc1d..43539fca96 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,8 @@ ## Unreleased +* Use component wrapper on share links component ([PR #4479](https://github.com/alphagov/govuk_publishing_components/pull/4479)) + ## 46.2.0 * Support Welsh devolved nations component ([PR #4440](https://github.com/alphagov/govuk_publishing_components/pull/4440)) diff --git a/app/views/govuk_publishing_components/components/_share_links.html.erb b/app/views/govuk_publishing_components/components/_share_links.html.erb index 82ef8929e2..6299362399 100644 --- a/app/views/govuk_publishing_components/components/_share_links.html.erb +++ b/app/views/govuk_publishing_components/components/_share_links.html.erb @@ -14,19 +14,18 @@ black_icons ||= false black_links ||= false - classes = %w(gem-c-share-links govuk-!-display-none-print) - classes << "gem-c-share-links--stacked" if stacked - classes << "gem-c-share-links--columns" if columns - classes << "gem-c-share-links--flexbox" if flexbox - classes << "gem-c-share-links--square-icons" if square_icons - classes << "gem-c-share-links--black-icons" if black_icons - classes << "gem-c-share-links--black-links" if black_links - - data_attributes ||= {} - ((data_attributes[:module] ||= "") << " " << "ga4-link-tracker").strip! if track_as_sharing || track_as_follow + component_helper = GovukPublishingComponents::Presenters::ComponentWrapperHelper.new(local_assigns) + component_helper.add_class("gem-c-share-links govuk-!-display-none-print") + component_helper.add_class("gem-c-share-links--stacked") if stacked + component_helper.add_class("gem-c-share-links--columns") if columns + component_helper.add_class("gem-c-share-links--flexbox") if flexbox + component_helper.add_class("gem-c-share-links--square-icons") if square_icons + component_helper.add_class("gem-c-share-links--black-icons") if black_icons + component_helper.add_class("gem-c-share-links--black-links") if black_links + component_helper.add_data_attribute({ module: "ga4-link-tracker" }) if track_as_sharing || track_as_follow %> <% if links.any? %> - <%= tag.div(class: classes, data: data_attributes) do %> + <%= tag.div(**component_helper.all_attributes) do %> <% if title %>

<%= title %>

<% end %> diff --git a/app/views/govuk_publishing_components/components/docs/share_links.yml b/app/views/govuk_publishing_components/components/docs/share_links.yml index 7d52624e43..d0b5a1ca43 100644 --- a/app/views/govuk_publishing_components/components/docs/share_links.yml +++ b/app/views/govuk_publishing_components/components/docs/share_links.yml @@ -13,6 +13,8 @@ body: | accessibility_criteria: | The share link icons must be presentational and ignored by screen readers. + +uses_component_wrapper_helper: true shared_accessibility_criteria: - link examples: