Frequent Actions

<div class="frequent-actions js-frequent-actions">
    <div class="frequent-actions__inner">
        <div class="frequent-actions-header">
            <h3 class="frequent-actions-title">FREQUENT ACTIONS</h3>
        </div>

        <div class="frequent-actions__items">
            <div class="js-carousel carousel carousel--minimal carousel--equal-height-slides">
                <a href="#" class="frequent-actions__item">View my org chart</a>
                <a href="#" class="frequent-actions__item">View employee schedule changes</a>
                <a href="#" class="frequent-actions__item">Access SuccessFactors</a>
                <a href="#" class="frequent-actions__item">Lorem ipsum</a>
                <a href="#" class="frequent-actions__item">Lorem ipsum</a>
                <a href="#" class="frequent-actions__item">Lorem ipsum</a>
            </div>
        </div>
    </div>
</div>

<div class="frequent-actions frequent-actions--with-description js-frequent-actions">
    <div class="frequent-actions__inner">
        <div class="frequent-actions-header">Variation with a description area. Lorem ipsum, dolor sit amet consectetur adipisicing elit. Pariatur quod magnam quos.</div>

        <div class="frequent-actions__items">
            <div class="js-carousel carousel carousel--minimal carousel--equal-height-slides">
                <a href="#" class="frequent-actions__item">View my org chart</a>
                <a href="#" class="frequent-actions__item">View employee schedule changes</a>
                <a href="#" class="frequent-actions__item">Access SuccessFactors</a>
                <a href="#" class="frequent-actions__item">Lorem ipsum</a>
                <a href="#" class="frequent-actions__item">Lorem ipsum</a>
                <a href="#" class="frequent-actions__item">Lorem ipsum</a>
            </div>
        </div>
    </div>
</div>
.frequent-actions {
  background-color: $color-blue-light;
  padding: 0.8rem 1.2rem;
  margin-bottom: 2.4rem;
}

.frequent-actions__inner {
  background-color: rgba($color-base-white, 0.5);
  display: flex;
  align-items: center;
  flex-direction: column;

  @media (min-width: $breakpoint-tablet) {
    flex-direction: row;
  }
}

.frequent-actions-header {
  @include typeBody(true);
  padding: 1.2rem;

  @media (min-width: $breakpoint-tablet) {
    max-width: 14.4rem;

    .frequent-actions--with-description & {
      max-width: 28.8rem;
    }
  }
}

.frequent-actions-title {
  @include typeHeadline(true);
  margin: 0;
}

.frequent-actions__items {
  overflow: hidden;
  flex: 1;
  align-items: stretch;
  width: 100%;

  @media (min-width: $breakpoint-tablet) {
    padding: 0 4rem;
  }
}

.frequent-actions__item {
  @include typeCaption(true);
  color: $color-base-blue;
  background-color: $color-base-white;
  margin: 0 0.6rem 0.8rem;
  padding: 1.2rem;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;

  @media (min-width: $breakpoint-tablet) {
    margin-bottom: 0;
  }
}
function createCarousel($carousel) {
  $carousel.each(function () {
    var $carousel = $(this);
    var hasDescription = $carousel
      .closest(".js-frequent-actions")
      .hasClass("frequent-actions--with-description");

    /* Slick needs to get reinitialized on resize after it was destroyed (i.e "unslick") */
    if ($(window).width() >= 768) {
      if (!$carousel.hasClass("slick-initialized")) {
        $carousel.slick({
          infinite: false,
          mobileFirst: true,
          slidesToScroll: 1,
          slidesToShow: hasDescription ? 2 : 3,
          responsive: [
            {
              breakpoint: 1199,
              settings: {
                slidesToShow: hasDescription ? 4 : 5,
              },
            },
          ],
        });
      }
    } else {
      if ($carousel.hasClass("slick-initialized")) {
        $carousel.slick("unslick");
      }
    }
  });
}

$(document).ready(function () {
  var $component = $(".js-frequent-actions");
  var $carousel = $component.find(".js-carousel");

  $component.each(function () {
    // Listen for events
    var resizeTimeout;
    $(window).on("load resize orientationchange", function () {
      if (resizeTimeout) {
        window.cancelAnimationFrame(resizeTimeout);
      }

      resizeTimeout = window.requestAnimationFrame(function () {
        createCarousel($carousel);
      });
    });
  });
});