Provider List

<div class="provider-list js-provider-list">
    <div class="provider-list__header">
        <h2 class="component-subtitle">Provider List</h2>
        <div class="provider-list__header-actions">
            <a href="#" class="btn btn-link js-toggle-provider-list-view visible-lg" data-active-content="See less <i class='fa fa-minus'></i>"
                >See all
                <i class="fa fa-plus"></i>
            </a>
        </div>
    </div>

    <div class="provider-list__rows js-rows">
        <div class="provider-list__row">
            <div class="provider-list__item">
                <div class="provider-list__media">
                    <img src="/images/placeholder/48x48.png" alt="" class="img-responsive" />
                </div>
                <div class="provider-list__content">
                    <h4 class="provider-list__title">
                        <a href="#">Provider Name</a>
                    </h4>
                    <div class="provider-list__desc">Lorem ipsum dolor sit amet.</div>
                    <div class="provider-list__contacts">
                        <div class="provider-list__field">
                            <i class="fa fa-envelope text-primary"></i>
                            <a href="#">name@email.com</a>
                        </div>
                        <div class="provider-list__field">
                            <i class="fa fa-phone text-primary"></i>
                            555-555-5555
                        </div>
                    </div>
                </div>
            </div>

            <div class="provider-list__item">
                <div class="provider-list__media">
                    <img src="/images/placeholder/48x48.png" alt="" class="img-responsive" />
                </div>
                <div class="provider-list__content">
                    <h4 class="provider-list__title">
                        <a href="#">Provider Name</a>
                    </h4>
                    <div class="provider-list__desc">Lorem ipsum dolor sit amet.</div>
                    <div class="provider-list__contacts">
                        <div class="provider-list__field">
                            <i class="fa fa-envelope text-primary"></i>
                            <a href="#">name@email.com</a>
                        </div>
                        <div class="provider-list__field">
                            <i class="fa fa-phone text-primary"></i>
                            555-555-5555
                        </div>
                    </div>
                </div>
            </div>

            <div class="provider-list__item">
                <div class="provider-list__media">
                    <img src="/images/placeholder/48x48.png" alt="" class="img-responsive" />
                </div>
                <div class="provider-list__content">
                    <h4 class="provider-list__title">
                        <a href="#">Provider Name</a>
                    </h4>
                    <div class="provider-list__desc">Lorem ipsum dolor sit amet.</div>
                    <div class="provider-list__contacts">
                        <div class="provider-list__field">
                            <i class="fa fa-envelope text-primary"></i>
                            <a href="#">name@email.com</a>
                        </div>
                        <div class="provider-list__field">
                            <i class="fa fa-phone text-primary"></i>
                            555-555-5555
                        </div>
                    </div>
                </div>
            </div>

            <div class="provider-list__item">
                <div class="provider-list__media">
                    <img src="/images/placeholder/48x48.png" alt="" class="img-responsive" />
                </div>
                <div class="provider-list__content">
                    <h4 class="provider-list__title">
                        <a href="#">Provider Name</a>
                    </h4>
                    <div class="provider-list__desc">Lorem ipsum dolor sit amet.</div>
                    <div class="provider-list__contacts">
                        <div class="provider-list__field">
                            <i class="fa fa-envelope text-primary"></i>
                            <a href="#">name@email.com</a>
                        </div>
                        <div class="provider-list__field">
                            <i class="fa fa-phone text-primary"></i>
                            555-555-5555
                        </div>
                    </div>
                </div>
            </div>
        </div>

        <div class="provider-list__row">
            <div class="provider-list__item">
                <div class="provider-list__media">
                    <img src="/images/placeholder/48x48.png" alt="" class="img-responsive" />
                </div>
                <div class="provider-list__content">
                    <h4 class="provider-list__title">
                        <a href="#">Provider Name</a>
                    </h4>
                    <div class="provider-list__desc">Lorem ipsum dolor sit amet.</div>
                    <div class="provider-list__contacts">
                        <div class="provider-list__field">
                            <i class="fa fa-envelope text-primary"></i>
                            <a href="#">name@email.com</a>
                        </div>
                        <div class="provider-list__field">
                            <i class="fa fa-phone text-primary"></i>
                            555-555-5555
                        </div>
                    </div>
                </div>
            </div>

            <div class="provider-list__item">
                <div class="provider-list__media">
                    <img src="/images/placeholder/48x48.png" alt="" class="img-responsive" />
                </div>
                <div class="provider-list__content">
                    <h4 class="provider-list__title">
                        <a href="#">Provider Name</a>
                    </h4>
                    <div class="provider-list__desc">Lorem ipsum dolor sit amet.</div>
                    <div class="provider-list__contacts">
                        <div class="provider-list__field">
                            <i class="fa fa-envelope text-primary"></i>
                            <a href="#">name@email.com</a>
                        </div>
                        <div class="provider-list__field">
                            <i class="fa fa-phone text-primary"></i>
                            555-555-5555
                        </div>
                    </div>
                </div>
            </div>

            <div class="provider-list__item">
                <div class="provider-list__media">
                    <img src="/images/placeholder/48x48.png" alt="" class="img-responsive" />
                </div>
                <div class="provider-list__content">
                    <h4 class="provider-list__title">
                        <a href="#">Provider Name</a>
                    </h4>
                    <div class="provider-list__desc">Lorem ipsum dolor sit amet.</div>
                    <div class="provider-list__contacts">
                        <div class="provider-list__field">
                            <i class="fa fa-envelope text-primary"></i>
                            <a href="#">name@email.com</a>
                        </div>
                        <div class="provider-list__field">
                            <i class="fa fa-phone text-primary"></i>
                            555-555-5555
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
</div>
.provider-list {
  margin-bottom: 4.2rem;
}

