<% add_gem_component_stylesheet("summary-list") local_assigns[:heading_level] ||= 3 shared_helper = GovukPublishingComponents::Presenters::SharedHelper.new(local_assigns) heading_size = "m" unless shared_helper.valid_heading_size?(heading_size) title ||= nil borderless ||= false edit ||= {} delete ||= {} items ||= [] block ||= yield wide_title ||= false component_helper = GovukPublishingComponents::Presenters::ComponentWrapperHelper.new(local_assigns) component_helper.add_class("gem-c-summary-list") component_helper.add_class("govuk-summary-list--no-border") if borderless component_helper.add_class("gem-c-summary-list--wide-title") if wide_title %> <% if title || items.any? %> <%= tag.div(**component_helper.all_attributes) do %> <% if title %> <%= content_tag(shared_helper.get_heading_level, title, class: "govuk-heading-#{heading_size} gem-c-summary-list__group-title") %> <% if edit.any? %> <% edit_main_link = capture do %> <% edit_section_link_text = edit[:link_text] || t("components.summary_list.edit") %> <%= link_to edit.fetch(:href), class: "govuk-link", data: edit.fetch(:data_attributes, {}) do %> <%= edit_section_link_text %><%= tag.span " #{title}", class: "govuk-visually-hidden" unless edit[:link_text_no_enhance] -%> <% end %> <% end %> <% end %> <% if delete.any? %> <% delete_main_link = capture do %> <% delete_section_link_text = delete[:link_text] || t("components.summary_list.delete") %> <%= link_to delete.fetch(:href), class: "govuk-link gem-link--destructive", data: delete.fetch(:data_attributes, {}) do %> <%= delete_section_link_text %><%= tag.span " #{title}", class: "govuk-visually-hidden" unless delete[:link_text_no_enhance] -%> <% end %> <% end %> <% end %> <% if edit_main_link && delete_main_link %> <%= tag.ul class: "govuk-summary-list__actions-list gem-c-summary-list__group-actions-list" do %> <%- if edit.any? %> <%= tag.li class: "govuk-summary-list__actions-list-item" do -%> <%= edit_main_link %> <% end %> <% end %> <% if delete.any? %> <%= tag.li class: "govuk-summary-list__actions-list-item" do -%> <%= delete_main_link %> <% end %> <% end %> <% end %> <% else %> <%= tag.div class: "govuk-summary-list__actions-list gem-c-summary-list__group-actions-list" do %> <%= edit_main_link %> <%= delete_main_link %> <% end %> <% end %> <% end %> <% any_body_actions = items.detect { |item| item.has_key?("edit") || item.has_key?("delete") } %> <% if items.any? %> <%= tag.dl class: "govuk-summary-list" do %> <% items.each do |item| %> <% item_body_actions = (item.fetch(:edit, {}).any? || item.fetch(:delete, {}).any?) if any_body_actions.present? && !item_body_actions.present? classes = "govuk-summary-list__row govuk-summary-list__row--no-actions" else classes = "govuk-summary-list__row" end %> <%= tag.div class: classes, data: item[:data] do %> <%= tag.dt item[:field], class: "govuk-summary-list__key" %> <%= tag.dd item[:value], class: "govuk-summary-list__value" %> <% if item.fetch(:edit, {}).any? %> <% edit_link = capture do %> <% edit_link_text = item[:edit][:link_text] || t("components.summary_list.edit") %> <%= link_to item[:edit].fetch(:href), class: "govuk-link", data: item[:edit].fetch(:data_attributes, {}) do %> <%= edit_link_text %> <%= tag.span " #{item[:field]}", class: "govuk-visually-hidden" unless item[:edit][:link_text_no_enhance] -%> <% end %> <% end %> <% end %> <% if item.fetch(:delete, {}).any? %> <% delete_link = capture do %> <% delete_link_text = item[:delete][:link_text] || t("components.summary_list.delete") %> <%= link_to item[:delete].fetch(:href), class: "govuk-link gem-link--destructive", data: item[:delete].fetch(:data_attributes, {}) do %> <%= delete_link_text %> <%= tag.span " #{item[:field]}", class: "govuk-visually-hidden" unless item[:delete][:link_text_no_enhance] -%> <% end %> <% end %> <% end %> <% if edit_link && delete_link %> <%= tag.dd class: "govuk-summary-list__actions" do %> <%= tag.ul class: "govuk-summary-list__actions-list" do %> <% if edit_link %> <%= tag.li class: "govuk-summary-list__actions-list-item" do %> <%= edit_link %> <% end %> <% end %> <% if delete_link %> <%= tag.li class: "govuk-summary-list__actions-list-item" do %> <%= delete_link %> <% end %> <% end %> <% end %> <% end %> <% elsif edit_link || delete_link %> <%= tag.dd class: "govuk-summary-list__actions" do %> <%= edit_link %> <%= delete_link %> <% end %> <% end %> <% end %> <% end %> <% end %> <% end %> <%= tag.div block, class: "gem-c-summary__block" if block %> <% end %> <% end %>