Sha256: 84f9b624309c0bc65fdd2fec33ef84ff6e792e3fb9bcd15a01d237f0d5557ca4

Contents?: true

Size: 1.91 KB

Versions: 33

Compression:

Stored size: 1.91 KB

Contents

<%
  add_gem_component_stylesheet("cards")
  heading ||= nil
  items ||= nil
  sub_heading_level ||= 3
  columns ||= false

  ul_classes = %w[gem-c-cards__list]
  ul_classes << 'gem-c-cards__list--one-column' unless columns
  ul_classes << 'gem-c-cards__list--two-column-desktop' if columns == 2
  ul_classes << 'gem-c-cards__list--three-column-desktop' if columns == 3

  shared_helper = GovukPublishingComponents::Presenters::SharedHelper.new(local_assigns)
  component_helper = GovukPublishingComponents::Presenters::ComponentWrapperHelper.new(local_assigns)
  component_helper.add_class("gem-c-cards")
%>
<% if items.present? %>
  <%= tag.div(**component_helper.all_attributes) do %>
    <% if heading %>
        <%
          heading_classes = %w[gem-c-cards__heading govuk-heading-m]
          heading_classes << "gem-c-cards__heading--underline" unless columns
        %>
        <%= content_tag(shared_helper.get_heading_level, class: heading_classes) do %>
        <%= heading %>
      <% end %>
    <% end %>
    <%= content_tag('ul', class: ul_classes ) do %>
      <%
        items.each do |item|
        link = item[:link]
        if !link[:path].present?
          raise ArgumentError, "The cards component requires a href for all the links"
        end
      %>
        <li class="gem-c-cards__list-item">
          <div class="gem-c-cards__list-item-wrapper">
            <%= content_tag("h#{sub_heading_level}", class: "gem-c-cards__sub-heading govuk-heading-s") do %>
              <%=
                link_to link[:text], link[:path],
                class: "govuk-link gem-c-cards__link gem-c-force-print-link-styles",
                data: link[:data_attributes]
              %>
            <% end %>
            <% if item[:description] %>
              <p class="govuk-body gem-c-cards__description"><%= item[:description] %></p>
            <% end %>
          </div>
        </li>
      <% end %>
    <% end %>
  <% end %>
<% end %>

Version data entries

33 entries across 33 versions & 1 rubygems

Version Path
govuk_publishing_components-55.1.0 app/views/govuk_publishing_components/components/_cards.html.erb
govuk_publishing_components-55.0.1 app/views/govuk_publishing_components/components/_cards.html.erb
govuk_publishing_components-55.0.0 app/views/govuk_publishing_components/components/_cards.html.erb
govuk_publishing_components-54.0.1 app/views/govuk_publishing_components/components/_cards.html.erb
govuk_publishing_components-54.0.0 app/views/govuk_publishing_components/components/_cards.html.erb
govuk_publishing_components-53.0.0 app/views/govuk_publishing_components/components/_cards.html.erb
govuk_publishing_components-52.1.0 app/views/govuk_publishing_components/components/_cards.html.erb
govuk_publishing_components-52.0.0 app/views/govuk_publishing_components/components/_cards.html.erb
govuk_publishing_components-51.2.1 app/views/govuk_publishing_components/components/_cards.html.erb
govuk_publishing_components-51.2.0 app/views/govuk_publishing_components/components/_cards.html.erb
govuk_publishing_components-51.1.1 app/views/govuk_publishing_components/components/_cards.html.erb
govuk_publishing_components-51.1.0 app/views/govuk_publishing_components/components/_cards.html.erb
govuk_publishing_components-51.0.0 app/views/govuk_publishing_components/components/_cards.html.erb
govuk_publishing_components-50.0.1 app/views/govuk_publishing_components/components/_cards.html.erb
govuk_publishing_components-50.0.0 app/views/govuk_publishing_components/components/_cards.html.erb
govuk_publishing_components-49.1.0 app/views/govuk_publishing_components/components/_cards.html.erb
govuk_publishing_components-49.0.0 app/views/govuk_publishing_components/components/_cards.html.erb
govuk_publishing_components-48.0.0 app/views/govuk_publishing_components/components/_cards.html.erb
govuk_publishing_components-47.0.0 app/views/govuk_publishing_components/components/_cards.html.erb
govuk_publishing_components-46.4.0 app/views/govuk_publishing_components/components/_cards.html.erb