.provider-list__header {
  display: flex;
  justify-content: space-between;
  margin-bottom: 1.2rem;
}

.provider-list__header-actions {
  align-self: flex-end;
}

// Toggle see all views
.provider-list__rows {
  @media (min-width: $breakpoint-desktop) {
    &.is-reduced {
      .provider-list__row:not(:first-child) {
        display: none;
      }
    }
  }
}

.provider-list__row {
  display: flex;
  flex-wrap: wrap;
  margin-left: -1.2rem;
}

.provider-list__item {
  display: inline-flex;
  margin-bottom: 2.4rem;
  margin-left: 1.2rem;
  flex: 0 0 100%;

  @media (min-width: $breakpoint-tablet) {
    flex-basis: calc(50% - 1.2rem);
  }

  @media (min-width: $breakpoint-desktop) {
    flex-basis: calc(25% - 1.2rem);
  }
}

.provider-list__media {
  margin-right: 1.2rem;
  width: 4.8rem;
}

.provider-list__title {
  @include typeBody(true);
  margin: 0;
}

.provider-list__desc {
  @include typeCaption;
  margin-bottom: 0.4rem;
}

.provider-list__field {
  @include typeSmall;
  margin-bottom: 0.4rem;
}
$(function () {
  const $component = $(".js-provider-list");
  const $rows = $component.find(".js-rows");
  const $toggleBtn = $component.find(".js-toggle-provider-list-view");

  // Hide all rows but first
  $rows.addClass("is-reduced");

  // Toggle See More
  $toggleBtn.each(function () {
    const $link = $(this);
    const activeContent = $link.data("active-content");
    const inactiveContent = $link.html();

    $link.on("click", function (e) {
      e.preventDefault();
      $link.toggleClass("is-active");
      $rows.toggleClass("is-reduced");

      // Toggle link text
      if (activeContent) {
        $link.html(function () {
          return $link.hasClass("is-active") ? activeContent : inactiveContent;
        });
      }
    });
  });
});