Manager Links
<div class="manager-links js-manager-links">
<h2 class="manager-links__title">Component Title</h2>
<div class="manager-links__links">
<ul class="manager-links__list">
<li class="manager-links__item">
<a href="" class="manager-links__link">Link Title</a>
</li>
<li class="manager-links__item">
<a href="" class="manager-links__link">Link Title</a>
</li>
<li class="manager-links__item">
<a href="" class="manager-links__link">Link Title</a>
</li>
<li class="manager-links__item">
<a href="" class="manager-links__link">Link Title</a>
</li>
<li class="manager-links__item">
<a href="" class="manager-links__link">Link Title</a>
</li>
<li class="manager-links__item">
<a href="" class="manager-links__link">Link Title</a>
</li>
<li class="manager-links__item">
<a href="" class="manager-links__link">Link Title</a>
</li>
<li class="manager-links__item">
<a href="" class="manager-links__link">Link Title</a>
</li>
<li class="manager-links__item">
<a href="" class="manager-links__link">Link Title</a>
</li>
<li class="manager-links__item">
<a href="" class="manager-links__link">Link Title</a>
</li>
</ul>
<div class="manager-links__actions">
<!-- Dev Note: Do not show this link if <= 5 items -->
<a href="#" class="manager-links__toggle js-toggle" data-active-content="See less <i class='fa fa-minus'></i>"
>See all
<i class="fa fa-plus"></i>
</a>
</div>
</div>
</div>
.manager-links {
background-image: linear-gradient(
to right,
$color-base-grey,
$color-base-grey 3.2rem,
#d9d9d9 3.2rem,
#d9d9d9 6.4rem
);
background-size: 6.4rem 100%;
}
.manager-links__title {
@include typeDisplay(true);
margin-top: 0;
margin-bottom: 1.6rem;
color: $color-base-white;
background-color: $color-blue-medium;
padding: 1.2rem 2.4rem;
display: inline-flex;
align-items: flex-end;
text-transform: uppercase;
@media (min-width: $breakpoint-tablet) {
min-height: 10rem;
min-width: 41.6rem;
}
}
.manager-links__links {
padding-bottom: 2.4rem;
@media (min-width: $breakpoint-tablet) {
display: flex;
margin-left: 6.4rem;
}
}
.manager-links__list {
flex: 1;
list-style: none;
padding-left: 0;
display: grid;
gap: 0.8rem;
margin-bottom: 0;
@media (min-width: $breakpoint-tablet) {
grid-template-columns: repeat(5, 1fr);
gap: 2rem;
}
}
.manager-links__item {
display: flex;
text-align: center;
align-items: center;
justify-content: center;
}
.manager-links:not(.is-active) .manager-links__item:nth-child(n + 6) {
display: none;
}
.manager-links__link {
@include typeBody(true);
display: flex;
align-items: center;
justify-content: center;
background-color: $color-base-white;
padding: 0.8rem;
color: $color-blue-dark;
width: 100%;
height: 100%;
&:hover {
color: $color-blue-medium;
}
}
.manager-links__actions {
text-align: center;
@media (min-width: $breakpoint-tablet) {
width: 9.2rem;
}
}
.manager-links__toggle {
@include typeBody(true);
display: block;
padding: 0.8rem 1.2rem;
}
$(function () {
$(".js-manager-links").each(function () {
const $component = $(this);
const $toggleBtn = $component.find(".js-toggle");
// 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");
$component.toggleClass("is-active");
// Toggle link text
if (activeContent) {
$link.html(function () {
return $link.hasClass("is-active") ? activeContent : inactiveContent;
});
}
});
});
});
});